From a8ba8fbf77588d12407296bfd1f684bece065875 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Thu, 16 Nov 2017 16:20:21 +0300 Subject: [PATCH] Make pluginOptions.classpath a separate input in the Gradle tasks (cherry picked from commit b03e758) --- .../kotlin/gradle/internal/KaptGenerateStubsTask.kt | 5 ++++- .../org/jetbrains/kotlin/gradle/internal/KaptTask.kt | 8 +++++++- .../kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt | 8 +++++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptGenerateStubsTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptGenerateStubsTask.kt index bc1b7967c86..a720d5895d3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptGenerateStubsTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptGenerateStubsTask.kt @@ -44,6 +44,9 @@ open class KaptGenerateStubsTask : KotlinCompile() { @get:Classpath @get:InputFiles lateinit var kaptClasspath: List + @get:Classpath @get:InputFiles @Suppress("unused") + internal val kotlinTaskPluginClasspath get() = kotlinCompileTask.pluginClasspath + override fun source(vararg sources: Any?): SourceTask? { return super.source(sourceRootsContainer.add(sources)) } @@ -61,7 +64,7 @@ open class KaptGenerateStubsTask : KotlinCompile() { override fun setupCompilerArgs(args: K2JVMCompilerArguments, defaultsOnly: Boolean) { kotlinCompileTask.setupCompilerArgs(args) - args.pluginClasspaths = (pluginOptions.classpath + args.pluginClasspaths!!).toSet().toTypedArray() + args.pluginClasspaths = (pluginClasspath + args.pluginClasspaths!!).toSet().toTypedArray() args.pluginOptions = (pluginOptions.arguments + args.pluginOptions!!).toTypedArray() args.verbose = project.hasProperty("kapt.verbose") && project.property("kapt.verbose").toString().toBoolean() == true args.classpathAsList = this.compileClasspath.toList() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt index 32a8b11b103..33a37ff8ed4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt @@ -43,7 +43,7 @@ open class KaptTask : ConventionTask(), CompilerArgumentAware() : AbstractKo get() = (classpath + additionalClasspath) .filterTo(LinkedHashSet(), File::exists) + @get:Classpath @get:InputFiles + internal val pluginClasspath get() = pluginOptions.classpath + private val kotlinExt: KotlinProjectExtension get() = project.extensions.findByType(KotlinProjectExtension::class.java)!! @@ -228,7 +230,7 @@ abstract class AbstractKotlinCompile() : AbstractKo } open fun setupPlugins(compilerArgs: T) { - compilerArgs.pluginClasspaths = pluginOptions.classpath.toTypedArray() + compilerArgs.pluginClasspaths = pluginClasspath.toTypedArray() compilerArgs.pluginOptions = pluginOptions.arguments.toTypedArray() } } @@ -285,7 +287,7 @@ open class KotlinCompile : AbstractKotlinCompile(), Kotl K2JVMCompilerArguments() override fun setupPlugins(compilerArgs: K2JVMCompilerArguments) { - compilerArgs.pluginClasspaths = pluginOptions.classpath.toTypedArray() + compilerArgs.pluginClasspaths = pluginClasspath.toTypedArray() val kaptPluginOptions = getKaptPluginOptions() compilerArgs.pluginOptions = (pluginOptions.arguments + kaptPluginOptions.arguments).toTypedArray()