Properly extract JVM version in kapt
#KT-41788
This commit is contained in:
@@ -23,17 +23,11 @@ import com.sun.tools.javac.util.Options
|
|||||||
import com.sun.tools.javac.util.List as JavacList
|
import com.sun.tools.javac.util.List as JavacList
|
||||||
import org.jetbrains.kotlin.kapt3.base.plus
|
import org.jetbrains.kotlin.kapt3.base.plus
|
||||||
|
|
||||||
fun isJava9OrLater(): Boolean = !System.getProperty("java.version").startsWith("1.")
|
private fun getJavaVersion(): Int =
|
||||||
fun isJava11OrLater(): Boolean {
|
System.getProperty("java.specification.version")?.substringAfter('.')?.toIntOrNull() ?: 6
|
||||||
val majorVersion = System.getProperty("java.version").substringBefore(".")
|
|
||||||
if (majorVersion.isEmpty()) return false
|
|
||||||
|
|
||||||
return try {
|
fun isJava9OrLater() = getJavaVersion() >= 9
|
||||||
majorVersion.toInt() >= 11
|
fun isJava11OrLater() = getJavaVersion() >= 11
|
||||||
} catch (ignored: Throwable) {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun Options.putJavacOption(jdk8Name: String, jdk9Name: String, value: String) {
|
fun Options.putJavacOption(jdk8Name: String, jdk9Name: String, value: String) {
|
||||||
val option = if (isJava9OrLater()) {
|
val option = if (isJava9OrLater()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user