Temporarily limit instrumentation to exclude Spring 6
Tracking issue to support Spring 6
MODIFY
gradle-plugins/src/main/kotlin/io.opentelemetry.instrumentation.muzzle-check.gradle.kts
gradle-plugins/src/main/kotlin/io.opentelemetry.instrumentation.muzzle-check.gradle.kts
@@ -351,6 +351,7 @@ fun inverseOf(muzzleDirective: MuzzleDirective, system: RepositorySystem, sessio
for (version in filterVersions(allRangeResult, muzzleDirective.normalizedSkipVersions)) {
val inverseDirective = objects.newInstance(MuzzleDirective::class).apply {
+ name.set(muzzleDirective.name)
group.set(muzzleDirective.group)
module.set(muzzleDirective.module)
classifier.set(muzzleDirective.classifier)

MODIFY
instrumentation/spring/spring-data-1.8/javaagent/build.gradle.kts
instrumentation/spring/spring-data-1.8/javaagent/build.gradle.kts
@@ -37,6 +37,7 @@ dependencies {
testImplementation("org.hsqldb:hsqldb:2.0.0")
testLibrary("org.hibernate:hibernate-entitymanager:4.3.0.Final")
+ latestDepTestLibrary("org.springframework:spring-test:5.+")
latestDepTestLibrary("org.hibernate:hibernate-entitymanager:5.+")
}

MODIFY
instrumentation/spring/spring-jms-2.0/javaagent/build.gradle.kts
instrumentation/spring/spring-jms-2.0/javaagent/build.gradle.kts
@@ -51,6 +51,8 @@ dependencies {
exclude("org.jboss.naming", "jnpserver")
}
+ latestDepTestLibrary("org.springframework:spring-jms:5.+")
+
// this is just to avoid a bit more copy-pasting
add("testReceiveSpansDisabledImplementation", sourceSets["test"].output)
}

MODIFY
instrumentation/spring/spring-rmi-4.0/javaagent/build.gradle.kts
instrumentation/spring/spring-rmi-4.0/javaagent/build.gradle.kts
@@ -6,7 +6,7 @@ muzzle {
pass {
group.set("org.springframework")
module.set("spring-context")
- versions.set("[4.0.0.RELEASE,)")
+ versions.set("[4.0.0.RELEASE,6)")
}
}
@@ -20,6 +20,9 @@ dependencies {
library("org.springframework:spring-context:4.0.0.RELEASE")
library("org.springframework:spring-aop:4.0.0.RELEASE")
testLibrary("org.springframework.boot:spring-boot:1.1.0.RELEASE")
+
+ latestDepTestLibrary("org.springframework:spring-context:5.+")
+ latestDepTestLibrary("org.springframework:spring-aop:5.+")
}
tasks.withType<Test>().configureEach {

MODIFY
instrumentation/spring/spring-scheduling-3.1/javaagent/build.gradle.kts
instrumentation/spring/spring-scheduling-3.1/javaagent/build.gradle.kts
@@ -16,6 +16,8 @@ dependencies {
// classes and packages to be imported. Versions 3.1.0+ work with the instrumentation.
library("org.springframework:spring-context:3.1.0.RELEASE")
testLibrary("org.springframework:spring-context:3.2.3.RELEASE")
+
+ latestDepTestLibrary("org.springframework:spring-context:5.+")
}
tasks.withType<Test>().configureEach {

MODIFY
instrumentation/spring/spring-web-3.1/javaagent/build.gradle.kts
instrumentation/spring/spring-web-3.1/javaagent/build.gradle.kts
@@ -6,7 +6,7 @@ muzzle {
pass {
group.set("org.springframework")
module.set("spring-web")
- versions.set("[3.1.0.RELEASE,]")
+ versions.set("[3.1.0.RELEASE,)")
// these versions depend on javax.faces:jsf-api:1.1 which was released as pom only
skip("1.2.1", "1.2.2", "1.2.3", "1.2.4")
assertInverse.set(true)

MODIFY
instrumentation/spring/spring-webflux-5.0/javaagent/build.gradle.kts
instrumentation/spring/spring-webflux-5.0/javaagent/build.gradle.kts
@@ -7,7 +7,7 @@ muzzle {
name.set("webflux_5.0.0+_with_netty_0.8.0")
group.set("org.springframework")
module.set("spring-webflux")
- versions.set("[5.0.0.RELEASE,)")
+ versions.set("[5.0.0.RELEASE,6)")
assertInverse.set(true)
extraDependency("io.projectreactor.netty:reactor-netty:0.8.0.RELEASE")
}
@@ -16,7 +16,7 @@ muzzle {
name.set("webflux_5.0.0_with_ipc_0.7.0")
group.set("org.springframework")
module.set("spring-webflux")
- versions.set("[5.0.0.RELEASE,)")
+ versions.set("[5.0.0.RELEASE,6)")
assertInverse.set(true)
extraDependency("io.projectreactor.ipc:reactor-netty:0.7.0.RELEASE")
}

MODIFY
instrumentation/spring/spring-webmvc-3.1/javaagent/build.gradle.kts
instrumentation/spring/spring-webmvc-3.1/javaagent/build.gradle.kts
@@ -6,7 +6,7 @@ muzzle {
pass {
group.set("org.springframework")
module.set("spring-webmvc")
- versions.set("[3.1.0.RELEASE,]")
+ versions.set("[3.1.0.RELEASE,6)")
// these versions depend on org.springframework:spring-web which has a bad dependency on
// javax.faces:jsf-api:1.1 which was released as pom only
skip("1.2.1", "1.2.2", "1.2.3", "1.2.4")

Temporarily limit instrumentation to exclude Spring 6 (#7202)

Tracking issue to support Spring 6 #7203