Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
6bf5f5e
Prevent Netty idle timers from retaining request context (#12503)
amarziali Sep 16, 2026
6c9c7ee
Prevent Netty periodic purge tasks from inheriting context (#12499)
amarziali Sep 16, 2026
d079beb
Avoid abandoning Guidewire test continuations (#12518)
amarziali Sep 16, 2026
fa0cc80
Close ServiceTalk captured context scope in test (#12500)
amarziali Sep 16, 2026
f74eea4
Prevent nested smoke builds from falling back to Maven Central (#12491)
AlexeyKuznetsov-DD Sep 16, 2026
c595628
Fix ATR eligibility with fail-fast test ordering (#12508)
juan-fernandez Sep 16, 2026
224bf8a
Support latest Robolectric 4.17 (#12478)
AlexeyKuznetsov-DD Sep 16, 2026
68be58c
Infer status 200 for implicit-success Lambda responses (#12494)
claponcet Sep 16, 2026
b82c5fe
Use Apache archive for Tomcat smoke test, since dlcdn has ONLY the la…
AlexeyKuznetsov-DD Sep 16, 2026
0e8becf
fix(ci-visibility): align TIA missing coverage field (#12384)
daniel-mohedano Sep 16, 2026
76aa17e
Fix Redis peer tags for Lettuce cluster-mode connections and commands…
ygree Sep 16, 2026
142bed2
chore: Update Gradle dependencies (#12529)
dd-octo-sts[bot] Sep 17, 2026
243665f
Prevent Couchbase Netty initialization from capturing context (#12520)
amarziali Sep 17, 2026
0a26788
Wait for blocked Netty connection to close (#12535)
amarziali Sep 17, 2026
40d1adc
ci: bump apm-sdks-benchmarks pin to include S3 upload support (#12531)
igoragoli Sep 17, 2026
7a2a675
Wait for Reactor Kafka test pipelines to finish (#12501)
amarziali Sep 17, 2026
deb03f7
Update instrumentation Gradle dependencies (#12530)
dd-octo-sts[bot] Sep 17, 2026
2e8be76
Shut down Redisson client before Redis test server (#12533)
amarziali Sep 17, 2026
9f55297
Skip Drools internal types classloader during transformation (#12481)
amarziali Sep 17, 2026
e4627ab
Stabilize remote JDBC container startup (#12537)
AlexeyKuznetsov-DD Sep 17, 2026
5b31778
Use stable Jetty 9.3 runtime for instrumentation tests (#12522)
amarziali Sep 17, 2026
b9dbc3a
Make CI test log forwarding opt-in (#12534)
bric3 Sep 17, 2026
472e584
Add @ForegroundSafe / @BackgroundOnly marker annotations (#12471)
dougqh Sep 17, 2026
d5f7fcb
add always artifacts for exploration tests (#12509)
jpbempel Sep 17, 2026
3cee314
Use context swap for Akka and Pekko HTTP flows (#12507)
amarziali Sep 18, 2026
b0a9e8e
Add block_failure telemetry to jersey, resteasy, commons-fileupload a…
jandro996 Sep 18, 2026
dff0056
Avoid repeated controller attribute-key allocation in Spring MVC (#12…
amarziali Sep 18, 2026
cf8ea07
Test async RUM timer propagation as application code (#12502)
amarziali Sep 18, 2026
f33b263
Avoid duplicate context capture in OpenSearch executors (#12521)
amarziali Sep 18, 2026
0854571
Fix Java HTTP async continuation lifecycle (#12498)
amarziali Sep 18, 2026
f269f30
Fix Lettuce test retransformation failures with a Micrometer runtime …
ygree Sep 18, 2026
1b33258
Carry the agent manifest inside metadata so it reaches the backend (#…
ncybul Sep 18, 2026
2806ee2
Update OTel operator variables for one-pipeline 1.5.3 (#12536)
dineshg13 Sep 18, 2026
aa861ed
Update SpotBugs Gradle plugin to 6.5.11 (#12447)
AlexeyKuznetsov-DD Sep 18, 2026
7b903a5
Make child-process tests portable across operating systems (#12355)
AlexeyKuznetsov-DD Sep 18, 2026
b01dd8b
Share the WebFlux parsed-route cache across requests (#12561)
amarziali Sep 21, 2026
fc0f25a
Reduce SQS propagation attribute formatting overhead (#12562)
amarziali Sep 21, 2026
ae38aff
Migrate telemetry groovy files to java part 2 (#12461)
jpbempel Sep 21, 2026
55d6eb0
Fix ConcurrentModificationException reading AppSec derivatives during…
claponcet Sep 21, 2026
d5c61ec
Avoid queue-timing metadata reads before JFR is ready (#12550)
amarziali Sep 21, 2026
1c40e1e
chore: Update APM SDK benchmarks reference (#12577)
dd-octo-sts[bot] Sep 21, 2026
e765652
chore: Update Gradle dependencies (#12578)
dd-octo-sts[bot] Sep 21, 2026
81d4706
Avoid Netty queue-timing metadata reads before JFR is ready (#12558)
amarziali Sep 21, 2026
2cfe4bc
Fix application service names beneath inferred proxy spans (#12553)
mhlidd Sep 21, 2026
c57b5a5
Restore the no-arg constructors the Moshi reflective adapters require…
claponcet Sep 21, 2026
e910306
Fix Hystrix async error tests without relaxing trace validation (#12570)
amarziali Sep 21, 2026
86550b1
Fix metrics-api JaCoCo coverage gate (#12456)
dougqh Sep 21, 2026
c3e782b
feat(ai-guard): apply sensitive data redaction (#12394)
manuel-alvarez-alvarez Sep 21, 2026
1f1cbde
Use configured repository proxy in embedded Maven tests (#12572)
AlexeyKuznetsov-DD Sep 21, 2026
a41bd4c
Update instrumentation Gradle dependencies (#12579)
dd-octo-sts[bot] Sep 21, 2026
c31f989
Guard Undertow port() against internal NPE (quick fix) (#12373)
dougqh Sep 21, 2026
2425f43
🪞 12539 - Improve Muzzle version range failure diagnostics (#12592)
bric3 Sep 21, 2026
dd9d42a
Switch instrumentations over to ContextScope, remove AgentScope (#12557)
mcculls Sep 22, 2026
5bd9367
Reduce OkHttp AppSec header conversion overhead (#12567)
amarziali Sep 22, 2026
f0079b8
Enable Guidewire instrumentation by default (#12594)
ValentinZakharov Sep 22, 2026
bbab9ab
Fix CODEOWNERS routing for AppSec/IAST/RASP instrumentation modules (…
jandro996 Sep 22, 2026
0e0ad8c
Reduce DBM comment buffer allocation (#12582)
amarziali Sep 22, 2026
aeea187
Preserve Jetty 12 request task invocation types (#12586)
amarziali Sep 22, 2026
be7c7c5
Add Accumulator: a striped long counter primitive as an alternative t…
dougqh Sep 22, 2026
0ab9368
Annotate DDCache/SimpleUtf8Cache/GenerationalUtf8Cache with @Foregrou…
dougqh Sep 11, 2026
f484810
Actually apply @BackgroundOnly to the Utf8 cache classes
dougqh Sep 11, 2026
04946de
Match @NoEscape's Javadoc shape and clarify @ThreadSafe orthogonality
dougqh Sep 11, 2026
900fac5
Document inheritance-narrowing rule, switch to CLASS retention, add J…
dougqh Sep 11, 2026
a2b2cac
Address Codex findings: scope FixedSizeCache's cost claim, fix J16 fa…
dougqh Sep 11, 2026
bad45b5
Move BackgroundOnly to DDCache.visit(), fix unannotated-override wording
dougqh Sep 21, 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
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .agents/skills/apm-integrations/references/advice-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
Enter method:
1. `AgentSpan span = startSpan(DECORATE.operationName(), ...)`
2. `DECORATE.afterStart(span)` + set domain-specific tags
3. `AgentScope scope = activateSpan(span)` — return or store via `@Advice.Local`
3. `ContextScope scope = activateSpan(span)` — return or store via `@Advice.Local`

Exit method:
4. `DECORATE.onError(span, throwable)` — only if throwable is non-null
Expand All @@ -39,10 +39,10 @@ The `onThrowable = Throwable.class` attribute on `@Advice.OnMethodExit` controls
// Standard pattern — exit fires whether the target method returned or threw
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
public static void exit(
@Advice.Enter final AgentScope scope,
@Advice.Enter final ContextScope scope,
@Advice.Thrown final Throwable thrown) {
if (scope != null) {
AgentSpan span = scope.span();
AgentSpan span = spanFromScope(scope);
DECORATE.onError(span, thrown);
DECORATE.beforeFinish(span);
scope.close();
Expand Down Expand Up @@ -147,7 +147,7 @@ if (span != null && routeMatch != null) {
}
```

For route-only enrichers: no `AgentScope`, no `startSpan()`, no `decorator.afterStart()`. This rule does NOT apply to standalone HTTP clients (which own their own span identity) or to handler-owning frameworks like JAX-RS / Ratpack (which legitimately create controller spans).
For route-only enrichers: no `ContextScope`, no `startSpan()`, no `decorator.afterStart()`. This rule does NOT apply to standalone HTTP clients (which own their own span identity) or to handler-owning frameworks like JAX-RS / Ratpack (which legitimately create controller spans).

### Advice classes must not declare non-constant static fields

Expand Down
9 changes: 4 additions & 5 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -256,15 +256,14 @@
/dd-trace-api/**/config/AppSecConfig* @DataDog/asm-java
**/*Rasp* @DataDog/asm-java
**/*Waf* @DataDog/asm-java
/dd-java-agent/instrumentation/**/appsec/ @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*CallSite* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/iast/ @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*appsec* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*AppSec* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*iast* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*rasp* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*Iast* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/rasp/ @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*Rasp* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/**/*Waf* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/*iast* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/*appsec* @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/beanshell-2.0/ @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/commons-fileupload-1.5/ @DataDog/asm-java @DataDog/apm-idm-java
/dd-java-agent/instrumentation/datadog/asm/ @DataDog/asm-java @DataDog/apm-idm-java
Expand Down
6 changes: 3 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ include:
- local: ".gitlab/ci-visibility-tests.yml"
- project: 'DataDog/apm-reliability/apm-sdks-benchmarks'
file: '.gitlab/ci-java-spring-petclinic-parallel.yml'
ref: &apm_sdks_benchmarks_sha '0899730be7696774b222937adfc6583932c050e1' # pinned by "Update apm-sdks-benchmarks reference" workflow
ref: &apm_sdks_benchmarks_sha '5e416ea523f39bbdf9e44f39e6895a07d3715ff5' # pinned by .github/workflows/update-apm-sdks-benchmarks-reference.yaml
- project: 'DataDog/apm-reliability/apm-sdks-benchmarks'
file: '.gitlab/ci-java-load-parallel.yml'
ref: *apm_sdks_benchmarks_sha
Expand Down Expand Up @@ -47,8 +47,8 @@ stages:
variables:
APM_SDKS_BENCHMARKS_SHA: *apm_sdks_benchmarks_sha
# Test the OpenTelemetry Operator-compatible Java image jobs from one-pipeline.
OTEL_OPERATOR_IMAGES_ENABLED: "true"
OTEL_OPERATOR_LANGUAGE: java
CI_OTEL_OPERATOR_IMAGES_ENABLED: "true"
CI_OTEL_OPERATOR_LANGUAGE: java
# Gitlab runner features; see https://docs.gitlab.com/runner/configuration/feature-flags.html
# Fold and time all script sections
FF_SCRIPT_SECTIONS: 1
Expand Down
16 changes: 16 additions & 0 deletions .gitlab/exploration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ build-exploration-tests-image:
tags: [ "arch:amd64"]
image: $EXPLORATION_TESTS_IMAGE
artifacts:
when: always
paths:
- "*_agent.log.gz"
- "*_surefire-reports.tar.gz"
Expand Down Expand Up @@ -128,3 +129,18 @@ exploration-tests-method-okhttp:
- sdk use java 17.0.10-tem
- java -XshowSettings:system -version
- ./run-exploration-tests.sh "method" "$PROJECT" "GRADLE_OPTS=-XX:ActiveProcessorCount=4 ./gradlew --max-workers 4 jvmTest -Dtest.java.version=11" "include_${PROJECT}.txt" "exclude_$PROJECT.txt"
after_script:
- cp /exploration-tests/${PROJECT}/agent.log ${PROJECT}_agent.log || true
- gzip ${PROJECT}_agent.log || true
- tar czf ${PROJECT}_debugger-dumps.tar.gz /tmp/debugger || true
- mkdir -p ${PROJECT}-test-results
- (cd /exploration-tests/${PROJECT} && find . -path "*/build/test-results/*/TEST-*.xml" -exec cp --parents {} $CI_PROJECT_DIR/${PROJECT}-test-results/ \;) || true
artifacts:
when: always
paths:
- "*_agent.log.gz"
- "*_debugger-dumps.tar.gz"
- "${PROJECT}-test-results/"
reports:
junit:
- "${PROJECT}-test-results/**/TEST-*.xml"
2 changes: 1 addition & 1 deletion .gitlab/one-pipeline.locked.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# DO NOT EDIT THIS FILE MANUALLY
# This file is auto-generated by automation.
include:
- remote: https://gitlab-templates.ddbuild.io/libdatadog/include/versions/1.5.1/one-pipeline.yml
- remote: https://gitlab-templates.ddbuild.io/libdatadog/include/versions/1.5.3/one-pipeline.yml
11 changes: 9 additions & 2 deletions .gitlab/upload_ciapp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,16 @@ junit_upload() {
custom_tags_args+=(--tags "test.configuration.job_name:${job_base_name}")
fi

DD_API_KEY=$1 \
# The commit message must contain the exact, case-sensitive token [ci: DEBUG_LOGS].
if [[ "${CI_COMMIT_MESSAGE:-}" == *"[ci: DEBUG_LOGS]"* ]]; then
DD_CIVISIBILITY_LOGS_ENABLED=true
fi
if [[ "${DD_CIVISIBILITY_LOGS_ENABLED:-false}" == "true" ]]; then
echo "Datadog JUnit log forwarding is enabled"
fi

DD_API_KEY=$1 DD_CIVISIBILITY_LOGS_ENABLED=${DD_CIVISIBILITY_LOGS_ENABLED:-false} \
datadog-ci junit upload --service $SERVICE_NAME \
--logs \
--tags "test.traits:{\"category\":[\"$CACHE_TYPE\"]}" \
--tags "git.repository_url:https://github.com/DataDog/dd-trace-java" \
"${custom_tags_args[@]}" \
Expand Down
3 changes: 2 additions & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,8 @@ Core tracing abstractions:

- `AgentTracer` — Static tracer facade. Instrumentations call `AgentTracer.startSpan()`,
`AgentTracer.activateSpan()`, etc.
- `AgentSpan` / `AgentScope` / `AgentSpanContext` — Internal span/scope/context interfaces.
- `AgentSpan` / `AgentSpanContext` — Internal span/context interfaces. Scopes use the tracer-agnostic
`ContextScope` (`components/context`); `AgentSpan.fromScope(scope)` extracts the active span from one.
- `AgentPropagation` — Context propagation interfaces (`Getter`, `Setter`) that instrumentations
implement to inject/extract trace context from framework-specific carriers (HTTP headers, message
properties, etc.).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,41 +1,96 @@
import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.api.artifacts.dsl.RepositoryHandler
import org.gradle.api.artifacts.repositories.MavenArtifactRepository
import org.gradle.api.initialization.Settings
import java.net.URI

gradle.beforeSettings(Action<Settings> {
val gradlePluginProxy = providers.gradleProperty("gradlePluginProxy").orNull
val mavenRepositoryProxy = providers.gradleProperty("mavenRepositoryProxy").orNull
val mavenCentralUrls = setOf(
"https://repo.maven.apache.org/maven2",
"https://repo1.maven.org/maven2",
)
// Marks the proxy repository this script injects, so the deduplication below can tell it apart
// from a redirected mavenCentral() the nested build declared itself.
val injectedProxyName = "ddSmokeTestMavenRepositoryProxy"

fun RepositoryHandler.redirectMavenCentral() {
val proxy = mavenRepositoryProxy?.takeIf { it.isNotBlank() } ?: return
withType(MavenArtifactRepository::class.java).configureEach {
// A repository declared without a URL has a null one until Gradle validates it; leave it be
// so the nested build reports that itself instead of failing inside this init script.
val repositoryUrl = url?.toString()?.trimEnd('/')
if (repositoryUrl != null && repositoryUrl in mavenCentralUrls) {
url = URI(proxy)
isAllowInsecureProtocol = true
}
}
}

fun RepositoryHandler.removeDuplicateMavenProxy() {
val proxyUrl = mavenRepositoryProxy?.takeIf { it.isNotBlank() }?.trimEnd('/') ?: return
val proxies = withType(MavenArtifactRepository::class.java)
.filter { it.url?.toString()?.trimEnd('/') == proxyUrl }
// Keep the injected repository: it is the only one known to be unrestricted, since a declared
// mavenCentral() may carry content filters that redirectMavenCentral() does not lift.
if (proxies.none { it.name == injectedProxyName }) {
return
}
proxies.filter { it.name != injectedProxyName }.forEach { remove(it) }
}

buildscript.repositories.redirectMavenCentral()
pluginManagement.repositories.redirectMavenCentral()
dependencyResolutionManagement.repositories.redirectMavenCentral()

pluginManagement {
repositories {
mavenLocal()
gradlePluginProxy?.takeIf { it.isNotBlank() }?.let { proxy ->
maven {
url = java.net.URI(proxy)
url = URI(proxy)
isAllowInsecureProtocol = true
}
}
mavenRepositoryProxy?.takeIf { it.isNotBlank() }?.let { proxy ->
maven {
url = java.net.URI(proxy)
name = injectedProxyName
url = URI(proxy)
isAllowInsecureProtocol = true
}
}
gradlePluginPortal()
mavenCentral()
if (mavenRepositoryProxy.isNullOrBlank()) {
mavenCentral()
}
}
}

gradle.settingsEvaluated(Action<Settings> {
pluginManagement.repositories.removeDuplicateMavenProxy()
})

gradle.beforeProject(Action<Project> {
repositories.redirectMavenCentral()
buildscript.repositories.redirectMavenCentral()
repositories {
mavenLocal()
mavenRepositoryProxy?.takeIf { it.isNotBlank() }?.let { proxy ->
maven {
url = java.net.URI(proxy)
name = injectedProxyName
url = URI(proxy)
isAllowInsecureProtocol = true
}
}
mavenCentral()
if (mavenRepositoryProxy.isNullOrBlank()) {
mavenCentral()
}
}
})

gradle.afterProject(Action<Project> {
repositories.removeDuplicateMavenProxy()
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ class SmokeTestAppEndToEndTest {
}

@Test
fun `local proxy property prepends Maven proxy repositories exactly once`() {
fun `Maven proxy replaces Maven Central in nested repositories`() {
writeOuterSettings()
val proxyRepository = projectDir.resolve("proxy-maven-repo").toFile()
val projectRepository = projectDir.resolve("project-maven-repo").toFile()
Expand All @@ -279,10 +279,37 @@ class SmokeTestAppEndToEndTest {
sysProperty = "resolved.repositories.path",
),
)
writeInnerSettings()
writeInnerSettings(
"""
pluginManagement {
repositories {
mavenCentral()
}
}

gradle.settingsEvaluated {
val outputDir = java.io.File(providers.gradleProperty("appBuildDir").get())
outputDir.mkdirs()
outputDir.resolve("plugin-repositories.txt").writeText(
pluginManagement.repositories
.withType(org.gradle.api.artifacts.repositories.MavenArtifactRepository::class.java)
.joinToString(System.lineSeparator()) { "repository=" + it.url }
)
}

gradle.projectsLoaded {
gradle.rootProject.repositories.mavenCentral {
content {
includeGroup("com.unrelated")
}
}
}
""".trimIndent(),
)
writeInnerBuild(
"""
repositories {
mavenCentral()
maven {
url = uri("${projectRepository.toURI()}")
}
Expand All @@ -301,8 +328,12 @@ class SmokeTestAppEndToEndTest {
val artifacts = configurations.compileClasspath.get()
.sortedBy { it.name }
.map { it.name + "=" + it.readText() }
val repositoryUrls = repositories
.withType(org.gradle.api.artifacts.repositories.MavenArtifactRepository::class.java)
.map { "repository=" + it.url }
resolved.get().asFile.writeText(
(listOf("init-script-count=" + gradle.startParameter.initScripts.size) + artifacts)
(listOf("init-script-count=" + gradle.startParameter.initScripts.size) +
repositoryUrls + artifacts)
.joinToString(System.lineSeparator())
)
}
Expand All @@ -319,11 +350,31 @@ class SmokeTestAppEndToEndTest {
assertThat(result.task(":resolveRepositories")?.outcome).isEqualTo(TaskOutcome.SUCCESS)
val resolvedFile = applicationOutput("resolved-repositories.txt")
assertThat(resolvedFile).exists()
assertThat(resolvedFile.readLines()).containsExactly(
val resolvedLines = resolvedFile.readLines()
assertThat(resolvedLines).contains(
"init-script-count=1",
"repository=${proxyRepository.toURI()}",
"project-only-1.0.jar=project-only",
"shared-1.0.jar=proxy",
)
assertThat(resolvedLines).containsOnlyOnce(
"repository=${proxyRepository.toURI()}",
)
assertThat(resolvedLines).doesNotContain(
"repository=https://repo.maven.apache.org/maven2/",
)
val pluginRepositoriesFile = applicationOutput("plugin-repositories.txt")
assertThat(pluginRepositoriesFile).exists()
val pluginRepositoryLines = pluginRepositoriesFile.readLines()
assertThat(pluginRepositoryLines).contains(
"repository=${proxyRepository.toURI()}",
)
assertThat(pluginRepositoryLines).containsOnlyOnce(
"repository=${proxyRepository.toURI()}",
)
assertThat(pluginRepositoryLines).doesNotContain(
"repository=https://repo.maven.apache.org/maven2/",
)
}

@Test
Expand Down Expand Up @@ -649,10 +700,11 @@ class SmokeTestAppEndToEndTest {
"fake-mvnw"
}

private fun writeInnerSettings() {
private fun writeInnerSettings(additionalContent: String = "") {
File(applicationDir, "settings.gradle.kts").writeText(
"""
rootProject.name = "smoke-test-app-fixture-application"
$additionalContent
""".trimIndent(),
)
}
Expand Down
14 changes: 7 additions & 7 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ import datadog.gradle.plugin.ci.testAggregate
plugins {
kotlin("jvm") version libs.versions.kotlin.plugin apply false

id("dd-trace-java.gradle-debug")
id("dd-trace-java.ci-jobs")
id("dd-trace-java.config-inversion-linter")
id("dd-trace-java.dependency-locking")
id("dd-trace-java.tracer-version")
id("dd-trace-java.dump-hanged-test")
id("dd-trace-java.config-inversion-linter")
id("dd-trace-java.ci-jobs")
id("dd-trace-java.gradle-debug")
id("dd-trace-java.tracer-version")

alias(libs.plugins.shadow) apply false
alias(libs.plugins.spotless)
id("me.champeau.gradle.japicmp") version "0.4.3"
id("com.github.spotbugs") version "6.5.10"
id("com.github.spotbugs") version "6.5.11"
id("de.thetaphi.forbiddenapis") version "3.10"
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
alias(libs.plugins.shadow) apply false
id("me.champeau.gradle.japicmp") version "0.4.3"
id("me.champeau.jmh") version "0.7.3" apply false
id("org.gradle.playframework") version "0.16.0" apply false
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ private fun registerLogEnvVarUsages(target: Project, extension: SupportedTracerC
val javaFiles = target.fileTree(target.projectDir) {
include("**/src/main/java/**/*.java")
exclude("**/build/**", "**/dd-smoke-tests/**")
// Undertow uses DD_UNDERTOW_CONTINUATION as a legacy key to store an AgentScope. It is not related to an environment variable
// Undertow uses DD_UNDERTOW_CONTINUATION as a legacy key to store a ContextContinuation. It is not related to an environment variable
exclude("dd-java-agent/instrumentation/undertow/undertow-common/src/main/java/datadog/trace/instrumentation/undertow/UndertowDecorator.java")
}
inputs.files(javaFiles)
Expand Down
Loading
Loading