84 lines
2.0 KiB
Plaintext
84 lines
2.0 KiB
Plaintext
import io.opentelemetry.gradle.OtelVersionClassPlugin
|
|
|
|
plugins {
|
|
id("otel.java-conventions")
|
|
id("otel.publish-conventions")
|
|
id("otel.animalsniffer-conventions")
|
|
}
|
|
apply<OtelVersionClassPlugin>()
|
|
|
|
description = "OpenTelemetry SDK Common"
|
|
otelJava.moduleName.set("io.opentelemetry.sdk.common")
|
|
|
|
val mrJarVersions = listOf(9)
|
|
|
|
dependencies {
|
|
api(project(":api:all"))
|
|
|
|
annotationProcessor("com.google.auto.value:auto-value")
|
|
|
|
testAnnotationProcessor("com.google.auto.value:auto-value")
|
|
|
|
testImplementation(project(":sdk:testing"))
|
|
testImplementation("com.google.guava:guava-testlib")
|
|
}
|
|
|
|
for (version in mrJarVersions) {
|
|
sourceSets {
|
|
create("java$version") {
|
|
java {
|
|
setSrcDirs(listOf("src/main/java$version"))
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
named<JavaCompile>("compileJava${version}Java") {
|
|
sourceCompatibility = "$version"
|
|
targetCompatibility = "$version"
|
|
options.release.set(version)
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
named("java${version}Implementation") {
|
|
extendsFrom(configurations["implementation"])
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// Common to reference classes in main sourceset from Java 9 one (e.g., to return a common interface)
|
|
add("java${version}Implementation", files(sourceSets.main.get().output.classesDirs))
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
withType(Jar::class) {
|
|
val sourcePathProvider = if (name.equals("jar")) {
|
|
{ ss: SourceSet? -> ss?.output }
|
|
} else if (name.equals("sourcesJar")) {
|
|
{ ss: SourceSet? -> ss?.java }
|
|
} else {
|
|
{ _: SourceSet -> project.objects.fileCollection() }
|
|
}
|
|
|
|
for (version in mrJarVersions) {
|
|
into("META-INF/versions/$version") {
|
|
from(sourcePathProvider(sourceSets["java$version"]))
|
|
}
|
|
}
|
|
manifest.attributes(
|
|
"Multi-Release" to "true",
|
|
)
|
|
}
|
|
|
|
test {
|
|
// For checking version number included in Resource.
|
|
systemProperty("otel.test.project-version", project.version.toString())
|
|
}
|
|
|
|
check {
|
|
dependsOn(testing.suites)
|
|
}
|
|
}
|