diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 4403f406741..ed1bbb3a1bd 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -308,41 +308,6 @@ class NewMultiplatformIT : BaseGradleIT() { } } - @Test - fun testResourceFilteringAndSourceTrackingWithJava() = with(Project("simpleProject")) { - setupWorkingDir() - gradleBuildScript().appendText( - "\n" + """ - // Test 1 -- check that Kotlin sources are correctly filtered out of resources, even those added late at configuration time: - sourceSets.main.resources.srcDir('src/main/kotlin') - sourceSets.main.resources.srcDir('src/foo/kotlin') - kotlin.target.compilations.main.source(kotlin.sourceSets.create('foo')) - - // Test 2 -- check that Java sources from the Kotlin source directories are correctly tracked under `allJava` in the source set: - sourceSets.main.allJava.files.each { println "allJava:${'$'}{it.name}" } - """.trimIndent() - ) - listOf("src/foo/kotlin/foo.kt", "src/main/resources/foo.txt", "src/foo/kotlin/foo.java").forEach { path -> - projectDir.resolve(path).apply { parentFile.mkdirs(); writeText("foo") } - } - - build("processResources") { - assertSuccessful() - - // Test 1 (see above) - assertTasksExecuted(":processResources") - assertFileExists("build/resources/main/foo.txt") - assertNoSuchFile("build/resources/main/helloWorld.kt") - assertNoSuchFile("build/resources/main/foo.kt") - - // Test 2 (see above) - assertContains("allJava:Greeter.java") - assertContains("allJava:HelloWorld.java") - assertContains("allJava:foo.java") - } - } - - @Test fun testResolveMppLibDependencyToMetadata() { val libProject = Project("sample-lib", gradleVersion, "new-mpp-lib-and-app") 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 a47be84cb8d..e3d103c966a 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 @@ -37,6 +37,7 @@ import org.jetbrains.kotlin.gradle.tasks.* import org.jetbrains.kotlin.gradle.utils.* import java.io.File import java.net.URL +import java.util.* import java.util.concurrent.Callable import java.util.jar.Manifest @@ -115,20 +116,15 @@ internal abstract class KotlinJavaSourceSetProcessor - val file = fileTreeElement.file - kotlinDirSets.any { file in it.kotlin } + kotlinSrcDirsToAdd.forEach { kotlinSrcDirs -> + javaSourceSet.allJava.srcDirs(kotlinSrcDirs) + javaSourceSet.allSource.srcDirs(kotlinSrcDirs) + javaSourceSet.resources.filter.exclude { it.file in kotlinSrcDirs } } }