diff --git a/instrumentation/spring/spring-core-2.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-core-2.0/javaagent/build.gradle.kts index 791389f3762b..cdfafabf8fac 100644 --- a/instrumentation/spring/spring-core-2.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-core-2.0/javaagent/build.gradle.kts @@ -18,6 +18,8 @@ dependencies { // 3.0 introduces submit() methods // 4.0 introduces submitListenable() methods testLibrary("org.springframework:spring-core:4.0.0.RELEASE") + + latestDepTestLibrary("org.springframework:spring-core:6.+") // documented limitation } // spring 6 requires java 17 diff --git a/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts b/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts index 3460a828ab34..2defd3143619 100644 --- a/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts +++ b/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts @@ -2,6 +2,8 @@ plugins { id("otel.javaagent-testing") } +val testLatestDeps = findProperty("testLatestDeps") as Boolean + dependencies { testInstrumentation(project(":instrumentation:jdbc:javaagent")) testInstrumentation(project(":instrumentation:r2dbc-1.0:javaagent")) @@ -20,6 +22,15 @@ dependencies { testImplementation("org.hsqldb:hsqldb:2.0.0") testImplementation("com.h2database:h2:1.4.197") testImplementation("io.r2dbc:r2dbc-h2:1.0.0.RELEASE") + + if (testLatestDeps) { + // Exclude Spring Framework 7.0+ until compatible version available + testImplementation("org.springframework:spring-core") { + version { + strictly("[6.0,7.0[") + } + } + } } otelJava { diff --git a/instrumentation/spring/spring-security-config-6.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-security-config-6.0/javaagent/build.gradle.kts index b0e2cca61140..5bb0984a4371 100644 --- a/instrumentation/spring/spring-security-config-6.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-security-config-6.0/javaagent/build.gradle.kts @@ -14,6 +14,8 @@ muzzle { } } +val testLatestDeps = findProperty("testLatestDeps") as Boolean + dependencies { implementation(project(":instrumentation:spring:spring-security-config-6.0:library")) @@ -23,11 +25,25 @@ dependencies { testLibrary("org.springframework:spring-test:6.0.0") testLibrary("org.springframework:spring-context:6.0.0") - // can't use testLibrary for now because 6.2.0-M1 is latest and its POM referes to a missing + // can't use testLibrary for now because 6.2.0-M1 is latest and its POM refers to a missing // parent POM, switch back to testLibrary when a new version is released // testLibrary("jakarta.servlet:jakarta.servlet-api:6.0.0") testImplementation("jakarta.servlet:jakarta.servlet-api:6.0.0") latestDepTestLibrary("jakarta.servlet:jakarta.servlet-api:6.1.0") // documented limitation + + if (testLatestDeps) { + // Exclude Spring Framework 7.0+ until compatible version available + testImplementation("org.springframework:spring-context") { + version { + strictly("[6.0,7.0[") + } + } + testImplementation("org.springframework:spring-test") { + version { + strictly("[6.0,7.0[") + } + } + } } otelJava { diff --git a/instrumentation/spring/spring-security-config-6.0/library/build.gradle.kts b/instrumentation/spring/spring-security-config-6.0/library/build.gradle.kts index 6b15caf23a5f..c535c512d18e 100644 --- a/instrumentation/spring/spring-security-config-6.0/library/build.gradle.kts +++ b/instrumentation/spring/spring-security-config-6.0/library/build.gradle.kts @@ -2,6 +2,8 @@ plugins { id("otel.library-instrumentation") } +val testLatestDeps = findProperty("testLatestDeps") as Boolean + dependencies { library("org.springframework.security:spring-security-config:6.0.0") library("org.springframework.security:spring-security-web:6.0.0") @@ -17,6 +19,30 @@ dependencies { implementation(project(":instrumentation:reactor:reactor-3.1:library")) testLibrary("org.springframework:spring-test:6.0.0") + + if (testLatestDeps) { + // Exclude Spring Framework 7.0+ until compatible version available + testImplementation("org.springframework:spring-core") { + version { + strictly("[6.0,7.0[") + } + } + testImplementation("org.springframework:spring-context") { + version { + strictly("[6.0,7.0[") + } + } + testImplementation("org.springframework:spring-web") { + version { + strictly("[6.0,7.0[") + } + } + testImplementation("org.springframework:spring-test") { + version { + strictly("[6.0,7.0[") + } + } + } } otelJava { diff --git a/instrumentation/spring/spring-web/spring-web-3.1/library/build.gradle.kts b/instrumentation/spring/spring-web/spring-web-3.1/library/build.gradle.kts index 714788bd2af5..62f506db9953 100644 --- a/instrumentation/spring/spring-web/spring-web-3.1/library/build.gradle.kts +++ b/instrumentation/spring/spring-web/spring-web-3.1/library/build.gradle.kts @@ -2,15 +2,24 @@ plugins { id("otel.library-instrumentation") } +val latestDepTest = findProperty("testLatestDeps") as Boolean + dependencies { compileOnly("org.springframework:spring-web:3.1.0.RELEASE") testLibrary("org.springframework:spring-web:3.1.0.RELEASE") testImplementation("io.opentelemetry:opentelemetry-sdk-testing") -} -val latestDepTest = findProperty("testLatestDeps") as Boolean + if (latestDepTest) { + // Exclude Spring Framework 7.0+ until compatible version available + testImplementation("org.springframework:spring-web") { + version { + strictly("[6.0,7.0[") + } + } + } +} // spring 6 requires java 17 if (latestDepTest) { diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/build.gradle.kts b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/build.gradle.kts index 6e218f30fa2f..b69ee66fda2e 100644 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/build.gradle.kts +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/build.gradle.kts @@ -23,6 +23,15 @@ if (latestDepTest) { otelJava { minJavaVersionSupported.set(JavaVersion.VERSION_17) } + + // Exclude Spring Framework 7.0+ until compatible version available + dependencies { + testImplementation("org.springframework:spring-webflux") { + version { + strictly("[6.0,7.0[") + } + } + } } if (!latestDepTest) {