From 1596d7b636a61a7ca5a4ffe1fbbcdebb2a846da1 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Thu, 29 Mar 2018 20:11:18 +0300 Subject: [PATCH] Stop removing JavaCompile tasks from project.tasks in common modules When the JavaCompile tasks were removed from a common project, some of the dependencies on them remained. This could lead to an error during dependencies resolution, such as the one in KT-23092. To an even greater confusion, the remaining dependencies anyway led to the task being added to the task graph. Issue #KT-23092 Fixed --- .../kotlin/gradle/MultiplatformGradleIT.kt | 20 +++++++++++++++++++ .../kotlin/gradle/plugin/KotlinPlugin.kt | 2 -- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt index cb73ff69be5..1aa90748b8b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt @@ -236,4 +236,24 @@ class MultiplatformGradleIT : BaseGradleIT() { assertFileExists(kotlinClassesDir(subproject = "lib") + "META-INF/$moduleName.kotlin_module") } } + + @Test + fun testKt23092() = with(Project("multiplatformProject")) { + setupWorkingDir() + val successMarker = "Found JavaCompile task:" + + gradleBuildScript("lib").appendText("\n" + """ + afterEvaluate { + println('$successMarker ' + tasks.getByName('compileJava').path) + println('$successMarker ' + tasks.getByName('compileTestJava').path) + } + """.trimIndent() + ) + + build(":lib:tasks") { + assertSuccessful() + assertContains("$successMarker :lib:compileJava") + assertContains("$successMarker :lib:compileTestJava") + } + } } \ No newline at end of file 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 b6639aaabe4..7bece3bba0d 100755 --- 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 @@ -356,8 +356,6 @@ internal class KotlinCommonSourceSetProcessor( project.tasks.findByName(sourceSet.classesTaskName)!!.dependsOn(kotlinTask) // can be missing (e.g. in case of tests) project.tasks.findByName(sourceSet.jarTaskName)?.dependsOn(kotlinTask) - val javaTask = project.tasks.findByName(sourceSet.compileJavaTaskName) - project.tasks.remove(javaTask) appliedPlugins .flatMap { it.getSubpluginKotlinTasks(project, kotlinTask) }