shadow.gradle 1.6 KB

1234567891011121314151617181920212223
  1. ext.relocatePackages = { shadowJar ->
  2. // rewrite dependencies calling Logger.getLogger
  3. shadowJar.relocate("java.util.logging.Logger", "io.opentelemetry.javaagent.bootstrap.PatchLogger")
  4. // prevents conflict with library instrumentation, since these classes live in the bootstrap class loader
  5. shadowJar.relocate("io.opentelemetry.instrumentation", "io.opentelemetry.javaagent.shaded.instrumentation") {
  6. // Exclude resource providers since they live in the agent class loader
  7. exclude("io.opentelemetry.instrumentation.resources.*")
  8. exclude("io.opentelemetry.instrumentation.spring.resources.*")
  9. }
  10. // relocate(OpenTelemetry API) since these classes live in the bootstrap class loader
  11. shadowJar.relocate("io.opentelemetry.api", "io.opentelemetry.javaagent.shaded.io.opentelemetry.api")
  12. shadowJar.relocate("io.opentelemetry.semconv", "io.opentelemetry.javaagent.shaded.io.opentelemetry.semconv")
  13. shadowJar.relocate("io.opentelemetry.context", "io.opentelemetry.javaagent.shaded.io.opentelemetry.context")
  14. shadowJar.relocate("io.opentelemetry.extension.incubator", "io.opentelemetry.javaagent.shaded.io.opentelemetry.extension.incubator")
  15. // relocate the OpenTelemetry extensions that are used by instrumentation modules
  16. // these extensions live in the AgentClassLoader, and are injected into the user's class loader
  17. // by the instrumentation modules that use them
  18. shadowJar.relocate("io.opentelemetry.extension.aws", "io.opentelemetry.javaagent.shaded.io.opentelemetry.extension.aws")
  19. shadowJar.relocate("io.opentelemetry.extension.kotlin", "io.opentelemetry.javaagent.shaded.io.opentelemetry.extension.kotlin")
  20. }