From ecbadcdf6f2e8157a1727c3fcb34c083b90e91fa Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Tue, 5 Feb 2019 14:18:42 +0300 Subject: [PATCH] Use project.container instead of WrapUtil In Gradle 5.2 the 'WrapUtil.toNamedDomainObjectSet' method was removed. This patches replaces usage of this method with call of the 'Project.container' method. Issue #KT-29725 Fixed --- .../org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt | 10 ++++++++++ .../kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 3e7b8c3a6a5..7330342da24 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -1524,4 +1524,14 @@ class NewMultiplatformIT : BaseGradleIT() { ) } } + + @Test + fun testKt29725() { + with(Project("new-mpp-native-libraries", GradleVersionRequired.Exact("5.2"))) { + // Assert that a project with a native target can be configured with Gradle 5.2 + build("tasks") { + assertSuccessful() + } + } + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt index 2ae29ff930b..1bdb1bb5279 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt @@ -26,14 +26,14 @@ open class KotlinNativeBinaryContainer @Inject constructor( ) : AbstractKotlinNativeBinaryContainer(), DomainObjectSet by backingContainer { - override val project: Project + final override val project: Project get() = target.project private val defaultCompilation: KotlinNativeCompilation get() = target.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME) private val nameToBinary = mutableMapOf() - internal val prefixGroups: NamedDomainObjectSet = WrapUtil.toNamedDomainObjectSet(PrefixGroup::class.java) + internal val prefixGroups: NamedDomainObjectSet = project.container(PrefixGroup::class.java) // region DSL getters. private inline fun getBinary(