[Gradle] Remove the system property for compiler execution strategy
#KT-51831 Fixed
This commit is contained in:
committed by
Space
parent
2a16fe1d0f
commit
ce72948a21
+1
-1
@@ -12,7 +12,7 @@ import org.gradle.api.tasks.Internal
|
|||||||
|
|
||||||
enum class KotlinCompilerExecutionStrategy(
|
enum class KotlinCompilerExecutionStrategy(
|
||||||
/**
|
/**
|
||||||
* Value that should be passed for `kotlin.compiler.execution.strategy` Gradle or system property to choose the strategy
|
* Value that should be passed for `kotlin.compiler.execution.strategy` Gradle property to choose the strategy
|
||||||
*/
|
*/
|
||||||
val propertyValue: String
|
val propertyValue: String
|
||||||
) {
|
) {
|
||||||
|
|||||||
+1
-34
@@ -75,17 +75,6 @@ abstract class ExecutionStrategyIT : KGPDaemonsBaseTest() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@DisplayName("Compilation via Kotlin daemon enabled using system property")
|
|
||||||
@GradleTest
|
|
||||||
fun testDaemonViaSystemProperty(gradleVersion: GradleVersion) {
|
|
||||||
doTestExecutionStrategy(
|
|
||||||
gradleVersion,
|
|
||||||
KotlinCompilerExecutionStrategy.DAEMON,
|
|
||||||
addHeapDumpOptions = false,
|
|
||||||
viaSystemProperty = true
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@DisplayName("Compilation inside Gradle daemon")
|
@DisplayName("Compilation inside Gradle daemon")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
fun testInProcess(gradleVersion: GradleVersion) {
|
fun testInProcess(gradleVersion: GradleVersion) {
|
||||||
@@ -95,16 +84,6 @@ abstract class ExecutionStrategyIT : KGPDaemonsBaseTest() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@DisplayName("Compilation inside Gradle daemon enabled using system property")
|
|
||||||
@GradleTest
|
|
||||||
fun testInProcessViaSystemProperty(gradleVersion: GradleVersion) {
|
|
||||||
doTestExecutionStrategy(
|
|
||||||
gradleVersion,
|
|
||||||
KotlinCompilerExecutionStrategy.IN_PROCESS,
|
|
||||||
viaSystemProperty = true
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@DisplayName("Compilation via separate compiler process")
|
@DisplayName("Compilation via separate compiler process")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
fun testOutOfProcess(gradleVersion: GradleVersion) {
|
fun testOutOfProcess(gradleVersion: GradleVersion) {
|
||||||
@@ -114,21 +93,10 @@ abstract class ExecutionStrategyIT : KGPDaemonsBaseTest() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@DisplayName("Compilation via separate compiler process enabled via system property")
|
|
||||||
@GradleTest
|
|
||||||
fun testOutOfProcessViaSystemProperty(gradleVersion: GradleVersion) {
|
|
||||||
doTestExecutionStrategy(
|
|
||||||
gradleVersion,
|
|
||||||
KotlinCompilerExecutionStrategy.OUT_OF_PROCESS,
|
|
||||||
viaSystemProperty = true
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun doTestExecutionStrategy(
|
private fun doTestExecutionStrategy(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
executionStrategy: KotlinCompilerExecutionStrategy,
|
executionStrategy: KotlinCompilerExecutionStrategy,
|
||||||
addHeapDumpOptions: Boolean = true,
|
addHeapDumpOptions: Boolean = true,
|
||||||
viaSystemProperty: Boolean = false
|
|
||||||
) {
|
) {
|
||||||
project(
|
project(
|
||||||
projectName = "kotlinBuiltins",
|
projectName = "kotlinBuiltins",
|
||||||
@@ -137,8 +105,7 @@ abstract class ExecutionStrategyIT : KGPDaemonsBaseTest() {
|
|||||||
) {
|
) {
|
||||||
setupProject(this)
|
setupProject(this)
|
||||||
|
|
||||||
val cliArgPrefix = if (viaSystemProperty) "-D" else "-P"
|
val strategyCLIArg = "-Pkotlin.compiler.execution.strategy=${executionStrategy.propertyValue}"
|
||||||
val strategyCLIArg = "${cliArgPrefix}kotlin.compiler.execution.strategy=${executionStrategy.propertyValue}"
|
|
||||||
val finishMessage = "Finished executing kotlin compiler using $executionStrategy strategy"
|
val finishMessage = "Finished executing kotlin compiler using $executionStrategy strategy"
|
||||||
|
|
||||||
build("build", strategyCLIArg) {
|
build("build", strategyCLIArg) {
|
||||||
|
|||||||
+2
-1
@@ -1 +1,2 @@
|
|||||||
org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=512m -Dkotlin.compiler.execution.strategy="out-of-process"
|
org.gradle.jvmargs=-Xmx1024m -XX:MaxPermSize=512m
|
||||||
|
kotlin.compiler.execution.strategy=out-of-process
|
||||||
+1
-13
@@ -417,19 +417,7 @@ internal class PropertiesProvider private constructor(private val project: Proje
|
|||||||
get() = property("kotlin.daemon.jvmargs")
|
get() = property("kotlin.daemon.jvmargs")
|
||||||
|
|
||||||
val kotlinCompilerExecutionStrategy: KotlinCompilerExecutionStrategy
|
val kotlinCompilerExecutionStrategy: KotlinCompilerExecutionStrategy
|
||||||
get() {
|
get() = KotlinCompilerExecutionStrategy.fromProperty(property("kotlin.compiler.execution.strategy")?.toLowerCase())
|
||||||
val propertyName = "kotlin.compiler.execution.strategy"
|
|
||||||
val gradleProperty = property(propertyName)
|
|
||||||
// system property is for backward compatibility
|
|
||||||
val value = (gradleProperty ?: System.getProperty(propertyName)?.also {
|
|
||||||
SingleWarningPerBuild.show(
|
|
||||||
project,
|
|
||||||
"The '$propertyName' system property is deprecated and will have no effect since Kotlin 1.8.0. " +
|
|
||||||
"Please use the '$propertyName' project property or the `compilerExecutionStrategy` Kotlin compile task property instead."
|
|
||||||
)
|
|
||||||
})
|
|
||||||
return KotlinCompilerExecutionStrategy.fromProperty(value?.toLowerCase())
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun propertyWithDeprecatedVariant(propName: String, deprecatedPropName: String): String? {
|
private fun propertyWithDeprecatedVariant(propName: String, deprecatedPropName: String): String? {
|
||||||
val deprecatedProperty = property(deprecatedPropName)
|
val deprecatedProperty = property(deprecatedPropName)
|
||||||
|
|||||||
Reference in New Issue
Block a user