diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 9bd38cadf7b..00000000000 --- a/build.gradle +++ /dev/null @@ -1,132 +0,0 @@ -plugins { - id 'datadog.gradle-debug' - id 'datadog.dependency-locking' - - id 'com.diffplug.spotless' version '6.13.0' - id 'com.github.spotbugs' version '5.0.14' - id 'de.thetaphi.forbiddenapis' version '3.8' - - id 'org.shipkit.shipkit-auto-version' version '2.1.2' - id 'io.github.gradle-nexus.publish-plugin' version '2.0.0' - - id 'com.gradleup.shadow' version '8.3.6' apply false - id 'me.champeau.jmh' version '0.7.0' apply false - id 'org.gradle.playframework' version '0.13' apply false - id 'info.solidsoft.pitest' version '1.9.11' apply false -} - -description = 'dd-trace-java' - -def isCI = System.getenv("CI") != null - -apply from: "$rootDir/gradle/repositories.gradle" - -spotless { - // only resolve the spotless dependencies once in the build - predeclareDeps() -} - -spotlessPredeclare { - // these need to align with the types and versions in gradle/spotless.gradle - java { - removeUnusedImports() - - // This is the last Google Java Format version that supports Java 8 - googleJavaFormat('1.7') - } - groovyGradle { - greclipse() - } - groovy { - greclipse() - } - kotlinGradle { - ktlint('0.41.0') - } - kotlin { - ktlint('0.41.0') - } - scala { - scalafmt('2.7.5') - } -} -apply from: "$rootDir/gradle/spotless.gradle" - -def compileTask = tasks.register("compile") - -def repoVersion = version - -allprojects { - group = 'com.datadoghq' - version = repoVersion - - if (isCI) { - buildDir = "$rootDir/workspace/${projectDir.path.replace(rootDir.path, '')}/build/" - } - - apply from: "$rootDir/gradle/dependencies.gradle" - apply from: "$rootDir/gradle/util.gradle" - - compileTask.configure { - dependsOn tasks.withType(AbstractCompile) - } -} - -tasks.register("latestDepTest") - -nexusPublishing { - repositories { - def forceLocal = project.hasProperty('forceLocal') && forceLocal - if (forceLocal && !isCI) { - local { - // For testing, use with https://hub.docker.com/r/sonatype/nexus - // docker run --rm -d -p 8081:8081 --name nexus sonatype/nexus:oss - // ./gradlew publishToLocal - // Doesn't work for testing releases though... (due to staging) - nexusUrl = uri("http://localhost:8081/nexus/content/repositories/releases/") - snapshotRepositoryUrl = uri("http://localhost:8081/nexus/content/repositories/snapshots/") - username = "admin" - password = "admin123" - allowInsecureProtocol = true - } - } else { - // see https://github.com/gradle-nexus/publish-plugin#publishing-to-maven-central-via-sonatype-central - // For official documentation: - // staging repo publishing https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/#configuration - // snapshot publishing https://central.sonatype.org/publish/publish-portal-snapshots/#publishing-via-other-methods - sonatype { - nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/")) - snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/")) - username = System.getenv("MAVEN_CENTRAL_USERNAME") - password = System.getenv("MAVEN_CENTRAL_PASSWORD") - } - } - } -} - -def writeMainVersionFileTask = tasks.register('writeMainVersionFile') { - def versionFile = file("${rootProject.buildDir}/main.version") - inputs.property "version", project.version - outputs.file versionFile - - doFirst { - assert versionFile.parentFile.mkdirs() || versionFile.parentFile.directory - versionFile.text = "${inputs.properties.version}" - } -} - -allprojects { - tasks.withType(JavaForkOptions).configureEach { - maxHeapSize = System.properties["datadog.forkedMaxHeapSize"] - minHeapSize = System.properties["datadog.forkedMinHeapSize"] - jvmArgs "-XX:ErrorFile=/tmp/hs_err_pid%p.log" - jvmArgs "-XX:+HeapDumpOnOutOfMemoryError" - jvmArgs "-XX:HeapDumpPath=/tmp" - } - - tasks.withType(PublishToMavenLocal).configureEach { - it.finalizedBy(writeMainVersionFileTask) - } -} - -apply from: "$rootDir/gradle/ci_jobs.gradle" diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000000..f722b0cd49c --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,144 @@ +import com.diffplug.gradle.spotless.SpotlessExtension + +plugins { + id("datadog.gradle-debug") + id("datadog.dependency-locking") + + id("com.diffplug.spotless") version "6.13.0" + id("com.github.spotbugs") version "5.0.14" + id("de.thetaphi.forbiddenapis") version "3.8" + + id("org.shipkit.shipkit-auto-version") version "2.1.2" + id("io.github.gradle-nexus.publish-plugin") version "2.0.0" + + id("com.gradleup.shadow") version "8.3.6" apply false + id("me.champeau.jmh") version "0.7.0" apply false + id("org.gradle.playframework") version "0.13" apply false + id("info.solidsoft.pitest") version "1.9.11" apply false +} + +description = "dd-trace-java" + +val isCI = providers.environmentVariable("CI") + +apply(from = rootDir.resolve("gradle/repositories.gradle")) + +spotless { + // only resolve the spotless dependencies once in the build + predeclareDeps() +} + +with(extensions["spotlessPredeclare"] as SpotlessExtension) { + // these need to align with the types and versions in gradle/spotless.gradle + java { + removeUnusedImports() + + // This is the last Google Java Format version that supports Java 8 + googleJavaFormat("1.7") + } + groovyGradle { + greclipse() + } + groovy { + greclipse() + } + kotlinGradle { + ktlint("0.41.0") + } + kotlin { + ktlint("0.41.0") + } + scala { + scalafmt("2.7.5") + } +} +apply(from = rootDir.resolve("gradle/spotless.gradle")) + +val compileTask = tasks.register("compile") + +val repoVersion = version + +allprojects { + group = "com.datadoghq" + version = repoVersion + + if (isCI.isPresent) { + layout.buildDirectory = providers.provider { + val newProjectCIPath = projectDir.path.replace( + rootDir.path, + "" + ) + rootDir.resolve("workspace/$newProjectCIPath/build/") + } + } + + apply(from = rootDir.resolve("gradle/dependencies.gradle")) + apply(from = rootDir.resolve("gradle/util.gradle")) + + compileTask.configure { + dependsOn(tasks.withType()) + } + + tasks.configureEach { + if (this is JavaForkOptions) { + maxHeapSize = System.getProperty("datadog.forkedMaxHeapSize") + minHeapSize = System.getProperty("datadog.forkedMinHeapSize") + jvmArgs( + "-XX:ErrorFile=/tmp/hs_err_pid%p.log", + "-XX:+HeapDumpOnOutOfMemoryError", + "-XX:HeapDumpPath=/tmp" + ) + } + } +} + +tasks.register("latestDepTest") + +nexusPublishing { + repositories { + val forceLocal = providers.gradleProperty("forceLocal").getOrElse("false").toBoolean() + if (forceLocal && !isCI.isPresent) { + // For testing, use with https://hub.docker.com/r/sonatype/nexus + // $ docker run --rm -d -p 8081:8081 --name nexus sonatype/nexus:oss + // $ ./gradlew publishToLocal -PforceLocal=true + // Doesn't work for testing releases though... (due to staging), + // however, it's possible to explore http://localhost:8081/nexus/ + register("local") { + nexusUrl = uri("http://localhost:8081/nexus/content/repositories/releases/") + snapshotRepositoryUrl = uri("http://localhost:8081/nexus/content/repositories/snapshots/") + username = "admin" + password = "admin123" + allowInsecureProtocol = true + } + } else { + // see https://github.com/gradle-nexus/publish-plugin#publishing-to-maven-central-via-sonatype-central + // For official documentation: + // staging repo publishing https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/#configuration + // snapshot publishing https://central.sonatype.org/publish/publish-portal-snapshots/#publishing-via-other-methods + sonatype { + nexusUrl = uri("https://ossrh-staging-api.central.sonatype.com/service/local/") + snapshotRepositoryUrl = uri("https://central.sonatype.com/repository/maven-snapshots/") + username = providers.environmentVariable("MAVEN_CENTRAL_USERNAME") + password = providers.environmentVariable("MAVEN_CENTRAL_PASSWORD") + } + } + } +} + +val writeMainVersionFileTask = tasks.register("writeMainVersionFile") { + val versionFile = rootProject.layout.buildDirectory.file("main.version") + inputs.property("version", project.version) + outputs.file(versionFile) + doFirst { + require(versionFile.get().asFile.parentFile.mkdirs() || versionFile.get().asFile.parentFile.isDirectory) + versionFile.get().asFile.writeText(project.version.toString()) + } +} + +allprojects { + tasks.withType().configureEach { + finalizedBy(writeMainVersionFileTask) + } +} + +apply(from = "$rootDir/gradle/ci_jobs.gradle") diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index d25b8518bd3..00000000000 --- a/settings.gradle +++ /dev/null @@ -1,565 +0,0 @@ -pluginManagement { - repositories { - mavenLocal() - if (settings.hasProperty("gradlePluginProxy")) { - maven { - url settings["gradlePluginProxy"] - allowInsecureProtocol true - } - } - if (settings.hasProperty("mavenRepositoryProxy")) { - maven { - url settings["mavenRepositoryProxy"] - allowInsecureProtocol true - } - } - gradlePluginPortal() - mavenCentral() - } -} - -plugins { - id 'com.gradle.develocity' version '4.1' -} - -def isCI = System.getenv("CI") != null -def skipBuildscan = Boolean.valueOf(System.getenv("SKIP_BUILDSCAN")) -develocity { - buildScan { - termsOfUseUrl = 'https://gradle.com/help/legal-terms-of-use' - termsOfUseAgree = 'yes' - - publishing.onlyIf { isCI && !skipBuildscan } - } -} - -// Don't pollute the dependency cache with the build cache -if (isCI) { - buildCache { - local { - directory = "$rootDir/workspace/build-cache" - } - } -} - -rootProject.name = 'dd-trace-java' - -// external apis -include ':dd-trace-api' -include ':dd-trace-ot' -include ':dd-trace-ot:correlation-id-injection' - -// agent projects -include ':internal-api' -include ':internal-api:internal-api-9' -include ':dd-trace-core' -include ':dd-java-agent' -include ':dd-java-agent:agent-bootstrap' -include ':dd-java-agent:agent-builder' -include ':dd-java-agent:agent-tooling' -include ':dd-java-agent:agent-jmxfetch' -include ':dd-java-agent:agent-logging' -include ':dd-java-agent:agent-logs-intake' -include ':dd-java-agent:load-generator' - -// profiling -include ':dd-java-agent:agent-profiling' -include ':dd-java-agent:agent-profiling:profiling-ddprof' -include ':dd-java-agent:agent-profiling:profiling-controller' -include ':dd-java-agent:agent-profiling:profiling-controller-jfr' -include ':dd-java-agent:agent-profiling:profiling-controller-jfr:implementation' -include ':dd-java-agent:agent-profiling:profiling-controller-ddprof' -include ':dd-java-agent:agent-profiling:profiling-controller-openjdk' -include ':dd-java-agent:agent-profiling:profiling-controller-oracle' -include ':dd-java-agent:agent-profiling:profiling-testing' -include ':dd-java-agent:agent-profiling:profiling-uploader' -include ':dd-java-agent:agent-profiling:profiling-utils' - -include ':dd-java-agent:agent-debugger:debugger-bootstrap' -include ':dd-java-agent:agent-debugger:debugger-test-scala' -include ':dd-java-agent:agent-debugger:debugger-el' - -include ':dd-java-agent:agent-crashtracking' -include ':dd-java-agent:ddprof-lib' - -include ':dd-java-agent:agent-otel:otel-bootstrap' -include ':dd-java-agent:agent-otel:otel-shim' -include ':dd-java-agent:agent-otel:otel-tooling' - -include ':communication' -include ':components:context' -include ':components:environment' -include ':components:json' -include ':components:yaml' -include ':telemetry' -include ':remote-config:remote-config-api' -include ':remote-config:remote-config-core' - -include ':dd-java-agent:appsec' - -// ci-visibility -include ':dd-java-agent:agent-ci-visibility' - -// llm-observability -include ':dd-java-agent:agent-llmobs' - -// iast -include ':dd-java-agent:agent-iast' - -include ':dd-java-agent:cws-tls' - -// misc -include ':dd-java-agent:testing' -include ':utils:container-utils' -include ':utils:socket-utils' -include ':utils:test-agent-utils:decoder' -include ':utils:test-utils' -include ':utils:time-utils' -include ':utils:version-utils' - -// smoke tests -include ':dd-smoke-tests:apm-tracing-disabled' -include ':dd-smoke-tests:armeria-grpc' -include ':dd-smoke-tests:backend-mock' -include ':dd-smoke-tests:cli' -include ':dd-smoke-tests:concurrent:java-8' -include ':dd-smoke-tests:concurrent:java-21' -include ':dd-smoke-tests:crashtracking' -include ':dd-smoke-tests:custom-systemloader' -include ':dd-smoke-tests:dynamic-config' -include ':dd-smoke-tests:field-injection' -include ':dd-smoke-tests:gradle' -include ':dd-smoke-tests:grpc-1.5' -include ':dd-smoke-tests:java9-modules' -include ':dd-smoke-tests:jersey' -include ':dd-smoke-tests:jersey-2' -include ':dd-smoke-tests:jersey-3' -include ':dd-smoke-tests:jboss-modules' -include ':dd-smoke-tests:kafka-2' -include ':dd-smoke-tests:kafka-3' -include ':dd-smoke-tests:lib-injection' -include ':dd-smoke-tests:log-injection' -include ':dd-smoke-tests:maven' -include ':dd-smoke-tests:opentracing' -include ':dd-smoke-tests:opentelemetry' -include ':dd-smoke-tests:osgi' -include ':dd-smoke-tests:play-2.4' -include ':dd-smoke-tests:play-2.5' -include ':dd-smoke-tests:play-2.6' -include ':dd-smoke-tests:play-2.7' -include ':dd-smoke-tests:play-2.8' -include ':dd-smoke-tests:play-2.8-otel' -include ':dd-smoke-tests:play-2.8-split-routes' -include ':dd-smoke-tests:profiling-integration-tests' -include ':dd-smoke-tests:quarkus' -include ':dd-smoke-tests:quarkus-native' -include ':dd-smoke-tests:sample-trace' -include ':dd-smoke-tests:ratpack-1.5' -include ':dd-smoke-tests:resteasy' -include ':dd-smoke-tests:rum' -include ':dd-smoke-tests:rum:tomcat-9' -include ':dd-smoke-tests:rum:tomcat-10' -include ':dd-smoke-tests:rum:tomcat-11' -include ':dd-smoke-tests:spring-boot-3.0-native' -include ':dd-smoke-tests:spring-boot-2.4-webflux' -include ':dd-smoke-tests:spring-boot-2.5-webflux' -include ':dd-smoke-tests:spring-boot-2.6-webflux' -include ':dd-smoke-tests:spring-boot-2.7-webflux' -include ':dd-smoke-tests:spring-boot-3.0-webflux' -include ':dd-smoke-tests:spring-boot-2.3-webmvc-jetty' -include ':dd-smoke-tests:spring-boot-2.6-webmvc' -include ':dd-smoke-tests:spring-boot-3.0-webmvc' -include ':dd-smoke-tests:spring-boot-3.3-webmvc' -include ':dd-smoke-tests:spring-boot-rabbit' -include ':dd-smoke-tests:spring-security' -include ':dd-smoke-tests:springboot' -include ':dd-smoke-tests:springboot-freemarker' -include ':dd-smoke-tests:springboot-grpc' -include ':dd-smoke-tests:springboot-java-11' -include ':dd-smoke-tests:springboot-java-17' -include ':dd-smoke-tests:springboot-jetty-jsp' -include ':dd-smoke-tests:springboot-jpa' -include ':dd-smoke-tests:springboot-mongo' -include ':dd-smoke-tests:springboot-openliberty-20' -include ':dd-smoke-tests:springboot-openliberty-23' -include ':dd-smoke-tests:springboot-thymeleaf' -include ':dd-smoke-tests:springboot-tomcat' -include ':dd-smoke-tests:springboot-tomcat-jsp' -include ':dd-smoke-tests:springboot-velocity' -include ':dd-smoke-tests:vertx-3.4' -include ':dd-smoke-tests:vertx-3.9' -include ':dd-smoke-tests:vertx-3.9-resteasy' -include ':dd-smoke-tests:vertx-4.2' -include ':dd-smoke-tests:wildfly' -include ':dd-smoke-tests:appsec' -include ':dd-smoke-tests:appsec:spring-tomcat7' -include ':dd-smoke-tests:appsec:springboot' -include ':dd-smoke-tests:appsec:springboot-grpc' -include ':dd-smoke-tests:appsec:springboot-graphql' -include ':dd-smoke-tests:appsec:springboot-security' -include ':dd-smoke-tests:debugger-integration-tests' -include ':dd-smoke-tests:datastreams:kafkaschemaregistry' -include ':dd-smoke-tests:iast-propagation' -include ':dd-smoke-tests:iast-util' -include ':dd-smoke-tests:iast-util:iast-util-11' -include ':dd-smoke-tests:iast-util:iast-util-17' -// TODO this fails too often with a jgit failure, so disable until fixed -//include ':dd-smoke-tests:debugger-integration-tests:latest-jdk-app' - -// annotation processor for checking instrumentation advice -include ':dd-java-agent:instrumentation-annotation-processor' - -// instrumentation: -include ':dd-java-agent:instrumentation:aerospike-4' -include ':dd-java-agent:instrumentation:akka:akka-actor-2.5' -include ':dd-java-agent:instrumentation:akka:akka-http:akka-http-10.0' -include ':dd-java-agent:instrumentation:akka:akka-http:akka-http-10.2-iast' -include ':dd-java-agent:instrumentation:akka:akka-http:akka-http-10.6' -include ':dd-java-agent:instrumentation:apache-httpclient:apache-httpasyncclient-4.0' -include ':dd-java-agent:instrumentation:apache-httpclient:apache-httpclient-4.0' -include ':dd-java-agent:instrumentation:apache-httpclient:apache-httpclient-5.0' -include ':dd-java-agent:instrumentation:apache-httpcore:apache-httpcore-4.0' -include ':dd-java-agent:instrumentation:apache-httpcore:apache-httpcore-5.0' -include ':dd-java-agent:instrumentation:armeria:armeria-grpc-0.84' -include ':dd-java-agent:instrumentation:armeria:armeria-jetty-1.24' -include ':dd-java-agent:instrumentation:avro' -include ':dd-java-agent:instrumentation:aws-common' -include ':dd-java-agent:instrumentation:aws-java-dynamodb-2.0' -include ':dd-java-agent:instrumentation:aws-java-eventbridge-2.0' -include ':dd-java-agent:instrumentation:aws-java-sdk-1.11.0' -include ':dd-java-agent:instrumentation:aws-java-sdk-2.2' -include ':dd-java-agent:instrumentation:aws-java-sfn-2.0' -include ':dd-java-agent:instrumentation:aws-java-sns-1.0' -include ':dd-java-agent:instrumentation:aws-java-sns-2.0' -include ':dd-java-agent:instrumentation:aws-java-sqs-1.0' -include ':dd-java-agent:instrumentation:aws-java-sqs-2.0' -include ':dd-java-agent:instrumentation:aws-java-s3-2.0' -include ':dd-java-agent:instrumentation:aws-lambda-handler' -include ':dd-java-agent:instrumentation:axis-2' -include ':dd-java-agent:instrumentation:axway-api' -include ':dd-java-agent:instrumentation:azure-functions' -include ':dd-java-agent:instrumentation:caffeine' -include ':dd-java-agent:instrumentation:cdi-1.2' -include ':dd-java-agent:instrumentation:classloading' -include ':dd-java-agent:instrumentation:classloading:jboss-testing' -include ':dd-java-agent:instrumentation:classloading:jsr14-testing' -include ':dd-java-agent:instrumentation:classloading:osgi-testing' -include ':dd-java-agent:instrumentation:classloading:tomcat-testing' -include ':dd-java-agent:instrumentation:commons-codec-1' -include ':dd-java-agent:instrumentation:commons-fileupload' -include ':dd-java-agent:instrumentation:commons-httpclient-2' -include ':dd-java-agent:instrumentation:commons-lang-2' -include ':dd-java-agent:instrumentation:commons-lang-3' -include ':dd-java-agent:instrumentation:commons-text' -include ':dd-java-agent:instrumentation:couchbase:couchbase-2.0' -include ':dd-java-agent:instrumentation:couchbase:couchbase-2.6' -include ':dd-java-agent:instrumentation:couchbase:couchbase-3.1' -include ':dd-java-agent:instrumentation:couchbase:couchbase-3.2' -include ':dd-java-agent:instrumentation:cucumber' -include ':dd-java-agent:instrumentation:cxf-2.1' -include ':dd-java-agent:instrumentation:datanucleus-4' -include ':dd-java-agent:instrumentation:datastax-cassandra-3' -include ':dd-java-agent:instrumentation:datastax-cassandra-3.8' -include ':dd-java-agent:instrumentation:datastax-cassandra-4' -include ':dd-java-agent:instrumentation:dropwizard' -include ':dd-java-agent:instrumentation:dropwizard:dropwizard-views' -include ':dd-java-agent:instrumentation:elasticsearch' -include ':dd-java-agent:instrumentation:elasticsearch:rest-5' -include ':dd-java-agent:instrumentation:elasticsearch:rest-6.4' -include ':dd-java-agent:instrumentation:elasticsearch:rest-7' -include ':dd-java-agent:instrumentation:elasticsearch:transport' -include ':dd-java-agent:instrumentation:elasticsearch:transport-2' -include ':dd-java-agent:instrumentation:elasticsearch:transport-5' -include ':dd-java-agent:instrumentation:elasticsearch:transport-5.3' -include ':dd-java-agent:instrumentation:elasticsearch:transport-6' -include ':dd-java-agent:instrumentation:elasticsearch:transport-7.3' -include ':dd-java-agent:instrumentation:enable-wallclock-profiling' -include ':dd-java-agent:instrumentation:exception-profiling' -include ':dd-java-agent:instrumentation:finatra-2.9' -include ':dd-java-agent:instrumentation:freemarker:freemarker-2.3.9' -include ':dd-java-agent:instrumentation:freemarker:freemarker-2.3.24' -include ':dd-java-agent:instrumentation:glassfish' -include ':dd-java-agent:instrumentation:google-http-client' -include ':dd-java-agent:instrumentation:google-pubsub' -include ':dd-java-agent:instrumentation:graal:native-image' -include ':dd-java-agent:instrumentation:gradle-3.0' -include ':dd-java-agent:instrumentation:gradle-8.3' -include ':dd-java-agent:instrumentation:gradle-testing' -include ':dd-java-agent:instrumentation:graphql-java:graphql-java-14.0' -include ':dd-java-agent:instrumentation:graphql-java:graphql-java-20.0' -include ':dd-java-agent:instrumentation:graphql-java:graphql-java-common' -include ':dd-java-agent:instrumentation:grizzly-2' -include ':dd-java-agent:instrumentation:grizzly-client-1.9' -include ':dd-java-agent:instrumentation:grizzly-http-2.3.20' -include ':dd-java-agent:instrumentation:grpc-1.5' -include ':dd-java-agent:instrumentation:gson-1.6' -include ':dd-java-agent:instrumentation:guava-10' -include ':dd-java-agent:instrumentation:hazelcast-3.6' -include ':dd-java-agent:instrumentation:hazelcast-3.9' -include ':dd-java-agent:instrumentation:hazelcast-4.0' -include ':dd-java-agent:instrumentation:hibernate' -include ':dd-java-agent:instrumentation:hibernate:core-3.3' -include ':dd-java-agent:instrumentation:hibernate:core-4.0' -include ':dd-java-agent:instrumentation:hibernate:core-4.3' -include ':dd-java-agent:instrumentation:http-url-connection' -include ':dd-java-agent:instrumentation:hystrix-1.4' -include ':dd-java-agent:instrumentation:iast-instrumenter' -include ':dd-java-agent:instrumentation:ignite-2.0' -include ':dd-java-agent:instrumentation:jackson-core' -include ':dd-java-agent:instrumentation:jackson-core:jackson-core-1' -include ':dd-java-agent:instrumentation:jackson-core:jackson-core-2' -include ':dd-java-agent:instrumentation:jackson-core:jackson-core-2.6' -include ':dd-java-agent:instrumentation:jackson-core:jackson-core-2.8' -include ':dd-java-agent:instrumentation:jackson-core:jackson-core-2.12' -include ':dd-java-agent:instrumentation:jackson-core:jackson-core-2.16' -include ':dd-java-agent:instrumentation:jacoco' -include ':dd-java-agent:instrumentation:jakarta-jms' -include ':dd-java-agent:instrumentation:jakarta-mail' -include ':dd-java-agent:instrumentation:jakarta-rs-annotations-3' -include ':dd-java-agent:instrumentation:jakarta-ws-annotations' -include ':dd-java-agent:instrumentation:java-concurrent' -include ':dd-java-agent:instrumentation:java-concurrent:java-completablefuture' -include ':dd-java-agent:instrumentation:java-concurrent:java-concurrent-21' -include ':dd-java-agent:instrumentation:java-concurrent:lambda-testing' -include ':dd-java-agent:instrumentation:java-directbytebuffer' -include ':dd-java-agent:instrumentation:java-http-client' -include ':dd-java-agent:instrumentation:java-io' -include ':dd-java-agent:instrumentation:java-lang' -include ':dd-java-agent:instrumentation:java-lang:java-lang-9' -include ':dd-java-agent:instrumentation:java-lang:java-lang-11' -include ':dd-java-agent:instrumentation:java-lang:java-lang-15' -include ':dd-java-agent:instrumentation:java-lang:java-lang-17' -include ':dd-java-agent:instrumentation:java-net' -include ':dd-java-agent:instrumentation:java-security' -include ':dd-java-agent:instrumentation:java-util' -include ':dd-java-agent:instrumentation:javax-naming' -include ':dd-java-agent:instrumentation:javax-xml' -include ':dd-java-agent:instrumentation:javax-mail' -include ':dd-java-agent:instrumentation:jax-rs-annotations-1' -include ':dd-java-agent:instrumentation:jax-rs-annotations-2' -include ':dd-java-agent:instrumentation:jax-rs-annotations-2:filter-jersey' -include ':dd-java-agent:instrumentation:jax-rs-annotations-2:filter-resteasy-3.0' -include ':dd-java-agent:instrumentation:jax-rs-annotations-2:filter-resteasy-3.1' -include ':dd-java-agent:instrumentation:jax-rs-client-1.1' -include ':dd-java-agent:instrumentation:jax-rs-client-2.0' -include ':dd-java-agent:instrumentation:jax-rs-client-2.0:connection-error-handling-jersey' -include ':dd-java-agent:instrumentation:jax-rs-client-2.0:connection-error-handling-resteasy' -include ':dd-java-agent:instrumentation:jax-ws-annotations-1' -include ':dd-java-agent:instrumentation:jax-ws-annotations-2' -include ':dd-java-agent:instrumentation:jboss-logmanager' -include ':dd-java-agent:instrumentation:jboss-modules' -include ':dd-java-agent:instrumentation:jdbc' -include ':dd-java-agent:instrumentation:jdbc:scalikejdbc' -include ':dd-java-agent:instrumentation:jedis-1.4' -include ':dd-java-agent:instrumentation:jedis-3.0' -include ':dd-java-agent:instrumentation:jedis-4.0' -include ':dd-java-agent:instrumentation:jersey' -include ':dd-java-agent:instrumentation:jersey-2-appsec' -include ':dd-java-agent:instrumentation:jersey-3-appsec' -include ':dd-java-agent:instrumentation:jetty-7.0' -include ':dd-java-agent:instrumentation:jetty-7.6' -include ':dd-java-agent:instrumentation:jetty-9' -include ':dd-java-agent:instrumentation:jetty-11' -include ':dd-java-agent:instrumentation:jetty-12' -include ':dd-java-agent:instrumentation:jetty-appsec-7' -include ':dd-java-agent:instrumentation:jetty-appsec-8.1.3' -include ':dd-java-agent:instrumentation:jetty-appsec-9.2' -include ':dd-java-agent:instrumentation:jetty-appsec-9.3' -include ':dd-java-agent:instrumentation:jetty-client:jetty-client-common' -include ':dd-java-agent:instrumentation:jetty-client:jetty-client-9.1' -include ':dd-java-agent:instrumentation:jetty-client:jetty-client-10.0' -include ':dd-java-agent:instrumentation:jetty-client:jetty-client-12.0' -include ':dd-java-agent:instrumentation:jetty-common' -include ':dd-java-agent:instrumentation:jetty-util' -include ':dd-java-agent:instrumentation:jms' -include ':dd-java-agent:instrumentation:jose-jwt' -include ':dd-java-agent:instrumentation:org-json' -include ':dd-java-agent:instrumentation:jsp-2.3' -include ':dd-java-agent:instrumentation:junit-4.10' -include ':dd-java-agent:instrumentation:junit-4.10:cucumber-junit-4' -include ':dd-java-agent:instrumentation:junit-4.10:junit-4.13' -include ':dd-java-agent:instrumentation:junit-4.10:munit-junit-4' -include ':dd-java-agent:instrumentation:junit-5.3' -include ':dd-java-agent:instrumentation:junit-5.3:junit-5.8' -include ':dd-java-agent:instrumentation:junit-5.3:cucumber-junit-5' -include ':dd-java-agent:instrumentation:junit-5.3:spock-junit-5' -include ':dd-java-agent:instrumentation:kafka-clients-0.11' -include ':dd-java-agent:instrumentation:kafka-clients-3.8' -include ':dd-java-agent:instrumentation:kafka-common' -include ':dd-java-agent:instrumentation:kafka-connect-0.11' -include ':dd-java-agent:instrumentation:kafka-streams-0.11' -include ':dd-java-agent:instrumentation:kafka-streams-1.0' -include ':dd-java-agent:instrumentation:karate' -include ':dd-java-agent:instrumentation:kotlin-coroutines' -include ':dd-java-agent:instrumentation:lettuce-4' -include ':dd-java-agent:instrumentation:lettuce-5' -include ':dd-java-agent:instrumentation:liberty-20' -include ':dd-java-agent:instrumentation:liberty-23' -include ':dd-java-agent:instrumentation:log4j-2.7' -include ':dd-java-agent:instrumentation:log4j1' -include ':dd-java-agent:instrumentation:log4j2' -include ':dd-java-agent:instrumentation:log4j2:logs-intake' -include ':dd-java-agent:instrumentation:logback-1' -include ':dd-java-agent:instrumentation:maven-3.2.1' -include ':dd-java-agent:instrumentation:maven-surefire' -include ':dd-java-agent:instrumentation:micronaut' -include ':dd-java-agent:instrumentation:micronaut:http-server-netty-2.0' -include ':dd-java-agent:instrumentation:micronaut:http-server-netty-3.0' -include ':dd-java-agent:instrumentation:micronaut:http-server-netty-4.0' -include ':dd-java-agent:instrumentation:mongo' -include ':dd-java-agent:instrumentation:mongo:common' -include ':dd-java-agent:instrumentation:mongo:bson-document' -include ':dd-java-agent:instrumentation:mongo:driver-3.1' -include ':dd-java-agent:instrumentation:mongo:driver-3.4' -include ':dd-java-agent:instrumentation:mongo:driver-3.1-core-test' -include ':dd-java-agent:instrumentation:mongo:driver-3.7-core-test' -include ':dd-java-agent:instrumentation:mongo:driver-4.0' -include ':dd-java-agent:instrumentation:mongo:driver-3.3-async-test' -include ':dd-java-agent:instrumentation:mongo:driver-3.10-sync-test' -include ':dd-java-agent:instrumentation:mule-4' -include ':dd-java-agent:instrumentation:netty-3.8' -include ':dd-java-agent:instrumentation:netty-4.0' -include ':dd-java-agent:instrumentation:netty-4.1-shared' -include ':dd-java-agent:instrumentation:netty-4.1' -include ':dd-java-agent:instrumentation:netty-buffer-4' -include ':dd-java-agent:instrumentation:netty-concurrent-4' -include ':dd-java-agent:instrumentation:netty-promise-4' -include ':dd-java-agent:instrumentation:okhttp-2' -include ':dd-java-agent:instrumentation:okhttp-3' -include ':dd-java-agent:instrumentation:ognl-appsec' -include ':dd-java-agent:instrumentation:opensearch' -include ':dd-java-agent:instrumentation:opensearch:rest' -include ':dd-java-agent:instrumentation:opensearch:transport' -include ':dd-java-agent:instrumentation:opentelemetry:opentelemetry-0.3' -include ':dd-java-agent:instrumentation:opentelemetry:opentelemetry-1.4' -include ':dd-java-agent:instrumentation:opentelemetry:opentelemetry-annotations-1.20' -include ':dd-java-agent:instrumentation:opentelemetry:opentelemetry-annotations-1.26' -include ':dd-java-agent:instrumentation:opentracing' -include ':dd-java-agent:instrumentation:opentracing:api-0.31' -include ':dd-java-agent:instrumentation:opentracing:api-0.32' -include ':dd-java-agent:instrumentation:osgi-4.3' -include ':dd-java-agent:instrumentation:owasp-esapi-2' -include ':dd-java-agent:instrumentation:pekko-concurrent' -include ':dd-java-agent:instrumentation:pekko-http-1.0' -include ':dd-java-agent:instrumentation:play-2.3' -include ':dd-java-agent:instrumentation:play-2.4' -include ':dd-java-agent:instrumentation:play-2.6' -include ':dd-java-agent:instrumentation:play-ws' -include ':dd-java-agent:instrumentation:play-ws-1' -include ':dd-java-agent:instrumentation:play-ws-2' -include ':dd-java-agent:instrumentation:play-ws-2.1' -include ':dd-java-agent:instrumentation:protobuf' -include ':dd-java-agent:instrumentation:quartz-2' -include ':dd-java-agent:instrumentation:rabbitmq-amqp-2.7' -include ':dd-java-agent:instrumentation:ratpack-1.5' -include ':dd-java-agent:instrumentation:reactive-streams' -include ':dd-java-agent:instrumentation:reactor-core-3.1' -include ':dd-java-agent:instrumentation:reactor-netty-1' -include ':dd-java-agent:instrumentation:rediscala-1.8.0' -include ':dd-java-agent:instrumentation:renaissance' -include ':dd-java-agent:instrumentation:resteasy-appsec' -include ':dd-java-agent:instrumentation:restlet-2.2' -include ':dd-java-agent:instrumentation:rmi' -include ':dd-java-agent:instrumentation:rxjava-1' -include ':dd-java-agent:instrumentation:rxjava-2' -include ':dd-java-agent:instrumentation:scala' -include ':dd-java-agent:instrumentation:scala-concurrent' -include ':dd-java-agent:instrumentation:scala-promise' -include ':dd-java-agent:instrumentation:scala-promise:scala-promise-2.10' -include ':dd-java-agent:instrumentation:scala-promise:scala-promise-2.13' -include ':dd-java-agent:instrumentation:scalatest' -include ':dd-java-agent:instrumentation:selenium' -include ':dd-java-agent:instrumentation:servicetalk' -include ':dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.0' -include ':dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.56' -include ':dd-java-agent:instrumentation:servlet' -include ':dd-java-agent:instrumentation:servlet-common' -include ':dd-java-agent:instrumentation:servlet:request-2' -include ':dd-java-agent:instrumentation:servlet:request-3' -include ':dd-java-agent:instrumentation:servlet:request-5' -include ':dd-java-agent:instrumentation:shutdown' -include ':dd-java-agent:instrumentation:slick' -include ':dd-java-agent:instrumentation:snakeyaml' -include ':dd-java-agent:instrumentation:span-origin' -include ':dd-java-agent:instrumentation:spark:spark_2.12' -include ':dd-java-agent:instrumentation:spark:spark_2.13' -include ':dd-java-agent:instrumentation:spark-executor' -include ':dd-java-agent:instrumentation:sparkjava-2.3' -include ':dd-java-agent:instrumentation:spray-1.3' -include ':dd-java-agent:instrumentation:spring-beans' -include ':dd-java-agent:instrumentation:spring-boot' -include ':dd-java-agent:instrumentation:spring-cloud-zuul-2' -include ':dd-java-agent:instrumentation:spring-core' -include ':dd-java-agent:instrumentation:spring-data-1.8' -include ':dd-java-agent:instrumentation:spring-jms-3.1' -include ':dd-java-agent:instrumentation:spring-messaging-4' -include ':dd-java-agent:instrumentation:spring-rabbit' -include ':dd-java-agent:instrumentation:spring-scheduling-3.1' -include ':dd-java-agent:instrumentation:spring-security-5' -include ':dd-java-agent:instrumentation:spring-security-6' -include ':dd-java-agent:instrumentation:spring-webflux-5' -include ':dd-java-agent:instrumentation:spring-webflux-6' -include ':dd-java-agent:instrumentation:spring-webmvc-3.1' -include ':dd-java-agent:instrumentation:spring-webmvc-5.3' -include ':dd-java-agent:instrumentation:spring-webmvc-6.0' -include ':dd-java-agent:instrumentation:spring-ws-2' -include ':dd-java-agent:instrumentation:spymemcached-2.10' -include ':dd-java-agent:instrumentation:sslsocket' -include ':dd-java-agent:instrumentation:synapse-3' -include ':dd-java-agent:instrumentation:testng' -include ':dd-java-agent:instrumentation:testng:testng-6' -include ':dd-java-agent:instrumentation:testng:testng-7' -include ':dd-java-agent:instrumentation:thymeleaf' -include ':dd-java-agent:instrumentation:tinylog-2' -include ':dd-java-agent:instrumentation:tibco-businessworks' -include ':dd-java-agent:instrumentation:tibco-businessworks:tibcobw-stubs' -include ':dd-java-agent:instrumentation:tibco-businessworks:tibcobw-5' -include ':dd-java-agent:instrumentation:tibco-businessworks:tibcobw-6' -include ':dd-java-agent:instrumentation:tomcat-5.5' -include ':dd-java-agent:instrumentation:tomcat-5.5-common' -include ':dd-java-agent:instrumentation:tomcat-appsec-5.5' -include ':dd-java-agent:instrumentation:tomcat-appsec-6' -include ':dd-java-agent:instrumentation:tomcat-appsec-7' -include ':dd-java-agent:instrumentation:tomcat-classloading-9' -include ':dd-java-agent:instrumentation:trace-annotation' -include ':dd-java-agent:instrumentation:twilio' -include ':dd-java-agent:instrumentation:unbescape' -include ':dd-java-agent:instrumentation:undertow' -include ':dd-java-agent:instrumentation:undertow:undertow-2.0' -include ':dd-java-agent:instrumentation:undertow:undertow-2.2' -include ':dd-java-agent:instrumentation:valkey-java' -include ':dd-java-agent:instrumentation:velocity' -include ':dd-java-agent:instrumentation:vertx-mysql-client-3.9' -include ':dd-java-agent:instrumentation:vertx-mysql-client-4.0' -include ':dd-java-agent:instrumentation:vertx-mysql-client-4.4.2' -include ':dd-java-agent:instrumentation:vertx-pg-client-4.0' -include ':dd-java-agent:instrumentation:vertx-pg-client-4.4.2' -include ':dd-java-agent:instrumentation:vertx-redis-client-3.9' -include ':dd-java-agent:instrumentation:vertx-redis-client-3.9:stubs' -include ':dd-java-agent:instrumentation:vertx-rx-3.5' -include ':dd-java-agent:instrumentation:vertx-sql-client-3.9' -include ':dd-java-agent:instrumentation:vertx-web-3.4' -include ':dd-java-agent:instrumentation:vertx-web-3.5' -include ':dd-java-agent:instrumentation:vertx-web-3.9' -include ':dd-java-agent:instrumentation:vertx-web-4.0' -include ':dd-java-agent:instrumentation:vertx-web-5.0' -include ':dd-java-agent:instrumentation:redisson' -include ':dd-java-agent:instrumentation:redisson:redisson-2.0.0' -include ':dd-java-agent:instrumentation:redisson:redisson-2.3.0' -include ':dd-java-agent:instrumentation:redisson:redisson-3.10.3' -include ':dd-java-agent:instrumentation:weaver' -include ':dd-java-agent:instrumentation:websocket:jakarta-websocket-2.0' -include ':dd-java-agent:instrumentation:websocket:javax-websocket-1.0' -include ':dd-java-agent:instrumentation:websocket:jetty-websocket' -include ':dd-java-agent:instrumentation:websocket:jetty-websocket:jetty-websocket-10' -include ':dd-java-agent:instrumentation:websocket:jetty-websocket:jetty-websocket-11' -include ':dd-java-agent:instrumentation:websocket:jetty-websocket:jetty-websocket-12' -include ':dd-java-agent:instrumentation:websphere-jmx' -include ':dd-java-agent:instrumentation:wildfly-9' -include ':dd-java-agent:instrumentation:zio:zio-2.0' - -// benchmark -include ':dd-java-agent:benchmark' -include ':dd-java-agent:benchmark-integration' -include ':dd-java-agent:benchmark-integration:jetty-perftest' -include ':dd-java-agent:benchmark-integration:play-perftest' diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 00000000000..70bbfb5679f --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,600 @@ +pluginManagement { + repositories { + mavenLocal() + + if (settings.extra.has("gradlePluginProxy")) { + maven { + url = uri(settings.extra["gradlePluginProxy"] as String) + isAllowInsecureProtocol = true + } + } + if (settings.extra.has("mavenRepositoryProxy")) { + maven { + url = uri(settings.extra["mavenRepositoryProxy"] as String) + isAllowInsecureProtocol = true + } + } + gradlePluginPortal() + mavenCentral() + } +} + +plugins { + id("com.gradle.develocity") version "4.1" +} + +val isCI = providers.environmentVariable("CI") +val skipBuildscan = providers.environmentVariable("SKIP_BUILDSCAN").map { it.toBoolean() }.orElse(false) + +develocity { + buildScan { + termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use" + termsOfUseAgree = "yes" + publishing.onlyIf { isCI.isPresent && !skipBuildscan.get() } + } +} + +// Don't pollute the dependency cache with the build cache +if (isCI.isPresent) { + buildCache { + local { + directory = File(rootDir, "workspace/build-cache") + } + } +} + +rootProject.name = "dd-trace-java" + +// external apis +include( + ":dd-trace-api", + ":dd-trace-ot", + ":dd-trace-ot:correlation-id-injection", +) + +// agent projects +include( + ":internal-api", + ":internal-api:internal-api-9", + ":dd-trace-core", + ":dd-java-agent", + ":dd-java-agent:agent-bootstrap", + ":dd-java-agent:agent-builder", + ":dd-java-agent:agent-tooling", + ":dd-java-agent:agent-jmxfetch", + ":dd-java-agent:agent-logging", + ":dd-java-agent:agent-logs-intake", + ":dd-java-agent:load-generator", +) + +// profiling +include( + ":dd-java-agent:agent-profiling", + ":dd-java-agent:agent-profiling:profiling-ddprof", + ":dd-java-agent:agent-profiling:profiling-controller", + ":dd-java-agent:agent-profiling:profiling-controller-jfr", + ":dd-java-agent:agent-profiling:profiling-controller-jfr:implementation", + ":dd-java-agent:agent-profiling:profiling-controller-ddprof", + ":dd-java-agent:agent-profiling:profiling-controller-openjdk", + ":dd-java-agent:agent-profiling:profiling-controller-oracle", + ":dd-java-agent:agent-profiling:profiling-testing", + ":dd-java-agent:agent-profiling:profiling-uploader", + ":dd-java-agent:agent-profiling:profiling-utils", +) + +include( + ":dd-java-agent:agent-debugger:debugger-bootstrap", + ":dd-java-agent:agent-debugger:debugger-test-scala", + ":dd-java-agent:agent-debugger:debugger-el", +) + +include( + ":dd-java-agent:agent-crashtracking", + ":dd-java-agent:ddprof-lib", +) + +include( + ":dd-java-agent:agent-otel:otel-bootstrap", + ":dd-java-agent:agent-otel:otel-shim", + ":dd-java-agent:agent-otel:otel-tooling", +) + +include( + ":communication", + ":components:context", + ":components:environment", + ":components:json", + ":components:yaml", + ":telemetry", + ":remote-config:remote-config-api", + ":remote-config:remote-config-core", +) + +include( + ":dd-java-agent:appsec", +) + +// ci-visibility +include( + ":dd-java-agent:agent-ci-visibility", +) + +// llm-observability +include( + ":dd-java-agent:agent-llmobs", +) + +// iast +include( + ":dd-java-agent:agent-iast", +) + +include( + ":dd-java-agent:cws-tls", +) + +// misc +include( + ":dd-java-agent:testing", + ":utils:container-utils", + ":utils:socket-utils", + ":utils:test-agent-utils:decoder", + ":utils:test-utils", + ":utils:time-utils", + ":utils:version-utils", +) + +// smoke tests +include( + ":dd-smoke-tests:apm-tracing-disabled", + ":dd-smoke-tests:armeria-grpc", + ":dd-smoke-tests:backend-mock", + ":dd-smoke-tests:cli", + ":dd-smoke-tests:concurrent:java-8", + ":dd-smoke-tests:concurrent:java-21", + ":dd-smoke-tests:crashtracking", + ":dd-smoke-tests:custom-systemloader", + ":dd-smoke-tests:dynamic-config", + ":dd-smoke-tests:field-injection", + ":dd-smoke-tests:gradle", + ":dd-smoke-tests:grpc-1.5", + ":dd-smoke-tests:java9-modules", + ":dd-smoke-tests:jersey", + ":dd-smoke-tests:jersey-2", + ":dd-smoke-tests:jersey-3", + ":dd-smoke-tests:jboss-modules", + ":dd-smoke-tests:kafka-2", + ":dd-smoke-tests:kafka-3", + ":dd-smoke-tests:lib-injection", + ":dd-smoke-tests:log-injection", + ":dd-smoke-tests:maven", + ":dd-smoke-tests:opentracing", + ":dd-smoke-tests:opentelemetry", + ":dd-smoke-tests:osgi", + ":dd-smoke-tests:play-2.4", + ":dd-smoke-tests:play-2.5", + ":dd-smoke-tests:play-2.6", + ":dd-smoke-tests:play-2.7", + ":dd-smoke-tests:play-2.8", + ":dd-smoke-tests:play-2.8-otel", + ":dd-smoke-tests:play-2.8-split-routes", + ":dd-smoke-tests:profiling-integration-tests", + ":dd-smoke-tests:quarkus", + ":dd-smoke-tests:quarkus-native", + ":dd-smoke-tests:sample-trace", + ":dd-smoke-tests:ratpack-1.5", + ":dd-smoke-tests:resteasy", + ":dd-smoke-tests:rum", + ":dd-smoke-tests:rum:tomcat-9", + ":dd-smoke-tests:rum:tomcat-10", + ":dd-smoke-tests:rum:tomcat-11", + ":dd-smoke-tests:spring-boot-3.0-native", + ":dd-smoke-tests:spring-boot-2.4-webflux", + ":dd-smoke-tests:spring-boot-2.5-webflux", + ":dd-smoke-tests:spring-boot-2.6-webflux", + ":dd-smoke-tests:spring-boot-2.7-webflux", + ":dd-smoke-tests:spring-boot-3.0-webflux", + ":dd-smoke-tests:spring-boot-2.3-webmvc-jetty", + ":dd-smoke-tests:spring-boot-2.6-webmvc", + ":dd-smoke-tests:spring-boot-3.0-webmvc", + ":dd-smoke-tests:spring-boot-3.3-webmvc", + ":dd-smoke-tests:spring-boot-rabbit", + ":dd-smoke-tests:spring-security", + ":dd-smoke-tests:springboot", + ":dd-smoke-tests:springboot-freemarker", + ":dd-smoke-tests:springboot-grpc", + ":dd-smoke-tests:springboot-java-11", + ":dd-smoke-tests:springboot-java-17", + ":dd-smoke-tests:springboot-jetty-jsp", + ":dd-smoke-tests:springboot-jpa", + ":dd-smoke-tests:springboot-mongo", + ":dd-smoke-tests:springboot-openliberty-20", + ":dd-smoke-tests:springboot-openliberty-23", + ":dd-smoke-tests:springboot-thymeleaf", + ":dd-smoke-tests:springboot-tomcat", + ":dd-smoke-tests:springboot-tomcat-jsp", + ":dd-smoke-tests:springboot-velocity", + ":dd-smoke-tests:vertx-3.4", + ":dd-smoke-tests:vertx-3.9", + ":dd-smoke-tests:vertx-3.9-resteasy", + ":dd-smoke-tests:vertx-4.2", + ":dd-smoke-tests:wildfly", + ":dd-smoke-tests:appsec", + ":dd-smoke-tests:appsec:spring-tomcat7", + ":dd-smoke-tests:appsec:springboot", + ":dd-smoke-tests:appsec:springboot-grpc", + ":dd-smoke-tests:appsec:springboot-graphql", + ":dd-smoke-tests:appsec:springboot-security", + ":dd-smoke-tests:debugger-integration-tests", + ":dd-smoke-tests:datastreams:kafkaschemaregistry", + ":dd-smoke-tests:iast-propagation", + ":dd-smoke-tests:iast-util", + ":dd-smoke-tests:iast-util:iast-util-11", + ":dd-smoke-tests:iast-util:iast-util-17", + // TODO this fails too often with a jgit failure, so disable until fixed + // ":dd-smoke-tests:debugger-integration-tests:latest-jdk-app", +) + +// annotation processor for checking instrumentation advice +include( + ":dd-java-agent:instrumentation-annotation-processor", +) + +// instrumentation: +include( + ":dd-java-agent:instrumentation:aerospike-4", + ":dd-java-agent:instrumentation:akka:akka-actor-2.5", + ":dd-java-agent:instrumentation:akka:akka-http:akka-http-10.0", + ":dd-java-agent:instrumentation:akka:akka-http:akka-http-10.2-iast", + ":dd-java-agent:instrumentation:akka:akka-http:akka-http-10.6", + ":dd-java-agent:instrumentation:apache-httpclient:apache-httpasyncclient-4.0", + ":dd-java-agent:instrumentation:apache-httpclient:apache-httpclient-4.0", + ":dd-java-agent:instrumentation:apache-httpclient:apache-httpclient-5.0", + ":dd-java-agent:instrumentation:apache-httpcore:apache-httpcore-4.0", + ":dd-java-agent:instrumentation:apache-httpcore:apache-httpcore-5.0", + ":dd-java-agent:instrumentation:armeria:armeria-grpc-0.84", + ":dd-java-agent:instrumentation:armeria:armeria-jetty-1.24", + ":dd-java-agent:instrumentation:avro", + ":dd-java-agent:instrumentation:aws-common", + ":dd-java-agent:instrumentation:aws-java-dynamodb-2.0", + ":dd-java-agent:instrumentation:aws-java-eventbridge-2.0", + ":dd-java-agent:instrumentation:aws-java-sdk-1.11.0", + ":dd-java-agent:instrumentation:aws-java-sdk-2.2", + ":dd-java-agent:instrumentation:aws-java-sfn-2.0", + ":dd-java-agent:instrumentation:aws-java-sns-1.0", + ":dd-java-agent:instrumentation:aws-java-sns-2.0", + ":dd-java-agent:instrumentation:aws-java-sqs-1.0", + ":dd-java-agent:instrumentation:aws-java-sqs-2.0", + ":dd-java-agent:instrumentation:aws-java-s3-2.0", + ":dd-java-agent:instrumentation:aws-lambda-handler", + ":dd-java-agent:instrumentation:axis-2", + ":dd-java-agent:instrumentation:axway-api", + ":dd-java-agent:instrumentation:azure-functions", + ":dd-java-agent:instrumentation:caffeine", + ":dd-java-agent:instrumentation:cdi-1.2", + ":dd-java-agent:instrumentation:classloading", + ":dd-java-agent:instrumentation:classloading:jboss-testing", + ":dd-java-agent:instrumentation:classloading:jsr14-testing", + ":dd-java-agent:instrumentation:classloading:osgi-testing", + ":dd-java-agent:instrumentation:classloading:tomcat-testing", + ":dd-java-agent:instrumentation:commons-codec-1", + ":dd-java-agent:instrumentation:commons-fileupload", + ":dd-java-agent:instrumentation:commons-httpclient-2", + ":dd-java-agent:instrumentation:commons-lang-2", + ":dd-java-agent:instrumentation:commons-lang-3", + ":dd-java-agent:instrumentation:commons-text", + ":dd-java-agent:instrumentation:couchbase:couchbase-2.0", + ":dd-java-agent:instrumentation:couchbase:couchbase-2.6", + ":dd-java-agent:instrumentation:couchbase:couchbase-3.1", + ":dd-java-agent:instrumentation:couchbase:couchbase-3.2", + ":dd-java-agent:instrumentation:cucumber", + ":dd-java-agent:instrumentation:cxf-2.1", + ":dd-java-agent:instrumentation:datanucleus-4", + ":dd-java-agent:instrumentation:datastax-cassandra-3", + ":dd-java-agent:instrumentation:datastax-cassandra-3.8", + ":dd-java-agent:instrumentation:datastax-cassandra-4", + ":dd-java-agent:instrumentation:dropwizard", + ":dd-java-agent:instrumentation:dropwizard:dropwizard-views", + ":dd-java-agent:instrumentation:elasticsearch", + ":dd-java-agent:instrumentation:elasticsearch:rest-5", + ":dd-java-agent:instrumentation:elasticsearch:rest-6.4", + ":dd-java-agent:instrumentation:elasticsearch:rest-7", + ":dd-java-agent:instrumentation:elasticsearch:transport", + ":dd-java-agent:instrumentation:elasticsearch:transport-2", + ":dd-java-agent:instrumentation:elasticsearch:transport-5", + ":dd-java-agent:instrumentation:elasticsearch:transport-5.3", + ":dd-java-agent:instrumentation:elasticsearch:transport-6", + ":dd-java-agent:instrumentation:elasticsearch:transport-7.3", + ":dd-java-agent:instrumentation:enable-wallclock-profiling", + ":dd-java-agent:instrumentation:exception-profiling", + ":dd-java-agent:instrumentation:finatra-2.9", + ":dd-java-agent:instrumentation:freemarker:freemarker-2.3.9", + ":dd-java-agent:instrumentation:freemarker:freemarker-2.3.24", + ":dd-java-agent:instrumentation:glassfish", + ":dd-java-agent:instrumentation:google-http-client", + ":dd-java-agent:instrumentation:google-pubsub", + ":dd-java-agent:instrumentation:graal:native-image", + ":dd-java-agent:instrumentation:gradle-3.0", + ":dd-java-agent:instrumentation:gradle-8.3", + ":dd-java-agent:instrumentation:gradle-testing", + ":dd-java-agent:instrumentation:graphql-java:graphql-java-14.0", + ":dd-java-agent:instrumentation:graphql-java:graphql-java-20.0", + ":dd-java-agent:instrumentation:graphql-java:graphql-java-common", + ":dd-java-agent:instrumentation:grizzly-2", + ":dd-java-agent:instrumentation:grizzly-client-1.9", + ":dd-java-agent:instrumentation:grizzly-http-2.3.20", + ":dd-java-agent:instrumentation:grpc-1.5", + ":dd-java-agent:instrumentation:gson-1.6", + ":dd-java-agent:instrumentation:guava-10", + ":dd-java-agent:instrumentation:hazelcast-3.6", + ":dd-java-agent:instrumentation:hazelcast-3.9", + ":dd-java-agent:instrumentation:hazelcast-4.0", + ":dd-java-agent:instrumentation:hibernate", + ":dd-java-agent:instrumentation:hibernate:core-3.3", + ":dd-java-agent:instrumentation:hibernate:core-4.0", + ":dd-java-agent:instrumentation:hibernate:core-4.3", + ":dd-java-agent:instrumentation:http-url-connection", + ":dd-java-agent:instrumentation:hystrix-1.4", + ":dd-java-agent:instrumentation:iast-instrumenter", + ":dd-java-agent:instrumentation:ignite-2.0", + ":dd-java-agent:instrumentation:jackson-core", + ":dd-java-agent:instrumentation:jackson-core:jackson-core-1", + ":dd-java-agent:instrumentation:jackson-core:jackson-core-2", + ":dd-java-agent:instrumentation:jackson-core:jackson-core-2.6", + ":dd-java-agent:instrumentation:jackson-core:jackson-core-2.8", + ":dd-java-agent:instrumentation:jackson-core:jackson-core-2.12", + ":dd-java-agent:instrumentation:jackson-core:jackson-core-2.16", + ":dd-java-agent:instrumentation:jacoco", + ":dd-java-agent:instrumentation:jakarta-jms", + ":dd-java-agent:instrumentation:jakarta-mail", + ":dd-java-agent:instrumentation:jakarta-rs-annotations-3", + ":dd-java-agent:instrumentation:jakarta-ws-annotations", + ":dd-java-agent:instrumentation:java-concurrent", + ":dd-java-agent:instrumentation:java-concurrent:java-completablefuture", + ":dd-java-agent:instrumentation:java-concurrent:java-concurrent-21", + ":dd-java-agent:instrumentation:java-concurrent:lambda-testing", + ":dd-java-agent:instrumentation:java-directbytebuffer", + ":dd-java-agent:instrumentation:java-http-client", + ":dd-java-agent:instrumentation:java-io", + ":dd-java-agent:instrumentation:java-lang", + ":dd-java-agent:instrumentation:java-lang:java-lang-9", + ":dd-java-agent:instrumentation:java-lang:java-lang-11", + ":dd-java-agent:instrumentation:java-lang:java-lang-15", + ":dd-java-agent:instrumentation:java-lang:java-lang-17", + ":dd-java-agent:instrumentation:java-net", + ":dd-java-agent:instrumentation:java-security", + ":dd-java-agent:instrumentation:java-util", + ":dd-java-agent:instrumentation:javax-naming", + ":dd-java-agent:instrumentation:javax-xml", + ":dd-java-agent:instrumentation:javax-mail", + ":dd-java-agent:instrumentation:jax-rs-annotations-1", + ":dd-java-agent:instrumentation:jax-rs-annotations-2", + ":dd-java-agent:instrumentation:jax-rs-annotations-2:filter-jersey", + ":dd-java-agent:instrumentation:jax-rs-annotations-2:filter-resteasy-3.0", + ":dd-java-agent:instrumentation:jax-rs-annotations-2:filter-resteasy-3.1", + ":dd-java-agent:instrumentation:jax-rs-client-1.1", + ":dd-java-agent:instrumentation:jax-rs-client-2.0", + ":dd-java-agent:instrumentation:jax-rs-client-2.0:connection-error-handling-jersey", + ":dd-java-agent:instrumentation:jax-rs-client-2.0:connection-error-handling-resteasy", + ":dd-java-agent:instrumentation:jax-ws-annotations-1", + ":dd-java-agent:instrumentation:jax-ws-annotations-2", + ":dd-java-agent:instrumentation:jboss-logmanager", + ":dd-java-agent:instrumentation:jboss-modules", + ":dd-java-agent:instrumentation:jdbc", + ":dd-java-agent:instrumentation:jdbc:scalikejdbc", + ":dd-java-agent:instrumentation:jedis-1.4", + ":dd-java-agent:instrumentation:jedis-3.0", + ":dd-java-agent:instrumentation:jedis-4.0", + ":dd-java-agent:instrumentation:jersey", + ":dd-java-agent:instrumentation:jersey-2-appsec", + ":dd-java-agent:instrumentation:jersey-3-appsec", + ":dd-java-agent:instrumentation:jetty-7.0", + ":dd-java-agent:instrumentation:jetty-7.6", + ":dd-java-agent:instrumentation:jetty-9", + ":dd-java-agent:instrumentation:jetty-11", + ":dd-java-agent:instrumentation:jetty-12", + ":dd-java-agent:instrumentation:jetty-appsec-7", + ":dd-java-agent:instrumentation:jetty-appsec-8.1.3", + ":dd-java-agent:instrumentation:jetty-appsec-9.2", + ":dd-java-agent:instrumentation:jetty-appsec-9.3", + ":dd-java-agent:instrumentation:jetty-client:jetty-client-common", + ":dd-java-agent:instrumentation:jetty-client:jetty-client-9.1", + ":dd-java-agent:instrumentation:jetty-client:jetty-client-10.0", + ":dd-java-agent:instrumentation:jetty-client:jetty-client-12.0", + ":dd-java-agent:instrumentation:jetty-common", + ":dd-java-agent:instrumentation:jetty-util", + ":dd-java-agent:instrumentation:jms", + ":dd-java-agent:instrumentation:jose-jwt", + ":dd-java-agent:instrumentation:org-json", + ":dd-java-agent:instrumentation:jsp-2.3", + ":dd-java-agent:instrumentation:junit-4.10", + ":dd-java-agent:instrumentation:junit-4.10:cucumber-junit-4", + ":dd-java-agent:instrumentation:junit-4.10:junit-4.13", + ":dd-java-agent:instrumentation:junit-4.10:munit-junit-4", + ":dd-java-agent:instrumentation:junit-5.3", + ":dd-java-agent:instrumentation:junit-5.3:junit-5.8", + ":dd-java-agent:instrumentation:junit-5.3:cucumber-junit-5", + ":dd-java-agent:instrumentation:junit-5.3:spock-junit-5", + ":dd-java-agent:instrumentation:kafka-clients-0.11", + ":dd-java-agent:instrumentation:kafka-clients-3.8", + ":dd-java-agent:instrumentation:kafka-common", + ":dd-java-agent:instrumentation:kafka-connect-0.11", + ":dd-java-agent:instrumentation:kafka-streams-0.11", + ":dd-java-agent:instrumentation:kafka-streams-1.0", + ":dd-java-agent:instrumentation:karate", + ":dd-java-agent:instrumentation:kotlin-coroutines", + ":dd-java-agent:instrumentation:lettuce-4", + ":dd-java-agent:instrumentation:lettuce-5", + ":dd-java-agent:instrumentation:liberty-20", + ":dd-java-agent:instrumentation:liberty-23", + ":dd-java-agent:instrumentation:log4j-2.7", + ":dd-java-agent:instrumentation:log4j1", + ":dd-java-agent:instrumentation:log4j2", + ":dd-java-agent:instrumentation:log4j2:logs-intake", + ":dd-java-agent:instrumentation:logback-1", + ":dd-java-agent:instrumentation:maven-3.2.1", + ":dd-java-agent:instrumentation:maven-surefire", + ":dd-java-agent:instrumentation:micronaut", + ":dd-java-agent:instrumentation:micronaut:http-server-netty-2.0", + ":dd-java-agent:instrumentation:micronaut:http-server-netty-3.0", + ":dd-java-agent:instrumentation:micronaut:http-server-netty-4.0", + ":dd-java-agent:instrumentation:mongo", + ":dd-java-agent:instrumentation:mongo:common", + ":dd-java-agent:instrumentation:mongo:bson-document", + ":dd-java-agent:instrumentation:mongo:driver-3.1", + ":dd-java-agent:instrumentation:mongo:driver-3.4", + ":dd-java-agent:instrumentation:mongo:driver-3.1-core-test", + ":dd-java-agent:instrumentation:mongo:driver-3.7-core-test", + ":dd-java-agent:instrumentation:mongo:driver-4.0", + ":dd-java-agent:instrumentation:mongo:driver-3.3-async-test", + ":dd-java-agent:instrumentation:mongo:driver-3.10-sync-test", + ":dd-java-agent:instrumentation:mule-4", + ":dd-java-agent:instrumentation:netty-3.8", + ":dd-java-agent:instrumentation:netty-4.0", + ":dd-java-agent:instrumentation:netty-4.1-shared", + ":dd-java-agent:instrumentation:netty-4.1", + ":dd-java-agent:instrumentation:netty-buffer-4", + ":dd-java-agent:instrumentation:netty-concurrent-4", + ":dd-java-agent:instrumentation:netty-promise-4", + ":dd-java-agent:instrumentation:okhttp-2", + ":dd-java-agent:instrumentation:okhttp-3", + ":dd-java-agent:instrumentation:ognl-appsec", + ":dd-java-agent:instrumentation:opensearch", + ":dd-java-agent:instrumentation:opensearch:rest", + ":dd-java-agent:instrumentation:opensearch:transport", + ":dd-java-agent:instrumentation:opentelemetry:opentelemetry-0.3", + ":dd-java-agent:instrumentation:opentelemetry:opentelemetry-1.4", + ":dd-java-agent:instrumentation:opentelemetry:opentelemetry-annotations-1.20", + ":dd-java-agent:instrumentation:opentelemetry:opentelemetry-annotations-1.26", + ":dd-java-agent:instrumentation:opentracing", + ":dd-java-agent:instrumentation:opentracing:api-0.31", + ":dd-java-agent:instrumentation:opentracing:api-0.32", + ":dd-java-agent:instrumentation:osgi-4.3", + ":dd-java-agent:instrumentation:owasp-esapi-2", + ":dd-java-agent:instrumentation:pekko-concurrent", + ":dd-java-agent:instrumentation:pekko-http-1.0", + ":dd-java-agent:instrumentation:play-2.3", + ":dd-java-agent:instrumentation:play-2.4", + ":dd-java-agent:instrumentation:play-2.6", + ":dd-java-agent:instrumentation:play-ws", + ":dd-java-agent:instrumentation:play-ws-1", + ":dd-java-agent:instrumentation:play-ws-2", + ":dd-java-agent:instrumentation:play-ws-2.1", + ":dd-java-agent:instrumentation:protobuf", + ":dd-java-agent:instrumentation:quartz-2", + ":dd-java-agent:instrumentation:rabbitmq-amqp-2.7", + ":dd-java-agent:instrumentation:ratpack-1.5", + ":dd-java-agent:instrumentation:reactive-streams", + ":dd-java-agent:instrumentation:reactor-core-3.1", + ":dd-java-agent:instrumentation:reactor-netty-1", + ":dd-java-agent:instrumentation:rediscala-1.8.0", + ":dd-java-agent:instrumentation:renaissance", + ":dd-java-agent:instrumentation:resteasy-appsec", + ":dd-java-agent:instrumentation:restlet-2.2", + ":dd-java-agent:instrumentation:rmi", + ":dd-java-agent:instrumentation:rxjava-1", + ":dd-java-agent:instrumentation:rxjava-2", + ":dd-java-agent:instrumentation:scala", + ":dd-java-agent:instrumentation:scala-concurrent", + ":dd-java-agent:instrumentation:scala-promise", + ":dd-java-agent:instrumentation:scala-promise:scala-promise-2.10", + ":dd-java-agent:instrumentation:scala-promise:scala-promise-2.13", + ":dd-java-agent:instrumentation:scalatest", + ":dd-java-agent:instrumentation:selenium", + ":dd-java-agent:instrumentation:servicetalk", + ":dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.0", + ":dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.56", + ":dd-java-agent:instrumentation:servlet", + ":dd-java-agent:instrumentation:servlet-common", + ":dd-java-agent:instrumentation:servlet:request-2", + ":dd-java-agent:instrumentation:servlet:request-3", + ":dd-java-agent:instrumentation:servlet:request-5", + ":dd-java-agent:instrumentation:shutdown", + ":dd-java-agent:instrumentation:slick", + ":dd-java-agent:instrumentation:snakeyaml", + ":dd-java-agent:instrumentation:span-origin", + ":dd-java-agent:instrumentation:spark:spark_2.12", + ":dd-java-agent:instrumentation:spark:spark_2.13", + ":dd-java-agent:instrumentation:spark-executor", + ":dd-java-agent:instrumentation:sparkjava-2.3", + ":dd-java-agent:instrumentation:spray-1.3", + ":dd-java-agent:instrumentation:spring-beans", + ":dd-java-agent:instrumentation:spring-boot", + ":dd-java-agent:instrumentation:spring-cloud-zuul-2", + ":dd-java-agent:instrumentation:spring-core", + ":dd-java-agent:instrumentation:spring-data-1.8", + ":dd-java-agent:instrumentation:spring-jms-3.1", + ":dd-java-agent:instrumentation:spring-messaging-4", + ":dd-java-agent:instrumentation:spring-rabbit", + ":dd-java-agent:instrumentation:spring-scheduling-3.1", + ":dd-java-agent:instrumentation:spring-security-5", + ":dd-java-agent:instrumentation:spring-security-6", + ":dd-java-agent:instrumentation:spring-webflux-5", + ":dd-java-agent:instrumentation:spring-webflux-6", + ":dd-java-agent:instrumentation:spring-webmvc-3.1", + ":dd-java-agent:instrumentation:spring-webmvc-5.3", + ":dd-java-agent:instrumentation:spring-webmvc-6.0", + ":dd-java-agent:instrumentation:spring-ws-2", + ":dd-java-agent:instrumentation:spymemcached-2.10", + ":dd-java-agent:instrumentation:sslsocket", + ":dd-java-agent:instrumentation:synapse-3", + ":dd-java-agent:instrumentation:testng", + ":dd-java-agent:instrumentation:testng:testng-6", + ":dd-java-agent:instrumentation:testng:testng-7", + ":dd-java-agent:instrumentation:thymeleaf", + ":dd-java-agent:instrumentation:tinylog-2", + ":dd-java-agent:instrumentation:tibco-businessworks", + ":dd-java-agent:instrumentation:tibco-businessworks:tibcobw-stubs", + ":dd-java-agent:instrumentation:tibco-businessworks:tibcobw-5", + ":dd-java-agent:instrumentation:tibco-businessworks:tibcobw-6", + ":dd-java-agent:instrumentation:tomcat-5.5", + ":dd-java-agent:instrumentation:tomcat-5.5-common", + ":dd-java-agent:instrumentation:tomcat-appsec-5.5", + ":dd-java-agent:instrumentation:tomcat-appsec-6", + ":dd-java-agent:instrumentation:tomcat-appsec-7", + ":dd-java-agent:instrumentation:tomcat-classloading-9", + ":dd-java-agent:instrumentation:trace-annotation", + ":dd-java-agent:instrumentation:twilio", + ":dd-java-agent:instrumentation:unbescape", + ":dd-java-agent:instrumentation:undertow", + ":dd-java-agent:instrumentation:undertow:undertow-2.0", + ":dd-java-agent:instrumentation:undertow:undertow-2.2", + ":dd-java-agent:instrumentation:valkey-java", + ":dd-java-agent:instrumentation:velocity", + ":dd-java-agent:instrumentation:vertx-mysql-client-3.9", + ":dd-java-agent:instrumentation:vertx-mysql-client-4.0", + ":dd-java-agent:instrumentation:vertx-mysql-client-4.4.2", + ":dd-java-agent:instrumentation:vertx-pg-client-4.0", + ":dd-java-agent:instrumentation:vertx-pg-client-4.4.2", + ":dd-java-agent:instrumentation:vertx-redis-client-3.9", + ":dd-java-agent:instrumentation:vertx-redis-client-3.9:stubs", + ":dd-java-agent:instrumentation:vertx-rx-3.5", + ":dd-java-agent:instrumentation:vertx-sql-client-3.9", + ":dd-java-agent:instrumentation:vertx-web-3.4", + ":dd-java-agent:instrumentation:vertx-web-3.5", + ":dd-java-agent:instrumentation:vertx-web-3.9", + ":dd-java-agent:instrumentation:vertx-web-4.0", + ":dd-java-agent:instrumentation:vertx-web-5.0", + ":dd-java-agent:instrumentation:redisson", + ":dd-java-agent:instrumentation:redisson:redisson-2.0.0", + ":dd-java-agent:instrumentation:redisson:redisson-2.3.0", + ":dd-java-agent:instrumentation:redisson:redisson-3.10.3", + ":dd-java-agent:instrumentation:weaver", + ":dd-java-agent:instrumentation:websocket:jakarta-websocket-2.0", + ":dd-java-agent:instrumentation:websocket:javax-websocket-1.0", + ":dd-java-agent:instrumentation:websocket:jetty-websocket", + ":dd-java-agent:instrumentation:websocket:jetty-websocket:jetty-websocket-10", + ":dd-java-agent:instrumentation:websocket:jetty-websocket:jetty-websocket-11", + ":dd-java-agent:instrumentation:websocket:jetty-websocket:jetty-websocket-12", + ":dd-java-agent:instrumentation:websphere-jmx", + ":dd-java-agent:instrumentation:wildfly-9", + ":dd-java-agent:instrumentation:zio:zio-2.0", +) + +// benchmark +include( + ":dd-java-agent:benchmark", + ":dd-java-agent:benchmark-integration", + ":dd-java-agent:benchmark-integration:jetty-perftest", + ":dd-java-agent:benchmark-integration:play-perftest", +)