Extract 'testJavaVersion' param Closes https://github.com/gradle/gradle-private/issues/4931 This PR creates a param `testJavaVersion`, which could be overwritten via TeamCity parameter. Co-authored-by: Bo Zhang <bo@gradle.com>
diff --git a/.teamcity/src/main/kotlin/common/CommonExtensions.kt b/.teamcity/src/main/kotlin/common/CommonExtensions.kt index e1b715e..fa9cced 100644 --- a/.teamcity/src/main/kotlin/common/CommonExtensions.kt +++ b/.teamcity/src/main/kotlin/common/CommonExtensions.kt
@@ -334,7 +334,7 @@ ) return ( listOf( - "-PtestJavaVersion=$testJvmVersion", + "-PtestJavaVersion=%testJavaVersion%", "-PtestJavaVendor=$testJvmVendor", ) + buildScanTags.map { buildScanTagParam(it) } +
diff --git a/.teamcity/src/main/kotlin/common/PerformanceTestExtensions.kt b/.teamcity/src/main/kotlin/common/PerformanceTestExtensions.kt index cf14266..b6af529 100644 --- a/.teamcity/src/main/kotlin/common/PerformanceTestExtensions.kt +++ b/.teamcity/src/main/kotlin/common/PerformanceTestExtensions.kt
@@ -50,12 +50,11 @@ extraParameters: String = "", os: Os = Os.LINUX, arch: Arch = Arch.AMD64, - testJavaVersion: String = os.perfTestJavaVersion.major.toString(), testJavaVendor: String = os.perfTestJavaVendor.name.lowercase(), ) = listOf( "$task${if (extraParameters.isEmpty()) "" else " $extraParameters"}", "-PperformanceBaselines=$baselines", - "-PtestJavaVersion=$testJavaVersion", + "-PtestJavaVersion=%testJavaVersion%", "-PtestJavaVendor=$testJavaVendor", "-PautoDownloadAndroidStudio=true", "-PrunAndroidStudioInHeadlessMode=true",
diff --git a/.teamcity/src/main/kotlin/configurations/BuildDistributions.kt b/.teamcity/src/main/kotlin/configurations/BuildDistributions.kt index 8c2e4b0..eb1d07b 100644 --- a/.teamcity/src/main/kotlin/configurations/BuildDistributions.kt +++ b/.teamcity/src/main/kotlin/configurations/BuildDistributions.kt
@@ -14,6 +14,10 @@ name = "Build Distributions" description = "Creation and verification of the distribution and documentation" + params { + param("testJavaVersion", LINUX.buildJavaVersion.major.toString()) + } + applyDefaults( model, this, @@ -22,7 +26,7 @@ listOf( stage.getBuildScanCustomValueParam(), buildScanTagParam("BuildDistributions"), - "-PtestJavaVersion=${LINUX.buildJavaVersion.major}", + "-PtestJavaVersion=%testJavaVersion%", "-Dorg.gradle.java.installations.auto-download=false", "-Porg.gradle.java.installations.auto-download=false", ).joinToString(" "),
diff --git a/.teamcity/src/main/kotlin/configurations/DocsTest.kt b/.teamcity/src/main/kotlin/configurations/DocsTest.kt index 9b06d9a..ea351c9 100644 --- a/.teamcity/src/main/kotlin/configurations/DocsTest.kt +++ b/.teamcity/src/main/kotlin/configurations/DocsTest.kt
@@ -85,6 +85,10 @@ javaCrash = false } + params { + param("testJavaVersion", testJava.version.major.toString()) + } + applyTestDefaults( model, this, @@ -97,7 +101,7 @@ buildScanTagParam(docsTestType.docsTestName), parallelizationMethod.extraBuildParameters, "-PenableConfigurationCacheForDocsTests=${docsTestType.ccEnabled}", - "-PtestJavaVersion=${testJava.version.major}", + "-PtestJavaVersion=%testJavaVersion%", "-PtestJavaVendor=${testJava.vendor.name.lowercase()}", ).joinToString(" "), )
diff --git a/.teamcity/src/main/kotlin/configurations/FlakyTestQuarantine.kt b/.teamcity/src/main/kotlin/configurations/FlakyTestQuarantine.kt index 2e59b4d..1d4466c 100644 --- a/.teamcity/src/main/kotlin/configurations/FlakyTestQuarantine.kt +++ b/.teamcity/src/main/kotlin/configurations/FlakyTestQuarantine.kt
@@ -92,6 +92,10 @@ } } + params { + param("testJavaVersion", testCoverage.testJvmVersion.major.toString()) + } + val extraParameters = functionalTestExtraParameters( listOf("FlakyTestQuarantine"),
diff --git a/.teamcity/src/main/kotlin/configurations/FunctionalTest.kt b/.teamcity/src/main/kotlin/configurations/FunctionalTest.kt index 9fa59e6..92858ab 100644 --- a/.teamcity/src/main/kotlin/configurations/FunctionalTest.kt +++ b/.teamcity/src/main/kotlin/configurations/FunctionalTest.kt
@@ -86,6 +86,10 @@ this.id(id) val testTasks = getTestTaskName(testCoverage, subprojects) + params { + param("testJavaVersion", testCoverage.testJvmVersion.major.toString()) + } + val assembledExtraParameters = mutableListOf( stage.getBuildScanCustomValueParam(testCoverage),
diff --git a/.teamcity/src/main/kotlin/configurations/FunctionalTestsPass.kt b/.teamcity/src/main/kotlin/configurations/FunctionalTestsPass.kt index ec4e08b..e1811a6 100644 --- a/.teamcity/src/main/kotlin/configurations/FunctionalTestsPass.kt +++ b/.teamcity/src/main/kotlin/configurations/FunctionalTestsPass.kt
@@ -17,6 +17,7 @@ package configurations import common.applyDefaultSettings +import jetbrains.buildServer.configs.kotlin.ParameterDisplay import model.CIBuildModel import model.TestCoverage import projects.FunctionalTestProject @@ -34,6 +35,16 @@ dependencies { snapshotDependencies(functionalTestProject.functionalTests) } + + params { + text( + "reverse.dep.*.testJavaVersion", + functionalTestProject.testCoverage.testJvmVersion.major.toString(), + display = ParameterDisplay.NORMAL, + allowEmpty = true, + description = "Set to 'true' if you want to skip all dependency builds", + ) + } }) { val testCoverage: TestCoverage = functionalTestProject.testCoverage
diff --git a/.teamcity/src/main/kotlin/configurations/PerformanceTest.kt b/.teamcity/src/main/kotlin/configurations/PerformanceTest.kt index e340deb..5fb9d37 100644 --- a/.teamcity/src/main/kotlin/configurations/PerformanceTest.kt +++ b/.teamcity/src/main/kotlin/configurations/PerformanceTest.kt
@@ -72,6 +72,7 @@ ) param("env.PERFORMANCE_CHANNEL", performanceTestBuildSpec.channel()) param("env.PERFORMANCE_DB_PASSWORD_TCAGENT", "%performance.db.password.tcagent%") + param("testJavaVersion", os.perfTestJavaVersion.major.toString()) when (os) { Os.WINDOWS -> param("env.PATH", "%env.PATH%;C:/Program Files/7-zip") else -> param("env.PATH", "%env.PATH%:/opt/swift/4.2.3/usr/bin:/opt/swift/4.2.4-RELEASE-ubuntu18.04/usr/bin")
diff --git a/.teamcity/src/main/kotlin/configurations/SmokeTests.kt b/.teamcity/src/main/kotlin/configurations/SmokeTests.kt index 242c5fb..c813fe6 100644 --- a/.teamcity/src/main/kotlin/configurations/SmokeTests.kt +++ b/.teamcity/src/main/kotlin/configurations/SmokeTests.kt
@@ -31,6 +31,10 @@ requiresNotEc2Agent() } + params { + param("testJavaVersion", testJava.version.major.toString()) + } + applyTestDefaults( model, this, @@ -40,7 +44,7 @@ listOf( stage.getBuildScanCustomValueParam(), buildScanTagParam("SmokeTests"), - "-PtestJavaVersion=${testJava.version.major}", + "-PtestJavaVersion=%testJavaVersion%", "-PtestJavaVendor=${testJava.vendor.name.lowercase()}", "-PflakyTests=$flakyTestStrategy", ).joinToString(" "),
diff --git a/.teamcity/src/main/kotlin/configurations/TestPerformanceTest.kt b/.teamcity/src/main/kotlin/configurations/TestPerformanceTest.kt index 6d7b1b2..de96631 100644 --- a/.teamcity/src/main/kotlin/configurations/TestPerformanceTest.kt +++ b/.teamcity/src/main/kotlin/configurations/TestPerformanceTest.kt
@@ -49,21 +49,6 @@ } } - fun BuildSteps.adHocPerformanceTest(tests: List<String>) { - gradleStep( - listOf( - "clean", - "performance:${testProject}PerformanceAdHocTest", - tests.map { """--tests "$it"""" }.joinToString(" "), - """--warmups 2 --runs 2 --checks none""", - "-PtestJavaVersion=${os.perfTestJavaVersion.major}", - "-PtestJavaVendor=${os.perfTestJavaVendor.name.lowercase()}", - "-PautoDownloadAndroidStudio=true", - "-PrunAndroidStudioInHeadlessMode=true", - ) + os.javaInstallationLocations(), - ) - } - id("${model.projectId}_TestPerformanceTest") name = "Test performance test tasks - Java8 Linux" description = "Tries to run an adhoc performance test without a database connection to verify this is still working" @@ -71,14 +56,28 @@ applyPerformanceTestSettings() artifactRules = INDIVIDUAL_PERFORAMCE_TEST_ARTIFACT_RULES + params { + param("testJavaVersion", os.perfTestJavaVersion.major.toString()) + } + steps { killProcessStep(buildTypeThis, KILL_ALL_GRADLE_PROCESSES, os) - adHocPerformanceTest( + + gradleStep( listOf( - "org.gradle.performance.regression.java.JavaIDEModelPerformanceTest.get IDE model for IDEA", - "org.gradle.performance.regression.java.JavaUpToDatePerformanceTest.up-to-date assemble (parallel true)", - "org.gradle.performance.regression.corefeature.TaskAvoidancePerformanceTest.help with lazy and eager tasks", - ), + "clean", + "performance:${testProject}PerformanceAdHocTest", + listOf( + "org.gradle.performance.regression.java.JavaIDEModelPerformanceTest.get IDE model for IDEA", + "org.gradle.performance.regression.java.JavaUpToDatePerformanceTest.up-to-date assemble (parallel true)", + "org.gradle.performance.regression.corefeature.TaskAvoidancePerformanceTest.help with lazy and eager tasks", + ).joinToString(" ") { """--tests "$it"""" }, + """--warmups 2 --runs 2 --checks none""", + "-PtestJavaVersion=%testJavaVersion%", + "-PtestJavaVendor=${os.perfTestJavaVendor.name.lowercase()}", + "-PautoDownloadAndroidStudio=true", + "-PrunAndroidStudioInHeadlessMode=true", + ) + os.javaInstallationLocations(), ) checkCleanM2AndAndroidUserHome(os)
diff --git a/.teamcity/src/main/kotlin/projects/CheckProject.kt b/.teamcity/src/main/kotlin/projects/CheckProject.kt index 317e2d2..072e4d1 100644 --- a/.teamcity/src/main/kotlin/projects/CheckProject.kt +++ b/.teamcity/src/main/kotlin/projects/CheckProject.kt
@@ -51,6 +51,13 @@ "e.g. `-PrerunAllTests` or `--no-build-cache`", ) text( + "testJavaVersion", + "should-be-overwritten", + display = ParameterDisplay.NORMAL, + allowEmpty = true, + description = "The java version to use for test, e.g. '17', '21'", + ) + text( "reverse.dep.*.skip.build", "", display = ParameterDisplay.NORMAL,
diff --git a/.teamcity/src/main/kotlin/util/AdHocPerformanceScenario.kt b/.teamcity/src/main/kotlin/util/AdHocPerformanceScenario.kt index edc297c..38b098a 100644 --- a/.teamcity/src/main/kotlin/util/AdHocPerformanceScenario.kt +++ b/.teamcity/src/main/kotlin/util/AdHocPerformanceScenario.kt
@@ -56,13 +56,6 @@ "Which performance test to run. Should be the fully qualified class name dot (unrolled) method name. " + "E.g. org.gradle.performance.regression.java.JavaUpToDatePerformanceTest.up-to-date assemble (parallel true)", ) - text( - "testJavaVersion", - "17", - display = ParameterDisplay.PROMPT, - allowEmpty = false, - description = "The java version to run the performance tests, e.g. 8/11/17", - ) select( "testJavaVendor", JvmVendor.OPENJDK.name.lowercase(), @@ -103,7 +96,6 @@ """--warmups %warmups% --runs %runs% --checks %checks% --profiler %profiler% %additional.gradle.parameters%""", os, arch, - "%testJavaVersion%", "%testJavaVendor%", ) + buildToolGradleParameters(isContinue = false) ).joinToString(separator = " ")
diff --git a/.teamcity/src/main/kotlin/util/RerunFlakyTest.kt b/.teamcity/src/main/kotlin/util/RerunFlakyTest.kt index d800216..1876845 100644 --- a/.teamcity/src/main/kotlin/util/RerunFlakyTest.kt +++ b/.teamcity/src/main/kotlin/util/RerunFlakyTest.kt
@@ -19,7 +19,6 @@ import common.Arch import common.BuildToolBuildJvm import common.JvmVendor -import common.JvmVersion import common.KillProcessMode.KILL_LEAKED_PROCESSES_FROM_PREVIOUS_BUILDS import common.KillProcessMode.KILL_PROCESSES_STARTED_BY_GRADLE import common.Os @@ -45,7 +44,6 @@ description = "Allows you to rerun a selected flaky test 10 times" id(id) val testJvmVendorParameter = "testJavaVendor" - val testJvmVersionParameter = "testJavaVersion" val testTaskParameterName = "testTask" val testNameParameterName = "testName" val testTaskOptionsParameterName = "testTaskOptions" @@ -59,7 +57,7 @@ listOf("RerunFlakyTest"), os, arch, - "%$testJvmVersionParameter%", + "%testJavaVersion%", "%$testJvmVendorParameter%", ) val parameters = @@ -105,13 +103,6 @@ "The name of the test to run, as should be passed to --tests. " + "Can't contain spaces since there are problems with Teamcity's escaping, you can use * instead.", ) - text( - testJvmVersionParameter, - JvmVersion.JAVA_11.major.toString(), - display = ParameterDisplay.PROMPT, - allowEmpty = false, - description = "Java version to run the test with", - ) select( testJvmVendorParameter, JvmVendor.OPENJDK.name.lowercase(),
diff --git a/.teamcity/src/test/kotlin/BuildTypeTest.kt b/.teamcity/src/test/kotlin/BuildTypeTest.kt index 27cb5ec..4c2e15f 100644 --- a/.teamcity/src/test/kotlin/BuildTypeTest.kt +++ b/.teamcity/src/test/kotlin/BuildTypeTest.kt
@@ -113,7 +113,7 @@ "%additional.gradle.parameters%", "--continue", "-DbuildScan.PartOf=PlatformJava25AdoptiumWindowsAmd64,PullRequestFeedback,ReadyforNightly,ReadyforRelease", - "-PtestJavaVersion=25", + "-PtestJavaVersion=%testJavaVersion%", "-PtestJavaVendor=openjdk", "-Dscan.tag.FunctionalTest", "-Dscan.value.coverageOs=windows",
diff --git a/.teamcity/src/test/kotlin/PerformanceTestBuildTypeTest.kt b/.teamcity/src/test/kotlin/PerformanceTestBuildTypeTest.kt index 01de3ce..4090bc0 100644 --- a/.teamcity/src/test/kotlin/PerformanceTestBuildTypeTest.kt +++ b/.teamcity/src/test/kotlin/PerformanceTestBuildTypeTest.kt
@@ -84,7 +84,7 @@ val expectedRunnerParams = listOf( "-PperformanceBaselines=%performance.baselines%", - "-PtestJavaVersion=17", + "-PtestJavaVersion=%testJavaVersion%", "-PtestJavaVendor=openjdk", "-PautoDownloadAndroidStudio=true", "-PrunAndroidStudioInHeadlessMode=true", @@ -161,7 +161,7 @@ val expectedRunnerParams = listOf( "-PperformanceBaselines=%performance.baselines%", - "-PtestJavaVersion=17", + "-PtestJavaVersion=%testJavaVersion%", "-PtestJavaVendor=openjdk", "-PautoDownloadAndroidStudio=true", "-PrunAndroidStudioInHeadlessMode=true",