[K/N, CLI] Pass through errors from Gradle to Xcode

^KT-55650

Merge-request: KT-MR-8245
Merged-by: Artem Daugel-Dauge <Artem.Daugel-Dauge@jetbrains.com>
This commit is contained in:
Artem Daugel-Dauge
2023-01-13 20:54:05 +00:00
committed by Space Team
parent a7cb58418b
commit 0d1e7e83b5
5 changed files with 53 additions and 7 deletions
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.cli.utilities
import org.jetbrains.kotlin.native.interop.gen.defFileDependencies
import org.jetbrains.kotlin.cli.bc.main as konancMain
import org.jetbrains.kotlin.cli.klib.main as klibMain
import org.jetbrains.kotlin.cli.bc.mainNoExitWithGradleRenderer as konancMainForGradle
import org.jetbrains.kotlin.cli.bc.mainNoExitWithGradleRenderer as konancMainWithGradleRenderer
import org.jetbrains.kotlin.cli.bc.mainNoExitWithXcodeRenderer as konancMainWithXcodeRenderer
import org.jetbrains.kotlin.backend.konan.env.setEnv
import org.jetbrains.kotlin.konan.util.usingNativeMemoryAllocator
@@ -47,7 +48,13 @@ private fun setupClangEnv() {
setEnv("LIBCLANG_DISABLE_CRASH_RECOVERY", "1")
}
fun daemonMain(args: Array<String>) = usingNativeMemoryAllocator {
setupClangEnv() // For in-process invocation have to setup proper environment manually.
mainImpl(args, true, ::konancMainForGradle)
fun daemonMain(args: Array<String>) = inProcessMain(args, ::konancMainWithGradleRenderer)
fun daemonMainWithXcodeRenderer(args: Array<String>) = inProcessMain(args, ::konancMainWithXcodeRenderer)
private fun inProcessMain(args: Array<String>, konancMain: (Array<String>) -> Unit) {
usingNativeMemoryAllocator {
setupClangEnv() // For in-process invocation have to setup proper environment manually.
mainImpl(args, true, konancMain)
}
}