opentelemetry-java-instrume.../instrumentation/external-annotations/javaagent/build.gradle.kts

65 lines
2.0 KiB
Plaintext

plugins {
id("otel.javaagent-instrumentation")
}
muzzle {
pass {
coreJdk()
}
}
dependencies {
compileOnly("com.google.auto.value:auto-value-annotations")
annotationProcessor("com.google.auto.value:auto-value")
compileOnly(project(":javaagent-tooling"))
testImplementation("com.newrelic.agent.java:newrelic-api:5.14.0")
testImplementation("io.opentracing.contrib.dropwizard:dropwizard-opentracing:0.2.2") {
isTransitive = false
}
testImplementation("com.signalfx.public:signalfx-trace-api:0.48.0-sfx1")
// Old and new versions of kamon use different packages for Trace annotation
testImplementation("io.kamon:kamon-annotation_2.11:0.6.7") {
isTransitive = false
}
testImplementation("io.kamon:kamon-annotation-api:2.1.4")
testImplementation("com.appoptics.agent.java:appoptics-sdk:6.20.1")
testImplementation("com.tracelytics.agent.java:tracelytics-api:5.0.10")
testImplementation("org.springframework.cloud:spring-cloud-sleuth-core:2.2.4.RELEASE") {
isTransitive = false
}
// For some annotations used by sleuth
testCompileOnly("org.springframework:spring-core:4.3.30.RELEASE")
}
tasks {
val testIncludeProperty by registering(Test::class) {
filter {
includeTestsMatching("ConfiguredTraceAnnotationsTest")
}
include("**/ConfiguredTraceAnnotationsTest.*")
jvmArgs("-Dotel.instrumentation.external-annotations.include=package.Class\$Name;OuterClass\$InterestingMethod")
}
val testExcludeMethodsProperty by registering(Test::class) {
filter {
includeTestsMatching("TracedMethodsExclusionTest")
}
include("**/TracedMethodsExclusionTest.*")
jvmArgs("-Dotel.instrumentation.external-annotations.exclude-methods=TracedMethodsExclusionTest\$TestClass[excluded,annotatedButExcluded]")
}
test {
filter {
excludeTestsMatching("ConfiguredTraceAnnotationsTest")
excludeTestsMatching("TracedMethodsExclusionTest")
}
}
check {
dependsOn(testIncludeProperty)
dependsOn(testExcludeMethodsProperty)
}
}