syncKotlinAndAndroidSourceSets: Don't register Kotlin source dirs in Android java source dirs
This commit is contained in:
committed by
Sebastian Sellmair
parent
2286498d8d
commit
6c7247cbd3
+9
-15
@@ -25,14 +25,6 @@ open class KotlinAndroid36GradleIT : KotlinAndroid33GradleIT() {
|
|||||||
fun testAndroidMppSourceSets(): Unit = with(Project("new-mpp-android-source-sets", GradleVersionRequired.FOR_MPP_SUPPORT)) {
|
fun testAndroidMppSourceSets(): Unit = with(Project("new-mpp-android-source-sets", GradleVersionRequired.FOR_MPP_SUPPORT)) {
|
||||||
build("sourceSets") {
|
build("sourceSets") {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertContains("Java sources: [lib/src/androidTest/java, lib/src/androidAndroidTest/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/src/androidTestDebug/java, lib/src/androidAndroidTestDebug/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/src/debug/java, lib/src/androidDebug/kotlin, lib/src/debug/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/src/main/java, lib/src/androidMain/kotlin, lib/src/main/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/src/release/java, lib/src/androidRelease/kotlin, lib/src/release/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/src/test/java, lib/src/androidTest/kotlin, lib/src/test/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/src/testDebug/java, lib/src/androidTestDebug/kotlin, lib/src/testDebug/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/src/testRelease/java, lib/src/androidTestRelease/kotlin, lib/src/testRelease/kotlin]")
|
|
||||||
|
|
||||||
assertContains("Android resources: [lib/src/main/res, lib/src/androidMain/res]")
|
assertContains("Android resources: [lib/src/main/res, lib/src/androidMain/res]")
|
||||||
assertContains("Assets: [lib/src/main/assets, lib/src/androidMain/assets]")
|
assertContains("Assets: [lib/src/main/assets, lib/src/androidMain/assets]")
|
||||||
@@ -50,14 +42,13 @@ open class KotlinAndroid36GradleIT : KotlinAndroid33GradleIT() {
|
|||||||
assertContains("JNI libraries: [lib/src/androidTestDebug/jniLibs, lib/src/androidAndroidTestDebug/jniLibs]")
|
assertContains("JNI libraries: [lib/src/androidTestDebug/jniLibs, lib/src/androidAndroidTestDebug/jniLibs]")
|
||||||
assertContains("Java-style resources: [lib/src/androidTestDebug/resources, lib/src/androidAndroidTestDebug/resources]")
|
assertContains("Java-style resources: [lib/src/androidTestDebug/resources, lib/src/androidAndroidTestDebug/resources]")
|
||||||
|
|
||||||
assertContains("Java sources: [lib/betaSrc/paidBeta/java, lib/src/androidPaidBeta/kotlin, lib/src/paidBeta/kotlin]")
|
assertContains("Java-style resources: [lib/betaSrc/paidBeta/resources, lib/src/androidPaidBeta/resources]")
|
||||||
assertContains("Java sources: [lib/betaSrc/paidBetaDebug/java, lib/src/androidPaidBetaDebug/kotlin, lib/src/paidBetaDebug/kotlin]")
|
assertContains("Java-style resources: [lib/betaSrc/paidBetaDebug/resources, lib/src/androidPaidBetaDebug/resources]")
|
||||||
assertContains("Java sources: [lib/betaSrc/paidBetaRelease/java, lib/src/androidPaidBetaRelease/kotlin, lib/src/paidBetaRelease/kotlin]")
|
assertContains("Java-style resources: [lib/betaSrc/paidBetaRelease/resources, lib/src/androidPaidBetaRelease/resources]")
|
||||||
|
|
||||||
assertContains("Java sources: [lib/betaSrc/freeBeta/java, lib/src/androidFreeBeta/kotlin, lib/src/freeBeta/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/betaSrc/freeBetaDebug/java, lib/src/androidFreeBetaDebug/kotlin, lib/src/freeBetaDebug/kotlin]")
|
|
||||||
assertContains("Java sources: [lib/betaSrc/freeBetaRelease/java, lib/src/androidFreeBetaRelease/kotlin, lib/src/freeBetaRelease/kotlin]")
|
|
||||||
|
|
||||||
|
assertContains("Java-style resources: [lib/betaSrc/freeBeta/resources, lib/src/androidFreeBeta/resources]")
|
||||||
|
assertContains("Java-style resources: [lib/betaSrc/freeBetaDebug/resources, lib/src/androidFreeBetaDebug/resources]")
|
||||||
|
assertContains("Java-style resources: [lib/betaSrc/freeBetaRelease/resources, lib/src/androidFreeBetaRelease/resources]")
|
||||||
}
|
}
|
||||||
|
|
||||||
build("testFreeBetaDebug") {
|
build("testFreeBetaDebug") {
|
||||||
@@ -73,10 +64,13 @@ open class KotlinAndroid36GradleIT : KotlinAndroid33GradleIT() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Test for KT-35016: MPP should recognize android instrumented tests correctly
|
// Test for KT-35016: MPP should recognize android instrumented tests correctly
|
||||||
|
// TODO: https://issuetracker.google.com/issues/173770818 enable after fix in AGP
|
||||||
|
/*
|
||||||
build("connectedAndroidTest") {
|
build("connectedAndroidTest") {
|
||||||
assertFailed()
|
assertFailed()
|
||||||
assertContains("No connected devices!")
|
assertContains("No connected devices!")
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
+10
-18
@@ -45,10 +45,11 @@ class SyncKotlinAndAndroidSourceSetsTest {
|
|||||||
val kotlinAndroidMainSourceSet = kotlin.sourceSets.getByName("androidMain")
|
val kotlinAndroidMainSourceSet = kotlin.sourceSets.getByName("androidMain")
|
||||||
val androidMainSourceSet = android.sourceSets.getByName("main")
|
val androidMainSourceSet = android.sourceSets.getByName("main")
|
||||||
|
|
||||||
assertEquals(
|
assertTrue(
|
||||||
androidMainSourceSet.java.srcDirs.toSet(),
|
kotlinAndroidMainSourceSet.kotlin.srcDirs.containsAll(androidMainSourceSet.java.srcDirs),
|
||||||
kotlinAndroidMainSourceSet.kotlin.srcDirs.toSet(),
|
"Expected all Android java srcDirs in Kotlin source set.\n" +
|
||||||
"Expected all source directories being present in all models"
|
"Kotlin=${kotlinAndroidMainSourceSet.kotlin.srcDirs}\n" +
|
||||||
|
"Android=${androidMainSourceSet.java.srcDirs}"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,10 +60,11 @@ class SyncKotlinAndAndroidSourceSetsTest {
|
|||||||
val kotlinAndroidTestSourceSet = kotlin.sourceSets.getByName("androidTest")
|
val kotlinAndroidTestSourceSet = kotlin.sourceSets.getByName("androidTest")
|
||||||
val testSourceSet = android.sourceSets.getByName("test")
|
val testSourceSet = android.sourceSets.getByName("test")
|
||||||
|
|
||||||
assertEquals(
|
assertTrue(
|
||||||
testSourceSet.java.srcDirs.toSet(),
|
kotlinAndroidTestSourceSet.kotlin.srcDirs.containsAll(testSourceSet.java.srcDirs),
|
||||||
kotlinAndroidTestSourceSet.kotlin.srcDirs.toSet(),
|
"Expected all Android java srcDirs in Kotlin source set.\n" +
|
||||||
"Expected all source directories being present in all models"
|
"Kotlin=${kotlinAndroidTestSourceSet.kotlin.srcDirs}\n" +
|
||||||
|
"Android=${testSourceSet.java.srcDirs}"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,11 +75,6 @@ class SyncKotlinAndAndroidSourceSetsTest {
|
|||||||
val kotlinAndroidAndroidTestSourceSet = kotlin.sourceSets.getByName("androidAndroidTest")
|
val kotlinAndroidAndroidTestSourceSet = kotlin.sourceSets.getByName("androidAndroidTest")
|
||||||
val androidTestSourceSet = android.sourceSets.getByName("androidTest")
|
val androidTestSourceSet = android.sourceSets.getByName("androidTest")
|
||||||
|
|
||||||
assertTrue(
|
|
||||||
androidTestSourceSet.java.srcDirs.toSet().containsAll(kotlinAndroidAndroidTestSourceSet.kotlin.srcDirs),
|
|
||||||
"Expected all kotlin source directories being registered on AGP"
|
|
||||||
)
|
|
||||||
|
|
||||||
assertTrue(
|
assertTrue(
|
||||||
project.file("src/androidTest/kotlin") !in kotlinAndroidAndroidTestSourceSet.kotlin.srcDirs,
|
project.file("src/androidTest/kotlin") !in kotlinAndroidAndroidTestSourceSet.kotlin.srcDirs,
|
||||||
"Expected no source directory of 'androidTest' kotlin source set (Unit Test) " +
|
"Expected no source directory of 'androidTest' kotlin source set (Unit Test) " +
|
||||||
@@ -172,11 +169,6 @@ class SyncKotlinAndAndroidSourceSetsTest {
|
|||||||
kotlinAndroidMain.kotlin.srcDirs.containsAll(setOf(project.file("fromKotlin"), project.file("fromAndroid"))),
|
kotlinAndroidMain.kotlin.srcDirs.containsAll(setOf(project.file("fromKotlin"), project.file("fromAndroid"))),
|
||||||
"Expected custom configured source directories being present on kotlin source set after evaluation"
|
"Expected custom configured source directories being present on kotlin source set after evaluation"
|
||||||
)
|
)
|
||||||
|
|
||||||
assertTrue(
|
|
||||||
androidMain.java.srcDirs.containsAll(setOf(project.file("fromKotlin"), project.file("fromAndroid"))),
|
|
||||||
"Expected custom configured source directories being present on android source set after evaluation"
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
-2
@@ -79,7 +79,6 @@ private fun syncKotlinAndAndroidSourceDirs(
|
|||||||
}
|
}
|
||||||
|
|
||||||
kotlinSourceSet.kotlin.srcDirs(*androidSourceSet.java.srcDirs.toTypedArray())
|
kotlinSourceSet.kotlin.srcDirs(*androidSourceSet.java.srcDirs.toTypedArray())
|
||||||
androidSourceSet.java.srcDirs(*kotlinSourceSet.kotlin.srcDirs.toTypedArray())
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Make sure to include user configuration as well.
|
Make sure to include user configuration as well.
|
||||||
@@ -88,7 +87,6 @@ private fun syncKotlinAndAndroidSourceDirs(
|
|||||||
*/
|
*/
|
||||||
target.project.whenEvaluated {
|
target.project.whenEvaluated {
|
||||||
kotlinSourceSet.kotlin.srcDirs(*androidSourceSet.java.srcDirs.toTypedArray())
|
kotlinSourceSet.kotlin.srcDirs(*androidSourceSet.java.srcDirs.toTypedArray())
|
||||||
androidSourceSet.java.srcDirs(*kotlinSourceSet.kotlin.srcDirs.toTypedArray())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user