Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
dc76fe2
refactor: introduce module convention plugins
bric3 Jun 10, 2026
4e46c05
fix: keep scala promise spotless targets scoped
bric3 Jun 10, 2026
8b46450
fix: preserve instrumentation aggregate tasks
bric3 Jun 10, 2026
fee0efa
fix: restore instrumentation aggregator wiring
bric3 Jun 10, 2026
65d25e7
fix: preserve instrumentation forbidden api checks
bric3 Jun 10, 2026
4d01be1
fix: preserve dd-trace-ot shadow publication
bric3 Jun 10, 2026
b1d660f
refactor: refine module convention kinds
bric3 Jun 11, 2026
996f54c
chore: enforce module convention plugins
bric3 Jun 22, 2026
ec167f2
docs: Document conventions for instrumentation module
bric3 Jun 22, 2026
0a0226c
refactor: split internal module conventions
bric3 Jun 22, 2026
6635946
Merge remote-tracking branch 'origin/master' into bdu/introduce-first…
bric3 Jun 23, 2026
0cec0d8
Merge remote-tracking branch 'origin/master' into bdu/introduce-first…
bric3 Jun 23, 2026
f0c138d
refactor: feature-flagging-api is actually a distributable module
bric3 Jun 24, 2026
bd6d2e5
chore: merge master into module conventions
bric3 Jul 29, 2026
2e15fc4
refactor: apply conventions to new modules
bric3 Jul 29, 2026
b3272ad
refactor: rename platform component convention
bric3 Jul 29, 2026
de22ffe
refactor: distinguish product libraries
bric3 Jul 29, 2026
baac9d6
refactor: classify internal-api-9 as internal API
bric3 Jul 29, 2026
f3da67a
refactor: classify internal-api as internal API
bric3 Jul 29, 2026
46aab0e
chore: restore smoke-test file whitespace
bric3 Jul 29, 2026
5c5cb6c
docs: clarify internal library boundary
bric3 Jul 30, 2026
17a9f4c
chore: merge master into module conventions
bric3 Jul 30, 2026
ea102de
docs: Use a tip callout
bric3 Jul 30, 2026
9687e86
refactor: rename product subsystem convention
bric3 Jul 31, 2026
4aa374c
fix: Restore changes made in 33c406b87de3ec19569e79c17b3b0c73c083b4d2…
bric3 Jul 31, 2026
c9629e4
Merge branch 'master' into bdu/introduce-first-module-conventions
bric3 Jul 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// Keep gradle/java.gradle as the source of truth while consumers move to plugins {}.
apply(from = rootDir.resolve("gradle/java.gradle"))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
plugins {
id("dd-trace-java.conventions.java")
}

apply(from = rootDir.resolve("gradle/publish.gradle"))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id("dd-trace-java.conventions.java")
}
3 changes: 1 addition & 2 deletions communication/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
plugins {
`java-library`
id("dd-trace-java.module.internal-library")
}

description = "communication"

apply(from = rootDir.resolve("gradle/java.gradle"))

dependencies {
implementation(libs.slf4j)

Expand Down
4 changes: 3 additions & 1 deletion components/annotations/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
apply(from = "$rootDir/gradle/java.gradle")
plugins {
id("dd-trace-java.module.platform-component")
}
4 changes: 3 additions & 1 deletion components/context/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
apply(from = "$rootDir/gradle/java.gradle")
plugins {
id("dd-trace-java.module.platform-component")
}

extra["excludedClassesInstructionCoverage"] =
listOf("datadog.context.ContextProviders") // covered by forked test
Expand Down
3 changes: 1 addition & 2 deletions components/environment/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
plugins {
`java-library`
id("com.gradleup.shadow")
id("dd-trace-java.module.bootstrap-component")
}

apply(from = "$rootDir/gradle/java.gradle")

dependencies {
compileOnly(project(":components:annotations"))
}
Expand Down
3 changes: 1 addition & 2 deletions components/http/http-api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
plugins {
`java-library`
`java-test-fixtures`
id("dd-trace-java.module.platform-component")
}

apply(from = "$rootDir/gradle/java.gradle")

description = "HTTP Client API"

extra["minimumBranchCoverage"] = 0 // extra(0.7) -- need a library implementation
Expand Down
3 changes: 1 addition & 2 deletions components/json/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
plugins {
id("dd-trace-java.module.platform-component")
id("dd-trace-java.jmh-conventions")
}

apply(from = "$rootDir/gradle/java.gradle")

jmh {
jmhVersion = libs.versions.jmh.get()
}
3 changes: 1 addition & 2 deletions components/native-loader/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
plugins {
`java-library`
id("dd-trace-java.module.platform-component")
}

apply(from = "$rootDir/gradle/java.gradle")

dependencies {
implementation(project(":components:environment"))
}
3 changes: 1 addition & 2 deletions dd-java-agent/agent-aiguard/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.product-subsystem'
}

apply from: "$rootDir/gradle/java.gradle"

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
Expand Down
6 changes: 3 additions & 3 deletions dd-java-agent/agent-bootstrap/build.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// The shadowJar of this project will be injected into the JVM's bootstrap classloader
plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.module.bootstrap-component'
id 'dd-trace-java.jmh-conventions'
id 'idea'
}

apply from: "$rootDir/gradle/java.gradle"
apply plugin: "idea"
// The shadowJar of this project will be injected into the JVM's bootstrap classloader

tasks.named("compileJava", JavaCompile) {
configureCompiler(it, 8, JavaVersion.VERSION_1_8, "Need access to sun.* packages")
Expand Down
2 changes: 1 addition & 1 deletion dd-java-agent/agent-ci-visibility/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ plugins {
id 'com.gradleup.shadow'
id 'org.jetbrains.kotlin.jvm'
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.product-subsystem'
}

apply from: "$rootDir/gradle/java.gradle"
apply from: "$rootDir/gradle/test-with-kotlin.gradle"
apply from: "$rootDir/gradle/test-with-scala.gradle"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
plugins {
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.testing-support'
}

apply from: "$rootDir/gradle/java.gradle"

dependencies {
api project(':dd-java-agent:instrumentation-testing')
api project(':dd-java-agent:agent-ci-visibility:civisibility-test-fixtures')

compileOnly(libs.bundles.groovy)
compileOnly(libs.bundles.spock)
}

Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
plugins {
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.testing-support'
}

apply from: "$rootDir/gradle/java.gradle"

dependencies {
api project(':dd-java-agent:agent-ci-visibility')
api project(':dd-java-agent:testing')
Expand All @@ -22,4 +21,3 @@ dependencies {
// civisibility-test-fixtures is a test-support module — every consumer pulls it on their test
// classpath. Production-code-quality gates like forbidden APIs don't apply here.
tasks.named('forbiddenApisMain').configure { enabled = false }

5 changes: 3 additions & 2 deletions dd-java-agent/agent-crashtracking/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
apply from: "$rootDir/gradle/java.gradle"
plugins {
id 'dd-trace-java.module.internal-library'
}

// The functionality is tested in dd-smoke-tests/crashtracking

Expand Down Expand Up @@ -30,4 +32,3 @@ dependencies {
testImplementation libs.jackson.databind
testImplementation group: 'com.squareup.okhttp3', name: 'mockwebserver', version: libs.versions.okhttp.legacy.get()
}

3 changes: 1 addition & 2 deletions dd-java-agent/agent-debugger/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@ plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.version-file'
id 'java-test-fixtures'
id 'dd-trace-java.module.product-subsystem'
}

apply from: "$rootDir/gradle/java.gradle"

minimumInstructionCoverage = 0.1
minimumBranchCoverage = 0.6
excludedClassesCoverage += [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
plugins {
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.bootstrap-component'
}

apply from: "$rootDir/gradle/java.gradle"

// Most of the classes are just object model
// Those which needs test coverage, test classes are in agent-debugger project
// to avoid pull dependencies
Expand Down
3 changes: 1 addition & 2 deletions dd-java-agent/agent-debugger/debugger-el/build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
plugins {
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.internal-library'
}

apply from: "$rootDir/gradle/java.gradle"

minimumInstructionCoverage = 0.1
minimumBranchCoverage = 0.6

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
plugins {
id 'scala'
id 'dd-trace-java.module.internal-library'
}

apply from: "$rootDir/gradle/java.gradle"

dependencies {
implementation group: 'org.scala-lang', name: 'scala-compiler', version: '2.13.3'
}
Expand Down
3 changes: 1 addition & 2 deletions dd-java-agent/agent-iast/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@ plugins {
id 'com.google.protobuf' version '0.10.0'
id 'net.ltgt.errorprone' version '3.1.0'
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.product-subsystem'
}

apply from: "$rootDir/gradle/java.gradle"

tasks.withType(AbstractCompile).configureEach {
configureCompiler(it, 11, JavaVersion.VERSION_1_8, "Ensure no APIs beyond JDK8 are used")
}
Expand Down
3 changes: 1 addition & 2 deletions dd-java-agent/agent-iast/iast-test-fixtures/build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
plugins {
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.testing-support'
}

apply from: "$rootDir/gradle/java.gradle"

dependencies {
api project(':dd-java-agent:agent-iast')
api project(':dd-java-agent:instrumentation-testing')
Expand Down
6 changes: 4 additions & 2 deletions dd-java-agent/agent-installer/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
apply from: "$rootDir/gradle/java.gradle"
apply plugin: "idea"
plugins {
id 'dd-trace-java.module.internal-library'
id 'idea'
}

minimumBranchCoverage = 0.6
excludedClassesCoverage += ['datadog.trace.agent.tooling.*']
Expand Down
2 changes: 1 addition & 1 deletion dd-java-agent/agent-jmxfetch/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import static java.nio.file.StandardOpenOption.CREATE

plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.module.product-subsystem'
}
apply from: "$rootDir/gradle/java.gradle"

dependencies {
api('com.datadoghq:jmxfetch:0.52.0') {
Expand Down
3 changes: 1 addition & 2 deletions dd-java-agent/agent-llmobs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.product-subsystem'
}

apply from: "$rootDir/gradle/java.gradle"

minimumBranchCoverage = 0.0
minimumInstructionCoverage = 0.0

Expand Down
4 changes: 3 additions & 1 deletion dd-java-agent/agent-logging/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
apply from: "$rootDir/gradle/java.gradle"
plugins {
id 'dd-trace-java.module.internal-library'
}

excludedClassesCoverage += [
// Contains no code
Expand Down
3 changes: 1 addition & 2 deletions dd-java-agent/agent-logs-intake/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.version-file'
id 'dd-trace-java.module.product-subsystem'
}

apply from: "$rootDir/gradle/java.gradle"

excludedClassesCoverage += [
"datadog.trace.logging.intake.LogsWriterImpl",
"datadog.trace.logging.intake.LogsIntakeSystem",
Expand Down
5 changes: 2 additions & 3 deletions dd-java-agent/agent-otel/otel-bootstrap/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.module.bootstrap-component'
id 'dd-trace-java.build-time-instrumentation'
}

def otelApiVersion = '1.38.0'
def otelInstrumentationApiVersion = '2.4.0'

apply from: "$rootDir/gradle/java.gradle"
apply plugin: 'dd-trace-java.build-time-instrumentation'

configurations {
def ec = register('embeddedClasspath') {
visible = false
Expand Down
4 changes: 3 additions & 1 deletion dd-java-agent/agent-otel/otel-shim/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
apply from: "$rootDir/gradle/java.gradle"
plugins {
id 'dd-trace-java.module.bootstrap-component'
}

minimumInstructionCoverage = 0.0
minimumBranchCoverage = 0.0
Expand Down
4 changes: 3 additions & 1 deletion dd-java-agent/agent-otel/otel-tooling/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
apply from: "$rootDir/gradle/java.gradle"
plugins {
id 'dd-trace-java.module.internal-library'
}

minimumInstructionCoverage = 0.0
minimumBranchCoverage = 0.0
Expand Down
3 changes: 1 addition & 2 deletions dd-java-agent/agent-profiling/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

plugins {
id 'com.gradleup.shadow'
id 'dd-trace-java.module.product-subsystem'
}

apply from: "$rootDir/gradle/java.gradle"

excludedClassesCoverage += [
'com.datadog.profiling.agent.CompositeController',
'com.datadog.profiling.agent.CompositeController.CompositeRecordingData',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
apply from: "$rootDir/gradle/java.gradle"
apply plugin: 'idea'
plugins {
id 'dd-trace-java.module.internal-library'
id 'idea'
}

tracerJava {
addSourceSetFor(JavaVersion.VERSION_11) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
plugins {
id 'java-test-fixtures'
id 'dd-trace-java.module.internal-library'
id 'idea'
}

apply from: "$rootDir/gradle/java.gradle"
apply plugin: 'idea'

testJvmConstraints {
// the tests need Java 11 because the JFR writer got compiled with a version
// of ByteBuffer.position(int) which is binary incompatible with Java 8 ¯\_(ツ)_/¯
Expand Down
Loading