Kapt: Support Java 9 in Gradle plugin infrastructure
This commit is contained in:
-1
@@ -27,7 +27,6 @@ import org.gradle.api.Project
|
|||||||
import org.gradle.api.UnknownDomainObjectException
|
import org.gradle.api.UnknownDomainObjectException
|
||||||
import org.gradle.api.tasks.SourceSet
|
import org.gradle.api.tasks.SourceSet
|
||||||
import org.gradle.api.tasks.compile.AbstractCompile
|
import org.gradle.api.tasks.compile.AbstractCompile
|
||||||
import com.intellij.openapi.util.text.StringUtil.*
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
|
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
|
|||||||
+10
-1
@@ -11,6 +11,7 @@ import com.intellij.openapi.util.io.FileUtil
|
|||||||
import org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment
|
import org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment
|
||||||
import org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner
|
import org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner
|
||||||
import org.jetbrains.kotlin.compilerRunner.OutputItemsCollectorImpl
|
import org.jetbrains.kotlin.compilerRunner.OutputItemsCollectorImpl
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.compareVersionNumbers
|
||||||
import org.jetbrains.kotlin.gradle.tasks.*
|
import org.jetbrains.kotlin.gradle.tasks.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@@ -64,7 +65,7 @@ open class KaptTask : ConventionTask() {
|
|||||||
val messageCollector = GradleMessageCollector(logger)
|
val messageCollector = GradleMessageCollector(logger)
|
||||||
val outputItemCollector = OutputItemsCollectorImpl()
|
val outputItemCollector = OutputItemsCollectorImpl()
|
||||||
val environment = GradleCompilerEnvironment(kotlinCompileTask.computedCompilerClasspath, messageCollector, outputItemCollector, args)
|
val environment = GradleCompilerEnvironment(kotlinCompileTask.computedCompilerClasspath, messageCollector, outputItemCollector, args)
|
||||||
if (environment.toolsJar == null) {
|
if (environment.toolsJar == null && !isAtLeastJava9) {
|
||||||
throw GradleException("Could not find tools.jar in system classpath, which is required for kapt to work")
|
throw GradleException("Could not find tools.jar in system classpath, which is required for kapt to work")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,4 +83,12 @@ open class KaptTask : ConventionTask() {
|
|||||||
deleteRecursively()
|
deleteRecursively()
|
||||||
mkdirs()
|
mkdirs()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val isAtLeastJava9: Boolean
|
||||||
|
get() = compareVersionNumbers(getJavaRuntimeVersion(), "9") >= 0
|
||||||
|
|
||||||
|
private fun getJavaRuntimeVersion(): String {
|
||||||
|
val rtVersion = System.getProperty("java.runtime.version")
|
||||||
|
return if (Character.isDigit(rtVersion[0])) rtVersion else System.getProperty("java.version")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -876,7 +876,7 @@ internal fun loadAndroidPluginVersion(): String? {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Copied from StringUtil.compareVersionNumbers
|
//Copied from StringUtil.compareVersionNumbers
|
||||||
private fun compareVersionNumbers(v1: String?, v2: String?): Int {
|
internal fun compareVersionNumbers(v1: String?, v2: String?): Int {
|
||||||
if (v1 == null && v2 == null) {
|
if (v1 == null && v2 == null) {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user