Skip to content

Commit 9519752

Browse files
sarahchen6nikita-tkachenko-datadogbric3
authored
Upgrade gradle to v8.14.3 (#8950)
* Upgrade gradle to v8.14 * Fix checksum * Update groovy version * Update type parameters * Upgrade gradle to v8.14.2 * Address issue with SpecificInstallationToolchainSpec * Update JUnit jupiter and platform versions * Make PropertyFactory change more readable * Fix GString to String[] assignment * Changed too many things for junit-5.3 * Skip muzzle for gradle 8.3 instrumentation * Upgrade to gradle v8.14.3 * Fix Gradle 8.3 instrumentation * Update gradle wrapper * Remove log-injection groovy specification * Upgrade groovy to 3.0.25 * Change groovy version back to 3.0.24 due to incompatibility * Upgrade junit to x.12.0 * Add comment * Retrieve binary gradle file only Co-authored-by: Brice Dutheil <[email protected]> --------- Co-authored-by: Nikita Tkachenko <[email protected]> Co-authored-by: Brice Dutheil <[email protected]>
1 parent be7f9d3 commit 9519752

File tree

19 files changed

+92
-83
lines changed

19 files changed

+92
-83
lines changed

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ variables:
2525
BUILD_JOB_NAME: "build"
2626
DEPENDENCY_CACHE_POLICY: pull
2727
BUILD_CACHE_POLICY: pull
28-
GRADLE_VERSION: "8.5" # must match gradle-wrapper.properties
28+
GRADLE_VERSION: "8.14.3" # must match gradle-wrapper.properties
2929
MAVEN_REPOSITORY_PROXY: "http://artifactual.artifactual.all-clusters.local-dc.fabric.dog:8081/repository/maven-central/"
3030
GRADLE_PLUGIN_PROXY: "http://artifactual.artifactual.all-clusters.local-dc.fabric.dog:8081/repository/gradle-plugin-portal-proxy/"
3131
BUILDER_IMAGE_VERSION_PREFIX: "v25.06-" # use either an empty string (e.g. "") for latest images or a version followed by a hyphen (e.g. "v25.05-")

dd-java-agent/instrumentation/gradle-8.3/src/main/groovy/datadog/trace/instrumentation/gradle/CiVisibilityGradleListenerInjector_8_3.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
11
package datadog.trace.instrumentation.gradle;
22

3+
import datadog.trace.util.MethodHandles;
4+
import java.lang.invoke.MethodHandle;
35
import java.util.Arrays;
6+
import org.gradle.api.Action;
47
import org.gradle.initialization.ClassLoaderRegistry;
58
import org.gradle.internal.service.DefaultServiceRegistry;
9+
import org.gradle.internal.service.ServiceRegistration;
610
import org.gradle.internal.service.ServiceRegistry;
711
import org.slf4j.Logger;
812
import org.slf4j.LoggerFactory;
913

1014
public class CiVisibilityGradleListenerInjector_8_3 {
1115

16+
private static final MethodHandles METHOD_HANDLES =
17+
new MethodHandles(DefaultServiceRegistry.class.getClassLoader());
18+
private static final MethodHandle REGISTER_SERVICE =
19+
METHOD_HANDLES.method(DefaultServiceRegistry.class, "register", Action.class);
20+
1221
private static final Logger LOGGER =
1322
LoggerFactory.getLogger(CiVisibilityGradleListenerInjector_8_3.class);
1423

@@ -21,8 +30,9 @@ public static void injectCiVisibilityGradleListener(
2130
Class<?> ciVisibilityGradleListener =
2231
CiVisibilityGradleListenerInjector_8_3.loadCiVisibilityGradleListener(
2332
classLoaderRegistry);
24-
buildScopeServices.register(
25-
serviceRegistration -> serviceRegistration.add(ciVisibilityGradleListener));
33+
Action<ServiceRegistration> registrationAction =
34+
serviceRegistration -> serviceRegistration.add(ciVisibilityGradleListener);
35+
METHOD_HANDLES.invoke(REGISTER_SERVICE, buildScopeServices, registrationAction);
2636
} catch (Exception e) {
2737
LOGGER.warn("Could not inject CI Visibility Gradle listener", e);
2838
}

dd-java-agent/instrumentation/gradle-8.3/src/main/groovy/datadog/trace/instrumentation/gradle/GradleBuildScopeServices_8_3_Instrumentation.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import java.util.Set;
1212
import net.bytebuddy.asm.Advice;
1313
import net.bytebuddy.matcher.ElementMatcher;
14+
import org.gradle.internal.service.DefaultServiceRegistry;
1415
import org.gradle.internal.service.ServiceRegistry;
15-
import org.gradle.internal.service.scopes.BuildScopeServices;
1616

1717
@AutoService(InstrumenterModule.class)
1818
public class GradleBuildScopeServices_8_3_Instrumentation extends InstrumenterModule.CiVisibility
@@ -55,10 +55,15 @@ public void methodAdvice(MethodTransformer transformer) {
5555
public static class Construct {
5656
@Advice.OnMethodExit(suppress = Throwable.class)
5757
public static void afterConstructor(
58-
@Advice.This final BuildScopeServices buildScopeServices,
58+
@Advice.This final DefaultServiceRegistry buildScopeServices,
5959
@Advice.Argument(0) final ServiceRegistry parentServices) {
6060
CiVisibilityGradleListenerInjector_8_3.injectCiVisibilityGradleListener(
6161
buildScopeServices, parentServices);
6262
}
6363
}
64+
65+
@Override
66+
public String muzzleDirective() {
67+
return "skipMuzzle";
68+
}
6469
}

dd-java-agent/instrumentation/junit-5.3/build.gradle

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
apply from: "$rootDir/gradle/java.gradle"
32

43
// JUnit5 5.3.0+ version is needed because of the fix in the TestInheritance test suite names.
@@ -33,9 +32,9 @@ dependencies {
3332

3433
// versions used below are not the minimum ones that we support,
3534
// but the tests need to use them in order to be compliant with Spock 2.x
36-
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
37-
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.2'
38-
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.9.2'
35+
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
36+
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.12.0'
37+
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.12.0'
3938

4039
latestDepTestImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '+'
4140
latestDepTestImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '+'
@@ -44,8 +43,8 @@ dependencies {
4443

4544
configurations.matching({ it.name.startsWith('test') }).each({
4645
it.resolutionStrategy {
47-
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
48-
force group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.2'
49-
force group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.9.2'
46+
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
47+
force group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.12.0'
48+
force group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.12.0'
5049
}
5150
})

dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/build.gradle

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ muzzle {
55
group = 'io.cucumber'
66
module = 'cucumber-junit-platform-engine'
77
versions = '[5.4.0,)'
8-
extraDependency "org.junit.platform:junit-platform-launcher:1.9.2"
8+
extraDependency "org.junit.platform:junit-platform-launcher:1.12.0"
99
}
1010
}
1111

@@ -19,9 +19,9 @@ dependencies {
1919

2020
testImplementation testFixtures(project(':dd-java-agent:agent-ci-visibility'))
2121

22-
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
23-
testImplementation group: 'org.junit.platform', name: 'junit-platform-suite', version: '1.9.2'
24-
testImplementation group: 'org.junit.platform', name: 'junit-platform-suite-engine', version: '1.9.2'
22+
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
23+
testImplementation group: 'org.junit.platform', name: 'junit-platform-suite', version: '1.12.0'
24+
testImplementation group: 'org.junit.platform', name: 'junit-platform-suite-engine', version: '1.12.0'
2525

2626
testImplementation group: 'io.cucumber', name: 'cucumber-junit-platform-engine', version: '5.4.0'
2727
testImplementation group: 'io.cucumber', name: 'cucumber-java', version: '5.4.0'
@@ -33,8 +33,7 @@ dependencies {
3333

3434
configurations.matching({ it.name.startsWith('test') }).each({
3535
it.resolutionStrategy {
36-
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
37-
force group: 'org.junit.platform', name: 'junit-platform-suite', version: '1.9.2'
38-
force group: 'org.junit.platform', name: 'junit-platform-suite', version: '1.9.2'
36+
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
37+
force group: 'org.junit.platform', name: 'junit-platform-suite', version: '1.12.0'
3938
}
4039
})

dd-java-agent/instrumentation/junit-5.3/junit-5.8/build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ dependencies {
3636

3737
// versions used below are not the minimum ones that we support,
3838
// but the tests need to use them in order to be compliant with Spock 2.x
39-
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
40-
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.2'
41-
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.9.2'
39+
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
40+
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.12.0'
41+
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.12.0'
4242

4343
latestDepTestImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '+'
4444
latestDepTestImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '+'
@@ -47,8 +47,8 @@ dependencies {
4747

4848
configurations.matching({ it.name.startsWith('test') }).each({
4949
it.resolutionStrategy {
50-
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
51-
force group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.2'
52-
force group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.9.2'
50+
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
51+
force group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.12.0'
52+
force group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.12.0'
5353
}
5454
})

dd-java-agent/instrumentation/junit-5.3/spock-junit-5/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ muzzle {
77
group = 'org.spockframework'
88
module = 'spock-core'
99
versions = "[2.0-groovy-${spockGroovyVersion},)"
10-
extraDependency "org.junit.platform:junit-platform-launcher:1.9.2"
10+
extraDependency "org.junit.platform:junit-platform-launcher:1.12.0"
1111
}
1212
}
1313

@@ -22,7 +22,7 @@ dependencies {
2222

2323
testImplementation testFixtures(project(':dd-java-agent:agent-ci-visibility'))
2424

25-
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
25+
testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
2626
testImplementation group: 'org.spockframework', name: 'spock-core', version: "2.2-groovy-${spockGroovyVersion}"
2727

2828
// Broken from 2.4: https://datadoghq.atlassian.net/browse/AIDM-163
@@ -31,7 +31,7 @@ dependencies {
3131

3232
configurations.matching({ it.name.startsWith('test') }).each({
3333
it.resolutionStrategy {
34-
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.9.2'
34+
force group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.12.0'
3535
force group: 'org.spockframework', name: 'spock-core', version: "2.2-groovy-${spockGroovyVersion}"
3636
}
3737
})

dd-java-agent/instrumentation/netty-promise-4/src/test/groovy/NettyProgressivePromiseTest.groovy

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import datadog.trace.agent.test.base.AbstractPromiseTest
22
import io.netty.util.concurrent.DefaultEventExecutorGroup
3-
import io.netty.util.concurrent.Future
43
import io.netty.util.concurrent.GenericProgressiveFutureListener
4+
import io.netty.util.concurrent.ProgressiveFuture
55
import io.netty.util.concurrent.ProgressivePromise
66
import spock.lang.Shared
77

@@ -61,15 +61,12 @@ class NettyProgressivePromiseTest extends AbstractPromiseTest<ProgressivePromise
6161
when:
6262
runUnderTrace("parent") {
6363
def listeners = iterations.collect { int i ->
64-
return new GenericProgressiveFutureListener<Future<?>>() {
65-
66-
@Override
67-
void operationComplete(Future<?> future) throws Exception {
64+
return new GenericProgressiveFutureListener<ProgressiveFuture<?>>() {
65+
void operationComplete(ProgressiveFuture<?> future) throws Exception {
6866
runUnderTrace("listen$i") {}
6967
}
7068

71-
@Override
72-
void operationProgressed(Future<?> future, long progress, long total) throws Exception {
69+
void operationProgressed(ProgressiveFuture<?> future, long progress, long total) throws Exception {
7370
runUnderTrace("progress$i") {}
7471
}
7572
}

dd-java-agent/instrumentation/scala/build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ final testTasks = scalaVersions.collect { scalaLibrary ->
2727
def (major, minor) = version.split('_').collect(Integer.&valueOf)
2828
final javaConcatenation = major > 2 || minor > 11 // after 2.11 scala uses java.lang.StringBuilder to perform concatenation
2929

30-
final configuration = configurations.create("${version}Implementation") {
30+
final implementationConfiguration = configurations.create("${version}Implementation") {
3131
canBeConsumed = false
3232
canBeResolved = false
3333
canBeDeclared = true
@@ -36,14 +36,14 @@ final testTasks = scalaVersions.collect { scalaLibrary ->
3636
canBeConsumed = false
3737
canBeResolved = true
3838
canBeDeclared = false
39-
extendsFrom(configuration)
39+
extendsFrom(implementationConfiguration)
4040
}
4141

4242
dependencies { handler ->
43-
handler.add(configuration.name, scalaLibrary)
44-
handler.add(configuration.name, libs.slf4j)
43+
handler.add(implementationConfiguration.name, scalaLibrary)
44+
handler.add(implementationConfiguration.name, libs.slf4j)
4545
if (javaConcatenation) {
46-
handler.add(configuration.name, project(':dd-java-agent:instrumentation:java-lang'))
46+
handler.add(implementationConfiguration.name, project(':dd-java-agent:instrumentation:java-lang'))
4747
}
4848
}
4949

@@ -59,7 +59,7 @@ final testTasks = scalaVersions.collect { scalaLibrary ->
5959
.filter { !it.toString().contains('scala-library') } // exclude default scala-library
6060
.minus(files(sourceSets.test.scala.classesDirectory)) // exclude default /build/classes/scala/test folder
6161
.plus(customSourceSet.output.classesDirs) // add /build/classes/scala/${version} folder
62-
.plus(classPathConfiguration) // add new scala-library configuration
62+
.plus(classPathConfiguration) // add new scala-library configuration
6363
systemProperty('uses.java.concat', javaConcatenation)
6464
dependsOn(tasks.named("compile${version.capitalize()}Scala"))
6565
group = 'verification'

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
6060
])
6161
String[] command = ["./gradlew", "--no-daemon", "--info"]
6262
if (gradleDaemonCmdLineParams) {
63-
command += "-Dorg.gradle.jvmargs=$gradleDaemonCmdLineParams"
63+
command += "-Dorg.gradle.jvmargs=$gradleDaemonCmdLineParams".toString()
6464
}
6565
return shellCommandExecutor.executeCommand(IOUtils::readFully, command)
6666
}

0 commit comments

Comments
 (0)