Skip to content

Commit ecfbe90

Browse files
committed
fix: fingerprint test JVM architecture
1 parent 361b6f0 commit ecfbe90

4 files changed

Lines changed: 9 additions & 2 deletions

File tree

‎buildSrc/src/main/kotlin/datadog/gradle/plugin/testJvmConstraints/TestJvmConstraintsPlugin.kt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class TestJvmConstraintsPlugin : Plugin<Project> {
3636
"vendor" to vendor,
3737
"runtimeVersion" to javaRuntimeVersion,
3838
"vmVersion" to jvmVersion,
39+
"architecture" to System.getProperty("os.arch"),
3940
)
4041
}
4142
})

‎buildSrc/src/test/kotlin/datadog/gradle/plugin/testJvmConstraints/TestJvmCacheInputsTest.kt‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import org.junit.jupiter.params.provider.ValueSource
1010

1111
class TestJvmCacheInputsTest : GradleFixture() {
1212
@ParameterizedTest
13-
@ValueSource(strings = ["vendor", "runtimeVersion", "vmVersion"])
13+
@ValueSource(strings = ["vendor", "runtimeVersion", "vmVersion", "os.arch"])
1414
fun `test cache follows the selected launcher identity`(changedField: String) {
1515
writeSettings(
1616
"""
@@ -51,6 +51,11 @@ class TestJvmCacheInputsTest : GradleFixture() {
5151
5252
val launcher = javaToolchains.launcherFor {}
5353
val changedField = providers.gradleProperty("changedJvmField").orElse("")
54+
if (changedField.get() == "os.arch") {
55+
val original = System.getProperty("os.arch")
56+
System.setProperty("os.arch", "different-architecture")
57+
gradle.buildFinished { System.setProperty("os.arch", original) }
58+
}
5459
tasks.test {
5560
useJUnitPlatform()
5661
javaLauncher.set(launcher.map { SelectedLauncher(it, changedField.get()) })

‎buildSrc/src/test/kotlin/datadog/gradle/plugin/testJvmConstraints/TestJvmConstraintsPluginTest.kt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class TestJvmConstraintsPluginTest {
4646
"vendor" to metadata.vendor,
4747
"runtimeVersion" to metadata.javaRuntimeVersion,
4848
"vmVersion" to metadata.jvmVersion,
49+
"architecture" to System.getProperty("os.arch"),
4950
))
5051
}
5152

‎docs/how_to_work_with_gradle.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -951,7 +951,7 @@ This project provides several custom Gradle extensions to manage multi-JVM testi
951951

952952
Controls which JVM versions are allowed to run tests. Applied via the `dd-trace-java.test-jvm-constraints` plugin.
953953

954-
Each `Test` task also tracks its selected JVM's vendor, full runtime version and VM version as inputs.
954+
Each `Test` task also tracks its selected JVM's vendor, full runtime version, VM version, and architecture as inputs.
955955
Changing these values invalidates up-to-date checks and build-cache entries, even when the Java major version stays the same.
956956

957957
```Gradle Kotlin DSL

0 commit comments

Comments
 (0)