Revert "Fix source set resources filtering broken by refactoring"

This reverts commit 6af6834
This commit is contained in:
Sergey Igushkin
2018-08-17 17:34:00 +03:00
parent 92e7fe347a
commit b125f1e23e
2 changed files with 8 additions and 47 deletions
@@ -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")
@@ -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 }
}
}