From 03cda7f4d121128152d3ce0841aac3032a5580c0 Mon Sep 17 00:00:00 2001 From: Natalia Ukhorskaya Date: Thu, 5 Nov 2015 14:35:46 +0300 Subject: [PATCH] Access javaTask.classpath property only in doFirst because otherwise it doesn't contain classes added after apply of kotlin plugin #KT-7277 Fixed #KT-9899 Fixed --- .../kotlin/gradle/internal/AnnotationProcessingManager.kt | 4 +++- .../org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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 caca8a4412c..d22adf052fb 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 @@ -46,7 +46,9 @@ fun Project.initKapt( val stubsDir = File(getBuildDir(), "tmp/kapt/$variantName/classFileStubs") kotlinTask.extensions.extraProperties.set("kaptStubsDir", stubsDir) - javaTask.classpath += files(stubsDir) + javaTask.doFirst { + javaTask.classpath += files(stubsDir) + } kotlinTask.doFirst { kotlinAfterJavaTask.source(kotlinTask.source) 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 c657a894828..c47bbda799c 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 @@ -134,8 +134,9 @@ class Kotlin2JvmSourceSetProcessor( if (javaTask != null) { javaTask.dependsOn(kotlinTaskName) - val javacClassPath = javaTask.getClasspath() + project.files(kotlinDestinationDir); - javaTask.setClasspath(javacClassPath) + javaTask.doFirst { + javaTask.classpath += project.files(kotlinDestinationDir) + } } val kotlinAnnotationProcessingDep = cachedKotlinAnnotationProcessingDep ?: run {