Skip to content

Commit 90c7d6e

Browse files
author
Anuraag Agrawal
authored
Migrate jmx-metrics build script to kotlin (#63)
1 parent 931eda5 commit 90c7d6e

File tree

10 files changed

+77
-90
lines changed

10 files changed

+77
-90
lines changed

dependencyManagement/build.gradle.kts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,23 @@ val DEPENDENCY_BOMS = listOf(
1616
"com.google.guava:guava-bom:30.1.1-jre",
1717
"org.junit:junit-bom:5.7.2",
1818
"com.linecorp.armeria:armeria-bom:1.9.1",
19+
"io.grpc:grpc-bom:1.39.0",
1920
"io.opentelemetry:opentelemetry-bom:1.4.1",
2021
"io.opentelemetry:opentelemetry-bom-alpha:1.4.1-alpha",
2122
"org.testcontainers:testcontainers-bom:1.16.0"
2223
)
2324

24-
val DEPENDENCY_SETS = listOf<DependencySet>(
25+
val DEPENDENCY_SETS = listOf(
2526
DependencySet(
2627
"com.google.auto.value",
2728
"1.8.1",
2829
listOf("auto-value", "auto-value-annotations")
2930
),
31+
DependencySet(
32+
"io.prometheus",
33+
"0.11.0",
34+
listOf("simpleclient", "simpleclient_common", "simpleclient_httpserver")
35+
),
3036
DependencySet(
3137
"org.slf4j",
3238
"1.7.30",

jmx-metrics/build.gradle

Lines changed: 0 additions & 89 deletions
This file was deleted.

jmx-metrics/build.gradle.kts

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
plugins {
2+
application
3+
id("com.github.johnrengelman.shadow")
4+
5+
id("otel.groovy-conventions")
6+
id("otel.publish-conventions")
7+
}
8+
9+
description = "JMX metrics gathering Groovy script runner"
10+
11+
application.mainClass.set("io.opentelemetry.contrib.jmxmetrics.JmxMetrics")
12+
13+
repositories {
14+
mavenCentral()
15+
maven {
16+
setUrl("https://repo.terracotta.org/maven2")
17+
content {
18+
includeGroupByRegex("""org\.terracotta.*""")
19+
}
20+
}
21+
mavenLocal()
22+
}
23+
24+
val groovyVersion = "2.5.11"
25+
26+
dependencies {
27+
api(platform("org.codehaus.groovy:groovy-bom:${groovyVersion}"))
28+
29+
implementation("io.grpc:grpc-netty-shaded")
30+
implementation("org.codehaus.groovy:groovy-jmx")
31+
implementation("org.codehaus.groovy:groovy")
32+
implementation("io.prometheus:simpleclient")
33+
implementation("io.prometheus:simpleclient_httpserver")
34+
implementation("io.opentelemetry:opentelemetry-api")
35+
implementation("io.opentelemetry:opentelemetry-api-metrics")
36+
implementation("io.opentelemetry:opentelemetry-sdk")
37+
implementation("io.opentelemetry:opentelemetry-sdk-metrics")
38+
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
39+
implementation("io.opentelemetry:opentelemetry-sdk-testing")
40+
implementation("io.opentelemetry:opentelemetry-exporter-logging")
41+
implementation("io.opentelemetry:opentelemetry-exporter-otlp-metrics")
42+
implementation("io.opentelemetry:opentelemetry-exporter-prometheus")
43+
implementation("org.slf4j:slf4j-api")
44+
implementation("org.slf4j:slf4j-simple")
45+
46+
runtimeOnly("org.terracotta:jmxremote_optional-tc:1.0.8")
47+
48+
testImplementation("io.grpc:grpc-api")
49+
testImplementation("io.grpc:grpc-protobuf")
50+
testImplementation("io.grpc:grpc-stub")
51+
testImplementation("io.grpc:grpc-testing")
52+
testImplementation("org.codehaus.groovy:groovy-test")
53+
testImplementation("io.rest-assured:rest-assured:4.2.0")
54+
testImplementation("org.awaitility:awaitility")
55+
testImplementation("org.apache.httpcomponents.client5:httpclient5-fluent:5.0.1")
56+
testImplementation("org.testcontainers:testcontainers")
57+
testImplementation("io.opentelemetry:opentelemetry-proto")
58+
}
59+
60+
tasks {
61+
shadowJar {
62+
// This should always be standalone, so remove "-all" to prevent unnecessary artifact.
63+
archiveClassifier.set("")
64+
}
65+
66+
withType<Test>().configureEach {
67+
dependsOn(shadowJar)
68+
systemProperty("shadow.jar.path", shadowJar.get().archiveFile.get().asFile.absolutePath)
69+
}
70+
}

jmx-metrics/src/main/java/io/opentelemetry/contrib/jmxmetrics/ClientCallbackHandler.java renamed to jmx-metrics/src/main/groovy/io/opentelemetry/contrib/jmxmetrics/ClientCallbackHandler.java

File renamed without changes.

jmx-metrics/src/main/java/io/opentelemetry/contrib/jmxmetrics/ConfigurationException.java renamed to jmx-metrics/src/main/groovy/io/opentelemetry/contrib/jmxmetrics/ConfigurationException.java

File renamed without changes.

jmx-metrics/src/main/java/io/opentelemetry/contrib/jmxmetrics/GroovyMetricEnvironment.java renamed to jmx-metrics/src/main/groovy/io/opentelemetry/contrib/jmxmetrics/GroovyMetricEnvironment.java

File renamed without changes.

jmx-metrics/src/main/java/io/opentelemetry/contrib/jmxmetrics/GroovyRunner.java renamed to jmx-metrics/src/main/groovy/io/opentelemetry/contrib/jmxmetrics/GroovyRunner.java

File renamed without changes.

jmx-metrics/src/main/java/io/opentelemetry/contrib/jmxmetrics/JmxClient.java renamed to jmx-metrics/src/main/groovy/io/opentelemetry/contrib/jmxmetrics/JmxClient.java

File renamed without changes.

jmx-metrics/src/main/java/io/opentelemetry/contrib/jmxmetrics/JmxConfig.java renamed to jmx-metrics/src/main/groovy/io/opentelemetry/contrib/jmxmetrics/JmxConfig.java

File renamed without changes.

jmx-metrics/src/main/java/io/opentelemetry/contrib/jmxmetrics/JmxMetrics.java renamed to jmx-metrics/src/main/groovy/io/opentelemetry/contrib/jmxmetrics/JmxMetrics.java

File renamed without changes.

0 commit comments

Comments
 (0)