plugins { id("otel.javaagent-instrumentation") } muzzle { pass { group.set("org.apache.kafka") module.set("kafka-streams") versions.set("[0.11.0.0,)") } } dependencies { bootstrap(project(":instrumentation:kafka:kafka-clients:kafka-clients-0.11:bootstrap")) implementation(project(":instrumentation:kafka:kafka-clients:kafka-clients-common:library")) library("org.apache.kafka:kafka-streams:0.11.0.0") // Include kafka-clients instrumentation for tests. testInstrumentation(project(":instrumentation:kafka:kafka-clients:kafka-clients-0.11:javaagent")) testImplementation("org.testcontainers:kafka") } tasks { withType().configureEach { usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service) systemProperty("testLatestDeps", findProperty("testLatestDeps") as Boolean) // TODO run tests both with and without experimental span attributes jvmArgs("-Dotel.instrumentation.kafka.experimental-span-attributes=true") } val testReceiveSpansDisabled by registering(Test::class) { filter { includeTestsMatching("KafkaStreamsSuppressReceiveSpansTest") } include("**/KafkaStreamsSuppressReceiveSpansTest.*") } test { filter { excludeTestsMatching("KafkaStreamsSuppressReceiveSpansTest") } jvmArgs("-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true") } check { dependsOn(testReceiveSpansDisabled) } }