build.gradle.kts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. plugins {
  2. id("otel.javaagent-instrumentation")
  3. }
  4. muzzle {
  5. pass {
  6. coreJdk()
  7. }
  8. }
  9. dependencies {
  10. compileOnly("com.google.auto.value:auto-value-annotations")
  11. annotationProcessor("com.google.auto.value:auto-value")
  12. compileOnly(project(":javaagent-tooling"))
  13. testImplementation("com.newrelic.agent.java:newrelic-api:5.14.0")
  14. testImplementation("io.opentracing.contrib.dropwizard:dropwizard-opentracing:0.2.2") {
  15. isTransitive = false
  16. }
  17. testImplementation("com.signalfx.public:signalfx-trace-api:0.48.0-sfx1")
  18. // Old and new versions of kamon use different packages for Trace annotation
  19. testImplementation("io.kamon:kamon-annotation_2.11:0.6.7") {
  20. isTransitive = false
  21. }
  22. testImplementation("io.kamon:kamon-annotation-api:2.1.4")
  23. testImplementation("com.appoptics.agent.java:appoptics-sdk:6.20.1")
  24. testImplementation("com.tracelytics.agent.java:tracelytics-api:5.0.10")
  25. testImplementation("org.springframework.cloud:spring-cloud-sleuth-core:2.2.4.RELEASE") {
  26. isTransitive = false
  27. }
  28. // For some annotations used by sleuth
  29. testCompileOnly("org.springframework:spring-core:4.3.30.RELEASE")
  30. }
  31. tasks {
  32. val testIncludeProperty by registering(Test::class) {
  33. filter {
  34. includeTestsMatching("ConfiguredTraceAnnotationsTest")
  35. }
  36. include("**/ConfiguredTraceAnnotationsTest.*")
  37. jvmArgs("-Dotel.instrumentation.external-annotations.include=io.opentelemetry.javaagent.instrumentation.extannotations.OuterClass\$InterestingMethod")
  38. }
  39. val testExcludeMethodsProperty by registering(Test::class) {
  40. filter {
  41. includeTestsMatching("TracedMethodsExclusionTest")
  42. }
  43. include("**/TracedMethodsExclusionTest.*")
  44. jvmArgs(
  45. "-Dotel.instrumentation.external-annotations.exclude-methods=io.opentelemetry.javaagent.instrumentation.extannotations.TracedMethodsExclusionTest\$TestClass[excluded,annotatedButExcluded]"
  46. )
  47. }
  48. test {
  49. filter {
  50. excludeTestsMatching("ConfiguredTraceAnnotationsTest")
  51. excludeTestsMatching("TracedMethodsExclusionTest")
  52. }
  53. }
  54. check {
  55. dependsOn(testIncludeProperty)
  56. dependsOn(testExcludeMethodsProperty)
  57. }
  58. }