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()) } }