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 194a67c7565..80381dbb636 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 @@ -290,6 +290,8 @@ internal class Kotlin2JsSourceSetProcessor( kotlinTask.source(kotlinSourceSet.kotlin) createCleanSourceMapTask() + sourceSet.clearJavaSrcDirs() + // outputFile can be set later during the configuration phase, get it only after the phase: project.afterEvaluate { project -> val subpluginEnvironment: SubpluginEnvironment = loadSubplugins(project) @@ -342,6 +344,8 @@ internal class KotlinCommonSourceSetProcessor( compileTaskNameSuffix = "kotlinCommon" ) { override fun doTargetSpecificProcessing() { + sourceSet.clearJavaSrcDirs() + project.afterEvaluate { project -> kotlinTask.source(kotlinSourceSet.kotlin) project.tasks.findByName(sourceSet.classesTaskName).dependsOn(kotlinTask) @@ -709,6 +713,10 @@ internal fun createSyncOutputTask( return syncTask } +private fun SourceSet.clearJavaSrcDirs() { + java.setSrcDirs(emptyList()) +} + private val KOTLIN_ANNOTATION_PROCESSING_FILE_REGEX = "kotlin-annotation-processing-[\\-0-9A-Za-z.]+\\.jar".toRegex() private fun removeAnnotationProcessingPluginClasspathEntry(kotlinCompile: KotlinCompile) {