Revert "Fix source set resources filtering broken by refactoring"
This reverts commit 6af6834
This commit is contained in:
-35
@@ -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")
|
||||
|
||||
+8
-12
@@ -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<T : AbstractKotlinCompile<*
|
||||
if (javaSourceSet == null)
|
||||
return
|
||||
|
||||
val kotlinDirSets = kotlinCompilation.kotlinSourceSets
|
||||
val kotlinDirSets = kotlinCompilation.kotlinSourceSets.map(KotlinSourceSet::kotlin)
|
||||
|
||||
// run lazily to support changing kotlinSourceSets after plugin is applied
|
||||
val kotlinSrcDirsToAdd = Callable {
|
||||
// Try to avoid duplicate Java sources in allSource:
|
||||
kotlinDirSets.map { filterOutJavaSrcDirsIfPossible(it.kotlin) }
|
||||
}
|
||||
// Try to avoid duplicate Java sources in allSource:
|
||||
val kotlinSrcDirsToAdd = kotlinDirSets.map { filterOutJavaSrcDirsIfPossible(it) }
|
||||
|
||||
javaSourceSet.allJava.srcDirs(kotlinSrcDirsToAdd)
|
||||
javaSourceSet.allSource.srcDirs(kotlinSrcDirsToAdd)
|
||||
|
||||
javaSourceSet.resources.filter.exclude { fileTreeElement ->
|
||||
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 }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user