From 4076bf40a9dc095dbab855a312ce2e6921652890 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Fri, 22 May 2020 12:00:01 +0700 Subject: [PATCH] [Commonizer] Add Gradle property to pass JVM args ^KT-39094 --- .../compilerRunner/KotlinNativeKlibCommonizerToolRunner.kt | 3 +++ .../org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinNativeKlibCommonizerToolRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinNativeKlibCommonizerToolRunner.kt index 83174143593..c8a0bfa7309 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinNativeKlibCommonizerToolRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinNativeKlibCommonizerToolRunner.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.compilerRunner import org.gradle.api.Project import org.jetbrains.kotlin.gradle.plugin.KLIB_COMMONIZER_CLASSPATH_CONFIGURATION_NAME +import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import java.io.File @@ -31,4 +32,6 @@ internal class KotlinNativeKlibCommonizerToolRunner(project: Project) : KotlinTo override val defaultMaxHeapSize: String get() = "4G" override val mustRunViaExec get() = true // because it's not enough the standard Gradle wrapper's heap size + + override fun getCustomJvmArgs() = PropertiesProvider(project).commonizerJvmArgs?.split("\\s+".toRegex()).orEmpty() } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt index 1576b5004fb..1592943bd24 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt @@ -173,6 +173,12 @@ internal class PropertiesProvider private constructor(private val project: Proje val nativeEnableParallelExecutionCheck: Boolean get() = booleanProperty(KOTLIN_NATIVE_ENABLE_PARALLEL_EXECUTION_CHECK) ?: true + /** + * Allows a user to specify additional arguments of a JVM executing KLIB commonizer. + */ + val commonizerJvmArgs: String? + get() = property("kotlin.commonizer.jvmArgs") + /** * Dependencies caching strategy. The default is static. */