diff --git a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt index aeefe7ca814..910bd173a50 100644 --- a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt +++ b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppNativeBinaryDSLCodegen.kt @@ -72,15 +72,15 @@ private fun generateFactoryMethods(binaryType: BinaryType): String { fun $methodName( namePrefix: String, buildTypes: Collection<$nativeBuildType> = $nativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = $methodName(namePrefix, buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action<$className> + ) = $methodName(namePrefix, buildTypes) { configure.execute(this) } /** Creates $binaryDescription with the default name prefix for each build type and configures it. */ @JvmOverloads fun $methodName( buildTypes: Collection<$nativeBuildType> = $nativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = $methodName(buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action<$className> + ) = $methodName(buildTypes) { configure.execute(this) } """.trimIndent() } @@ -138,10 +138,9 @@ fun generateAbstractKotlinNativeBinaryContainer() { val superClassName = typeName("org.gradle.api.DomainObjectSet", nativeBinaryBaseClass.fqName) val imports = """ - import groovy.lang.Closure + import org.gradle.api.Action import org.gradle.api.DomainObjectSet import org.gradle.api.Project - import org.gradle.util.ConfigureUtil import $MPP_PACKAGE.* """.trimIndent() diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/AbstractKotlinNativeBinaryContainer.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/AbstractKotlinNativeBinaryContainer.kt index 7d86a4eb877..109645dcdde 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/AbstractKotlinNativeBinaryContainer.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/AbstractKotlinNativeBinaryContainer.kt @@ -1,9 +1,8 @@ package org.jetbrains.kotlin.gradle.dsl -import groovy.lang.Closure +import org.gradle.api.Action import org.gradle.api.DomainObjectSet import org.gradle.api.Project -import org.gradle.util.ConfigureUtil import org.jetbrains.kotlin.gradle.plugin.mpp.* // DO NOT EDIT MANUALLY! Generated by org.jetbrains.kotlin.generators.gradle.dsl.MppNativeBinaryDSLCodegenKt @@ -188,15 +187,15 @@ abstract class AbstractKotlinNativeBinaryContainer : DomainObjectSet = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = executable(namePrefix, buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = executable(namePrefix, buildTypes) { configure.execute(this) } /** Creates an executable with the default name prefix for each build type and configures it. */ @JvmOverloads fun executable( buildTypes: Collection = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = executable(buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = executable(buildTypes) { configure.execute(this) } /** Creates a static library with the given [namePrefix] for each build type and configures it. */ @JvmOverloads @@ -218,15 +217,15 @@ abstract class AbstractKotlinNativeBinaryContainer : DomainObjectSet = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = staticLib(namePrefix, buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = staticLib(namePrefix, buildTypes) { configure.execute(this) } /** Creates a static library with the default name prefix for each build type and configures it. */ @JvmOverloads fun staticLib( buildTypes: Collection = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = staticLib(buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = staticLib(buildTypes) { configure.execute(this) } /** Creates a shared library with the given [namePrefix] for each build type and configures it. */ @JvmOverloads @@ -248,15 +247,15 @@ abstract class AbstractKotlinNativeBinaryContainer : DomainObjectSet = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = sharedLib(namePrefix, buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = sharedLib(namePrefix, buildTypes) { configure.execute(this) } /** Creates a shared library with the default name prefix for each build type and configures it. */ @JvmOverloads fun sharedLib( buildTypes: Collection = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = sharedLib(buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = sharedLib(buildTypes) { configure.execute(this) } /** Creates an Objective-C framework with the given [namePrefix] for each build type and configures it. */ @JvmOverloads @@ -278,15 +277,15 @@ abstract class AbstractKotlinNativeBinaryContainer : DomainObjectSet = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = framework(namePrefix, buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = framework(namePrefix, buildTypes) { configure.execute(this) } /** Creates an Objective-C framework with the default name prefix for each build type and configures it. */ @JvmOverloads fun framework( buildTypes: Collection = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = framework(buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = framework(buildTypes) { configure.execute(this) } /** Creates a test executable with the given [namePrefix] for each build type and configures it. */ @JvmOverloads @@ -308,14 +307,14 @@ abstract class AbstractKotlinNativeBinaryContainer : DomainObjectSet = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = test(namePrefix, buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = test(namePrefix, buildTypes) { configure.execute(this) } /** Creates a test executable with the default name prefix for each build type and configures it. */ @JvmOverloads fun test( buildTypes: Collection = NativeBuildType.DEFAULT_BUILD_TYPES, - configureClosure: Closure<*> - ) = test(buildTypes) { ConfigureUtil.configure(configureClosure, this) } + configure: Action + ) = test(buildTypes) { configure.execute(this) } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt index f679ea0630e..bf0ab827816 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinNativeBinaryContainer.kt @@ -22,7 +22,7 @@ Use the following naming scheme: executable([debug]) -> debugExecutable */ -open class KotlinNativeBinaryContainer @Inject constructor( +abstract class KotlinNativeBinaryContainer @Inject constructor( override val target: KotlinNativeTarget, backingContainer: DomainObjectSet ) : AbstractKotlinNativeBinaryContainer(),