23 lines
1.5 KiB
Groovy
23 lines
1.5 KiB
Groovy
ext.relocatePackages = { shadowJar ->
|
|
// rewrite dependencies calling Logger.getLogger
|
|
shadowJar.relocate("java.util.logging.Logger", "io.opentelemetry.javaagent.bootstrap.PatchLogger")
|
|
|
|
// prevents conflict with library instrumentation, since these classes live in the bootstrap class loader
|
|
shadowJar.relocate("io.opentelemetry.instrumentation", "io.opentelemetry.javaagent.shaded.instrumentation") {
|
|
// Exclude resource providers since they live in the agent class loader
|
|
exclude("io.opentelemetry.instrumentation.resources.*")
|
|
exclude("io.opentelemetry.instrumentation.spring.resources.*")
|
|
}
|
|
|
|
// relocate(OpenTelemetry API) since these classes live in the bootstrap class loader
|
|
shadowJar.relocate("io.opentelemetry.api", "io.opentelemetry.javaagent.shaded.io.opentelemetry.api")
|
|
shadowJar.relocate("io.opentelemetry.semconv", "io.opentelemetry.javaagent.shaded.io.opentelemetry.semconv")
|
|
shadowJar.relocate("io.opentelemetry.context", "io.opentelemetry.javaagent.shaded.io.opentelemetry.context")
|
|
|
|
// relocate the OpenTelemetry extensions that are used by instrumentation modules
|
|
// these extensions live in the AgentClassLoader, and are injected into the user's class loader
|
|
// by the instrumentation modules that use them
|
|
shadowJar.relocate("io.opentelemetry.contrib.awsxray", "io.opentelemetry.javaagent.shaded.io.opentelemetry.contrib.awsxray")
|
|
shadowJar.relocate("io.opentelemetry.extension.kotlin", "io.opentelemetry.javaagent.shaded.io.opentelemetry.extension.kotlin")
|
|
}
|