Gradle, native: Fix generating platform libs for Windows

This commit is contained in:
Ilya Matveev
2020-03-12 14:22:53 +07:00
parent 6c146f6448
commit 4171dd511f
@@ -81,8 +81,8 @@ internal abstract class KotlinNativeToolRunner(
final override fun getCustomJvmArgs() = project.jvmArgs
}
/** Kotlin/Native C-interop tool runner */
internal class KotlinNativeCInteropRunner(project: Project) : KotlinNativeToolRunner("cinterop", project) {
/** A common ancestor for all runners that run the cinterop tool. */
internal abstract class AbstractKotlinNativeCInteropRunner(toolName: String, project: Project) : KotlinNativeToolRunner(toolName, project) {
override val mustRunViaExec get() = true
override val environment by lazy {
@@ -110,6 +110,9 @@ internal class KotlinNativeCInteropRunner(project: Project) : KotlinNativeToolRu
}
}
/** Kotlin/Native C-interop tool runner */
internal class KotlinNativeCInteropRunner(project: Project) : AbstractKotlinNativeCInteropRunner("cinterop", project)
/** Kotlin/Native compiler runner */
internal class KotlinNativeCompilerRunner(project: Project) : KotlinNativeToolRunner("konanc", project) {
private val useArgFile get() = project.disableKonanDaemon
@@ -138,13 +141,10 @@ internal class KotlinNativeKlibRunner(project: Project) : KotlinNativeToolRunner
override val mustRunViaExec get() = project.disableKonanDaemon
}
/** Platform libraries generation tool. */
/** Platform libraries generation tool. Runs the cinterop tool under the hood. */
internal class KotlinNativeLibraryGenerationRunner(project: Project) :
KotlinNativeToolRunner("generatePlatformLibraries", project)
AbstractKotlinNativeCInteropRunner("generatePlatformLibraries", project)
{
// Library generator starts the interop tool which cannot be executed in daemon.
override val mustRunViaExec: Boolean get() = true
// The library generator works for a long time so enabling C2 can improve performance.
override val disableC2: Boolean = false
}