opentelemetry-java-instrume.../instrumentation/opentelemetry-instrumentati.../javaagent/build.gradle.kts

73 lines
2.9 KiB
Plaintext

plugins {
id("otel.javaagent-instrumentation")
}
// note that muzzle is not run against the current SNAPSHOT instrumentation-api, but this is ok
// because the tests are run against the current SNAPSHOT instrumentation-api which will catch any
// muzzle issues in SNAPSHOT instrumentation-api
muzzle {
pass {
group.set("io.opentelemetry.instrumentation")
module.set("opentelemetry-instrumentation-api")
// currently all 1.0.0+ versions are alpha so they are all skipped
// if you want to test them anyways, comment out "alpha" from the exclusions in AcceptableVersions.kt
versions.set("[1.14.0-alpha,)")
assertInverse.set(true)
excludeInstrumentationName("opentelemetry-api")
}
}
dependencies {
implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.0:javaagent"))
compileOnly(project(":opentelemetry-api-shaded-for-instrumenting", configuration = "shadow"))
compileOnly(project(":opentelemetry-instrumentation-api-shaded-for-instrumenting", configuration = "shadow"))
testImplementation(project(":instrumentation-api-semconv"))
testImplementation(project(":instrumentation:opentelemetry-instrumentation-api:testing"))
testInstrumentation(project(":instrumentation:opentelemetry-instrumentation-api:testing"))
}
testing {
suites {
val testOldServerSpan by registering(JvmTestSuite::class) {
dependencies {
implementation("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-semconv")
implementation("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api")
implementation(project(":instrumentation:opentelemetry-instrumentation-api:testing"))
}
}
}
}
configurations.configureEach {
if (name.startsWith("muzzle-Assert")) {
// some names also start with "muzzle-AssertFail", which is conveniently the same length
val ver = name.substring("muzzle-AssertPass-io.opentelemetry.instrumentation-opentelemetry-instrumentation-api-".length)
resolutionStrategy {
dependencySubstitution {
substitute(module("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api"))
.using(module("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:$ver"))
}
}
}
if (name.startsWith("testOldServerSpan")) {
resolutionStrategy {
dependencySubstitution {
// version 1.13.0 contains the old ServerSpan implementation that uses SERVER_KEY context key
substitute(module("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-semconv"))
.using(module("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-semconv:1.13.0-alpha"))
substitute(module("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api"))
.using(module("io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:1.13.0-alpha"))
}
}
}
}
tasks {
check {
dependsOn(testing.suites)
}
}