suspend fun createTargetWrapper()

in src/main/kotlin/org/jetbrains/tinygoplugin/configuration/TinyGoTarget.kt [74:86]


suspend fun createTargetWrapper(wrapper: TinyGoPropertiesWrapper): TinyGoTarget? {
    val sdkRoot = readAction { wrapper.tinyGoSdkPath.get().sdkRoot } ?: return null
    val targetName = readAction { wrapper.target.get() }
    val targetObj =
        withContext(Dispatchers.IO) {
            val target = readTargetJson(targetName, sdkRoot)
            target?.performInheritance(sdkRoot)
            target
        } ?: return null
    targetObj.applyTinyGoFlags(wrapper.obj.tinyGoSettings)
    targetObj.inherits?.clear()
    return targetObj
}