From 32048859310610160be3dc610db8b6eee1a8569f Mon Sep 17 00:00:00 2001 From: Brice Dutheil Date: Mon, 28 Apr 2025 15:28:03 +0200 Subject: [PATCH 1/6] chore(gradle): Convert :telemetry build file to kotlin --- telemetry/build.gradle | 56 ------------------------------------ telemetry/build.gradle.kts | 59 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 56 deletions(-) delete mode 100644 telemetry/build.gradle create mode 100644 telemetry/build.gradle.kts diff --git a/telemetry/build.gradle b/telemetry/build.gradle deleted file mode 100644 index f74bdc416f5..00000000000 --- a/telemetry/build.gradle +++ /dev/null @@ -1,56 +0,0 @@ -plugins { - id 'me.champeau.jmh' -} - -apply from: "$rootDir/gradle/java.gradle" - -ext { - minimumBranchCoverage = 0.6 - minimumInstructionCoverage = 0.8 - excludedClassesCoverage = [ - 'datadog.telemetry.TelemetryRunnable.ThreadSleeperImpl', - 'datadog.telemetry.HostInfo', - 'datadog.telemetry.HostInfo.Os', - 'datadog.telemetry.dependency.LocationsCollectingTransformer', - 'datadog.telemetry.dependency.JbossVirtualFileHelper', - 'datadog.telemetry.RequestBuilder.NumberJsonAdapter', - 'datadog.telemetry.RequestBuilderSupplier', - 'datadog.telemetry.TelemetrySystem', - 'datadog.telemetry.api.*', - 'datadog.telemetry.metric.CiVisibilityMetricPeriodicAction' - ] - excludedClassesBranchCoverage = [ - 'datadog.telemetry.PolymorphicAdapterFactory.1', - 'datadog.telemetry.HostInfo', - 'datadog.telemetry.HostInfo.Os', - ] - excludedClassesInstructionCoverage = [] -} - -dependencies { - implementation libs.slf4j - - implementation project(':internal-api') - - compileOnly project(':dd-java-agent:agent-tooling') - testImplementation project(':dd-java-agent:agent-tooling') - testImplementation project(':dd-java-agent:agent-logging') - - compileOnly project(':communication') - testImplementation project(':communication') - - compileOnly project(':utils:container-utils') - testImplementation project(':utils:container-utils') - - api libs.okhttp - api libs.moshi - - testImplementation project(':utils:test-utils') - testImplementation group: 'org.hamcrest', name: 'hamcrest', version: '2.2' - testImplementation group: 'org.jboss', name: 'jboss-vfs', version: '3.2.16.Final' -} - -jmh { - jmhVersion = '1.28' - duplicateClassesStrategy = DuplicatesStrategy.EXCLUDE -} diff --git a/telemetry/build.gradle.kts b/telemetry/build.gradle.kts new file mode 100644 index 00000000000..e6827204ee3 --- /dev/null +++ b/telemetry/build.gradle.kts @@ -0,0 +1,59 @@ +plugins { + id("me.champeau.jmh") + id("java-library") +} + +apply(from = "$rootDir/gradle/java.gradle") + +val minimumBranchCoverage by extra(0.6) +val minimumInstructionCoverage by extra(0.8) +val excludedClassesCoverage by extra( + listOf( + "datadog.telemetry.TelemetryRunnable.ThreadSleeperImpl", + "datadog.telemetry.HostInfo", + "datadog.telemetry.HostInfo.Os", + "datadog.telemetry.dependency.LocationsCollectingTransformer", + "datadog.telemetry.dependency.JbossVirtualFileHelper", + "datadog.telemetry.RequestBuilder.NumberJsonAdapter", + "datadog.telemetry.RequestBuilderSupplier", + "datadog.telemetry.TelemetrySystem", + "datadog.telemetry.api.*", + "datadog.telemetry.metric.CiVisibilityMetricPeriodicAction" + ) +) +val excludedClassesBranchCoverage by extra( + listOf( + "datadog.telemetry.PolymorphicAdapterFactory.1", + "datadog.telemetry.HostInfo", + "datadog.telemetry.HostInfo.Os" + ) +) +val excludedClassesInstructionCoverage by extra(emptyList()) + +dependencies { + implementation(libs.slf4j) + + implementation(project(":internal-api")) + + compileOnly(project(":dd-java-agent:agent-tooling")) + testImplementation(project(":dd-java-agent:agent-tooling")) + testImplementation(project(":dd-java-agent:agent-logging")) + + compileOnly(project(":communication")) + testImplementation(project(":communication")) + + compileOnly(project(":utils:container-utils")) + testImplementation(project(":utils:container-utils")) + + api(libs.okhttp) + api(libs.moshi) + + testImplementation(project(":utils:test-utils")) + testImplementation(group = "org.hamcrest", name = "hamcrest", version = "2.2") + testImplementation(group = "org.jboss", name = "jboss-vfs", version = "3.2.16.Final") +} + +jmh { + jmhVersion = "1.28" + duplicateClassesStrategy = DuplicatesStrategy.EXCLUDE +} From e65d613f94614d2ed4b82da685854b51f3523f41 Mon Sep 17 00:00:00 2001 From: Brice Dutheil Date: Mon, 5 May 2025 14:51:53 +0200 Subject: [PATCH 2/6] chore(gradle): Convert :utils:socket-utils build file to kotlin --- utils/socket-utils/build.gradle | 31 -------------------- utils/socket-utils/build.gradle.kts | 44 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 31 deletions(-) delete mode 100644 utils/socket-utils/build.gradle create mode 100644 utils/socket-utils/build.gradle.kts diff --git a/utils/socket-utils/build.gradle b/utils/socket-utils/build.gradle deleted file mode 100644 index d2e05364414..00000000000 --- a/utils/socket-utils/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -ext { - minJavaVersionForTests = JavaVersion.VERSION_17 -} - -apply from: "$rootDir/gradle/java.gradle" -apply plugin: "idea" - -[compileMain_java17Java, compileTestJava].each { - it.configure { - setJavaVersion(it, 17) - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } -} - -dependencies { - implementation libs.slf4j - implementation project(':internal-api') - implementation libs.jnr.unixsocket - testImplementation files(sourceSets.main_java17.output) -} - -forbiddenApisMain_java17 { - failOnMissingClasses = false -} - -idea { - module { - jdkName = '17' - } -} diff --git a/utils/socket-utils/build.gradle.kts b/utils/socket-utils/build.gradle.kts new file mode 100644 index 00000000000..a24c4d3e54a --- /dev/null +++ b/utils/socket-utils/build.gradle.kts @@ -0,0 +1,44 @@ +import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis +import groovy.lang.Closure +import org.gradle.kotlin.dsl.extra + +plugins { + `java-library` + idea +} + +val minJavaVersionForTests by extra(JavaVersion.VERSION_17) + +apply(from = "$rootDir/gradle/java.gradle") + +dependencies { + implementation(libs.slf4j) + implementation(project(":internal-api")) + implementation(libs.jnr.unixsocket) + testImplementation(files(sourceSets["main_java17"].output)) +} + +tasks.named("forbiddenApisMain_java17") { + failOnMissingClasses = false +} + +fun AbstractCompile.setJavaVersion(javaVersionInteger: Int) { + (project.extra.get("setJavaVersion") as Closure<*>).call(this, javaVersionInteger) +} + +listOf( + tasks.named("compileMain_java17Java"), + tasks.named("compileTestJava"), +).forEach { + it.configure { + setJavaVersion(17) + sourceCompatibility = JavaVersion.VERSION_1_8.toString() + targetCompatibility = JavaVersion.VERSION_1_8.toString() + } +} + +idea { + module { + jdkName = "17" + } +} From e9877b7603616c924e39bed50860ef7967b91f03 Mon Sep 17 00:00:00 2001 From: Brice Dutheil Date: Mon, 5 May 2025 14:52:12 +0200 Subject: [PATCH 3/6] chore(gradle): Convert :utils:container-utils build file to kotlin --- utils/container-utils/build.gradle | 7 ------- utils/container-utils/build.gradle.kts | 11 +++++++++++ 2 files changed, 11 insertions(+), 7 deletions(-) delete mode 100644 utils/container-utils/build.gradle create mode 100644 utils/container-utils/build.gradle.kts diff --git a/utils/container-utils/build.gradle b/utils/container-utils/build.gradle deleted file mode 100644 index 7117e5ff322..00000000000 --- a/utils/container-utils/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -apply from: "$rootDir/gradle/java.gradle" - -dependencies { - implementation libs.slf4j - - testImplementation project(':utils:test-utils') -} diff --git a/utils/container-utils/build.gradle.kts b/utils/container-utils/build.gradle.kts new file mode 100644 index 00000000000..61877cbcfc9 --- /dev/null +++ b/utils/container-utils/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + `java-library` +} + +apply(from = "$rootDir/gradle/java.gradle") + +dependencies { + implementation(libs.slf4j) + + testImplementation(project(":utils:test-utils")) +} From 097fb9fa95370d185d525f8fdcbbaf2cf3cef255 Mon Sep 17 00:00:00 2001 From: Brice Dutheil Date: Thu, 12 Jun 2025 17:29:42 +0200 Subject: [PATCH 4/6] chore(gradle): Convert more :utils project to kotlin dsl --- utils/test-agent-utils/decoder/build.gradle | 12 ------------ .../test-agent-utils/decoder/build.gradle.kts | 19 +++++++++++++++++++ utils/test-utils/build.gradle | 15 --------------- utils/test-utils/build.gradle.kts | 19 +++++++++++++++++++ utils/time-utils/build.gradle | 12 ------------ utils/time-utils/build.gradle.kts | 16 ++++++++++++++++ utils/version-utils/build.gradle | 7 ------- utils/version-utils/build.gradle.kts | 11 +++++++++++ 8 files changed, 65 insertions(+), 46 deletions(-) delete mode 100644 utils/test-agent-utils/decoder/build.gradle create mode 100644 utils/test-agent-utils/decoder/build.gradle.kts delete mode 100644 utils/test-utils/build.gradle create mode 100644 utils/test-utils/build.gradle.kts delete mode 100644 utils/time-utils/build.gradle create mode 100644 utils/time-utils/build.gradle.kts delete mode 100644 utils/version-utils/build.gradle create mode 100644 utils/version-utils/build.gradle.kts diff --git a/utils/test-agent-utils/decoder/build.gradle b/utils/test-agent-utils/decoder/build.gradle deleted file mode 100644 index 1035bbcc4a3..00000000000 --- a/utils/test-agent-utils/decoder/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply from: "$rootDir/gradle/java.gradle" - -ext { - minimumInstructionCoverage = 0.7 - excludedClassesCoverage = ['datadog.trace.test.agent.decoder.v04.raw.*', 'datadog.trace.test.agent.decoder.v05.raw.*',] -} - -dependencies { - implementation group: 'org.msgpack', name: 'msgpack-core', version: '0.8.24' - testImplementation libs.bundles.junit5 - testImplementation libs.truth -} diff --git a/utils/test-agent-utils/decoder/build.gradle.kts b/utils/test-agent-utils/decoder/build.gradle.kts new file mode 100644 index 00000000000..355db7f1cd5 --- /dev/null +++ b/utils/test-agent-utils/decoder/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + `java-library` +} + +apply(from = "$rootDir/gradle/java.gradle") + +val minimumInstructionCoverage by extra(0.8) +val excludedClassesCoverage by extra( + listOf( + "datadog.trace.test.agent.decoder.v04.raw.*", + "datadog.trace.test.agent.decoder.v05.raw.*", + ) +) + +dependencies { + implementation(group = "org.msgpack", name = "msgpack-core", version = "0.8.24") + testImplementation(libs.bundles.junit5) + testImplementation(libs.truth) +} diff --git a/utils/test-utils/build.gradle b/utils/test-utils/build.gradle deleted file mode 100644 index dce14aaf3ed..00000000000 --- a/utils/test-utils/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -apply from: "$rootDir/gradle/java.gradle" - -dependencies { - api libs.groovy - api libs.bundles.spock - - api libs.bytebuddy - api libs.bytebuddyagent - - api group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' - api group: 'commons-fileupload', name: 'commons-fileupload', version: '1.5' - - compileOnly libs.logback.core - compileOnly libs.logback.classic -} diff --git a/utils/test-utils/build.gradle.kts b/utils/test-utils/build.gradle.kts new file mode 100644 index 00000000000..1299c1b62b3 --- /dev/null +++ b/utils/test-utils/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + `java-library` +} + +apply(from = "$rootDir/gradle/java.gradle") + +dependencies { + api(libs.groovy) + api(libs.bundles.spock) + + api(libs.bytebuddy) + api(libs.bytebuddyagent) + + api(group = "com.github.stefanbirkner", name = "system-rules", version = "1.19.0") + api(group = "commons-fileupload", name = "commons-fileupload", version = "1.5") + + compileOnly(libs.logback.core) + compileOnly(libs.logback.classic) +} diff --git a/utils/time-utils/build.gradle b/utils/time-utils/build.gradle deleted file mode 100644 index 6d79f448ae2..00000000000 --- a/utils/time-utils/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply from: "$rootDir/gradle/java.gradle" - -ext { - excludedClassesCoverage = [ - 'datadog.trace.api.time.ControllableTimeSource:', - 'datadog.trace.api.time.SystemTimeSource' - ] -} - -dependencies { - testImplementation project(':utils:test-utils') -} diff --git a/utils/time-utils/build.gradle.kts b/utils/time-utils/build.gradle.kts new file mode 100644 index 00000000000..e89a0f94e2c --- /dev/null +++ b/utils/time-utils/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + `java-library` +} + +apply(from = "$rootDir/gradle/java.gradle") + +val excludedClassesCoverage by extra( + listOf( + "datadog.trace.api.time.ControllableTimeSource:", + "datadog.trace.api.time.SystemTimeSource" + ) +) + +dependencies { + testImplementation(project(":utils:test-utils")) +} diff --git a/utils/version-utils/build.gradle b/utils/version-utils/build.gradle deleted file mode 100644 index 4e5d486fa8f..00000000000 --- a/utils/version-utils/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -apply from: "$rootDir/gradle/java.gradle" -// We do not publish separate jar, but having version file is useful -apply from: "$rootDir/gradle/version.gradle" - -dependencies { - implementation libs.slf4j -} diff --git a/utils/version-utils/build.gradle.kts b/utils/version-utils/build.gradle.kts new file mode 100644 index 00000000000..6eb07efff46 --- /dev/null +++ b/utils/version-utils/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + `java-library` +} + +apply(from = "$rootDir/gradle/java.gradle") +// We do not publish separate jar, but having version file is useful +apply(from = "$rootDir/gradle/version.gradle") + +dependencies { + implementation(libs.slf4j) +} From ba255b8a913e390fe343c5a8d5201a368deec95b Mon Sep 17 00:00:00 2001 From: Brice Dutheil Date: Thu, 12 Jun 2025 17:39:59 +0200 Subject: [PATCH 5/6] chore(gradle): Convert :remote-config project to kotlin dsl --- remote-config/remote-config-api/build.gradle | 5 --- .../remote-config-api/build.gradle.kts | 7 +++ remote-config/remote-config-core/build.gradle | 31 ------------- .../remote-config-core/build.gradle.kts | 43 +++++++++++++++++++ 4 files changed, 50 insertions(+), 36 deletions(-) delete mode 100644 remote-config/remote-config-api/build.gradle create mode 100644 remote-config/remote-config-api/build.gradle.kts delete mode 100644 remote-config/remote-config-core/build.gradle create mode 100644 remote-config/remote-config-core/build.gradle.kts diff --git a/remote-config/remote-config-api/build.gradle b/remote-config/remote-config-api/build.gradle deleted file mode 100644 index 4d542efc8e5..00000000000 --- a/remote-config/remote-config-api/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -apply from: "$rootDir/gradle/java.gradle" - -ext { - excludedClassesInstructionCoverage = ['datadog.remoteconfig.ConfigurationChangesListener.PollingHinterNoop',] -} diff --git a/remote-config/remote-config-api/build.gradle.kts b/remote-config/remote-config-api/build.gradle.kts new file mode 100644 index 00000000000..212bbb3ab44 --- /dev/null +++ b/remote-config/remote-config-api/build.gradle.kts @@ -0,0 +1,7 @@ +apply(from = "$rootDir/gradle/java.gradle") + +val excludedClassesBranchCoverage by extra( + listOf( + "datadog.remoteconfig.ConfigurationChangesListener.PollingHinterNoop" + ) +) diff --git a/remote-config/remote-config-core/build.gradle b/remote-config/remote-config-core/build.gradle deleted file mode 100644 index 3836370a512..00000000000 --- a/remote-config/remote-config-core/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -apply from: "$rootDir/gradle/java.gradle" - -ext { - minimumBranchCoverage = 0.6 - minimumInstructionCoverage = 0.8 - excludedClassesCoverage = [ - // not used yet - 'datadog.remoteconfig.tuf.RemoteConfigRequest.ClientInfo.AgentInfo', - // only half the adapter interface used - 'datadog.remoteconfig.tuf.InstantJsonAdapter', - // idem - 'datadog.remoteconfig.tuf.RawJsonAdapter', - 'datadog.remoteconfig.ExceptionHelper', - ] - excludedClassesBranchCoverage = ['datadog.remoteconfig.tuf.FeaturesConfig', 'datadog.remoteconfig.PollerRequestFactory',] - excludedClassesInstructionCoverage = ['datadog.remoteconfig.ConfigurationChangesListener.PollingHinterNoop',] -} - - -dependencies { - api project(':remote-config:remote-config-api') - - implementation libs.slf4j - implementation libs.okhttp - implementation libs.moshi - implementation libs.bundles.cafe.crypto - - implementation project(':internal-api') - - testImplementation project(':utils:test-utils') -} diff --git a/remote-config/remote-config-core/build.gradle.kts b/remote-config/remote-config-core/build.gradle.kts new file mode 100644 index 00000000000..f3d0200b797 --- /dev/null +++ b/remote-config/remote-config-core/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + `java-library` +} + +apply(from = "$rootDir/gradle/java.gradle") + +val minimumBranchCoverage by extra(0.6) +val minimumInstructionCoverage by extra(0.8) +val excludedClassesCoverage by extra( + listOf( + // not used yet + "datadog.remoteconfig.tuf.RemoteConfigRequest.ClientInfo.AgentInfo", + // only half the adapter interface used + "datadog.remoteconfig.tuf.InstantJsonAdapter", + // idem + "datadog.remoteconfig.tuf.RawJsonAdapter", + "datadog.remoteconfig.ExceptionHelper", + ) +) +val excludedClassesBranchCoverage by extra( + listOf( + "datadog.remoteconfig.tuf.FeaturesConfig", + "datadog.remoteconfig.PollerRequestFactory", + ) +) +val excludedClassesInstructionCoverage by extra( + listOf( + "datadog.remoteconfig.ConfigurationChangesListener.PollingHinterNoop", + ) +) + +dependencies { + api(project(":remote-config:remote-config-api")) + + implementation(libs.slf4j) + implementation(libs.okhttp) + implementation(libs.moshi) + implementation(libs.bundles.cafe.crypto) + + implementation(project(":internal-api")) + + testImplementation(project(":utils:test-utils")) +} From ed8d3fbff54acf83ef62a6966944da534bdf22ca Mon Sep 17 00:00:00 2001 From: Brice Dutheil Date: Wed, 25 Jun 2025 11:57:44 +0200 Subject: [PATCH 6/6] chore(build): tweak compile configuration --- utils/socket-utils/build.gradle.kts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/utils/socket-utils/build.gradle.kts b/utils/socket-utils/build.gradle.kts index a24c4d3e54a..d26dffe6e32 100644 --- a/utils/socket-utils/build.gradle.kts +++ b/utils/socket-utils/build.gradle.kts @@ -26,11 +26,8 @@ fun AbstractCompile.setJavaVersion(javaVersionInteger: Int) { (project.extra.get("setJavaVersion") as Closure<*>).call(this, javaVersionInteger) } -listOf( - tasks.named("compileMain_java17Java"), - tasks.named("compileTestJava"), -).forEach { - it.configure { +listOf("compileMain_java17Java", "compileTestJava").forEach { + tasks.named(it).configure { setJavaVersion(17) sourceCompatibility = JavaVersion.VERSION_1_8.toString() targetCompatibility = JavaVersion.VERSION_1_8.toString()