diff --git a/api/build.gradle b/api/build.gradle.kts similarity index 55% rename from api/build.gradle rename to api/build.gradle.kts index 5b43e6fae6..35ea4e768f 100644 --- a/api/build.gradle +++ b/api/build.gradle.kts @@ -2,6 +2,8 @@ subprojects { // Workaround https://github.com/gradle/gradle/issues/847 group = "io.opentelemetry.api" plugins.withId("java") { - archivesBaseName = "opentelemetry-api-${project.name}" + configure { + archivesBaseName = "opentelemetry-api-${project.name}" + } } } diff --git a/exporters/build.gradle b/exporters/build.gradle.kts similarity index 53% rename from exporters/build.gradle rename to exporters/build.gradle.kts index 513260d56e..b49c068a1a 100644 --- a/exporters/build.gradle +++ b/exporters/build.gradle.kts @@ -2,6 +2,8 @@ subprojects { // https://github.com/gradle/gradle/issues/847 group = "io.opentelemetry.exporters" plugins.withId("java") { - archivesBaseName = "opentelemetry-exporter-${project.name}" + configure { + archivesBaseName = "opentelemetry-exporter-${project.name}" + } } } diff --git a/exporters/jaeger-thrift/build.gradle b/exporters/jaeger-thrift/build.gradle deleted file mode 100644 index 105d129a02..0000000000 --- a/exporters/jaeger-thrift/build.gradle +++ /dev/null @@ -1,23 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry - Jaeger Thrift Exporter' -ext.moduleName = "io.opentelemetry.exporter.jaeger.thrift" - -dependencies { - api project(':sdk:all') - - implementation project(':sdk:all'), - "io.jaegertracing:jaeger-client" - - testImplementation 'com.fasterxml.jackson.core:jackson-databind', - "org.testcontainers:junit-jupiter", - "com.squareup.okhttp3:okhttp", - "com.google.guava:guava-testlib" - - testImplementation project(':sdk:testing') -} diff --git a/exporters/jaeger-thrift/build.gradle.kts b/exporters/jaeger-thrift/build.gradle.kts new file mode 100644 index 0000000000..648c9aa3c2 --- /dev/null +++ b/exporters/jaeger-thrift/build.gradle.kts @@ -0,0 +1,24 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry - Jaeger Thrift Exporter" +extra["moduleName"] = "io.opentelemetry.exporter.jaeger.thrift" + +dependencies { + api(project(":sdk:all")) + + implementation(project(":sdk:all")) + + implementation("io.jaegertracing:jaeger-client") + + testImplementation("com.fasterxml.jackson.core:jackson-databind") + testImplementation("org.testcontainers:junit-jupiter") + testImplementation("com.squareup.okhttp3:okhttp") + testImplementation("com.google.guava:guava-testlib") + + testImplementation(project(":sdk:testing")) +} diff --git a/exporters/jaeger/build.gradle b/exporters/jaeger/build.gradle deleted file mode 100644 index 058169e811..0000000000 --- a/exporters/jaeger/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "com.google.protobuf" - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry - Jaeger Exporter' -ext.moduleName = "io.opentelemetry.exporter.jaeger" - -dependencies { - api project(':sdk:all'), - "io.grpc:grpc-api" - - implementation project(':sdk-extensions:otproto'), - project(':sdk:all'), - project(':semconv'), - "io.grpc:grpc-protobuf", - "io.grpc:grpc-stub", - "com.google.protobuf:protobuf-java", - "com.google.protobuf:protobuf-java-util" - - testImplementation "io.grpc:grpc-testing", - 'com.fasterxml.jackson.core:jackson-databind', - "org.testcontainers:junit-jupiter", - "com.squareup.okhttp3:okhttp" - - testImplementation project(':sdk:testing') - - testRuntimeOnly "io.grpc:grpc-netty-shaded" -} - -// IntelliJ complains that the generated classes are not found, ask IntelliJ to include the -// generated Java directories as source folders. -idea { - module { - sourceDirs += file("build/generated/source/proto/main/java") - // If you have additional sourceSets and/or codegen plugins, add all of them - } -} diff --git a/exporters/jaeger/build.gradle.kts b/exporters/jaeger/build.gradle.kts new file mode 100644 index 0000000000..6e21b7951f --- /dev/null +++ b/exporters/jaeger/build.gradle.kts @@ -0,0 +1,42 @@ +plugins { + `java-library` + `maven-publish` + + id("com.google.protobuf") + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry - Jaeger Exporter" +extra["moduleName"] = "io.opentelemetry.exporter.jaeger" + +dependencies { + api(project(":sdk:all")) + api("io.grpc:grpc-api") + + implementation(project(":sdk-extensions:otproto")) + implementation(project(":sdk:all")) + implementation(project(":semconv")) + + implementation("io.grpc:grpc-protobuf") + implementation("io.grpc:grpc-stub") + implementation("com.google.protobuf:protobuf-java") + implementation("com.google.protobuf:protobuf-java-util") + + testImplementation("io.grpc:grpc-testing") + testImplementation("com.fasterxml.jackson.core:jackson-databind") + testImplementation("org.testcontainers:junit-jupiter") + testImplementation("com.squareup.okhttp3:okhttp") + + testImplementation(project(":sdk:testing")) + + testRuntimeOnly("io.grpc:grpc-netty-shaded") +} + +// IntelliJ complains that the generated classes are not found, ask IntelliJ to include the +// generated Java directories as source folders. +idea { + module { + sourceDirs.add(file("build/generated/source/proto/main/java")) + // If you have additional sourceSets and/or codegen plugins, add all of them + } +} diff --git a/exporters/logging-otlp/build.gradle b/exporters/logging-otlp/build.gradle deleted file mode 100644 index 5fa44db9e8..0000000000 --- a/exporters/logging-otlp/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry Protocol JSON Logging Exporters' -ext.moduleName = "io.opentelemetry.exporter.logging.otlp" - -dependencies { - compileOnly project(':sdk:trace') - compileOnly project(':sdk:metrics') - - implementation project(':sdk-extensions:otproto'), - 'org.curioswitch.curiostack:protobuf-jackson' - - testImplementation project(':sdk:testing'), - 'org.skyscreamer:jsonassert' -} diff --git a/exporters/logging-otlp/build.gradle.kts b/exporters/logging-otlp/build.gradle.kts new file mode 100644 index 0000000000..4c673674f0 --- /dev/null +++ b/exporters/logging-otlp/build.gradle.kts @@ -0,0 +1,22 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Protocol JSON Logging Exporters" +extra["moduleName"] = "io.opentelemetry.exporter.logging.otlp" + +dependencies { + compileOnly(project(":sdk:trace")) + compileOnly(project(":sdk:metrics")) + + implementation(project(":sdk-extensions:otproto")) + + implementation("org.curioswitch.curiostack:protobuf-jackson") + + testImplementation(project(":sdk:testing")) + + testImplementation("org.skyscreamer:jsonassert") +} diff --git a/exporters/logging/build.gradle b/exporters/logging/build.gradle deleted file mode 100644 index 69916fe564..0000000000 --- a/exporters/logging/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry - Logging Exporter' -ext.moduleName = "io.opentelemetry.exporter.logging" - -dependencies { - api project(':sdk:all') - api project(':sdk:metrics') - - testImplementation project(':sdk:testing') -} diff --git a/exporters/logging/build.gradle.kts b/exporters/logging/build.gradle.kts new file mode 100644 index 0000000000..e71810b987 --- /dev/null +++ b/exporters/logging/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry - Logging Exporter" +extra["moduleName"] = "io.opentelemetry.exporter.logging" + +dependencies { + api(project(":sdk:all")) + api(project(":sdk:metrics")) + + testImplementation(project(":sdk:testing")) +} diff --git a/exporters/otlp/all/build.gradle b/exporters/otlp/all/build.gradle deleted file mode 100644 index a976f405c3..0000000000 --- a/exporters/otlp/all/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "me.champeau.gradle.jmh" - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry Protocol Exporters' -ext.moduleName = "io.opentelemetry.exporter.otlp" -archivesBaseName = "opentelemetry-exporter-otlp" - -dependencies { - api project(':exporters:otlp:trace') -} diff --git a/exporters/otlp/all/build.gradle.kts b/exporters/otlp/all/build.gradle.kts new file mode 100644 index 0000000000..ff6fb865c8 --- /dev/null +++ b/exporters/otlp/all/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + `java-library` + `maven-publish` + + id("me.champeau.gradle.jmh") + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Protocol Exporters" +extra["moduleName"] = "io.opentelemetry.exporter.otlp" +base.archivesBaseName = "opentelemetry-exporter-otlp" + +dependencies { + api(project(":exporters:otlp:trace")) +} diff --git a/exporters/otlp/build.gradle b/exporters/otlp/build.gradle deleted file mode 100644 index 9c2c2138b1..0000000000 --- a/exporters/otlp/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -subprojects { - plugins.withId("java") { - archivesBaseName = "opentelemetry-exporter-otlp-${project.name}" - } -} diff --git a/exporters/otlp/build.gradle.kts b/exporters/otlp/build.gradle.kts new file mode 100644 index 0000000000..11be44a2dc --- /dev/null +++ b/exporters/otlp/build.gradle.kts @@ -0,0 +1,7 @@ +subprojects { + plugins.withId("java") { + configure { + archivesBaseName = "opentelemetry-exporter-otlp-${project.name}" + } + } +} diff --git a/exporters/otlp/metrics/build.gradle b/exporters/otlp/metrics/build.gradle deleted file mode 100644 index b69ee37091..0000000000 --- a/exporters/otlp/metrics/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry Protocol Metrics Exporter' -ext.moduleName = "io.opentelemetry.exporter.otlp.metrics" - -dependencies { - api project(':sdk:metrics') - - implementation project(':sdk-extensions:otproto'), - "io.grpc:grpc-api", - "io.grpc:grpc-protobuf", - "io.grpc:grpc-stub", - "com.google.protobuf:protobuf-java" - - testImplementation project(':sdk:testing') - - testImplementation "io.grpc:grpc-testing" - testRuntimeOnly "io.grpc:grpc-netty-shaded" -} diff --git a/exporters/otlp/metrics/build.gradle.kts b/exporters/otlp/metrics/build.gradle.kts new file mode 100644 index 0000000000..158160ca7a --- /dev/null +++ b/exporters/otlp/metrics/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Protocol Metrics Exporter" +extra["moduleName"] = "io.opentelemetry.exporter.otlp.metrics" + +dependencies { + api(project(":sdk:metrics")) + + implementation(project(":sdk-extensions:otproto")) + + implementation("io.grpc:grpc-api") + implementation("io.grpc:grpc-protobuf") + implementation("io.grpc:grpc-stub") + implementation("com.google.protobuf:protobuf-java") + + testImplementation(project(":sdk:testing")) + + testImplementation("io.grpc:grpc-testing") + testRuntimeOnly("io.grpc:grpc-netty-shaded") +} diff --git a/exporters/otlp/trace/build.gradle b/exporters/otlp/trace/build.gradle deleted file mode 100644 index 62d9c967dc..0000000000 --- a/exporters/otlp/trace/build.gradle +++ /dev/null @@ -1,55 +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 Protocol Trace Exporter' -ext.moduleName = "io.opentelemetry.exporter.otlp.trace" - -testSets { - testGrpcNetty - testGrpcNettyShaded - testGrpcOkhttp -} - -dependencies { - api project(':sdk:trace') - - compileOnly "io.grpc:grpc-netty" - compileOnly "io.grpc:grpc-netty-shaded" - - implementation project(':sdk-extensions:otproto'), - "io.grpc:grpc-api", - "io.grpc:grpc-protobuf", - "io.grpc:grpc-stub", - "com.google.protobuf:protobuf-java" - - testImplementation project(':sdk:testing'), - "io.grpc:grpc-testing" - - testGrpcNettyImplementation 'com.linecorp.armeria:armeria-grpc', - 'com.linecorp.armeria:armeria-junit5' - - testGrpcNettyShadedImplementation 'com.linecorp.armeria:armeria-grpc', - 'com.linecorp.armeria:armeria-junit5' - - testGrpcOkhttpImplementation 'com.linecorp.armeria:armeria-grpc', - 'com.linecorp.armeria:armeria-junit5' - - testGrpcNettyRuntimeOnly "io.grpc:grpc-netty", - "org.slf4j:slf4j-simple" - - testGrpcNettyShadedRuntimeOnly "io.grpc:grpc-netty-shaded", - "org.slf4j:slf4j-simple" - - testGrpcOkhttpRuntimeOnly "io.grpc:grpc-okhttp", - "org.slf4j:slf4j-simple" - - jmh project(':sdk:testing') -} - -check.dependsOn(testGrpcNetty, testGrpcNettyShaded, testGrpcOkhttp) \ No newline at end of file diff --git a/exporters/otlp/trace/build.gradle.kts b/exporters/otlp/trace/build.gradle.kts new file mode 100644 index 0000000000..0b12706cb6 --- /dev/null +++ b/exporters/otlp/trace/build.gradle.kts @@ -0,0 +1,58 @@ +plugins { + `java-library` + `maven-publish` + + id("me.champeau.gradle.jmh") + id("org.unbroken-dome.test-sets") + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Protocol Trace Exporter" +extra["moduleName"] = "io.opentelemetry.exporter.otlp.trace" + +testSets { + create("testGrpcNetty") + create("testGrpcNettyShaded") + create("testGrpcOkhttp") +} + +dependencies { + api(project(":sdk:trace")) + + compileOnly("io.grpc:grpc-netty") + compileOnly("io.grpc:grpc-netty-shaded") + + implementation(project(":sdk-extensions:otproto")) + implementation("io.grpc:grpc-api") + implementation("io.grpc:grpc-protobuf") + implementation("io.grpc:grpc-stub") + implementation("com.google.protobuf:protobuf-java") + + testImplementation(project(":sdk:testing")) + + testImplementation("io.grpc:grpc-testing") + testImplementation("org.slf4j:slf4j-simple") + + add("testGrpcNettyImplementation", "com.linecorp.armeria:armeria-grpc") + add("testGrpcNettyImplementation", "com.linecorp.armeria:armeria-junit5") + + add("testGrpcNettyShadedImplementation", "com.linecorp.armeria:armeria-grpc") + add("testGrpcNettyShadedImplementation", "com.linecorp.armeria:armeria-junit5") + + add("testGrpcOkhttpImplementation", "com.linecorp.armeria:armeria-grpc") + add("testGrpcOkhttpImplementation", "com.linecorp.armeria:armeria-junit5") + + add("testGrpcNettyRuntimeOnly", "io.grpc:grpc-netty") + + add("testGrpcNettyShadedRuntimeOnly", "io.grpc:grpc-netty-shaded") + + add("testGrpcOkhttpRuntimeOnly", "io.grpc:grpc-okhttp") + + jmh(project(":sdk:testing")) +} + +tasks { + named("check") { + dependsOn("testGrpcNetty", "testGrpcNettyShaded", "testGrpcOkhttp") + } +} diff --git a/exporters/prometheus/build.gradle b/exporters/prometheus/build.gradle deleted file mode 100644 index 43702e6d0f..0000000000 --- a/exporters/prometheus/build.gradle +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry Prometheus Exporter' -ext.moduleName = "io.opentelemetry.exporter.prometheus" - -dependencies { - api project(':sdk:metrics'), - "io.prometheus:simpleclient" - - testImplementation "io.prometheus:simpleclient_common", - "com.google.guava:guava" -} diff --git a/exporters/prometheus/build.gradle.kts b/exporters/prometheus/build.gradle.kts new file mode 100644 index 0000000000..05b37af494 --- /dev/null +++ b/exporters/prometheus/build.gradle.kts @@ -0,0 +1,18 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Prometheus Exporter" +extra["moduleName"] = "io.opentelemetry.exporter.prometheus" + +dependencies { + api(project(":sdk:metrics")) + + api("io.prometheus:simpleclient") + + testImplementation("io.prometheus:simpleclient_common") + testImplementation("com.google.guava:guava") +} diff --git a/exporters/zipkin/build.gradle b/exporters/zipkin/build.gradle deleted file mode 100644 index 4735c21968..0000000000 --- a/exporters/zipkin/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry - Zipkin Exporter' -ext.moduleName = "io.opentelemetry.exporter.zipkin" - -dependencies { - compileOnly "com.google.auto.value:auto-value" - - api project(':sdk:all') - - api "io.zipkin.reporter2:zipkin-reporter" - - annotationProcessor "com.google.auto.value:auto-value" - - implementation "io.zipkin.reporter2:zipkin-sender-okhttp3" - - testImplementation project(':sdk:testing') - testImplementation "io.zipkin.zipkin2:zipkin-junit" -} diff --git a/exporters/zipkin/build.gradle.kts b/exporters/zipkin/build.gradle.kts new file mode 100644 index 0000000000..762421db80 --- /dev/null +++ b/exporters/zipkin/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry - Zipkin Exporter" +extra["moduleName"] = "io.opentelemetry.exporter.zipkin" + +dependencies { + compileOnly("com.google.auto.value:auto-value") + + api(project(":sdk:all")) + + api("io.zipkin.reporter2:zipkin-reporter") + + annotationProcessor("com.google.auto.value:auto-value") + + implementation("io.zipkin.reporter2:zipkin-sender-okhttp3") + + testImplementation(project(":sdk:testing")) + + testImplementation("io.zipkin.zipkin2:zipkin-junit") +} diff --git a/extensions/annotations/build.gradle b/extensions/annotations/build.gradle deleted file mode 100644 index 0aa7126a8b..0000000000 --- a/extensions/annotations/build.gradle +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry Extension Annotations' -ext.moduleName = "io.opentelemetry.extension.annotations" - -dependencies { - api project(':api:all') -} diff --git a/extensions/annotations/build.gradle.kts b/extensions/annotations/build.gradle.kts new file mode 100644 index 0000000000..33e3551bae --- /dev/null +++ b/extensions/annotations/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Extension Annotations" +extra["moduleName"] = "io.opentelemetry.extension.annotations" + +dependencies { + api(project(":api:all")) +} diff --git a/extensions/aws/build.gradle b/extensions/aws/build.gradle deleted file mode 100644 index 655db0b5bb..0000000000 --- a/extensions/aws/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry API Extensions for AWS' -ext.moduleName = "io.opentelemetry.extension.aws" - -dependencies { - api project(':api:all') - compileOnly project(':sdk-extensions:autoconfigure') -} diff --git a/extensions/aws/build.gradle.kts b/extensions/aws/build.gradle.kts new file mode 100644 index 0000000000..2258c0b9df --- /dev/null +++ b/extensions/aws/build.gradle.kts @@ -0,0 +1,14 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry API Extensions for AWS" +extra["moduleName"] = "io.opentelemetry.extension.aws" + +dependencies { + api(project(":api:all")) + compileOnly(project(":sdk-extensions:autoconfigure")) +} diff --git a/extensions/build.gradle b/extensions/build.gradle deleted file mode 100644 index 9bf2feb890..0000000000 --- a/extensions/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -subprojects { - plugins.withId("java") { - archivesBaseName = "opentelemetry-extension-${project.name}" - } -} diff --git a/extensions/build.gradle.kts b/extensions/build.gradle.kts new file mode 100644 index 0000000000..64b27f4050 --- /dev/null +++ b/extensions/build.gradle.kts @@ -0,0 +1,7 @@ +subprojects { + plugins.withId("java") { + configure { + archivesBaseName = "opentelemetry-extension-${project.name}" + } + } +} diff --git a/extensions/kotlin/build.gradle b/extensions/kotlin/build.gradle deleted file mode 100644 index e2ade939b1..0000000000 --- a/extensions/kotlin/build.gradle +++ /dev/null @@ -1,42 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "me.champeau.gradle.jmh" - id "org.jetbrains.kotlin.jvm" - id "org.unbroken-dome.test-sets" - id "ru.vyarus.animalsniffer" -} - -description = "OpenTelemetry Kotlin Extensions" -ext.moduleName = "io.opentelemetry.extension.kotlin" - -testSets { - testStrictContext -} - -dependencies { - implementation(platform("org.jetbrains.kotlin:kotlin-bom")) - - api project(':api:all') - - compileOnly("org.jetbrains.kotlin:kotlin-stdlib-common") - compileOnly("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2") - - testImplementation project(':sdk:testing') - testImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") - testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2") -} - -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { - kotlinOptions { - jvmTarget = "1.8" - } -} - -// We don't have any public Java classes -tasks.javadoc.enabled = false - -testStrictContext { - jvmArgs("-Dio.opentelemetry.context.enableStrictContext=true") -} \ No newline at end of file diff --git a/extensions/kotlin/build.gradle.kts b/extensions/kotlin/build.gradle.kts new file mode 100644 index 0000000000..8c45acee76 --- /dev/null +++ b/extensions/kotlin/build.gradle.kts @@ -0,0 +1,48 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + `java-library` + `maven-publish` + + id("me.champeau.gradle.jmh") + id("org.jetbrains.kotlin.jvm") + id("org.unbroken-dome.test-sets") + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Kotlin Extensions" +extra["moduleName"] = "io.opentelemetry.extension.kotlin" + +testSets { + create("testStrictContext") +} + +dependencies { + implementation(platform("org.jetbrains.kotlin:kotlin-bom")) + + api(project(":api:all")) + + compileOnly("org.jetbrains.kotlin:kotlin-stdlib-common") + compileOnly("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2") + + testImplementation(project(":sdk:testing")) + testImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2") +} + +tasks { + withType(KotlinCompile::class) { + kotlinOptions { + jvmTarget = "1.8" + } + } + + // We don't have any public Java classes + named("javadoc") { + enabled = false + } + + named("testStrictContext") { + jvmArgs("-Dio.opentelemetry.context.enableStrictContext=true") + } +} diff --git a/extensions/trace-propagators/build.gradle b/extensions/trace-propagators/build.gradle deleted file mode 100644 index de94732a45..0000000000 --- a/extensions/trace-propagators/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" - id "me.champeau.gradle.jmh" -} - -description = 'OpenTelemetry Extension : Trace Propagators' -ext.moduleName = "io.opentelemetry.extension.trace.propagation" - -dependencies { - api project(':api:all') - - testImplementation "io.jaegertracing:jaeger-client", - "com.google.guava:guava" - - jmhImplementation project(":extensions:aws") -} diff --git a/extensions/trace-propagators/build.gradle.kts b/extensions/trace-propagators/build.gradle.kts new file mode 100644 index 0000000000..997cb6281e --- /dev/null +++ b/extensions/trace-propagators/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") + id("me.champeau.gradle.jmh") +} + +description = "OpenTelemetry Extension : Trace Propagators" +extra["moduleName"] = "io.opentelemetry.extension.trace.propagation" + +dependencies { + api(project(":api:all")) + + testImplementation("io.jaegertracing:jaeger-client") + testImplementation("com.google.guava:guava") + + jmhImplementation(project(":extensions:aws")) +} diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle deleted file mode 100644 index 4d9be371ef..0000000000 --- a/integration-tests/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -plugins { - id "java" -} - -description = 'OpenTelemetry Integration Tests' -ext.moduleName = "io.opentelemetry.integration.tests" - -dependencies { - implementation project(':sdk:all'), - project(':exporters:jaeger'), - "io.grpc:grpc-protobuf", - "com.google.protobuf:protobuf-java", - "io.grpc:grpc-netty-shaded" - - testImplementation 'com.fasterxml.jackson.core:jackson-databind', - "org.testcontainers:junit-jupiter", - "com.squareup.okhttp3:okhttp" - -} - diff --git a/integration-tests/build.gradle.kts b/integration-tests/build.gradle.kts new file mode 100644 index 0000000000..a8868bba3c --- /dev/null +++ b/integration-tests/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + java +} + +description = "OpenTelemetry Integration Tests" +extra["moduleName"] = "io.opentelemetry.integration.tests" + +dependencies { + implementation(project(":sdk:all")) + implementation(project(":exporters:jaeger")) + + implementation("io.grpc:grpc-protobuf") + implementation("com.google.protobuf:protobuf-java") + implementation("io.grpc:grpc-netty-shaded") + + testImplementation("com.fasterxml.jackson.core:jackson-databind") + testImplementation("org.testcontainers:junit-jupiter") + testImplementation("com.squareup.okhttp3:okhttp") +} diff --git a/integration-tests/tracecontext/build.gradle b/integration-tests/tracecontext/build.gradle deleted file mode 100644 index 58577477a1..0000000000 --- a/integration-tests/tracecontext/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'java' - - id "com.github.johnrengelman.shadow" -} - -description = 'OpenTelemetry W3C Context Propagation Integration Tests' -ext.moduleName = "io.opentelemetry.tracecontext.integration.tests" - -shadowJar { - archiveFileName = 'tracecontext-tests.jar' - - manifest { - attributes 'Main-Class': 'io.opentelemetry.Application' - } -} - -dependencies { - implementation project(':sdk:all'), - project(':extensions:trace-propagators'), - "com.squareup.okhttp3:okhttp", - "org.slf4j:slf4j-simple", - "com.sparkjava:spark-core", - "com.google.code.gson:gson" -} - diff --git a/integration-tests/tracecontext/build.gradle.kts b/integration-tests/tracecontext/build.gradle.kts new file mode 100644 index 0000000000..2ee37ac285 --- /dev/null +++ b/integration-tests/tracecontext/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + java + + id("com.github.johnrengelman.shadow") +} + +description = "OpenTelemetry W3C Context Propagation Integration Tests" +extra["moduleName"] = "io.opentelemetry.tracecontext.integration.tests" + +dependencies { + implementation(project(":sdk:all")) + implementation(project(":extensions:trace-propagators")) + + implementation("com.squareup.okhttp3:okhttp") + implementation("org.slf4j:slf4j-simple") + implementation("com.sparkjava:spark-core") + implementation("com.google.code.gson:gson") +} + +tasks { + val shadowJar by existing(Jar::class) { + archiveFileName.set("tracecontext-tests.jar") + + manifest { + attributes("Main-Class" to "io.opentelemetry.Application") + } + } +} diff --git a/opencensus-shim/build.gradle b/opencensus-shim/build.gradle deleted file mode 100644 index 4918cd35ce..0000000000 --- a/opencensus-shim/build.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" -} - -description = 'OpenTelemetry OpenCensus Shim' -ext.moduleName = "io.opentelemetry.opencensusshim" - -dependencies { - api project(':api:all'), - project(':extensions:trace-propagators'), - project(':sdk:all'), - project(':sdk:metrics'), - "io.opencensus:opencensus-api", - "io.opencensus:opencensus-impl-core", - "io.opencensus:opencensus-exporter-metrics-util" - - testImplementation project(':sdk:all'), - "org.slf4j:slf4j-simple", - "io.opencensus:opencensus-impl" -} diff --git a/opencensus-shim/build.gradle.kts b/opencensus-shim/build.gradle.kts new file mode 100644 index 0000000000..1716b45c2e --- /dev/null +++ b/opencensus-shim/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + `java-library` + `maven-publish` +} + +description = "OpenTelemetry OpenCensus Shim" +extra["moduleName"] = "io.opentelemetry.opencensusshim" + +dependencies { + api(project(":api:all")) + api(project(":extensions:trace-propagators")) + api(project(":sdk:all")) + api(project(":sdk:metrics")) + + api("io.opencensus:opencensus-api") + api("io.opencensus:opencensus-impl-core") + api("io.opencensus:opencensus-exporter-metrics-util") + + testImplementation(project(":sdk:all")) + + testImplementation("org.slf4j:slf4j-simple") + testImplementation("io.opencensus:opencensus-impl") +} diff --git a/opentracing-shim/build.gradle b/opentracing-shim/build.gradle deleted file mode 100644 index f1fb2c9f6d..0000000000 --- a/opentracing-shim/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" -} - -description = 'OpenTelemetry OpenTracing Bridge' -ext.moduleName = "io.opentelemetry.opentracingshim" - -dependencies { - api project(':api:all'), - "io.opentracing:opentracing-api" - - testImplementation project(':sdk:testing'), - "org.slf4j:slf4j-simple" -} -test { - testLogging.showStandardStreams = true -} diff --git a/opentracing-shim/build.gradle.kts b/opentracing-shim/build.gradle.kts new file mode 100644 index 0000000000..065ba0e16b --- /dev/null +++ b/opentracing-shim/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + `java-library` + `maven-publish` +} + +description = "OpenTelemetry OpenTracing Bridge" +extra["moduleName"] = "io.opentelemetry.opentracingshim" + +dependencies { + api(project(":api:all")) + + api("io.opentracing:opentracing-api") + + testImplementation(project(":sdk:testing")) + + testImplementation("org.slf4j:slf4j-simple") +} + +tasks { + withType(Test::class) { + testLogging { + showStandardStreams = true + } + } +} diff --git a/perf-harness/build.gradle b/perf-harness/build.gradle deleted file mode 100644 index abb9430b91..0000000000 --- a/perf-harness/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -plugins { - id 'java' -} - -description = 'Performance Testing Harness' -ext.moduleName = "io.opentelemetry.perf-harness" - -dependencies { - compile project(':api:all'), - project(":sdk:all"), - project(":sdk:testing"), - project(":exporters:otlp:trace"), - project(":exporters:logging") - - compile("io.grpc:grpc-netty-shaded") - compile("eu.rekawek.toxiproxy:toxiproxy-java") - - implementation "org.testcontainers:junit-jupiter" -} diff --git a/perf-harness/build.gradle.kts b/perf-harness/build.gradle.kts new file mode 100644 index 0000000000..8b1b7d068f --- /dev/null +++ b/perf-harness/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + java +} + +description = "Performance Testing Harness" +extra["moduleName"] = "io.opentelemetry.perf-harness" + +dependencies { + implementation(project(":api:all")) + implementation(project(":sdk:all")) + implementation(project(":sdk:testing")) + implementation(project(":exporters:otlp:trace")) + implementation(project(":exporters:logging")) + + implementation("eu.rekawek.toxiproxy:toxiproxy-java") + implementation("org.testcontainers:junit-jupiter") + + runtimeOnly("io.grpc:grpc-netty-shaded") +} diff --git a/sdk-extensions/build.gradle b/sdk-extensions/build.gradle deleted file mode 100644 index 8bc4b45ed3..0000000000 --- a/sdk-extensions/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -subprojects { - plugins.withId("java") { - archivesBaseName = "opentelemetry-sdk-extension-${project.name}" - } -} diff --git a/sdk-extensions/build.gradle.kts b/sdk-extensions/build.gradle.kts new file mode 100644 index 0000000000..a4ed245ecd --- /dev/null +++ b/sdk-extensions/build.gradle.kts @@ -0,0 +1,7 @@ +subprojects { + plugins.withId("java") { + configure { + archivesBaseName = "opentelemetry-sdk-extension-${project.name}" + } + } +} diff --git a/sdk/build.gradle b/sdk/build.gradle.kts similarity index 55% rename from sdk/build.gradle rename to sdk/build.gradle.kts index f4ee4ee810..c51069a921 100644 --- a/sdk/build.gradle +++ b/sdk/build.gradle.kts @@ -2,6 +2,8 @@ subprojects { // Workaround https://github.com/gradle/gradle/issues/847 group = "io.opentelemetry.sdk" plugins.withId("java") { - archivesBaseName = "opentelemetry-sdk-${project.name}" + configure { + archivesBaseName = "opentelemetry-sdk-${project.name}" + } } } diff --git a/semconv/build.gradle b/semconv/build.gradle deleted file mode 100644 index bf5b8364a5..0000000000 --- a/semconv/build.gradle +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id "java-library" - id "maven-publish" - - id "ru.vyarus.animalsniffer" -} - -description = 'OpenTelemetry Semantic Conventions' -ext.moduleName = "io.opentelemetry.semconv" - -dependencies { - api project(':api:all') -} diff --git a/semconv/build.gradle.kts b/semconv/build.gradle.kts new file mode 100644 index 0000000000..9c99086a53 --- /dev/null +++ b/semconv/build.gradle.kts @@ -0,0 +1,13 @@ +plugins { + `java-library` + `maven-publish` + + id("ru.vyarus.animalsniffer") +} + +description = "OpenTelemetry Semantic Conventions" +extra["moduleName"] = "io.opentelemetry.semconv" + +dependencies { + api(project(":api:all")) +} diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 9b1b3595b7..0000000000 --- a/settings.gradle +++ /dev/null @@ -1,92 +0,0 @@ -pluginManagement { - plugins { - id "com.diffplug.spotless" version "5.9.0" - id "com.github.ben-manes.versions" version "0.36.0" - id "com.github.johnrengelman.shadow" version "6.1.0" - id "com.google.protobuf" version "0.8.14" - id "de.marcphilipp.nexus-publish" version "0.4.0" - id "de.undercouch.download" version "4.1.1" - id "io.codearte.nexus-staging" version "0.22.0" - id "io.morethan.jmhreport" version "0.9.0" - id "me.champeau.gradle.jmh" version "0.5.2" - id "nebula.release" version "15.3.0" - id "net.ltgt.errorprone" version "1.3.0" - id "org.jetbrains.kotlin.jvm" version "1.4.21" - id "org.unbroken-dome.test-sets" version "3.0.1" - id "ru.vyarus.animalsniffer" version "1.5.2" - } - - repositories { - gradlePluginPortal() - google() - } -} - -plugins { - id "com.gradle.enterprise" version "3.5" -} - -dependencyResolutionManagement { - repositories { - mavenCentral() - jcenter() - mavenLocal() - } -} - -rootProject.name = "opentelemetry-java" -include ":all", - ":api:all", - ":api:context", - ":api:metrics", - ":semconv", - ":bom", - ":bom-alpha", - ":dependencyManagement", - ":extensions:annotations", - ":extensions:aws", - ":extensions:kotlin", - ":extensions:trace-propagators", - ":exporters:jaeger", - ":exporters:jaeger-thrift", - ":exporters:logging", - ":exporters:logging-otlp", - ":exporters:otlp:all", - ":exporters:otlp:metrics", - ":exporters:otlp:trace", - ":exporters:prometheus", - ":exporters:zipkin", - ":integration-tests", - ":integration-tests:tracecontext", - ":opencensus-shim", - ":opentracing-shim", - ":perf-harness", - ":proto", - ":sdk:all", - ":sdk:common", - ":sdk:metrics", - ":sdk:testing", - ":sdk:trace", - ":sdk-extensions:async-processor", - ":sdk-extensions:autoconfigure", - ":sdk-extensions:aws", - ":sdk-extensions:logging", - ":sdk-extensions:otproto", - ":sdk-extensions:resources", - ":sdk-extensions:tracing-incubator", - ":sdk-extensions:jaeger-remote-sampler", - ":sdk-extensions:jfr-events", - ":sdk-extensions:zpages" - -def isCI = System.getenv("CI") != null -gradleEnterprise { - buildScan { - termsOfServiceUrl = 'https://gradle.com/terms-of-service' - termsOfServiceAgree = 'yes' - - if (isCI) { - publishAlways() - tag 'CI' - } - } -} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000000..864e7fbdad --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,92 @@ +pluginManagement { + plugins { + id("com.diffplug.spotless") version "5.9.0" + id("com.github.ben-manes.versions") version "0.36.0" + id("com.github.johnrengelman.shadow") version "6.1.0" + id("com.google.protobuf") version "0.8.14" + id("de.marcphilipp.nexus-publish") version "0.4.0" + id("de.undercouch.download") version "4.1.1" + id("io.codearte.nexus-staging") version "0.22.0" + id("io.morethan.jmhreport") version "0.9.0" + id("me.champeau.gradle.jmh") version "0.5.2" + id("nebula.release") version "15.3.0" + id("net.ltgt.errorprone") version "1.3.0" + id("org.jetbrains.kotlin.jvm") version "1.4.21" + id("org.unbroken-dome.test-sets") version "3.0.1" + id("ru.vyarus.animalsniffer") version "1.5.2" + } + + repositories { + gradlePluginPortal() + google() + } +} + +plugins { + id("com.gradle.enterprise") version "3.5" +} + +dependencyResolutionManagement { + repositories { + mavenCentral() + jcenter() + mavenLocal() + } +} + +rootProject.name = "opentelemetry-java" +include(":all") +include(":api:all") +include(":api:context") +include(":api:metrics") +include(":semconv") +include(":bom") +include(":bom-alpha") +include(":dependencyManagement") +include(":extensions:annotations") +include(":extensions:aws") +include(":extensions:kotlin") +include(":extensions:trace-propagators") +include(":exporters:jaeger") +include(":exporters:jaeger-thrift") +include(":exporters:logging") +include(":exporters:logging-otlp") +include(":exporters:otlp:all") +include(":exporters:otlp:metrics") +include(":exporters:otlp:trace") +include(":exporters:prometheus") +include(":exporters:zipkin") +include(":integration-tests") +include(":integration-tests:tracecontext") +include(":opencensus-shim") +include(":opentracing-shim") +include(":perf-harness") +include(":proto") +include(":sdk:all") +include(":sdk:common") +include(":sdk:metrics") +include(":sdk:testing") +include(":sdk:trace") +include(":sdk-extensions:async-processor") +include(":sdk-extensions:autoconfigure") +include(":sdk-extensions:aws") +include(":sdk-extensions:logging") +include(":sdk-extensions:otproto") +include(":sdk-extensions:resources") +include(":sdk-extensions:tracing-incubator") +include(":sdk-extensions:jaeger-remote-sampler") +include(":sdk-extensions:jfr-events") +include(":sdk-extensions:zpages") + +val isCI = System.getenv("CI") != null +gradleEnterprise { + buildScan { + termsOfServiceUrl = "https://gradle.com/terms-of-service" + termsOfServiceAgree = "yes" + + if (isCI) { + publishAlways() + tag("CI") + } + } +}