Support running Kotlin compiler daemon on JDK 9
This should have fixed the compiler that is run in Gradle on Java 9, but there's another issue filed as KT-17112 #KT-17112 Open #KT-14988 Fixed
This commit is contained in:
+10
@@ -52,6 +52,15 @@ object KotlinCompilerClient {
|
|||||||
|
|
||||||
val verboseReporting = System.getProperty(COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY) != null
|
val verboseReporting = System.getProperty(COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY) != null
|
||||||
|
|
||||||
|
val java9RestrictionsWorkaroundOptions =
|
||||||
|
if (System.getProperty("java.specification.version") == "9") listOf(
|
||||||
|
"--add-opens", "java.base/java.lang=ALL-UNNAMED",
|
||||||
|
"--add-opens", "java.base/java.util=ALL-UNNAMED",
|
||||||
|
"--add-opens", "java.base/java.util.concurrent.atomic=ALL-UNNAMED",
|
||||||
|
"--add-opens", "java.base/jdk.internal.misc=ALL-UNNAMED"
|
||||||
|
)
|
||||||
|
else emptyList()
|
||||||
|
|
||||||
fun getOrCreateClientFlagFile(daemonOptions: DaemonOptions): File =
|
fun getOrCreateClientFlagFile(daemonOptions: DaemonOptions): File =
|
||||||
// for jps property is passed from IDEA to JPS in KotlinBuildProcessParametersProvider
|
// for jps property is passed from IDEA to JPS in KotlinBuildProcessParametersProvider
|
||||||
System.getProperty(COMPILE_DAEMON_CLIENT_ALIVE_PATH_PROPERTY)
|
System.getProperty(COMPILE_DAEMON_CLIENT_ALIVE_PATH_PROPERTY)
|
||||||
@@ -380,6 +389,7 @@ object KotlinCompilerClient {
|
|||||||
javaExecutable.absolutePath, "-cp", compilerId.compilerClasspath.joinToString(File.pathSeparator)) +
|
javaExecutable.absolutePath, "-cp", compilerId.compilerClasspath.joinToString(File.pathSeparator)) +
|
||||||
platformSpecificOptions +
|
platformSpecificOptions +
|
||||||
daemonJVMOptions.mappers.flatMap { it.toArgs("-") } +
|
daemonJVMOptions.mappers.flatMap { it.toArgs("-") } +
|
||||||
|
java9RestrictionsWorkaroundOptions +
|
||||||
COMPILER_DAEMON_CLASS_FQN +
|
COMPILER_DAEMON_CLASS_FQN +
|
||||||
daemonOptions.mappers.flatMap { it.toArgs(COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX) } +
|
daemonOptions.mappers.flatMap { it.toArgs(COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX) } +
|
||||||
compilerId.mappers.flatMap { it.toArgs(COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX) }
|
compilerId.mappers.flatMap { it.toArgs(COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX) }
|
||||||
|
|||||||
Reference in New Issue
Block a user