From b2b8562f9238d4356e92b62507ce812006dbbdf5 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Wed, 25 Nov 2020 19:22:20 +0100 Subject: [PATCH] Properly extract JVM version in kapt #KT-41788 --- .../jetbrains/kotlin/kapt3/base/util/java9Utils.kt | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/util/java9Utils.kt b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/util/java9Utils.kt index dd92a0caa57..cae184709e7 100644 --- a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/util/java9Utils.kt +++ b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/util/java9Utils.kt @@ -23,17 +23,11 @@ import com.sun.tools.javac.util.Options import com.sun.tools.javac.util.List as JavacList import org.jetbrains.kotlin.kapt3.base.plus -fun isJava9OrLater(): Boolean = !System.getProperty("java.version").startsWith("1.") -fun isJava11OrLater(): Boolean { - val majorVersion = System.getProperty("java.version").substringBefore(".") - if (majorVersion.isEmpty()) return false +private fun getJavaVersion(): Int = + System.getProperty("java.specification.version")?.substringAfter('.')?.toIntOrNull() ?: 6 - return try { - majorVersion.toInt() >= 11 - } catch (ignored: Throwable) { - false - } -} +fun isJava9OrLater() = getJavaVersion() >= 9 +fun isJava11OrLater() = getJavaVersion() >= 11 fun Options.putJavacOption(jdk8Name: String, jdk9Name: String, value: String) { val option = if (isJava9OrLater()) {