Skip to content

Commit 3fb18c9

Browse files
fix(deps): update gradle shadow packages to v9 (major) (#14388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]>
1 parent 01d8d56 commit 3fb18c9

File tree

15 files changed

+57
-28
lines changed

15 files changed

+57
-28
lines changed

conventions/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ dependencies {
5656
// When updating, update above in plugins too
5757
implementation("com.diffplug.spotless:spotless-plugin-gradle:7.2.1")
5858
implementation("com.google.guava:guava:33.4.8-jre")
59-
implementation("com.gradleup.shadow:shadow-gradle-plugin:8.3.9")
59+
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.1.0")
6060
implementation("org.apache.httpcomponents:httpclient:4.5.14")
6161
implementation("com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.1.1")
6262
implementation("org.owasp:dependency-check-gradle:12.1.3")

conventions/src/main/kotlin/io.opentelemetry.instrumentation.javaagent-shadowing.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ plugins {
77
// NOTE: any modifications below should also be made in
88
// io.opentelemetry.instrumentation.muzzle-check.gradle.kts
99
tasks.withType<ShadowJar>().configureEach {
10+
// mergeServiceFiles requires that duplicate strategy is set to include
11+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
1012
mergeServiceFiles()
1113
// Merge any AWS SDK service files that may be present (too bad they didn't just use normal
1214
// service loader...)

conventions/src/main/kotlin/io.opentelemetry.instrumentation.javaagent-testing.gradle.kts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,13 @@ afterEvaluate {
152152
// shadowJar is only used for creating a jar for testing, but the shadow plugin automatically adds
153153
// it to a project's published Java component. Skip it if publishing is configured for this
154154
// project.
155-
plugins.withId("maven-publish") {
156-
configure<PublishingExtension> {
157-
(components["java"] as AdhocComponentWithVariants).run {
158-
withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) {
159-
skip()
155+
afterEvaluate {
156+
plugins.withId("maven-publish") {
157+
configure<PublishingExtension> {
158+
(components["java"] as AdhocComponentWithVariants).run {
159+
withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) {
160+
skip()
161+
}
160162
}
161163
}
162164
}

examples/distro/agent/build.gradle

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ tasks {
6464
task relocateJavaagentLibs(type: ShadowJar) {
6565
configurations = [project.configurations.javaagentLibs]
6666

67-
duplicatesStrategy = DuplicatesStrategy.FAIL
68-
6967
archiveFileName.set("javaagentLibs-relocated.jar")
7068

69+
// mergeServiceFiles requires that duplicate strategy is set to include
70+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
7171
mergeServiceFiles()
7272
exclude("**/module-info.class")
7373
relocatePackages(it)
@@ -105,11 +105,10 @@ tasks {
105105

106106
archiveClassifier.set("all")
107107

108-
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
108+
// mergeServiceFiles requires that duplicate strategy is set to include
109+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
110+
mergeServiceFiles("inst/META-INF/services")
109111

110-
mergeServiceFiles {
111-
include("inst/META-INF/services/*")
112-
}
113112
exclude("**/module-info.class")
114113
relocatePackages(it)
115114

examples/distro/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ buildscript {
1313
}
1414
dependencies {
1515
classpath "com.diffplug.spotless:spotless-plugin-gradle:7.2.1"
16-
classpath "com.gradleup.shadow:shadow-gradle-plugin:8.3.9"
16+
classpath "com.gradleup.shadow:shadow-gradle-plugin:9.1.0"
1717
classpath "io.opentelemetry.instrumentation:gradle-plugins:2.20.0-alpha-SNAPSHOT"
1818
}
1919
}

examples/distro/gradle/instrumentation.gradle

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ dependencies {
3535

3636
shadowJar {
3737
configurations = [project.configurations.runtimeClasspath, project.configurations.testInstrumentation]
38+
39+
// mergeServiceFiles requires that duplicate strategy is set to include
40+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
3841
mergeServiceFiles()
3942

4043
archiveFileName = 'agent-testing.jar'
@@ -46,13 +49,16 @@ tasks.withType(Test).configureEach {
4649
inputs.file(shadowJar.archiveFile)
4750

4851
jvmArgs "-Dotel.javaagent.debug=true"
49-
jvmArgs "-javaagent:${configurations.testAgent.files.first().absolutePath}"
5052
jvmArgs "-Dotel.javaagent.experimental.initializer.jar=${shadowJar.archiveFile.get().asFile.absolutePath}"
5153
jvmArgs "-Dotel.javaagent.testing.additional-library-ignores.enabled=false"
5254
jvmArgs "-Dotel.javaagent.testing.fail-on-context-leak=true"
5355
// prevent sporadic gradle deadlocks, see SafeLogger for more details
5456
jvmArgs "-Dotel.javaagent.testing.transform-safe-logging.enabled=true"
5557

58+
jvmArgumentProviders.add(new JavaagentProvider(project.providers.provider {
59+
configurations.testAgent.files.first()
60+
}))
61+
5662
dependsOn shadowJar
5763
dependsOn configurations.testAgent.buildDependencies
5864

@@ -65,3 +71,18 @@ tasks.withType(Test).configureEach {
6571
return true
6672
}
6773
}
74+
75+
class JavaagentProvider implements CommandLineArgumentProvider {
76+
@InputFile
77+
@PathSensitive(PathSensitivity.RELATIVE)
78+
Provider<File> agentJar
79+
80+
JavaagentProvider(Provider<File> agentJar) {
81+
this.agentJar = agentJar
82+
}
83+
84+
@Override
85+
Iterable<String> asArguments() {
86+
return ["-javaagent:${agentJar.get().absolutePath}"]
87+
}
88+
}

examples/distro/testing/agent-for-testing/build.gradle

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ tasks {
5959
task relocateJavaagentLibs(type: ShadowJar) {
6060
configurations = [project.configurations.javaagentLibs]
6161

62-
duplicatesStrategy = DuplicatesStrategy.FAIL
63-
6462
archiveFileName.set("javaagentLibs-relocated.jar")
6563

64+
// mergeServiceFiles requires that duplicate strategy is set to include
65+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
6666
mergeServiceFiles()
6767
exclude("**/module-info.class")
6868
relocatePackages(it)
@@ -100,11 +100,10 @@ tasks {
100100

101101
archiveClassifier.set("")
102102

103-
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
103+
// mergeServiceFiles requires that duplicate strategy is set to include
104+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
105+
mergeServiceFiles("inst/META-INF/services")
104106

105-
mergeServiceFiles {
106-
include("inst/META-INF/services/*")
107-
}
108107
exclude("**/module-info.class")
109108
relocatePackages(it)
110109

examples/extension/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ plugins {
1010
into a single jar.
1111
See https://imperceptiblethoughts.com/shadow/ for more details about Shadow plugin.
1212
*/
13-
id "com.gradleup.shadow" version "8.3.9"
13+
id "com.gradleup.shadow" version "9.1.0"
1414
id "com.diffplug.spotless" version "7.2.1"
1515

1616
id "io.opentelemetry.instrumentation.muzzle-generation" version "2.20.0-alpha-SNAPSHOT"

gradle-plugins/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ dependencies {
4040
implementation("org.eclipse.aether:aether-transport-http:${aetherVersion}")
4141
implementation("org.apache.maven:maven-aether-provider:3.3.9")
4242

43-
implementation("com.gradleup.shadow:shadow-gradle-plugin:8.3.9")
43+
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.1.0")
4444

4545
testImplementation("org.assertj:assertj-core:3.27.4")
4646

gradle-plugins/src/main/kotlin/io.opentelemetry.instrumentation.muzzle-check.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ val muzzleBootstrap: Configuration by configurations.creating {
4747
}
4848

4949
val shadowModule by tasks.registering(ShadowJar::class) {
50-
from(tasks.jar)
50+
from(zipTree(tasks.jar.get().archiveFile))
5151

5252
configurations = listOf(project.configurations.runtimeClasspath.get())
5353

@@ -74,6 +74,8 @@ val shadowMuzzleBootstrap by tasks.registering(ShadowJar::class) {
7474
// this is a copied from io.opentelemetry.instrumentation.javaagent-shadowing for now at least to
7575
// avoid publishing io.opentelemetry.instrumentation.javaagent-shadowing publicly
7676
tasks.withType<ShadowJar>().configureEach {
77+
// mergeServiceFiles requires that duplicate strategy is set to include
78+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
7779
mergeServiceFiles()
7880
// Merge any AWS SDK service files that may be present (too bad they didn't just use normal
7981
// service loader...)

0 commit comments

Comments
 (0)