opentelemetry-java/sdk/trace/build.gradle.kts

66 lines
1.9 KiB
Plaintext

plugins {
id("java-library")
id("maven-publish")
id("me.champeau.gradle.jmh")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry SDK For Tracing"
extra["moduleName"] = "io.opentelemetry.sdk.trace"
dependencies {
api(project(":api:all"))
api(project(":sdk:common"))
implementation(project(":api:metrics"))
implementation(project(":semconv"))
annotationProcessor("com.google.auto.value:auto-value")
testAnnotationProcessor("com.google.auto.value:auto-value")
testImplementation(project(":sdk:testing"))
testImplementation("com.google.guava:guava")
jmh(project(":sdk:metrics"))
jmh(project(":sdk:testing")) {
// JMH doesn"t handle dependencies that are duplicated between the main and jmh
// configurations properly, but luckily here it"s simple enough to just exclude transitive
// dependencies.
isTransitive = false
}
jmh(project(":exporters:otlp:trace")) {
// The opentelemetry-exporter-otlp-trace depends on this project itself. So don"t pull in
// the transitive dependencies.
isTransitive = false
}
// explicitly adding the opentelemetry-exporter-otlp dependencies
jmh(project(":exporters:otlp:common")) {
isTransitive = false
}
jmh(project(":proto"))
jmh("com.google.guava:guava")
jmh("io.grpc:grpc-api")
jmh("io.grpc:grpc-netty-shaded")
jmh("org.testcontainers:testcontainers") // testContainer for OTLP collector
}
sourceSets {
main {
output.dir("build/generated/properties", "builtBy" to "generateVersionResource")
}
}
tasks {
register("generateVersionResource") {
val propertiesDir = file("build/generated/properties/io/opentelemetry/sdk/trace")
outputs.dir(propertiesDir)
doLast {
File(propertiesDir, "version.properties").writeText("sdk.version=${project.version}")
}
}
}