Support JVM 8 target on Android
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
ext {
|
||||
isD8Enabled = project.findProperty('android.enableD8').toBoolean()
|
||||
}
|
||||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
@@ -58,6 +60,12 @@ android {
|
||||
resultsDir = "build/test/results"
|
||||
}
|
||||
|
||||
if (isD8Enabled) {
|
||||
compileOptions {
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
}
|
||||
}
|
||||
|
||||
flavorDimensions "box"
|
||||
|
||||
@@ -77,6 +85,17 @@ android {
|
||||
reflect0 {
|
||||
dimension "box"
|
||||
}
|
||||
|
||||
|
||||
if (isD8Enabled) {
|
||||
jvm80 {
|
||||
dimension "box"
|
||||
}
|
||||
|
||||
reflectjvm80 {
|
||||
dimension "box"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ class CodegenTestsOnAndroidRunner private constructor(private val pathManager: P
|
||||
testCases.forEach { aCase -> suite.addTest(aCase) }
|
||||
Assert.assertNotEquals("There is no test results in report", 0, testCases.size.toLong())
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
} catch (e: Throwable) {
|
||||
throw RuntimeException("Can't parse test results in $reportFolder\n$resultOutput", e)
|
||||
}
|
||||
}
|
||||
|
||||
+6
-4
@@ -276,11 +276,13 @@ class CodegenTestsOnAndroidGenerator private constructor(private val pathManager
|
||||
if (fullFileText.contains("@file:JvmPackageName(")) continue
|
||||
// TODO: Support jvm assertions
|
||||
if (fullFileText.contains("// KOTLIN_CONFIGURATION_FLAGS: ASSERTIONS_MODE=jvm")) continue
|
||||
val targets = InTextDirectivesUtils.findLinesWithPrefixesRemoved(fullFileText, "// JVM_TARGET:")
|
||||
.also { it.remove(JvmTarget.JVM_1_6.description) }
|
||||
|
||||
// TODO: support JVM 8 test with D8
|
||||
if (fullFileText.contains("// JVM_TARGET")) continue
|
||||
|
||||
val isJvm8Target = false
|
||||
val isJvm8Target =
|
||||
if (targets.isEmpty()) false
|
||||
else if (targets.contains(JvmTarget.JVM_1_8.description) && targets.size == 1) true
|
||||
else continue //TODO: support other targets on Android
|
||||
|
||||
// TODO: support SKIP_JDK6 on new platforms
|
||||
if (fullFileText.contains("// SKIP_JDK6")) continue
|
||||
|
||||
Reference in New Issue
Block a user