123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- plugins {
- id("otel.javaagent-instrumentation")
- }
- muzzle {
- pass {
- group.set("org.springframework.kafka")
- module.set("spring-kafka")
- versions.set("[2.7.0,)")
- assertInverse.set(true)
- }
- }
- dependencies {
- compileOnly("com.google.auto.value:auto-value-annotations")
- annotationProcessor("com.google.auto.value:auto-value")
- bootstrap(project(":instrumentation:kafka:kafka-clients:kafka-clients-0.11:bootstrap"))
- bootstrap(project(":instrumentation:spring:spring-scheduling-3.1:bootstrap"))
- implementation(project(":instrumentation:kafka:kafka-clients:kafka-clients-common:library"))
- implementation(project(":instrumentation:spring:spring-kafka-2.7:library"))
- library("org.springframework.kafka:spring-kafka:2.7.0")
- testInstrumentation(project(":instrumentation:kafka:kafka-clients:kafka-clients-0.11:javaagent"))
- testInstrumentation(project(":instrumentation:spring:spring-scheduling-3.1:javaagent"))
- testImplementation(project(":instrumentation:spring:spring-kafka-2.7:testing"))
- testLibrary("org.springframework.boot:spring-boot-starter-test:2.5.3")
- testLibrary("org.springframework.boot:spring-boot-starter:2.5.3")
- }
- val latestDepTest = findProperty("testLatestDeps") as Boolean
- testing {
- suites {
- val testNoReceiveTelemetry by registering(JvmTestSuite::class) {
- dependencies {
- implementation(project(":instrumentation:spring:spring-kafka-2.7:testing"))
- // the "library" configuration is not recognized by the test suite plugin
- if (latestDepTest) {
- implementation("org.springframework.kafka:spring-kafka:+")
- implementation("org.springframework.boot:spring-boot-starter-test:+")
- implementation("org.springframework.boot:spring-boot-starter:+")
- } else {
- implementation("org.springframework.kafka:spring-kafka:2.7.0")
- implementation("org.springframework.boot:spring-boot-starter-test:2.5.3")
- implementation("org.springframework.boot:spring-boot-starter:2.5.3")
- }
- }
- targets {
- all {
- testTask.configure {
- usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service)
- jvmArgs("-Dotel.instrumentation.kafka.experimental-span-attributes=false")
- jvmArgs("-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=false")
- }
- }
- }
- }
- }
- }
- tasks {
- test {
- usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service)
- jvmArgs("-Dotel.instrumentation.kafka.experimental-span-attributes=true")
- jvmArgs("-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true")
- }
- check {
- dependsOn(testing.suites)
- }
- }
- // spring 6 (which spring-kafka 3.+ uses) requires java 17
- if (latestDepTest) {
- otelJava {
- minJavaVersionSupported.set(JavaVersion.VERSION_17)
- }
- }
- // spring 6 uses slf4j 2.0
- if (!latestDepTest) {
- configurations {
- listOf(
- testRuntimeClasspath,
- named("testNoReceiveTelemetryRuntimeClasspath"),
- )
- .forEach {
- it.configure {
- resolutionStrategy {
- // requires old logback (and therefore also old slf4j)
- force("ch.qos.logback:logback-classic:1.2.11")
- force("org.slf4j:slf4j-api:1.7.36")
- }
- }
- }
- }
- }
|