From 8b5db6473bdc3d219997b2f1ec0e308db7f0f356 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Mon, 23 Aug 2021 18:05:30 +0300 Subject: [PATCH] Fix deprecated ConfigureUtil usages in KGP Required for Gradle 7+ #KTI-559 --- .../kotlin/gradle/dsl/KotlinCompile.kt | 5 ++--- .../gradle/plugin/HasKotlinDependencies.kt | 19 ++++++++++--------- .../kotlin/gradle/plugin/KotlinCompilation.kt | 7 +++---- .../kotlin/gradle/plugin/KotlinTarget.kt | 3 +-- .../kotlin/gradle/plugin/KotlinTestRun.kt | 5 ++--- .../plugin/mpp/pm20/KotlinGradleFragment.kt | 5 ++--- .../mpp/DefaultKotlinDependencyHandler.kt | 2 +- .../targets/js/KotlinJsPlatformTestRun.kt | 3 +++ .../testing/KotlinAggregateExecutionSource.kt | 2 ++ 9 files changed, 26 insertions(+), 25 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt index fd40b37b985..352717f9c23 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinCompile.kt @@ -9,7 +9,6 @@ import groovy.lang.Closure import org.gradle.api.Action import org.gradle.api.Task import org.gradle.api.tasks.Internal -import org.gradle.util.ConfigureUtil interface KotlinCompile : Task { @get:Internal @@ -24,6 +23,6 @@ interface KotlinCompile : Task { } fun kotlinOptions(fn: Closure<*>) { - ConfigureUtil.configure(fn, kotlinOptions) + project.configure(kotlinOptions, fn) } -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt index 756f1ecf239..58a50d4ed92 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt @@ -6,45 +6,46 @@ package org.jetbrains.kotlin.gradle.plugin import groovy.lang.Closure +import org.gradle.api.Project import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.ExternalModuleDependency import org.gradle.api.artifacts.ProjectDependency -import org.gradle.util.ConfigureUtil import java.io.File interface KotlinDependencyHandler { + val project: Project fun api(dependencyNotation: Any): Dependency? fun api(dependencyNotation: String, configure: ExternalModuleDependency.() -> Unit): ExternalModuleDependency fun api(dependency: T, configure: T.() -> Unit): T - fun api(dependencyNotation: String, configure: Closure<*>) = api(dependencyNotation) { ConfigureUtil.configure(configure, this) } - fun api(dependency: T, configure: Closure<*>) = api(dependency) { ConfigureUtil.configure(configure, this) } + fun api(dependencyNotation: String, configure: Closure<*>) = api(dependencyNotation) { project.configure(this, configure) } + fun api(dependency: T, configure: Closure<*>) = api(dependency) { project.configure(this, configure) } fun implementation(dependencyNotation: Any): Dependency? fun implementation(dependencyNotation: String, configure: ExternalModuleDependency.() -> Unit): ExternalModuleDependency fun implementation(dependency: T, configure: T.() -> Unit): T fun implementation(dependencyNotation: String, configure: Closure<*>) = - implementation(dependencyNotation) { ConfigureUtil.configure(configure, this) } + implementation(dependencyNotation) { project.configure(this, configure) } fun implementation(dependency: T, configure: Closure<*>) = - implementation(dependency) { ConfigureUtil.configure(configure, this) } + implementation(dependency) { project.configure(this, configure) } fun compileOnly(dependencyNotation: Any): Dependency? fun compileOnly(dependencyNotation: String, configure: ExternalModuleDependency.() -> Unit): ExternalModuleDependency fun compileOnly(dependency: T, configure: T.() -> Unit): T fun compileOnly(dependencyNotation: String, configure: Closure<*>) = - compileOnly(dependencyNotation) { ConfigureUtil.configure(configure, this) } + compileOnly(dependencyNotation) { project.configure(this, configure) } fun compileOnly(dependency: T, configure: Closure<*>) = - compileOnly(dependency) { ConfigureUtil.configure(configure, this) } + compileOnly(dependency) { project.configure(this, configure) } fun runtimeOnly(dependencyNotation: Any): Dependency? fun runtimeOnly(dependencyNotation: String, configure: ExternalModuleDependency.() -> Unit): ExternalModuleDependency fun runtimeOnly(dependency: T, configure: T.() -> Unit): T fun runtimeOnly(dependencyNotation: String, configure: Closure<*>) = - runtimeOnly(dependencyNotation) { ConfigureUtil.configure(configure, this) } + runtimeOnly(dependencyNotation) { project.configure(this, configure) } fun runtimeOnly(dependency: T, configure: Closure<*>) = - runtimeOnly(dependency) { ConfigureUtil.configure(configure, this) } + runtimeOnly(dependency) { project.configure(this, configure) } fun kotlin(simpleModuleName: String): ExternalModuleDependency = kotlin(simpleModuleName, null) fun kotlin(simpleModuleName: String, version: String?): ExternalModuleDependency diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt index db408e7ab8f..6abd2a1898e 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt @@ -12,7 +12,6 @@ import org.gradle.api.attributes.HasAttributes import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.file.FileCollection import org.gradle.api.tasks.TaskProvider -import org.gradle.util.ConfigureUtil import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinCompile import java.io.File @@ -39,7 +38,7 @@ interface KotlinCompilation : Named, HasAttributes, val defaultSourceSet: KotlinSourceSet fun defaultSourceSet(configure: KotlinSourceSet.() -> Unit) - fun defaultSourceSet(configure: Closure<*>) = defaultSourceSet { ConfigureUtil.configure(configure, this) } + fun defaultSourceSet(configure: Closure<*>) = defaultSourceSet { target.project.configure(this, configure) } val compileDependencyConfigurationName: String @@ -58,10 +57,10 @@ interface KotlinCompilation : Named, HasAttributes, val kotlinOptions: T fun kotlinOptions(configure: T.() -> Unit) - fun kotlinOptions(configure: Closure<*>) = kotlinOptions { ConfigureUtil.configure(configure, this) } + fun kotlinOptions(configure: Closure<*>) = kotlinOptions { target.project.configure(this, configure) } fun attributes(configure: AttributeContainer.() -> Unit) = attributes.configure() - fun attributes(configure: Closure<*>) = attributes { ConfigureUtil.configure(configure, this) } + fun attributes(configure: Closure<*>) = attributes { target.project.configure(this, configure) } val compileAllTaskName: String diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt index 2ef3c2eb279..4acb27f73a5 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt @@ -15,7 +15,6 @@ import org.gradle.api.attributes.AttributeContainer import org.gradle.api.attributes.HasAttributes import org.gradle.api.component.SoftwareComponent import org.gradle.api.publish.maven.MavenPublication -import org.gradle.util.ConfigureUtil import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions interface KotlinTargetComponent : SoftwareComponent { @@ -52,7 +51,7 @@ interface KotlinTarget : Named, HasAttributes { fun mavenPublication(action: Action) fun attributes(configure: AttributeContainer.() -> Unit) = attributes.configure() - fun attributes(configure: Closure<*>) = attributes { ConfigureUtil.configure(configure, this) } + fun attributes(configure: Closure<*>) = attributes { project.configure(this, configure) } val preset: KotlinTargetPreset? diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTestRun.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTestRun.kt index 016e4be2fbd..e2268c0ceca 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTestRun.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTestRun.kt @@ -8,12 +8,11 @@ package org.jetbrains.kotlin.gradle.plugin import groovy.lang.Closure import org.gradle.api.file.FileCollection import org.gradle.api.tasks.testing.TestFilter -import org.gradle.util.ConfigureUtil interface KotlinTestRun : KotlinExecution { fun filter(configureFilter: TestFilter.() -> Unit) - fun filter(configureFilter: Closure<*>) = filter { ConfigureUtil.configureSelf(configureFilter, this) } + fun filter(configureFilter: Closure<*>) } interface KotlinTargetTestRun : @@ -34,4 +33,4 @@ interface ClasspathTestRunSourceSupport { * This overrides other [KotlinExecution.executionSource] selection options. */ fun setExecutionSourceFrom(classpath: FileCollection, testClassesDirs: FileCollection) -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinGradleFragment.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinGradleFragment.kt index 5d7a72c6601..8da9b884bf1 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinGradleFragment.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinGradleFragment.kt @@ -10,7 +10,6 @@ import org.gradle.api.Named import org.gradle.api.NamedDomainObjectProvider import org.gradle.api.Project import org.gradle.api.file.SourceDirectorySet -import org.gradle.util.ConfigureUtil import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder import org.jetbrains.kotlin.project.model.KotlinModuleFragment @@ -33,7 +32,7 @@ interface KotlinGradleFragment : KotlinModuleFragment, HasKotlinDependencies, Na fun refines(other: NamedDomainObjectProvider) override fun dependencies(configureClosure: Closure) = - dependencies f@{ ConfigureUtil.configure(configureClosure, this@f) } + dependencies f@{ project.configure(this@f, configureClosure) } companion object { const val COMMON_FRAGMENT_NAME = "common" @@ -52,4 +51,4 @@ interface KotlinGradleFragment : KotlinModuleFragment, HasKotlinDependencies, Na } val KotlinGradleFragment.refinesClosure: Set - get() = (this as KotlinModuleFragment).refinesClosure.mapTo(mutableSetOf()) { it as KotlinGradleFragment } \ No newline at end of file + get() = (this as KotlinModuleFragment).refinesClosure.mapTo(mutableSetOf()) { it as KotlinGradleFragment } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt index 51117e1f883..7c9043a95ed 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/DefaultKotlinDependencyHandler.kt @@ -23,7 +23,7 @@ import java.io.File class DefaultKotlinDependencyHandler( val parent: HasKotlinDependencies, - val project: Project + override val project: Project ) : KotlinDependencyHandler { override fun api(dependencyNotation: Any): Dependency? = addDependencyByAnyNotation(parent.apiConfigurationName, dependencyNotation) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlatformTestRun.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlatformTestRun.kt index 34f126d5f0f..ff053e30b44 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlatformTestRun.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlatformTestRun.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.gradle.targets.js +import groovy.lang.Closure import org.jetbrains.kotlin.gradle.execution.KotlinAggregateExecutionSource import org.jetbrains.kotlin.gradle.plugin.CompilationExecutionSource import org.jetbrains.kotlin.gradle.plugin.CompilationExecutionSourceSupport @@ -82,4 +83,6 @@ open class KotlinJsReportAggregatingTestRun( target.whenBrowserConfigured { doConfigureInChildren(this) } target.whenNodejsConfigured { doConfigureInChildren(this) } } + + override fun filter(configureFilter: Closure<*>) = filter { target.project.configure(this, configureFilter) } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinAggregateExecutionSource.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinAggregateExecutionSource.kt index 94bd64ccd81..3cee23bac42 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinAggregateExecutionSource.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinAggregateExecutionSource.kt @@ -40,6 +40,8 @@ abstract class KotlinTaskTestRun( override fun filter(configureFilter: TestFilter.() -> Unit) { executionTask.configure { task -> configureFilter(task.filter) } } + + override fun filter(configureFilter: Closure<*>) = filter { target.project.configure(this, configureFilter) } } internal val KotlinTargetTestRun<*>.testTaskName: String