79 lines
3.4 KiB
Groovy
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"
|
|
}
|