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 dda8e68a367..4e0bdf296a4 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 @@ -106,7 +106,7 @@ private fun Project.createKotlinAfterJavaTask( tasksProvider: KotlinTasksProvider ): KotlinCompile { val kotlinAfterJavaTask = with (tasksProvider.createKotlinJVMTask(this, kotlinTask.name + KOTLIN_AFTER_JAVA_TASK_SUFFIX)) { - conventionMapping.map("classpath") { kotlinTask.classpath } + mapClasspath { kotlinTask.classpath } this } 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 2025a0ebae9..6a69e0e8e30 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 @@ -105,6 +105,7 @@ abstract class KotlinSourceSetProcessor( val kotlinCompile = doCreateTask(project, name) kotlinCompile.description = taskDescription kotlinCompile.extensions.extraProperties.set("defaultModuleName", "${project.name}-$name") + kotlinCompile.mapClasspath { sourceSet.compileClasspath } return kotlinCompile } @@ -371,7 +372,7 @@ open class KotlinAndroidPlugin @Inject constructor(val scriptHandler: ScriptHand } subpluginEnvironment.addSubpluginArguments(project, kotlinTask) - kotlinTask.conventionMapping.map("classpath") { javaTask.classpath + project.files(AndroidGradleWrapper.getRuntimeJars(androidPlugin, androidExt)) } + kotlinTask.mapClasspath { javaTask.classpath + project.files(AndroidGradleWrapper.getRuntimeJars(androidPlugin, androidExt)) } val (aptOutputDir, aptWorkingDir) = project.getAptDirsForSourceSet(variantDataName) variantData.addJavaSourceFoldersToModel(aptOutputDir) var kotlinAfterJavaTask: KotlinCompile? = null diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/taskUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/taskUtils.kt index 7747d0010f8..02feee24404 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/taskUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/taskUtils.kt @@ -27,4 +27,8 @@ internal fun AbstractCompile.appendClasspathDynamically(file: File) { internal fun Task.finalizedByIfNotFailed(finalizer: Task) { finalizer.onlyIf { this@finalizedByIfNotFailed.state.failure == null } this.finalizedBy(finalizer) +} + +fun AbstractCompile.mapClasspath(fn: ()->FileCollection) { + conventionMapping.map("classpath", fn) } \ No newline at end of file