Migrate api / sdk projects to build.gradle.kts (#2609)

This commit is contained in:
Anuraag Agrawal 2021-01-30 03:10:40 +09:00 committed by GitHub
parent 3e341f9af5
commit 1a56b8b0d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 342 additions and 373 deletions

View File

@ -1,20 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry API'
ext.moduleName = "io.opentelemetry.api"
archivesBaseName = "opentelemetry-api"
dependencies {
api project(':api:context')
annotationProcessor "com.google.auto.value:auto-value"
testImplementation "edu.berkeley.cs.jqf:jqf-fuzz",
"com.google.guava:guava-testlib"
}

20
api/all/build.gradle.kts Normal file
View File

@ -0,0 +1,20 @@
plugins {
id("java-library")
id("maven-publish")
id("me.champeau.gradle.jmh")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry API"
extra["moduleName"] = "io.opentelemetry.api"
base.archivesBaseName = "opentelemetry-api"
dependencies {
api(project(":api:context"))
annotationProcessor("com.google.auto.value:auto-value")
testImplementation("edu.berkeley.cs.jqf:jqf-fuzz")
testImplementation("com.google.guava:guava-testlib")
}

View File

@ -1,52 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
id "org.unbroken-dome.test-sets"
id "ru.vyarus.animalsniffer"
}
description = "OpenTelemetry Context (Incubator)"
ext.moduleName = "io.opentelemetry.context"
archivesBaseName = "opentelemetry-context"
testSets {
grpcInOtelTest
otelInGrpcTest
braveInOtelTest
otelInBraveTest
otelAsBraveTest
storageWrappersTest
strictContextEnabledTest
}
dependencies {
grpcInOtelTestImplementation "io.grpc:grpc-context"
otelInGrpcTestImplementation "io.grpc:grpc-context"
braveInOtelTestImplementation "io.zipkin.brave:brave"
otelAsBraveTestImplementation "io.zipkin.brave:brave"
otelInBraveTestImplementation "io.zipkin.brave:brave"
testImplementation "org.awaitility:awaitility"
testImplementation "com.google.guava:guava"
testImplementation "org.junit-pioneer:junit-pioneer"
}
tasks.named("strictContextEnabledTest").configure {
jvmArgs "-Dio.opentelemetry.context.enableStrictContext=true"
}
check.dependsOn(
grpcInOtelTest,
otelInGrpcTest,
braveInOtelTest,
otelInBraveTest,
otelAsBraveTest,
storageWrappersTest,
strictContextEnabledTest
)

View File

@ -0,0 +1,50 @@
plugins {
id("java-library")
id("maven-publish")
id("me.champeau.gradle.jmh")
id("org.unbroken-dome.test-sets")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry Context (Incubator)"
extra["moduleName"] = "io.opentelemetry.context"
base.archivesBaseName = "opentelemetry-context"
testSets {
create("grpcInOtelTest")
create("otelInGrpcTest")
create("braveInOtelTest")
create("otelInBraveTest")
create("otelAsBraveTest")
create("storageWrappersTest")
create("strictContextEnabledTest")
}
dependencies {
add("grpcInOtelTestImplementation", "io.grpc:grpc-context")
add("otelInGrpcTestImplementation", "io.grpc:grpc-context")
add("braveInOtelTestImplementation", "io.zipkin.brave:brave")
add("otelAsBraveTestImplementation", "io.zipkin.brave:brave")
add("otelInBraveTestImplementation", "io.zipkin.brave:brave")
testImplementation("org.awaitility:awaitility")
testImplementation("com.google.guava:guava")
testImplementation("org.junit-pioneer:junit-pioneer")
}
tasks {
named<Test>("strictContextEnabledTest") {
jvmArgs("-Dio.opentelemetry.context.enableStrictContext=true")
}
named("check") {
dependsOn("grpcInOtelTest", "otelInGrpcTest", "braveInOtelTest", "otelInBraveTest",
"otelAsBraveTest", "storageWrappersTest", "strictContextEnabledTest")
}
}

View File

@ -1,19 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry API'
ext.moduleName = "io.opentelemetry.api.metrics"
dependencies {
api project(':api:all')
annotationProcessor "com.google.auto.value:auto-value"
testImplementation "edu.berkeley.cs.jqf:jqf-fuzz",
"com.google.guava:guava-testlib"
}

View File

@ -0,0 +1,19 @@
plugins {
id("java-library")
id("maven-publish")
id("me.champeau.gradle.jmh")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry API"
extra["moduleName"] = "io.opentelemetry.api.metrics"
dependencies {
api(project(":api:all"))
annotationProcessor("com.google.auto.value:auto-value")
testImplementation("edu.berkeley.cs.jqf:jqf-fuzz")
testImplementation("com.google.guava:guava-testlib")
}

View File

@ -58,6 +58,11 @@ val DEPENDENCY_SETS = listOf(
"org.mockito",
"3.7.0",
listOf("mockito-core", "mockito-junit-jupiter")
),
DependencySet(
"org.testcontainers",
"1.15.1",
listOf("testcontainers", "junit-jupiter")
)
)
@ -84,8 +89,7 @@ val DEPENDENCIES = listOf(
"org.curioswitch.curiostack:protobuf-jackson:1.1.0",
"org.junit-pioneer:junit-pioneer:1.1.0",
"org.skyscreamer:jsonassert:1.5.0",
"org.slf4j:slf4j-simple:1.7.30",
"org.testcontainers:junit-jupiter:1.15.1"
"org.slf4j:slf4j-simple:1.7.30"
)
javaPlatform {

View File

@ -1,47 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry SDK'
ext.moduleName = "io.opentelemetry.sdk"
ext.propertiesDir = "build/generated/properties/io/opentelemetry/sdk"
archivesBaseName = "opentelemetry-sdk"
dependencies {
api project(':api:all'),
project(':sdk:common'),
project(':sdk:trace')
annotationProcessor "com.google.auto.value:auto-value"
testAnnotationProcessor "com.google.auto.value:auto-value"
testImplementation project(':sdk:testing')
testImplementation "org.junit-pioneer:junit-pioneer"
}
sourceSets {
main {
output.dir("build/generated/properties", builtBy: 'generateVersionResource')
}
}
animalsniffer {
// Don't check sourceSets.jmh and sourceSets.test
sourceSets = [
sourceSets.main
]
}
task generateVersionResource {
doLast {
def folder = file(propertiesDir)
folder.mkdirs()
def propertiesFile = new File(folder.getAbsolutePath(), "version.properties")
propertiesFile.write("sdk.version=${project.version}")
}
}

40
sdk/all/build.gradle.kts Normal file
View File

@ -0,0 +1,40 @@
plugins {
id("java-library")
id("maven-publish")
id("me.champeau.gradle.jmh")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry SDK"
extra["moduleName"] = "io.opentelemetry.sdk"
base.archivesBaseName = "opentelemetry-sdk"
dependencies {
api(project(":api:all"))
api(project(":sdk:common"))
api(project(":sdk:trace"))
annotationProcessor("com.google.auto.value:auto-value")
testAnnotationProcessor("com.google.auto.value:auto-value")
testImplementation(project(":sdk:testing"))
}
sourceSets {
main {
output.dir("build/generated/properties", "builtBy" to "generateVersionResource")
}
}
tasks {
register("generateVersionResource") {
val propertiesDir = file("build/generated/properties/io/opentelemetry/sdk")
outputs.dir(propertiesDir)
doLast {
File(propertiesDir, "version.properties").writeText("sdk.version=${project.version}")
}
}
}

View File

@ -1,97 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry SDK Common'
ext.moduleName = "io.opentelemetry.sdk.common"
ext.propertiesDir = "build/generated/properties/io/opentelemetry/sdk/common"
dependencies {
api project(':api:all')
api project(':semconv')
annotationProcessor "com.google.auto.value:auto-value"
testAnnotationProcessor "com.google.auto.value:auto-value"
testImplementation project(':sdk:testing')
testImplementation "org.junit-pioneer:junit-pioneer",
"com.google.guava:guava-testlib"
}
sourceSets {
main {
output.dir("build/generated/properties", builtBy: 'generateVersionResource')
}
}
animalsniffer {
// Don't check sourceSets.jmh and sourceSets.test
sourceSets = [
sourceSets.main
]
}
configurations {
testClasses {
extendsFrom(testRuntime)
}
}
task testJar(type: Jar) {
archiveClassifier.set("test")
from sourceSets.test.output
}
// add the jar generated by the testJar task to the testClasses dependency
artifacts {
testClasses testJar
}
task generateVersionResource {
doLast {
def folder = file(propertiesDir)
folder.mkdirs()
def propertiesFile = new File(folder.getAbsolutePath(), "version.properties")
propertiesFile.write("sdk.version=${project.version}")
}
}
def mrJarVersions = [9]
mrJarVersions.each { version->
sourceSets {
"java${version}" {
java {
srcDirs = ["src/main/java${version}"]
}
}
}
"compileJava${version}Java" {
sourceCompatibility = version
targetCompatibility = version
options.release = version
}
configurations."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)
"java${version}Implementation" files(sourceSets.main.output.classesDirs) { builtBy compileJava }
}
}
tasks.withType(Jar) {
mrJarVersions.each { version->
into("META-INF/versions/${version}") {
from sourceSets."java${version}".output
}
}
manifest.attributes(
'Multi-Release': 'true'
)
}

View File

@ -0,0 +1,82 @@
plugins {
id("java-library")
id("maven-publish")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry SDK Common"
extra["moduleName"] = "io.opentelemetry.sdk.common"
val mrJarVersions = listOf(9)
dependencies {
api(project(":api:all"))
api(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-testlib")
}
sourceSets {
main {
output.dir("build/generated/properties", "builtBy" to "generateVersionResource")
}
}
tasks {
register("generateVersionResource") {
val propertiesDir = file("build/generated/properties/io/opentelemetry/sdk/common")
outputs.dir(propertiesDir)
doLast {
File(propertiesDir, "version.properties").writeText("sdk.version=${project.version}")
}
}
}
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) {
for (version in mrJarVersions) {
into("META-INF/versions/${version}") {
from(sourceSets["java${version}"].output)
}
}
manifest.attributes(
"Multi-Release" to "true"
)
}
}

View File

@ -1,46 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry SDK Metrics'
ext.moduleName = "io.opentelemetry.sdk.metrics"
ext.propertiesDir = "build/generated/properties/io/opentelemetry/sdk/metrics"
dependencies {
api project(':api:metrics'),
project(':sdk:common')
annotationProcessor "com.google.auto.value:auto-value"
testAnnotationProcessor "com.google.auto.value:auto-value"
testImplementation "com.google.guava:guava"
testImplementation project(':sdk:testing')
testImplementation "org.junit-pioneer:junit-pioneer"
}
sourceSets {
main {
output.dir("build/generated/properties", builtBy: 'generateVersionResource')
}
}
animalsniffer {
// Don't check sourceSets.jmh and sourceSets.test
sourceSets = [
sourceSets.main
]
}
task generateVersionResource {
doLast {
def folder = file(propertiesDir)
folder.mkdirs()
def propertiesFile = new File(folder.getAbsolutePath(), "version.properties")
propertiesFile.write("sdk.version=${project.version}")
}
}

View File

@ -0,0 +1,39 @@
plugins {
id("java-library")
id("maven-publish")
id("me.champeau.gradle.jmh")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry SDK Metrics"
extra["moduleName"] = "io.opentelemetry.sdk.metrics"
dependencies {
api(project(":api:metrics"))
api(project(":sdk:common"))
annotationProcessor("com.google.auto.value:auto-value")
testAnnotationProcessor("com.google.auto.value:auto-value")
testImplementation(project(":sdk:testing"))
testImplementation("com.google.guava:guava")
}
sourceSets {
main {
output.dir("build/generated/properties", "builtBy" to "generateVersionResource")
}
}
tasks {
register("generateVersionResource") {
val propertiesDir = file("build/generated/properties/io/opentelemetry/sdk/metrics")
outputs.dir(propertiesDir)
doLast {
File(propertiesDir, "version.properties").writeText("sdk.version=${project.version}")
}
}
}

View File

@ -1,21 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
}
description = 'OpenTelemetry SDK Testing utilities'
ext.moduleName = 'io.opentelemetry.sdk.testing'
dependencies {
api project(':api:all')
api project(':sdk:all')
api project(':sdk:metrics')
compileOnly "org.assertj:assertj-core"
compileOnly "junit:junit"
compileOnly "org.junit.jupiter:junit-jupiter-api"
testImplementation "junit:junit"
annotationProcessor "com.google.auto.value:auto-value"
}

View File

@ -0,0 +1,21 @@
plugins {
id("java-library")
id("maven-publish")
}
description = "OpenTelemetry SDK Testing utilities"
extra["moduleName"] = "io.opentelemetry.sdk.testing"
dependencies {
api(project(":api:all"))
api(project(":sdk:all"))
api(project(":sdk:metrics"))
compileOnly("org.assertj:assertj-core")
compileOnly("junit:junit")
compileOnly("org.junit.jupiter:junit-jupiter-api")
annotationProcessor("com.google.auto.value:auto-value")
testImplementation("junit:junit")
}

View File

@ -1,69 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry SDK For Tracing'
ext.moduleName = "io.opentelemetry.sdk.trace"
ext.propertiesDir = "build/generated/properties/io/opentelemetry/sdk/trace"
dependencies {
api project(':api:all'),
project(':semconv'),
project(':sdk:common')
implementation project(':api:metrics')
annotationProcessor "com.google.auto.value:auto-value"
testAnnotationProcessor "com.google.auto.value:auto-value"
testImplementation "com.google.guava:guava"
testImplementation project(':sdk:testing')
testImplementation "org.junit-pioneer:junit-pioneer"
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.
transitive = false
}
jmh(project(':exporters:otlp:trace')) {
// The opentelemetry-exporter-otlp-trace depends on this project itself. So don't pull in
// the transitive dependencies.
transitive = false
}
// explicitly adding the opentelemetry-exporter-otlp dependencies
jmh(project(':sdk-extensions:otproto')) { transitive = false }
jmh(project(':proto'))
jmh("io.grpc:grpc-api")
jmh("io.grpc:grpc-netty-shaded")
jmh("org.testcontainers:testcontainers:1.15.1") // testContainer for OTLP collector
jmh "com.google.guava:guava"
}
sourceSets {
main {
output.dir("build/generated/properties", builtBy: 'generateVersionResource')
}
}
animalsniffer {
// Don't check sourceSets.jmh and sourceSets.test
sourceSets = [
sourceSets.main
]
}
task generateVersionResource {
doLast {
def folder = file(propertiesDir)
folder.mkdirs()
def propertiesFile = new File(folder.getAbsolutePath(), "version.properties")
propertiesFile.write("sdk.version=${project.version}")
}
}

View File

@ -0,0 +1,65 @@
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(":semconv"))
api(project(":sdk:common"))
implementation(project(":api:metrics"))
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(":sdk-extensions:otproto")) {
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}")
}
}
}