Skip to content

Commit 023e525

Browse files
Fix Gradle smoke tests with Gradle 9 (#9292)
1 parent 5895e91 commit 023e525

File tree

5 files changed

+37
-17
lines changed

5 files changed

+37
-17
lines changed

dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/AbstractGradleTest.groovy

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
3434
private static final String GRADLE_TEST_RESOURCE_EXTENSION = ".gradleTest"
3535
private static final String GRADLE_REGULAR_EXTENSION = ".gradle"
3636

37+
private static final ComparableVersion GRADLE_9 = new ComparableVersion("9.0.0")
38+
3739
@TempDir
3840
protected Path projectFolder
3941

@@ -105,23 +107,23 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
105107
} else if (Jvm.current.java17) {
106108
return gradleVersion.compareTo(new ComparableVersion("7.3")) >= 0
107109
} else if (Jvm.current.java16) {
108-
return gradleVersion.compareTo(new ComparableVersion("7.0")) >= 0
110+
return gradleVersion.isWithin(new ComparableVersion("7.0"), GRADLE_9)
109111
} else if (Jvm.current.java15) {
110-
return gradleVersion.compareTo(new ComparableVersion("6.7")) >= 0
112+
return gradleVersion.isWithin(new ComparableVersion("6.7"), GRADLE_9)
111113
} else if (Jvm.current.java14) {
112-
return gradleVersion.compareTo(new ComparableVersion("6.3")) >= 0
114+
return gradleVersion.isWithin(new ComparableVersion("6.3"), GRADLE_9)
113115
} else if (Jvm.current.java13) {
114-
return gradleVersion.compareTo(new ComparableVersion("6.0")) >= 0
116+
return gradleVersion.isWithin(new ComparableVersion("6.0"), GRADLE_9)
115117
} else if (Jvm.current.java12) {
116-
return gradleVersion.compareTo(new ComparableVersion("5.4")) >= 0
118+
return gradleVersion.isWithin(new ComparableVersion("5.4"), GRADLE_9)
117119
} else if (Jvm.current.java11) {
118-
return gradleVersion.compareTo(new ComparableVersion("5.0")) >= 0
120+
return gradleVersion.isWithin(new ComparableVersion("5.0"), GRADLE_9)
119121
} else if (Jvm.current.java10) {
120-
return gradleVersion.compareTo(new ComparableVersion("4.7")) >= 0
122+
return gradleVersion.isWithin(new ComparableVersion("4.7"), GRADLE_9)
121123
} else if (Jvm.current.java9) {
122-
return gradleVersion.compareTo(new ComparableVersion("4.3")) >= 0
124+
return gradleVersion.isWithin(new ComparableVersion("4.3"), GRADLE_9)
123125
} else if (Jvm.current.java8) {
124-
return gradleVersion.compareTo(new ComparableVersion("2.0")) >= 0
126+
return gradleVersion.isWithin(new ComparableVersion("2.0"), GRADLE_9)
125127
}
126128
return false
127129
}

dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleLauncherSmokeTest.groovy

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package datadog.smoketest
22

33
import datadog.communication.util.IOUtils
44
import datadog.trace.civisibility.utils.ShellCommandExecutor
5+
import spock.util.environment.Jvm
56

67
/**
78
* This test runs Gradle Launcher with the Java Tracer injected
@@ -12,6 +13,7 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
1213
private static final int GRADLE_BUILD_TIMEOUT_MILLIS = 90_000
1314

1415
private static final String AGENT_JAR = System.getProperty("datadog.smoketest.agent.shadowJar.path")
16+
private static final String JAVA_HOME = buildJavaHome()
1517

1618
def "test Gradle Launcher injects tracer into Gradle Daemon: v#gradleVersion, cmd line - #gradleDaemonCmdLineParams"() {
1719
given:
@@ -45,18 +47,19 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
4547
}
4648

4749
private void givenGradleWrapper(String gradleVersion) {
48-
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS)
50+
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, ["JAVA_HOME": JAVA_HOME])
4951
shellCommandExecutor.executeCommand(IOUtils::readFully, "./gradlew", "wrapper", "--gradle-version", gradleVersion)
5052
}
5153

5254
private String whenRunningGradleLauncherWithJavaTracerInjected(String gradleDaemonCmdLineParams) {
5355
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, [
54-
"GRADLE_OPTS" : "-javaagent:${AGENT_JAR}".toString(),
55-
"DD_CIVISIBILITY_ENABLED" : "true",
56-
"DD_CIVISIBILITY_AGENTLESS_ENABLED" : "true",
57-
"DD_CIVISIBILITY_AGENTLESS_URL" : "${mockBackend.intakeUrl}".toString(),
58-
"DD_CIVISIBILITY_GIT_UPLOAD_ENABLED" : "false",
59-
"DD_API_KEY" : "dummy"
56+
"JAVA_HOME" : JAVA_HOME,
57+
"GRADLE_OPTS" : "-javaagent:${AGENT_JAR}".toString(),
58+
"DD_CIVISIBILITY_ENABLED" : "true",
59+
"DD_CIVISIBILITY_AGENTLESS_ENABLED" : "true",
60+
"DD_CIVISIBILITY_AGENTLESS_URL" : "${mockBackend.intakeUrl}".toString(),
61+
"DD_CIVISIBILITY_GIT_UPLOAD_ENABLED": "false",
62+
"DD_API_KEY" : "dummy"
6063
])
6164
String[] command = ["./gradlew", "--no-daemon", "--info"]
6265
if (gradleDaemonCmdLineParams) {
@@ -74,4 +77,12 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
7477
}
7578
return true
7679
}
80+
81+
private static String buildJavaHome() {
82+
if (Jvm.current.isJava8()) {
83+
return System.getenv("JAVA_8_HOME")
84+
} else {
85+
return System.getenv("JAVA_" + Jvm.current.getJavaSpecificationVersion() + "_HOME")
86+
}
87+
}
7788
}

dd-smoke-tests/gradle/src/test/resources/test-succeed-gradle-plugin-test/build.gradleTest

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ repositories {
3030
dependencies {
3131
testImplementation gradleTestKit()
3232

33+
testImplementation 'org.junit.platform:junit-platform-launcher'
3334
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.10.2'
3435
}
3536

dd-smoke-tests/gradle/src/test/resources/test-succeed-junit-5/build.gradleTest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ repositories {
1919
testing {
2020
suites {
2121
test {
22-
useJUnitJupiter()
22+
useJUnitJupiter('5.9.3')
2323

2424
dependencies {
2525
implementation 'org.junit.platform:junit-platform-launcher:1.9.3'

internal-api/src/main/java/datadog/trace/util/ComparableVersion.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.List;
1010
import java.util.Locale;
1111
import java.util.Properties;
12+
import javax.annotation.Nonnull;
1213

1314
// backported from org.apache.maven:maven-artifact:3.9.9
1415
public class ComparableVersion implements Comparable<ComparableVersion> {
@@ -125,6 +126,11 @@ public int compareTo(ComparableVersion o) {
125126
return this.items.compareTo(o.items);
126127
}
127128

129+
/** Checks if the version is in the range {@code [start, end)} */
130+
public boolean isWithin(@Nonnull ComparableVersion start, @Nonnull ComparableVersion end) {
131+
return compareTo(start) >= 0 && compareTo(end) < 0;
132+
}
133+
128134
public String toString() {
129135
return this.value;
130136
}

0 commit comments

Comments
 (0)