From c6e6547559ba3f141c58d7f9ec32c097e1ac7bf3 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 27 Jan 2016 18:09:43 +0300 Subject: [PATCH] Kapt: add Java task classpath to processorpath --- .../kotlin/gradle/internal/AnnotationProcessingManager.kt | 2 +- .../kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt index 8ebef1bdfa9..b054f258204 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt @@ -149,7 +149,7 @@ public class AnnotationProcessingManager( generateAnnotationProcessorStubs(javaTask, annotationProcessorFqNames, stubOutputDir) val processorPath = setOf(stubOutputDir) + aptFiles - setProcessorPath(javaTask, processorPath.joinToString(File.pathSeparator)) + setProcessorPath(javaTask, (processorPath + javaTask.classpath).joinToString(File.pathSeparator)) javaTask.appendClasspath(stubOutputDir) addGeneratedSourcesOutputToCompilerArgs(javaTask, aptOutputDir) 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 8621c244f2f..ed8266e1d2b 100644 --- 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 @@ -158,6 +158,8 @@ class Kotlin2JvmSourceSetProcessor( subpluginEnvironment.addSubpluginArguments(project, kotlinTask) if (aptConfiguration.dependencies.size > 1 && javaTask is JavaCompile) { + javaTask.dependsOn(aptConfiguration.buildDependencies) + val (aptOutputDir, aptWorkingDir) = project.getAptDirsForSourceSet(sourceSetName) val kaptManager = AnnotationProcessingManager(kotlinTask, javaTask, sourceSetName, @@ -392,6 +394,7 @@ open class KotlinAndroidPlugin @Inject constructor(val scriptHandler: ScriptHand val aptConfiguration = aptConfigurations[(provider as AndroidSourceSet).name] // Ignore if there's only an annotation processor wrapper in dependencies (added by default) if (aptConfiguration != null && aptConfiguration.dependencies.size > 1) { + javaTask.dependsOn(aptConfiguration.buildDependencies) aptFiles.addAll(aptConfiguration.resolve()) } }