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

79 lines
3.4 KiB
Groovy

plugins {
id "com.github.johnrengelman.shadow"
}
ext {
mavenGroupId = 'io.opentelemetry.javaagent'
}
apply from: "$rootDir/gradle/java.gradle"
dependencies {
testImplementation project(':javaagent-spi')
testImplementation project(':javaagent-tooling')
testImplementation project(':javaagent-exporters:otlp')
testImplementation project(':javaagent-exporters:jaeger')
testImplementation project(':javaagent-exporters:jaeger-thrift')
testImplementation project(':javaagent-exporters:logging')
testImplementation project(':javaagent-exporters:zipkin')
testImplementation project(':javaagent-exporters:prometheus')
}
tasks.withType(Test).configureEach() {
dependsOn ':javaagent-exporters:otlp:shadowJar'
dependsOn ':javaagent-exporters:jaeger:shadowJar'
dependsOn ':javaagent-exporters:jaeger-thrift:shadowJar'
dependsOn ':javaagent-exporters:logging:shadowJar'
dependsOn ':javaagent-exporters:zipkin:shadowJar'
dependsOn ':javaagent-exporters:prometheus:shadowJar'
doFirst {
systemProperty 'projectVersion', allprojects.version[0]
systemProperty 'adapterRoot', "$rootDir/javaagent-exporters"
systemProperty 'otlpExporterJar', project(':javaagent-exporters:otlp').tasks.shadowJar.archivePath
systemProperty 'jaegerExporterJar', project(':javaagent-exporters:jaeger').tasks.shadowJar.archivePath
systemProperty 'jaegerThriftExporterJar', project(':javaagent-exporters:jaeger-thrift').tasks.shadowJar.archivePath
systemProperty 'loggingExporterJar', project(':javaagent-exporters:logging').tasks.shadowJar.archivePath
systemProperty 'zipkinExporterJar', project(':javaagent-exporters:zipkin').tasks.shadowJar.archivePath
systemProperty 'prometheusExporterJar', project(':javaagent-exporters:prometheus').tasks.shadowJar.archivePath
}
}
configurations {
shadowInclude
}
dependencies {
shadowInclude project(path: ':javaagent-exporters:logging', configuration: 'shadow')
shadowInclude project(path: ':javaagent-exporters:otlp', configuration: 'shadow')
shadowInclude project(path: ':javaagent-exporters:jaeger', configuration: 'shadow')
shadowInclude project(path: ':javaagent-exporters:jaeger-thrift', configuration: 'shadow')
shadowInclude project(path: ':javaagent-exporters:zipkin', configuration: 'shadow')
shadowInclude project(path: ':javaagent-exporters:prometheus', configuration: 'shadow')
}
jar.enabled = false
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.javaagent.slf4j'
// rewrite dependencies calling Logger.getLogger
relocate 'java.util.logging.Logger', 'io.opentelemetry.javaagent.bootstrap.PatchLogger'
// relocate OpenTelemetry API usage
relocate "io.opentelemetry.api", "io.opentelemetry.javaagent.shaded.io.opentelemetry.api"
relocate "io.opentelemetry.spi", "io.opentelemetry.javaagent.shaded.io.opentelemetry.spi"
relocate "io.opentelemetry.context", "io.opentelemetry.javaagent.shaded.io.opentelemetry.context"
// relocate OpenTelemetry extensions
relocate "io.opentelemetry.extension.kotlin", "io.opentelemetry.javaagent.shaded.io.opentelemetry.extension.kotlin"
relocate "io.opentelemetry.extension.trace.propagation", "io.opentelemetry.javaagent.shaded.io.opentelemetry.extension.trace.propagation"
}