From 5f1977083d15afb441bf822ed0780dfebd591f9c Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Wed, 23 Mar 2022 19:22:50 +0100 Subject: [PATCH] Restore "Rename 'classpath' input into 'libraries'" This reverts commit 47a9fb725e4263218879d5f4e0169500b1e053ab. --- .../gradle/KotlinSpecificDependenciesIT.kt | 2 +- .../kapt/Kapt3KotlinGradleSubplugin.kt | 2 +- .../internal/kapt/KaptGenerateStubsTask.kt | 4 +-- .../kotlin/gradle/internal/kapt/KaptTask.kt | 2 +- .../model/builder/KotlinModelBuilder.kt | 2 +- .../kotlin/gradle/plugin/KotlinPlugin.kt | 2 +- .../android/Android25ProjectHandler.kt | 2 +- .../gradle/targets/js/KotlinJsDcePlugin.kt | 2 +- .../targets/js/subtargets/KotlinBrowserJs.kt | 2 +- .../targets/native/tasks/KotlinNativeTasks.kt | 10 +++---- .../gradle/tasks/KotlinCompileCommon.kt | 2 +- .../kotlin/gradle/tasks/KotlinJsDce.kt | 6 ++-- .../jetbrains/kotlin/gradle/tasks/Tasks.kt | 29 ++++++++++++++----- 13 files changed, 40 insertions(+), 27 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinSpecificDependenciesIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinSpecificDependenciesIT.kt index 90821fb308c..94ce3308bc9 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinSpecificDependenciesIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinSpecificDependenciesIT.kt @@ -560,7 +560,7 @@ class KotlinSpecificDependenciesIT : KGPBaseTest() { } else { "org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompileTool" } - val expression = """(tasks.getByName("$taskName") as $taskClass).${if (isNative) "libraries" else "classpath"}.toList()""" + val expression = """(tasks.getByName("$taskName") as $taskClass).libraries.toList()""" checkPrintedItems(subproject, expression, checkModulesInClasspath, checkModulesNotInClasspath, isBuildGradleKts) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt index 1b86fb8f013..616a92a1bc4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt @@ -516,7 +516,7 @@ class Kapt3GradleSubplugin @Inject internal constructor(private val registry: To // the configuration is not extended (via extendsFrom, which normally happens when one configuration is _added_ into another) // but is instead included as the (lazily) resolved files. This is needed because the class structure configuration doesn't have // the attributes that are potentially needed to resolve dependencies on MPP modules, and the classpath configuration does. - project.dependencies.add(classStructureIfIncremental.name, project.files(project.provider { kotlinCompile.get().classpath })) + project.dependencies.add(classStructureIfIncremental.name, project.files(project.provider { kotlinCompile.get().libraries })) } val kaptClasspathConfiguration = project.configurations.create("kaptClasspath_$taskName") diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt index 361e7aad6bb..05d86b813bd 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt @@ -61,7 +61,7 @@ abstract class KaptGenerateStubsTask @Inject constructor( val providerFactory = kotlinCompileTask.project.providers task.useModuleDetection.value(kotlinCompileTask.useModuleDetection).disallowChanges() task.moduleName.value(kotlinCompileTask.moduleName).disallowChanges() - task.classpath.from(kotlinCompileTask.classpath) + task.libraries.from(kotlinCompileTask.libraries) task.kotlinTaskPluginClasspath.from( providerFactory.provider { kotlinCompileTask.pluginClasspath } ) @@ -163,7 +163,7 @@ abstract class KaptGenerateStubsTask @Inject constructor( args.pluginOptions = (pluginOptionsWithKapt.arguments + args.pluginOptions!!).toTypedArray() args.verbose = verbose.get() - args.classpathAsList = this.classpath.filter { it.exists() }.toList() + args.classpathAsList = this.libraries.filter { it.exists() }.toList() args.destinationAsFile = this.destinationDirectory.get().asFile } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptTask.kt index 77afeff7217..ecc39ce4d53 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptTask.kt @@ -40,7 +40,7 @@ abstract class KaptTask @Inject constructor( val objectFactory = task.project.objects task.compilerClasspath.from({ kotlinCompileTask.defaultCompilerClasspath }) - task.classpath.from(kotlinCompileTask.classpath) + task.classpath.from(kotlinCompileTask.libraries) task.compiledSources.from( kotlinCompileTask.destinationDirectory, Callable { kotlinCompileTask.javaOutputDir.takeIf { it.isPresent } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt index d14226e2dae..d8c247a8e9c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/model/builder/KotlinModelBuilder.kt @@ -126,7 +126,7 @@ class KotlinModelBuilder(private val kotlinPluginVersion: String, private val an return CompilerArgumentsImpl( serializedCompilerArguments, defaultSerializedCompilerArguments, - classpath.toList() + libraries.toList() ) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index b9964ac5314..e8789e3606f 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -122,7 +122,7 @@ internal abstract class KotlinSourceSetProcessor>( return register(project, name) { it.description = taskDescription it.destinationDirectory.set(defaultKotlinDestinationDir) - it.classpath.from({ kotlinCompilation.compileDependencyFiles }) + it.libraries.from({ kotlinCompilation.compileDependencyFiles }) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt index 9211349f80e..0c437b9132f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt @@ -59,7 +59,7 @@ class Android25ProjectHandler( val preJavaClasspathKey = variantData.registerPreJavacGeneratedBytecode(preJavaKotlinOutput) kotlinTask.configure { kotlinTaskInstance -> - kotlinTaskInstance.classpath + kotlinTaskInstance.libraries .from(variantData.getCompileClasspath(preJavaClasspathKey)) .from(Callable { AndroidGradleWrapper.getRuntimeJars(androidPlugin, androidExt) }) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsDcePlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsDcePlugin.kt index 39e54039b15..946abc5ce5a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsDcePlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsDcePlugin.kt @@ -76,7 +76,7 @@ class KotlinJsDcePlugin : Plugin { val configuration = project.configurations.getByName(kotlinCompilation.compileDependencyConfigurationName) dceTask.configure { - it.classpath.from(configuration) + it.libraries.from(configuration) it.destinationDirectory.set(it.dceOptions.outputDirectory?.let { File(it) } ?: outputDir) it.setSource(kotlinTask.map { task -> (task as Kotlin2JsCompile).outputFileProperty }) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt index de3e29fedfc..141a8d988fc 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt @@ -308,7 +308,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.kotlinFilesOnly = true - it.classpath.from(project.configurations.getByName(compilation.runtimeDependencyConfigurationName)) + it.libraries.from(project.configurations.getByName(compilation.runtimeDependencyConfigurationName)) it.destinationDirectory.set( it.dceOptions.outputDirectory?.let { File(it) } ?: compilation.npmProject.dir.resolve(if (dev) DCE_DEV_DIR else DCE_DIR) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index c5d865d9599..8eb80df9f09 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -159,10 +159,12 @@ abstract class AbstractKotlinNativeCompile< } @get:Classpath - val libraries: FileCollection by project.provider { + override val libraries: ConfigurableFileCollection by project.provider { // Avoid resolving these dependencies during task graph construction when we can't build the target: if (konanTarget.enabledOnCurrentHost) - compilation.compileDependencyFiles.filterOutPublishableInteropLibs(project) + objectFactory.fileCollection().from( + compilation.compileDependencyFiles.filterOutPublishableInteropLibs(project) + ) else objectFactory.fileCollection() } @@ -171,10 +173,6 @@ abstract class AbstractKotlinNativeCompile< project.files(compilation.friendPaths) } - @Deprecated("For native tasks use 'libraries' instead", ReplaceWith("libraries")) - override val classpath: ConfigurableFileCollection - get() = objectFactory.fileCollection().from(libraries) - @get:Input val target: String by project.provider { compilation.konanTarget.name } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt index 8b7fe7c3feb..51f94ee7cc6 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompileCommon.kt @@ -116,7 +116,7 @@ abstract class KotlinCompileCommon @Inject constructor( if (defaultsOnly) return - val classpathList = classpath.files.filter { it.exists() }.toMutableList() + val classpathList = libraries.files.filter { it.exists() }.toMutableList() with(args) { classpath = classpathList.joinToString(File.pathSeparator) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt index 009e7618c72..cc4eecf5ac4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt @@ -84,7 +84,7 @@ abstract class KotlinJsDce @Inject constructor( @get:Incremental @get:InputFiles - abstract override val classpath: ConfigurableFileCollection + abstract override val libraries: ConfigurableFileCollection private val buildDir = project.layout.buildDirectory @@ -103,11 +103,11 @@ abstract class KotlinJsDce @Inject constructor( val shouldPerformIncrementalCopy = isDevMode && !isExplicitDevModeAllStrategy val classpathFiles = if (shouldPerformIncrementalCopy) { - inputChanges.getFileChanges(classpath) + inputChanges.getFileChanges(libraries) .filter { it.changeType == ChangeType.MODIFIED || it.changeType == ChangeType.ADDED } .map { it.file } } else { - classpath.asFileTree.files + libraries.asFileTree.files } val inputFiles = sources.asFileTree.files.plus(classpathFiles) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 6e747c82dcc..9da06c3b48c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -172,7 +172,7 @@ abstract class AbstractKotlinCompileTool @Inject constr @get:Classpath @get:Incremental - abstract val classpath: ConfigurableFileCollection + abstract val libraries: ConfigurableFileCollection @get:OutputDirectory abstract val destinationDirectory: DirectoryProperty @@ -480,7 +480,7 @@ abstract class AbstractKotlinCompile @Inject constr protected open val incrementalProps: List get() = listOfNotNull( sources, - classpath, + libraries, commonSourceSet ) @@ -578,7 +578,7 @@ class KotlinJvmCompilerArgumentsProvider (taskProvider: KotlinCompile) : KotlinCompileArgumentsProvider(taskProvider) { val moduleName: String = taskProvider.moduleName.get() val friendPaths: FileCollection = taskProvider.friendPaths - val compileClasspath: Iterable = taskProvider.classpath + val compileClasspath: Iterable = taskProvider.libraries val destinationDir: File = taskProvider.destinationDirectory.get().asFile internal val kotlinOptions: List = listOfNotNull( taskProvider.parentKotlinOptionsImpl.orNull as? KotlinJvmOptionsImpl, @@ -621,7 +621,7 @@ abstract class KotlinCompile @Inject constructor( if (properties.useClasspathSnapshot) { registerTransformsOnce(project) project.configurations.create(classpathSnapshotConfigurationName(taskProvider.name)).apply { - project.dependencies.add(name, project.files(project.provider { taskProvider.get().classpath })) + project.dependencies.add(name, project.files(project.provider { taskProvider.get().libraries })) } } } @@ -686,7 +686,7 @@ abstract class KotlinCompile @Inject constructor( val classpathSnapshotDir = getClasspathSnapshotDir(task) task.classpathSnapshotProperties.classpathSnapshotDir.value(classpathSnapshotDir).disallowChanges() } else { - task.classpathSnapshotProperties.classpath.from(task.project.provider { task.classpath }) + task.classpathSnapshotProperties.classpath.from(task.project.provider { task.libraries }) } } } @@ -710,7 +710,22 @@ abstract class KotlinCompile @Inject constructor( } @get:Internal // To support compile avoidance (ClasspathSnapshotProperties.classpathSnapshot will be used as input instead) - override abstract val classpath: ConfigurableFileCollection + abstract override val libraries: ConfigurableFileCollection + + @Deprecated( + "Replaced with 'libraries' input", + replaceWith = ReplaceWith("libraries") + ) + @Internal + fun getClasspath(): FileCollection = libraries + + @Deprecated( + "Replaced with 'libraries' input", + replaceWith = ReplaceWith("libraries") + ) + fun setClasspath(configuration: FileCollection) { + libraries.setFrom(configuration) + } @get:Input abstract val useKotlinAbiSnapshot: Property @@ -1265,7 +1280,7 @@ abstract class Kotlin2JsCompile @Inject constructor( logger.info(USING_JS_IR_BACKEND_MESSAGE) } - val dependencies = classpath + val dependencies = libraries .filter { it.exists() && libraryFilter(it) } .map { it.canonicalPath }