diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Internals.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Internals.kt index 74dd8bcc52d..4bcd4e29141 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Internals.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Internals.kt @@ -31,13 +31,13 @@ internal val Project.kotlin: KotlinMultiplatformExtension get() = extensions.getByName("kotlin") as KotlinMultiplatformExtension internal val NamedDomainObjectCollection>.macosX64: KotlinTargetPreset<*> - get() = getByName(::macosX64.name) as KotlinTargetPreset<*> + get() = getByName(::macosX64.name) internal val NamedDomainObjectCollection>.linuxX64: KotlinTargetPreset<*> - get() = getByName(::linuxX64.name) as KotlinTargetPreset<*> + get() = getByName(::linuxX64.name) internal val NamedDomainObjectCollection>.mingwX64: KotlinTargetPreset<*> - get() = getByName(::mingwX64.name) as KotlinTargetPreset<*> + get() = getByName(::mingwX64.name) internal val NamedDomainObjectContainer>.main: KotlinNativeCompilation get() = getByName(::main.name) as KotlinNativeCompilation @@ -45,4 +45,4 @@ internal val NamedDomainObjectContainer>.main: KotlinNa internal val FileCollection.isNotEmpty: Boolean get() = !isEmpty -internal fun Provider.resolve(child: String): Provider = map { it.resolve(child) } \ No newline at end of file +internal fun Provider.resolve(child: String): Provider = map { it.resolve(child) } diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt index 46d40e9383d..2d3fd192566 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt @@ -62,7 +62,7 @@ val Project.testTarget get() = findProperty("target") as KonanTarget val Project.testTargetSuffix - get() = (findProperty("target") as KonanTarget ?: HostManager.host).name.capitalize() + get() = (findProperty("target") as KonanTarget).name.capitalize() val Project.verboseTest get() = hasProperty("test_verbose") @@ -117,12 +117,10 @@ fun File.dependencies() = fun Task.dependsOnPlatformLibs() { - val platformManager = project.project(":kotlin-native").platformManager - val target = project.testTarget ?: platformManager.hostPlatform.target (this as? KonanTest)?.run { project.file(source).dependencies().forEach { - this.dependsOn(":kotlin-native:platformLibs:${target.name}-$it") - //this.dependsOn(":kotlin-native:platformLibs:${target.name}-${it}Cache") + this.dependsOn(":kotlin-native:platformLibs:${project.testTarget.name}-$it") + //this.dependsOn(":kotlin-native:platformLibs:${project.testTarget.name}-${it}Cache") } } ?: error("unsupported task : $this") } @@ -400,4 +398,10 @@ fun Project.buildStaticLibrary(cSources: Collection, output: File, objDir: *fileTree(objDir).files.toTypedArray() ) } -} \ No newline at end of file +} + +// Workaround the deprecation warning from stdlib's appendln, which is reported because this module is compiled with API version 1.3. +internal fun StringBuilder.appendln(o: Any?) { + append(o) + append('\n') +} diff --git a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanArtifactContainer.kt b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanArtifactContainer.kt index 42b90f76c76..9d97aa30e8b 100644 --- a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanArtifactContainer.kt +++ b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanArtifactContainer.kt @@ -19,18 +19,18 @@ package org.jetbrains.kotlin.gradle.plugin.konan import groovy.lang.Closure import org.gradle.api.Action import org.gradle.api.NamedDomainObjectFactory +import org.gradle.api.internal.CollectionCallbackActionDecorator import org.gradle.api.internal.DefaultPolymorphicDomainObjectContainer import org.gradle.api.internal.project.ProjectInternal import org.gradle.internal.reflect.Instantiator import org.gradle.util.ConfigureUtil import kotlin.reflect.KClass -open class KonanArtifactContainer(val project: ProjectInternal) - : DefaultPolymorphicDomainObjectContainer>( - KonanBuildingConfig::class.java, - project.services.get(Instantiator::class.java) +open class KonanArtifactContainer(val project: ProjectInternal) : DefaultPolymorphicDomainObjectContainer>( + KonanBuildingConfig::class.java, + project.services.get(Instantiator::class.java), + CollectionCallbackActionDecorator.NOOP ) { - private inner class KonanBuildingConfigFactory>(val configClass: KClass) : NamedDomainObjectFactory { diff --git a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanBuildingConfig.kt b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanBuildingConfig.kt index 7fd9b11c6ed..a65a6835fe7 100644 --- a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanBuildingConfig.kt +++ b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanBuildingConfig.kt @@ -120,7 +120,7 @@ abstract class KonanBuildingConfig( init(this@KonanBuildingConfig, outputDescription.destinationDir, outputDescription.artifactName, target) group = BasePlugin.BUILD_GROUP description = generateTaskDescription(this) - } ?: throw Exception("Cannot create task for target: ${target.visibleName}") + } private fun createAggregateTask(): TaskProvider = project.tasks.register(generateAggregateTaskName()) { diff --git a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanPlugin.kt b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanPlugin.kt index 465c285b325..ed9ff841041 100644 --- a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanPlugin.kt +++ b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/KonanPlugin.kt @@ -328,9 +328,6 @@ class KonanPlugin @Inject constructor(private val registry: ToolingModelBuilderR override fun apply(project: ProjectInternal) { - if (project == null) { - return - } checkGradleVersion() project.plugins.apply("base") // Create necessary tasks and extensions.