diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt index db4d36918d6..3b92aa31037 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt @@ -90,14 +90,22 @@ internal fun runToolInSeparateProcess( compilerClassName: String, classpath: List, logger: KotlinLogger, - buildDir: File + buildDir: File, + jvmArgs: List = emptyList() ): ExitCode { val javaBin = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java" val classpathString = classpath.map { it.absolutePath }.joinToString(separator = File.pathSeparator) val compilerOptions = writeArgumentsToFile(buildDir, argsArray) - val builder = ProcessBuilder(javaBin, "-cp", classpathString, compilerClassName, "@${compilerOptions.absolutePath}") + val builder = ProcessBuilder( + javaBin, + *(jvmArgs.toTypedArray()), + "-cp", + classpathString, + compilerClassName, + "@${compilerOptions.absolutePath}" + ) val messageCollector = createLoggingMessageCollector(logger) val process = launchProcessWithFallback(builder, DaemonReportingTargets(messageCollector = messageCollector)) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt index 05571a30469..b9d50a20f16 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt @@ -71,6 +71,9 @@ open class KotlinJsDce : AbstractKotlinCompileTool(), KotlinJs keep += fqn } + @Input + var jvmArgs = mutableListOf() + @TaskAction fun performDce() { val inputFiles = (listOf(source) + classpath @@ -91,7 +94,8 @@ open class KotlinJsDce : AbstractKotlinCompileTool(), KotlinJs K2JSDce::class.java.name, computedCompilerClasspath, log, - project.buildDir + project.buildDir, + jvmArgs ) throwGradleExceptionIfError(exitCode)