Migrate sdk-extensions to kts. (#2814)

This commit is contained in:
Anuraag Agrawal 2021-02-15 12:21:10 +09:00 committed by GitHub
parent 61ef25befe
commit e4886283a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 312 additions and 342 deletions

View File

@ -1,17 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry SDK Extension: Async SpanProcessor'
ext.moduleName = "io.opentelemetry.sdk.extension.trace.export"
dependencies {
api project(':api:all'),
project(':sdk:all')
implementation "com.google.guava:guava",
"com.lmax:disruptor"
}

View File

@ -0,0 +1,17 @@
plugins {
`java-library`
`maven-publish`
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry SDK Extension: Async SpanProcessor"
extra["moduleName"] = "io.opentelemetry.sdk.extension.trace.export"
dependencies {
api(project(":api:all"))
api(project(":sdk:all"))
implementation("com.google.guava:guava")
implementation("com.lmax:disruptor")
}

View File

@ -1,104 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "org.unbroken-dome.test-sets"
}
description = 'OpenTelemetry SDK Auto-configuration'
ext.moduleName = "io.opentelemetry.sdk.autoconfigure"
testSets {
testConfigError
testFullConfig
testInitializeRegistersGlobal
testJaeger
testPrometheus
testOtlpTls
testZipkin
}
dependencies {
api project(':sdk:all'),
project(':sdk:metrics')
compileOnly project(':extensions:trace-propagators')
compileOnly project(':exporters:jaeger')
compileOnly project(':exporters:logging')
compileOnly project(':exporters:otlp:all')
compileOnly project(':exporters:otlp:metrics')
compileOnly project(':exporters:prometheus')
compileOnly "io.prometheus:simpleclient_httpserver"
compileOnly project(':exporters:zipkin')
testImplementation project(':proto'),
project(':sdk:testing'),
'com.linecorp.armeria:armeria-junit5',
'com.linecorp.armeria:armeria-grpc'
testRuntimeOnly 'io.grpc:grpc-netty-shaded'
testRuntimeOnly "org.slf4j:slf4j-simple"
testFullConfigImplementation project(':extensions:aws')
testFullConfigImplementation project(':extensions:trace-propagators')
testFullConfigImplementation project(':exporters:jaeger')
testFullConfigImplementation project(':exporters:logging')
testFullConfigImplementation project(':exporters:otlp:all')
testFullConfigImplementation project(':exporters:otlp:metrics')
testFullConfigImplementation project(':exporters:prometheus')
testFullConfigImplementation "io.prometheus:simpleclient_httpserver"
testFullConfigImplementation project(':exporters:zipkin')
testOtlpTlsImplementation project(':exporters:otlp:all')
testJaegerImplementation project(':exporters:jaeger')
testZipkinImplementation project(':exporters:zipkin')
testConfigErrorImplementation project(':extensions:trace-propagators')
testConfigErrorImplementation project(':exporters:jaeger')
testConfigErrorImplementation project(':exporters:logging')
testConfigErrorImplementation project(':exporters:otlp:all')
testConfigErrorImplementation project(':exporters:otlp:metrics')
testConfigErrorImplementation project(':exporters:prometheus')
testConfigErrorImplementation "io.prometheus:simpleclient_httpserver"
testConfigErrorImplementation project(':exporters:zipkin')
testConfigErrorImplementation "org.junit-pioneer:junit-pioneer"
testPrometheusImplementation project(':exporters:prometheus')
testPrometheusImplementation "io.prometheus:simpleclient_httpserver"
}
testFullConfig {
environment("OTEL_RESOURCE_ATTRIBUTES", "service.name=test,cat=meow")
environment("OTEL_TRACES_EXPORTER", "otlp")
environment("OTEL_METRICS_EXPORTER", "otlp")
environment("OTEL_PROPAGATORS", "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray,test")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
environment("OTEL_IMR_EXPORT_INTERVAL", "10")
environment("OTEL_EXPORTER_OTLP_HEADERS", "cat=meow,dog=bark")
environment("OTEL_EXPORTER_OTLP_TIMEOUT", "5000")
environment("OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT", "2")
}
testJaeger {
environment("OTEL_TRACES_EXPORTER", "jaeger")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
}
testOtlpTls {
environment("OTEL_RESOURCE_ATTRIBUTES", "service.name=test,cat=meow")
environment("OTEL_TRACES_EXPORTER", "otlp")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
}
testZipkin {
environment("OTEL_TRACES_EXPORTER", "zipkin")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
}
testPrometheus {
environment("OTEL_METRICS_EXPORTER", "prometheus")
environment("OTEL_IMR_EXPORT_INTERVAL", "10")
}
check.dependsOn(testConfigError, testFullConfig, testJaeger, testPrometheus, testZipkin)

View File

@ -0,0 +1,111 @@
plugins {
`java-library`
`maven-publish`
id("org.unbroken-dome.test-sets")
}
description = "OpenTelemetry SDK Auto-configuration"
extra["moduleName"] = "io.opentelemetry.sdk.autoconfigure"
testSets {
create("testConfigError")
create("testFullConfig")
create("testInitializeRegistersGlobal")
create("testJaeger")
create("testPrometheus")
create("testOtlpTls")
create("testZipkin")
}
dependencies {
api(project(":sdk:all"))
api(project(":sdk:metrics"))
compileOnly(project(":extensions:trace-propagators"))
compileOnly(project(":exporters:jaeger"))
compileOnly(project(":exporters:logging"))
compileOnly(project(":exporters:otlp:all"))
compileOnly(project(":exporters:otlp:metrics"))
compileOnly(project(":exporters:prometheus"))
compileOnly("io.prometheus:simpleclient_httpserver")
compileOnly(project(":exporters:zipkin"))
testImplementation(project(":proto"))
testImplementation(project(":sdk:testing"))
testImplementation("com.linecorp.armeria:armeria-junit5")
testImplementation("com.linecorp.armeria:armeria-grpc")
testRuntimeOnly("io.grpc:grpc-netty-shaded")
testRuntimeOnly("org.slf4j:slf4j-simple")
add("testFullConfigImplementation", project(":extensions:aws"))
add("testFullConfigImplementation", project(":extensions:trace-propagators"))
add("testFullConfigImplementation", project(":exporters:jaeger"))
add("testFullConfigImplementation", project(":exporters:logging"))
add("testFullConfigImplementation", project(":exporters:otlp:all"))
add("testFullConfigImplementation", project(":exporters:otlp:metrics"))
add("testFullConfigImplementation", project(":exporters:prometheus"))
add("testFullConfigImplementation", "io.prometheus:simpleclient_httpserver")
add("testFullConfigImplementation", project(":exporters:zipkin"))
add("testOtlpTlsImplementation", project(":exporters:otlp:all"))
add("testJaegerImplementation", project(":exporters:jaeger"))
add("testZipkinImplementation", project(":exporters:zipkin"))
add("testConfigErrorImplementation", project(":extensions:trace-propagators"))
add("testConfigErrorImplementation", project(":exporters:jaeger"))
add("testConfigErrorImplementation", project(":exporters:logging"))
add("testConfigErrorImplementation", project(":exporters:otlp:all"))
add("testConfigErrorImplementation", project(":exporters:otlp:metrics"))
add("testConfigErrorImplementation", project(":exporters:prometheus"))
add("testConfigErrorImplementation", "io.prometheus:simpleclient_httpserver")
add("testConfigErrorImplementation", project(":exporters:zipkin"))
add("testConfigErrorImplementation", "org.junit-pioneer:junit-pioneer")
add("testPrometheusImplementation", project(":exporters:prometheus"))
add("testPrometheusImplementation", "io.prometheus:simpleclient_httpserver")
}
tasks {
val testConfigError by existing(Test::class) {
}
val testFullConfig by existing(Test::class) {
environment("OTEL_RESOURCE_ATTRIBUTES", "service.name=test,cat=meow")
environment("OTEL_TRACES_EXPORTER", "otlp")
environment("OTEL_METRICS_EXPORTER", "otlp")
environment("OTEL_PROPAGATORS", "tracecontext,baggage,b3,b3multi,jaeger,ottrace,xray,test")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
environment("OTEL_IMR_EXPORT_INTERVAL", "10")
environment("OTEL_EXPORTER_OTLP_HEADERS", "cat=meow,dog=bark")
environment("OTEL_EXPORTER_OTLP_TIMEOUT", "5000")
environment("OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT", "2")
}
val testJaeger by existing(Test::class) {
environment("OTEL_TRACES_EXPORTER", "jaeger")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
}
val testOtlpTls by existing(Test::class) {
environment("OTEL_RESOURCE_ATTRIBUTES", "service.name=test,cat=meow")
environment("OTEL_TRACES_EXPORTER", "otlp")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
}
val testZipkin by existing(Test::class) {
environment("OTEL_TRACES_EXPORTER", "zipkin")
environment("OTEL_BSP_SCHEDULE_DELAY", "10")
}
val testPrometheus by existing(Test::class) {
environment("OTEL_METRICS_EXPORTER", "prometheus")
environment("OTEL_IMR_EXPORT_INTERVAL", "10")
}
val check by existing {
dependsOn(testConfigError, testFullConfig, testJaeger, testPrometheus, testZipkin)
}
}

View File

@ -1,20 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
}
description = 'OpenTelemetry SDK AWS Instrumentation Support'
ext.moduleName = "io.opentelemetry.sdk.extension.trace.aws"
dependencies {
api project(':api:all'),
project(':sdk:all')
implementation 'com.fasterxml.jackson.core:jackson-core'
implementation 'com.fasterxml.jackson.core:jackson-databind'
testImplementation 'com.linecorp.armeria:armeria-junit5',
"com.google.guava:guava"
}

View File

@ -0,0 +1,20 @@
plugins {
`java-library`
`maven-publish`
id("me.champeau.gradle.jmh")
}
description = "OpenTelemetry SDK AWS Instrumentation Support"
extra["moduleName"] = "io.opentelemetry.sdk.extension.trace.aws"
dependencies {
api(project(":api:all"))
api(project(":sdk:all"))
implementation("com.fasterxml.jackson.core:jackson-core")
implementation("com.fasterxml.jackson.core:jackson-databind")
testImplementation("com.linecorp.armeria:armeria-junit5")
testImplementation("com.google.guava:guava")
}

View File

@ -1,35 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "com.google.protobuf"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry - Jaeger Remote sampler'
ext.moduleName = "io.opentelemetry.sdk.extension.trace.jaeger"
dependencies {
api project(':sdk:all')
implementation project(':sdk-extensions:otproto'),
project(':sdk:all'),
"io.grpc:grpc-api",
"io.grpc:grpc-protobuf",
"io.grpc:grpc-stub",
"com.google.protobuf:protobuf-java"
testImplementation "io.grpc:grpc-testing",
"org.testcontainers:junit-jupiter"
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
}
}

View File

@ -0,0 +1,35 @@
plugins {
`java-library`
`maven-publish`
id("com.google.protobuf")
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry - Jaeger Remote sampler"
extra["moduleName"] = "io.opentelemetry.sdk.extension.trace.jaeger"
dependencies {
api(project(":sdk:all"))
implementation(project(":sdk-extensions:otproto"))
implementation(project(":sdk:all"))
implementation("io.grpc:grpc-api")
implementation("io.grpc:grpc-protobuf")
implementation("io.grpc:grpc-stub")
implementation("com.google.protobuf:protobuf-java")
testImplementation("io.grpc:grpc-testing")
testImplementation("org.testcontainers:junit-jupiter")
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
}
}

View File

@ -1,25 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
}
description = 'OpenTelemetry SDK Extension JFR'
ext.moduleName = 'io.opentelemetry.sdk.extension.jfr'
dependencies {
implementation project(':api:all'),
project(':sdk:all')
}
tasks.withType(JavaCompile) {
it.options.release = 11
}
testJava8 {
enabled = false
}
test {
// Disabled due to https://bugs.openjdk.java.net/browse/JDK-8245283
jacoco.enabled = false
}

View File

@ -0,0 +1,29 @@
plugins {
`java-library`
`maven-publish`
}
description = "OpenTelemetry SDK Extension JFR"
extra["moduleName"] = "io.opentelemetry.sdk.extension.jfr"
dependencies {
implementation(project(":api:all"))
implementation(project(":sdk:all"))
}
tasks {
withType(JavaCompile::class) {
options.release.set(11)
}
named("testJava8") {
enabled = false
}
named("test") {
// Disabled due to https://bugs.openjdk.java.net/browse/JDK-8245283
configure<JacocoTaskExtension> {
enabled = false
}
}
}

View File

@ -1,20 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry Contrib Logging Support'
ext.moduleName = "io.opentelemetry.sdk.extension.logging"
dependencies {
api project(':sdk:all')
implementation project(':api:metrics')
implementation "com.fasterxml.jackson.core:jackson-databind"
testImplementation "org.awaitility:awaitility"
annotationProcessor "com.google.auto.value:auto-value"
}

View File

@ -0,0 +1,20 @@
plugins {
`java-library`
`maven-publish`
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry Contrib Logging Support"
extra["moduleName"] = "io.opentelemetry.sdk.extension.logging"
dependencies {
api(project(":sdk:all"))
implementation(project(":api:metrics"))
implementation("com.fasterxml.jackson.core:jackson-databind")
testImplementation("org.awaitility:awaitility")
annotationProcessor("com.google.auto.value:auto-value")
}

View File

@ -1,23 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry Protocol Exporter'
ext.moduleName = "io.opentelemetry.exporters.otprotocol"
dependencies {
api project(':api:all'),
project(':proto'),
project(':sdk:all'),
project(':sdk:metrics')
implementation "com.google.protobuf:protobuf-java"
testImplementation project(':sdk:testing')
testImplementation "io.grpc:grpc-testing"
testRuntime "io.grpc:grpc-netty-shaded"
}

View File

@ -0,0 +1,23 @@
plugins {
`java-library`
`maven-publish`
id("ru.vyarus.animalsniffer")
}
description = "OpenTelemetry Protocol Exporter"
extra["moduleName"] = "io.opentelemetry.exporters.otprotocol"
dependencies {
api(project(":api:all"))
api(project(":proto"))
api(project(":sdk:all"))
api(project(":sdk:metrics"))
implementation("com.google.protobuf:protobuf-java")
testImplementation(project(":sdk:testing"))
testImplementation("io.grpc:grpc-testing")
testRuntime("io.grpc:grpc-netty-shaded")
}

View File

@ -1,17 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
// TODO(anuraaga): Use reflection for RuntimeMXBean which is not included in Android.
// id "ru.vyarus.animalsniffer"
}
description = 'OpenTelemetry SDK Resource Providers'
ext.moduleName = "io.opentelemetry.sdk.extension.resources"
dependencies {
api project(':sdk:common')
api project(':semconv')
testImplementation "org.junit-pioneer:junit-pioneer"
}

View File

@ -0,0 +1,17 @@
plugins {
`java-library`
`maven-publish`
// TODO(anuraaga): Use reflection for RuntimeMXBean which is not included in Android.
// id "ru.vyarus.animalsniffer"
}
description = "OpenTelemetry SDK Resource Providers"
extra["moduleName"] = "io.opentelemetry.sdk.extension.resources"
dependencies {
api(project(":sdk:common"))
api(project(":semconv"))
testImplementation("org.junit-pioneer:junit-pioneer")
}

View File

@ -1,21 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "ru.vyarus.animalsniffer"
}
// SDK modules that are still being developed.
description = 'OpenTelemetry SDK Tracing Incubator'
ext.moduleName = "io.opentelemetry.sdk.extension.trace.incubator"
dependencies {
api project(':api:all'),
project(':sdk:all')
annotationProcessor "com.google.auto.value:auto-value"
testImplementation project(':sdk:testing'),
"com.google.guava:guava-testlib"
}

View File

@ -0,0 +1,21 @@
plugins {
`java-library`
`maven-publish`
id("ru.vyarus.animalsniffer")
}
// SDK modules that are still being developed.
description = "OpenTelemetry SDK Tracing Incubator"
extra["moduleName"] = "io.opentelemetry.sdk.extension.trace.incubator"
dependencies {
api(project(":api:all"))
api(project(":sdk:all"))
annotationProcessor("com.google.auto.value:auto-value")
testImplementation(project(":sdk:testing"))
testImplementation("com.google.guava:guava-testlib")
}

View File

@ -1,34 +1,7 @@
# OpenTelemetry SDK Extension zPages
[![Javadocs][javadoc-image]][javadoc-url]
This module contains code for the OpenTelemetry Java zPages, which are a collection of dynamic HTML
web pages embedded in your app that display stats and trace data. Learn more in [this blog post][zPages blog];
<!--- TODO: Update javadoc -->
[javadoc-image]: https://www.javadoc.io/badge/io.opentelemetry/opentelemetry-sdk-contrib-auto-config.svg
[javadoc-url]: https://www.javadoc.io/doc/io.opentelemetry/opentelemetry-sdk-contrib-auto-config
[zPages blog]: https://medium.com/opentelemetry/zpages-in-opentelemetry-2b080a81eb47
## Quickstart
### Add the dependencies to your project
For Maven, add the following to your `pom.xml`:
```xml
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk-extension-zpages</artifactId>
<version>0.16.0-alpha</version>
</dependency>
</dependencies>
```
For Gradle, add the following to your dependencies:
```groovy
implementation 'io.opentelemetry:opentelemetry-sdk-extension-zpages:0.16.0-alpha'
```
web pages embedded in your app that display stats and trace data. Learn more in [this blog post](https://medium.com/opentelemetry/zpages-in-opentelemetry-2b080a81eb47).
### Register the zPages

View File

@ -1,32 +0,0 @@
plugins {
id "java-library"
id "maven-publish"
id "me.champeau.gradle.jmh"
}
description = 'OpenTelemetry - zPages'
ext.moduleName = "io.opentelemetry.sdk.extension.zpages"
tasks['updateVersionInDocs'].configure {
group("documentation")
doLast {
def readme = file("README.md")
if (!readme.exists()) return
def readmeText = readme.text
def updatedText = readmeText
.replaceAll("<version>.*</version>", "<version>${version}-alpha</version>")
.replaceAll("(implementation.*io\\.opentelemetry:.*:)(\\d+\\.\\d+\\.\\d+)(?!-alpha)(?!-SNAPSHOT)(.*)", "\$1${version}-alpha\$3")
readme.text = updatedText
}
}
dependencies {
implementation project(':api:all'),
project(':sdk:all')
testImplementation "com.google.guava:guava"
compileOnly 'com.sun.net.httpserver:http'
}

View File

@ -0,0 +1,18 @@
plugins {
`java-library`
`maven-publish`
id("me.champeau.gradle.jmh")
}
description = "OpenTelemetry - zPages"
extra["moduleName"] = "io.opentelemetry.sdk.extension.zpages"
dependencies {
implementation(project(":api:all"))
implementation(project(":sdk:all"))
testImplementation("com.google.guava:guava")
compileOnly("com.sun.net.httpserver:http")
}