diff --git a/tools/gradle-plugin/src/main/kotlin/KonanInteropConfig.kt b/tools/gradle-plugin/src/main/kotlin/KonanInteropConfig.kt index 14b8ad66504..cfde3a1e383 100644 --- a/tools/gradle-plugin/src/main/kotlin/KonanInteropConfig.kt +++ b/tools/gradle-plugin/src/main/kotlin/KonanInteropConfig.kt @@ -60,7 +60,8 @@ open class KonanInteropConfig( } fun target(value: String) = with(generateStubsTask) { - target = value + generateStubsTask.target = value + compileStubsTask.target = value } fun compilerOpts(vararg values: String) = with(generateStubsTask) { diff --git a/tools/gradle-plugin/src/main/kotlin/KonanPlugin.kt b/tools/gradle-plugin/src/main/kotlin/KonanPlugin.kt index 44a6cf9d808..a7bbf30387c 100644 --- a/tools/gradle-plugin/src/main/kotlin/KonanPlugin.kt +++ b/tools/gradle-plugin/src/main/kotlin/KonanPlugin.kt @@ -112,6 +112,15 @@ class KonanPlugin: Plugin { } } + private fun String.isSupported(): Boolean { + val os = CompilerDownloadTask.simpleOsName() + return when (os) { + "macos" -> this == "macbook" || this == "iphone" + "linux" -> this == "linux" || this == "raspberrypi" + else -> false + } + } + // TODO: Create default config? what about test sources? override fun apply(project: ProjectInternal?) { if (project == null) { return } @@ -122,8 +131,8 @@ class KonanPlugin: Plugin { project.delete(project.konanBuildRoot) } getTask(project, "build").apply { - dependsOn(project.tasks.withType(KonanCompileTask::class.java)) - dependsOn(project.tasks.withType(KonanInteropTask::class.java)) + dependsOn(project.tasks.withType(KonanCompileTask::class.java).matching { it.target?.isSupported() ?: true }) + dependsOn(project.tasks.withType(KonanInteropTask::class.java).matching { it.target?.isSupported() ?: true }) } }