64 lines
2.2 KiB
Plaintext
64 lines
2.2 KiB
Plaintext
plugins {
|
|
id("java")
|
|
id("com.github.johnrengelman.shadow")
|
|
id("otel.java-conventions")
|
|
id("otel.publish-conventions")
|
|
}
|
|
|
|
// NOTE
|
|
// `META-INF/sisu/javax.inject.Named` is manually handled under src/main/resources because there is
|
|
// no Gradle equivalent to the Maven plugin `org.eclipse.sisu:sisu-maven-plugin`
|
|
|
|
description = "Maven extension to observe Maven builds with distributed traces using OpenTelemetry SDK"
|
|
otelJava.moduleName.set("io.opentelemetry.maven")
|
|
|
|
dependencies {
|
|
compileOnly("javax.inject:javax.inject:1")
|
|
|
|
implementation("io.opentelemetry:opentelemetry-api")
|
|
implementation("io.opentelemetry:opentelemetry-sdk")
|
|
implementation("io.opentelemetry:opentelemetry-sdk-trace")
|
|
implementation("io.opentelemetry:opentelemetry-sdk-metrics")
|
|
implementation("io.opentelemetry:opentelemetry-sdk-logs")
|
|
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
|
|
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
|
|
implementation("io.opentelemetry:opentelemetry-exporter-otlp")
|
|
implementation("io.opentelemetry.semconv:opentelemetry-semconv")
|
|
implementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")
|
|
|
|
annotationProcessor("com.google.auto.value:auto-value")
|
|
compileOnly("com.google.auto.value:auto-value-annotations")
|
|
|
|
compileOnly("org.apache.maven:maven-core:3.5.0") // do not auto-update, support older mvn versions
|
|
compileOnly("org.slf4j:slf4j-api")
|
|
|
|
testImplementation("org.apache.maven:maven-core:3.5.0")
|
|
testImplementation("org.slf4j:slf4j-simple")
|
|
}
|
|
|
|
// The jar dependencies bundled in the uber-jar by the shadow plugin are wrongly added as
|
|
// 'runtime' dependencies in the generated pom.xml instead of being absent this pom.xml.
|
|
// Remove those runtime dependencies from the pom.xml.
|
|
configure<PublishingExtension> {
|
|
(components["java"] as AdhocComponentWithVariants).run {
|
|
withVariantsFromConfiguration(configurations["runtimeElements"]) {
|
|
skip()
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
shadowJar {
|
|
manifest {
|
|
attributes["Implementation-Version"] = project.version
|
|
}
|
|
archiveClassifier.set("")
|
|
}
|
|
|
|
assemble {
|
|
dependsOn(shadowJar)
|
|
}
|
|
}
|
|
|
|
tasks.getByName("test").dependsOn("shadowJar")
|