Automatically detect Android Java 1.8 source+target (KT-21030)

When Android Java 8 desugaring is set as follows (or above):

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

set the Kotlin JVM target to 1.8

Issue #KT-21030 Fixed
This commit is contained in:
Sergey Igushkin
2019-03-14 16:04:00 +03:00
parent 70db646576
commit ffbd0e8af1
2 changed files with 37 additions and 0 deletions
@@ -673,4 +673,30 @@ fun getSomething() = 10
assertFileExists("libAndroid/build/tmp/kotlin-classes/debugUnitTest/foo/PlatformTest.class")
}
}
@Test
fun testDetectAndroidJava8() = with(Project("AndroidProject")) {
setupWorkingDir()
val kotlinJvmTarget18Regex = Regex("Kotlin compiler args: .* -jvm-target 1.8")
build(":Lib:assemble") {
assertSuccessful()
assertNotContains(kotlinJvmTarget18Regex)
}
gradleBuildScript("Lib").appendText(
"\n" + """
android.compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
""".trimIndent()
)
build(":Lib:assemble") {
assertSuccessful()
assertContainsRegex(kotlinJvmTarget18Regex)
}
}
}