opentelemetry-java-instrume.../auto-exporters/auto-exporters.gradle

67 lines
3.1 KiB
Groovy

plugins {
id "com.github.johnrengelman.shadow"
}
apply from: "$rootDir/gradle/java.gradle"
dependencies {
testImplementation project(':auto-tooling')
testImplementation deps.opentelemetrySdkAutoConfig
testImplementation project(':auto-exporters:opentelemetry-auto-exporter-otlp')
testImplementation project(':auto-exporters:opentelemetry-auto-exporter-jaeger')
testImplementation project(':auto-exporters:opentelemetry-auto-exporter-logging')
testImplementation project(':auto-exporters:opentelemetry-auto-exporter-zipkin')
}
tasks.withType(Test).configureEach() {
dependsOn ':auto-exporters:opentelemetry-auto-exporter-otlp:shadowJar'
dependsOn ':auto-exporters:opentelemetry-auto-exporter-jaeger:shadowJar'
dependsOn ':auto-exporters:opentelemetry-auto-exporter-logging:shadowJar'
dependsOn ':auto-exporters:opentelemetry-auto-exporter-zipkin:shadowJar'
doFirst {
systemProperty 'projectVersion', allprojects.version[0]
systemProperty 'adapterRoot', "$rootDir/auto-exporters"
systemProperty 'otlpExporterJar', project(':auto-exporters:opentelemetry-auto-exporter-otlp').tasks.shadowJar.archivePath
systemProperty 'jaegerExporterJar', project(':auto-exporters:opentelemetry-auto-exporter-jaeger').tasks.shadowJar.archivePath
systemProperty 'loggingExporterJar', project(':auto-exporters:opentelemetry-auto-exporter-logging').tasks.shadowJar.archivePath
systemProperty 'zipkinExporterJar', project(':auto-exporters:opentelemetry-auto-exporter-zipkin').tasks.shadowJar.archivePath
}
}
configurations {
shadowInclude
}
dependencies {
shadowInclude project(path: ':auto-exporters:opentelemetry-auto-exporter-logging', configuration: 'shadow')
shadowInclude project(path: ':auto-exporters:opentelemetry-auto-exporter-otlp', configuration: 'shadow')
shadowInclude project(path: ':auto-exporters:opentelemetry-auto-exporter-jaeger', configuration: 'shadow')
shadowInclude project(path: ':auto-exporters:opentelemetry-auto-exporter-zipkin', configuration: 'shadow')
}
shadowJar {
configurations = [project.configurations.shadowInclude]
archiveClassifier = ''
mergeServiceFiles()
exclude '**/module-info.class'
// Prevents conflict with other SLF4J instances. Important for premain.
relocate 'org.slf4j', 'io.opentelemetry.auto.slf4j'
// rewrite dependencies calling Logger.getLogger
relocate 'java.util.logging.Logger', 'io.opentelemetry.auto.bootstrap.PatchLogger'
// relocate OpenTelemetry API usage
relocate "io.opentelemetry.OpenTelemetry", "io.opentelemetry.auto.shaded.io.opentelemetry.OpenTelemetry"
relocate "io.opentelemetry.common", "io.opentelemetry.auto.shaded.io.opentelemetry.common"
relocate "io.opentelemetry.context", "io.opentelemetry.auto.shaded.io.opentelemetry.context"
relocate "io.opentelemetry.correlationcontext", "io.opentelemetry.auto.shaded.io.opentelemetry.correlationcontext"
relocate "io.opentelemetry.internal", "io.opentelemetry.auto.shaded.io.opentelemetry.internal"
relocate "io.opentelemetry.metrics", "io.opentelemetry.auto.shaded.io.opentelemetry.metrics"
relocate "io.opentelemetry.trace", "io.opentelemetry.auto.shaded.io.opentelemetry.trace"
}