From fa8b598c67a6aac3bf67d913a558eebd78d0e8cf Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 16 Aug 2024 12:51:10 -0400 Subject: [PATCH 01/21] Improved info around smap parsing success/failure --- .../openjdk/events/SmapEntryFactory.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java index 672828e521e..aa98e6449e7 100644 --- a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java +++ b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java @@ -17,11 +17,18 @@ import java.util.regex.Pattern; import javax.management.MBeanServer; import javax.management.ObjectName; +import jdk.jfr.Category; import jdk.jfr.Event; import jdk.jfr.Label; +import jdk.jfr.Name; +import jdk.jfr.StackTrace; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class SmapEntryFactory { + private static final Logger log = LoggerFactory.getLogger(SmapEntryFactory.class); + private static final AtomicBoolean REGISTERED = new AtomicBoolean(); private static boolean annotatedMapsAvailable; private static final Pattern SYSTEM_MAP_ENTRY_PATTERN = @@ -37,12 +44,16 @@ private enum ErrorReason { VM_MAP_PARSING_ERROR, } + @Category("Datadog") + @Name("datadog.SmapParseErrorEvent") + @Label("Smap Parsing Error") + @StackTrace(false) private static class SmapParseErrorEvent extends Event { @Label("Reason") - private final ErrorReason reason; + private final String reason; public SmapParseErrorEvent(ErrorReason reason) { - this.reason = reason; + this.reason = reason.toString(); } } @@ -61,6 +72,11 @@ public static void registerEvents() { annotatedMapsAvailable = false; } } + if (annotatedMapsAvailable) { + log.info("Smap entry events registered successfully"); + } else { + log.warn("Smap entry events could not be registered due to missing systemMap operation"); + } } @SuppressForbidden From 57ed7009f70c4e03f2615dbb32cc5a4c10a292ad Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 4 Sep 2024 07:04:01 -0400 Subject: [PATCH 02/21] Update dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java Co-authored-by: Jaroslav Bachorik --- .../profiling/controller/openjdk/events/SmapEntryFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java index aa98e6449e7..3a8613d2820 100644 --- a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java +++ b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java @@ -73,7 +73,7 @@ public static void registerEvents() { } } if (annotatedMapsAvailable) { - log.info("Smap entry events registered successfully"); + log.debug("Smap entry events registered successfully"); } else { log.warn("Smap entry events could not be registered due to missing systemMap operation"); } From 9a35dac49559c146793df0c34b4c1f21e6189581 Mon Sep 17 00:00:00 2001 From: "Santiago M. Mola" Date: Wed, 11 Sep 2024 10:59:22 +0200 Subject: [PATCH 03/21] Fix couchbase flaky test (cleanup phase) (#7598) Mute tracing on cleanup, instead of waiting for a cleanup span. This test is flaky when it does not receive the cleanup span in time (under heavy load). Also, do not shallow exceptions on cleanup. If we ever get them, we can address them, or add a more specific catch. --- .../groovy/util/AbstractCouchbaseTest.groovy | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/dd-java-agent/instrumentation/couchbase/couchbase-2.0/src/test/groovy/util/AbstractCouchbaseTest.groovy b/dd-java-agent/instrumentation/couchbase/couchbase-2.0/src/test/groovy/util/AbstractCouchbaseTest.groovy index 4e5ee67828a..2f42bc63f9f 100644 --- a/dd-java-agent/instrumentation/couchbase/couchbase-2.0/src/test/groovy/util/AbstractCouchbaseTest.groovy +++ b/dd-java-agent/instrumentation/couchbase/couchbase-2.0/src/test/groovy/util/AbstractCouchbaseTest.groovy @@ -114,25 +114,17 @@ abstract class AbstractCouchbaseTest extends VersionedNamingTestBase { } protected void cleanupCluster(CouchbaseAsyncCluster cluster, CouchbaseEnvironment environment) { - def cleanupSpan = runUnderTrace("cleanup") { - try { - cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single() - environment.shutdown() - } catch (Throwable ex) { - // ignore - } - activeSpan() + try (def suppressScope = TEST_TRACER.muteTracing()) { + cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single() + environment.shutdown() } - TEST_WRITER.waitUntilReported(cleanupSpan as DDSpan, 60, TimeUnit.SECONDS) } protected void cleanupCluster(CouchbaseCluster cluster, CouchbaseEnvironment environment) { - def cleanupSpan = runUnderTrace("cleanup") { + try (def suppressScope = TEST_TRACER.muteTracing()) { cluster?.disconnect() environment.shutdown() - activeSpan() } - TEST_WRITER.waitUntilReported(cleanupSpan as DDSpan) } void assertCouchbaseCall(TraceAssert trace, String name, String bucketName = null, Object parentSpan = null) { From aae44c777e5c6ed658d87ade0bf9b94baec635c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20Vidal=20Dom=C3=ADnguez?= <60353145+Mariovido@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:55:02 +0200 Subject: [PATCH 04/21] Add freemarker CODEOWNERS (#7600) --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 97b50fffb3c..cf34b255730 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -45,6 +45,7 @@ dd-java-agent/instrumentation/*iast* @DataDog/asm-java dd-java-agent/instrumentation/*appsec* @DataDog/asm-java dd-java-agent/instrumentation/json/ @DataDog/asm-java dd-java-agent/instrumentation/snakeyaml/ @DataDog/asm-java +dd-java-agent/instrumentation/freemarker/ @DataDog/asm-java dd-smoke-tests/iast-util/ @DataDog/asm-java dd-smoke-tests/spring-security/ @DataDog/asm-java dd-java-agent/instrumentation/commons-fileupload/ @DataDog/asm-java From efc6f52ea7bc4510599f48ed07aa557672a5dc01 Mon Sep 17 00:00:00 2001 From: Bruce Bujon Date: Wed, 11 Sep 2024 13:44:04 +0200 Subject: [PATCH 05/21] feat: Improve milestone automation (#7553) Rewrite milestone update on tag Add workflow testing Update README --- .github/workflows/README.md | 25 +++++--- .../workflows/increment-milestone-on-tag.yaml | 64 +++++++++++++++++++ .../increment-milestones-on-tag.yaml | 61 ------------------ .../payload.json | 9 +++ .../add-milestone-to-pull-requests/test.sh | 3 + .github/workflows/tests/env.sh | 7 ++ .../increment-milestone-on-tag/payload.json | 4 ++ .../tests/increment-milestone-on-tag/test.sh | 3 + 8 files changed, 107 insertions(+), 69 deletions(-) create mode 100644 .github/workflows/increment-milestone-on-tag.yaml delete mode 100644 .github/workflows/increment-milestones-on-tag.yaml create mode 100644 .github/workflows/tests/add-milestone-to-pull-requests/payload.json create mode 100755 .github/workflows/tests/add-milestone-to-pull-requests/test.sh create mode 100644 .github/workflows/tests/env.sh create mode 100644 .github/workflows/tests/increment-milestone-on-tag/payload.json create mode 100755 .github/workflows/tests/increment-milestone-on-tag/test.sh diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 6f87d95f193..cd7b93c0a6b 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -1,6 +1,6 @@ # GitHub Actions Documentation -This lists and describes the repository GitHub actions. +This lists and describes the repository GitHub actions, how to maintain and test them. ## Release Management @@ -18,7 +18,7 @@ _Trigger:_ When a release is published. _Action:_ Append the new release to the Cloud Foundry repository. -_Recovery:_ Manually edit and push the `index.yml`β€―file from [the cloudfoundry branch](https://github.com/DataDog/dd-trace-java/tree/cloudfoundry). +_Recovery:_ Manually edit and push the `index.yml` file from [the cloudfoundry branch](https://github.com/DataDog/dd-trace-java/tree/cloudfoundry). ### create-next-milestone [πŸ”—](create-next-milestone.yaml) @@ -26,7 +26,8 @@ _Trigger:_ When closing a milestone. _Action:_ Create a new milestone by incrementing minor version. -_Comment:_ Already done when closing a tag. To delete? +_Comment:_ Disabled as also covered by increment-milestone-on-tag. +This will be removed after some testing. ### draft-release-notes-on-tag [πŸ”—](draft-release-notes-on-tag.yaml) @@ -40,18 +41,17 @@ _Actions:_ _Recovery:_ Manually trigger the action again on the relevant tag. -### increment-milestones-on-tag [πŸ”—](increment-milestones-on-tag.yaml) +### increment-milestone-on-tag [πŸ”—](increment-milestone-on-tag.yaml) -_Trigger:_ When creating a tag. Release Candidate tags containing "-RC" or "-rc" will skip this. +_Trigger:_ When creating a minor or major version tag. _Actions:_ * Close the milestone related to the tag, * Create a new milestone by incrementing minor version. -_Recovery:_ Manually close the related milestone and create a new one. +_Recovery:_ Manually [close the related milestone and create a new one](https://github.com/DataDog/dd-trace-java/milestones). -_Notes:_ This actions will handle _minor_ releases only. -As there is no milestone for _patch_ releases, it won't close and create _patch_ releated milestone. +_Notes:_ This action will not apply to release candidate versions using `-RC` tags. ### update-download-releases [πŸ”—](update-download-releases.yaml) @@ -117,3 +117,12 @@ Run the following script to get the list of actions to declare according the sta ```bash find .github/workflows -name "*.yaml" -exec awk '/uses:/{print $2 ","}' {} \; | grep -vE '^(actions|github)/' | sort | uniq ``` + +## Testing + +Workflows can be locally tested using the [`act` CLI](https://github.com/nektos/act/). +The [.github/workflows/tests/](./tests) folder contains test scripts and event payloads to locally trigger workflows. + +> [!WARNING] +> Locally running workflows will still query GitHub backend and will update the GitHub project accordingly. +> Pay extra attention to the workflow jobs you trigger to not create development disruption. diff --git a/.github/workflows/increment-milestone-on-tag.yaml b/.github/workflows/increment-milestone-on-tag.yaml new file mode 100644 index 00000000000..aeaf420e047 --- /dev/null +++ b/.github/workflows/increment-milestone-on-tag.yaml @@ -0,0 +1,64 @@ +name: Increment milestones on tag +on: + create +permissions: + issues: write # Required to update milestones + +jobs: + increment_milestone: + if: github.event.ref_type == 'tag' && contains(github.event.ref,'-RC') == false + runs-on: ubuntu-latest + steps: + - name: Close current milestone + id: close-milestone + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # 7.0.1 + with: + script: | + // Get the milestone title ("X.Y.Z") from tag name ("vX.Y.Z") + const match = '${{github.event.ref}}'.match(/v(\d+\.\d+\.\d+)/i) + if (!match) { + core.setFailed('Failed to parse tag name into milestone title: ${{github.event.ref}}') + return + } + const milestoneTitle = match[1] + // Look for the milestone from its title + const response = await github.rest.issues.listMilestones({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open' + }) + if (!response.data || response.data.length == 0) { + core.setFailed(`Failed to list milestones: ${response.status}`) + return + } + const milestone = response.data.find(milestone => milestone.title == milestoneTitle) + if (!milestone) { + core.setFailed(`Failed to find milestone: ${milestoneTitle}`) + return + } + // Close the milestone + await github.rest.issues.updateMilestone({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'closed', + milestone_number: milestone.number + }).catch(error => { + core.setFailed(`Failed to close milestone: ${error}`) + }) + // Compute the next milestone version + const versionNumbers = milestoneTitle.split('.').map(Number) + if (versionNumbers[2] != 0) { + core.info('Closing a patch version milestone. Not opening a new one.') + return + } + versionNumbers[1]++ + const nextMilestoneTitle = versionNumbers.join('.') + core.info(`Creating next version milestone: ${nextMilestoneTitle}`) + // Create the next milestone + await github.issues.createMilestone({ + owner: context.repo.owner, + repo: context.repo.repo, + title: nextMilestoneTitle + }).catch(error => { + core.setFailed(`Failed to create milestone ${nextMilestoneTitle}: ${error}`) + }) diff --git a/.github/workflows/increment-milestones-on-tag.yaml b/.github/workflows/increment-milestones-on-tag.yaml deleted file mode 100644 index 1ef88b9c02a..00000000000 --- a/.github/workflows/increment-milestones-on-tag.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Increment milestones on tag -on: - create - -jobs: - increment_milestone: - if: github.event.ref_type == 'tag' && contains(github.ref_name,'-RC') == false && github.event.master_branch == 'master' - runs-on: ubuntu-latest - steps: - - name: Get milestone title - id: milestoneTitle - uses: actions/github-script@47f7cf65b5ced0830a325f705cad64f2f58dddf7 # 3.1.0 - with: - result-encoding: string - script: | - // Our tags are of the form vX.X.X and milestones don't have the "v" - return '${{github.event.ref}}'.startsWith('v') ? '${{github.event.ref}}'.substring(1) : '${{github.event.ref}}'; - - name: Get milestone for tag - id: milestone - uses: actions/github-script@47f7cf65b5ced0830a325f705cad64f2f58dddf7 # 3.1.0 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - const milestones = await github.paginate(github.issues.listMilestones, { - owner: context.repo.owner, - repo: context.repo.repo, - state: 'all' - }) - - const milestone = milestones.find(milestone => milestone.title == '${{steps.milestoneTitle.outputs.result}}') - - if (milestone) { - return milestone.number - } else { - return null - } - - name: Close milestone - if: fromJSON(steps.milestone.outputs.result) - uses: actions/github-script@47f7cf65b5ced0830a325f705cad64f2f58dddf7 # 3.1.0 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - await github.issues.updateMilestone({ - owner: context.repo.owner, - repo: context.repo.repo, - state: 'closed', - milestone_number: ${{steps.milestone.outputs.result}} - }) - - name: Get next minor version - if: fromJSON(steps.milestone.outputs.result) - id: semvers - uses: WyriHaximus/github-action-next-semvers@33d116a4c239252582a60a1ba8dbba63ad493ffd # 1.1.0 - with: - version: ${{steps.milestoneTitle.outputs.result}} - - name: Create next milestone - if: fromJSON(steps.milestone.outputs.result) - uses: WyriHaximus/github-action-create-milestone@b86699ba7511fa3b61154ac8675d86b01938fc16 # 1.0.0 - with: - title: ${{ steps.semvers.outputs.minor }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/tests/add-milestone-to-pull-requests/payload.json b/.github/workflows/tests/add-milestone-to-pull-requests/payload.json new file mode 100644 index 00000000000..a8c6ca4788f --- /dev/null +++ b/.github/workflows/tests/add-milestone-to-pull-requests/payload.json @@ -0,0 +1,9 @@ +{ + "pull_request": { + "number": 7549, + "base": { + "ref": "master" + }, + "merged": true + } +} diff --git a/.github/workflows/tests/add-milestone-to-pull-requests/test.sh b/.github/workflows/tests/add-milestone-to-pull-requests/test.sh new file mode 100755 index 00000000000..251be43b484 --- /dev/null +++ b/.github/workflows/tests/add-milestone-to-pull-requests/test.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source $(dirname "$0")/../env.sh +act pull_request --workflows .github/workflows/add-milestone-to-pull-requests.yaml --eventpath .github/workflows/tests/add-milestone-to-pull-requests/payload.json $COMMON_ACT_ARGS diff --git a/.github/workflows/tests/env.sh b/.github/workflows/tests/env.sh new file mode 100644 index 00000000000..ff457d6710e --- /dev/null +++ b/.github/workflows/tests/env.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# Move to project root directory +FILE_PATH=$(dirname "$0") +cd $FILE_PATH/../../../../ + +export COMMON_ACT_ARGS="--container-architecture linux/amd64 --secret GITHUB_TOKEN="$(gh auth token)" --verbose" diff --git a/.github/workflows/tests/increment-milestone-on-tag/payload.json b/.github/workflows/tests/increment-milestone-on-tag/payload.json new file mode 100644 index 00000000000..5e4e6c99737 --- /dev/null +++ b/.github/workflows/tests/increment-milestone-on-tag/payload.json @@ -0,0 +1,4 @@ +{ + "ref_type": "tag", + "ref": "v1.40.0" +} diff --git a/.github/workflows/tests/increment-milestone-on-tag/test.sh b/.github/workflows/tests/increment-milestone-on-tag/test.sh new file mode 100755 index 00000000000..d027f692b90 --- /dev/null +++ b/.github/workflows/tests/increment-milestone-on-tag/test.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source $(dirname "$0")/../env.sh +act create --workflows .github/workflows/increment-milestone-on-tag.yaml --eventpath .github/workflows/tests/increment-milestone-on-tag/payload.json $COMMON_ACT_ARGS From 4abf841368ce43196b9e954d6d5f4a502e07a063 Mon Sep 17 00:00:00 2001 From: Justin Lee Date: Wed, 11 Sep 2024 09:56:20 -0400 Subject: [PATCH 06/21] Implement the DebuggerProbe (#7588) Implement the DebuggerProbe. [DEBUG-2719] Update code origin tags [DEBUG-2722] --- .../bootstrap/debugger/DebuggerContext.java | 20 +- ...panOriginInfo.java => CodeOriginInfo.java} | 17 +- .../datadog/debugger/agent/Configuration.java | 35 ++- .../debugger/agent/ConfigurationAcceptor.java | 2 +- .../datadog/debugger/agent/DebuggerAgent.java | 10 +- .../agent/DebuggerProductChangesListener.java | 25 ++ .../debugger/agent/DebuggerTransformer.java | 12 +- .../codeorigin/CodeOriginProbeManager.java | 115 +++++++ .../codeorigin/DebuggerConfiguration.java | 16 + .../codeorigin/DefaultCodeOriginRecorder.java | 20 ++ .../debugger/probe/CodeOriginProbe.java | 176 +++++++++++ .../datadog/debugger/probe/DebuggerProbe.java | 113 +++++++ .../probe/ForceMethodInstrumentation.java | 8 +- .../debugger/probe/SpanDebuggerProbe.java | 197 ------------ .../com/datadog/debugger/probe/Where.java | 4 - .../snapshot/DefaultSpanDebugger.java | 76 ----- .../datadog/debugger/snapshot/SpanDebug.java | 55 ---- .../snapshot/SpanDebuggerProbeManager.java | 58 ---- .../debugger/agent/CapturedSnapshotTest.java | 13 +- .../debugger/agent/ConfigurationTest.java | 71 +++-- .../DebuggerProbeInstrumentationTest.java | 184 +++++++++++ ...panDecorationProbeInstrumentationTest.java | 91 ++++-- .../code_origin/SpanDebuggerTest.java | 179 ----------- .../debugger/origin/CodeOriginTest.java | 291 ++++++++++++++++++ .../debugger/util/TestTraceInterceptor.java | 6 +- .../com/datadog/debugger/CodeOrigin01.java | 70 +++++ .../agent-jmxfetch/integrations-core | 2 +- .../CodeOriginInstrumentation.java} | 10 +- .../codeorigin/EntrySpanOriginAdvice.java | 13 + .../span_origin/EntrySpanOriginAdvice.java | 14 - ....java => SBCodeOriginInstrumentation.java} | 6 +- .../springdata/SpringDataDecorator.java | 4 +- .../trace_annotation/TraceDecorator.java | 4 +- .../agent/test/asserts/TagsAssert.groovy | 8 +- .../datadog/trace/api/ConfigDefaults.java | 4 +- .../main/java/datadog/trace/api/DDTags.java | 26 +- .../trace/api/config/DebuggerConfig.java | 2 +- .../config/TraceInstrumentationConfig.java | 3 +- .../datadog/trace/core/DDSpanContext.java | 2 +- .../core/propagation/PropagationTags.java | 4 +- .../core/propagation/ptags/PTagsCodec.java | 10 +- .../core/propagation/ptags/PTagsFactory.java | 10 +- .../core/taginterceptor/TagInterceptor.java | 14 +- .../main/java/datadog/trace/api/Config.java | 15 +- .../datadog/trace/api/InstrumenterConfig.java | 30 +- 45 files changed, 1287 insertions(+), 758 deletions(-) rename dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/spanorigin/{SpanOriginInfo.java => CodeOriginInfo.java} (59%) create mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/CodeOriginProbeManager.java create mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DebuggerConfiguration.java create mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DefaultCodeOriginRecorder.java create mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/CodeOriginProbe.java create mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/DebuggerProbe.java delete mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/SpanDebuggerProbe.java delete mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/DefaultSpanDebugger.java delete mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebug.java delete mode 100644 dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebuggerProbeManager.java create mode 100644 dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DebuggerProbeInstrumentationTest.java delete mode 100644 dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/code_origin/SpanDebuggerTest.java create mode 100644 dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/origin/CodeOriginTest.java create mode 100644 dd-java-agent/agent-debugger/src/test/resources/com/datadog/debugger/CodeOrigin01.java rename dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/{span_origin/EntrySpanOriginInstrumentation.java => codeorigin/CodeOriginInstrumentation.java} (78%) create mode 100644 dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/codeorigin/EntrySpanOriginAdvice.java delete mode 100644 dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/span_origin/EntrySpanOriginAdvice.java rename dd-java-agent/instrumentation/spring-boot/src/main/java/datadog/trace/instrumentation/springboot/{SBEntrySpanOriginInstrumentation.java => SBCodeOriginInstrumentation.java} (77%) diff --git a/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/DebuggerContext.java b/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/DebuggerContext.java index 89ca5262ad4..c0e6cc6ec4c 100644 --- a/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/DebuggerContext.java +++ b/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/DebuggerContext.java @@ -67,8 +67,8 @@ public interface ExceptionDebugger { void handleException(Throwable t, AgentSpan span); } - public interface SpanDebugger { - String captureSnapshot(String signature); + public interface CodeOriginRecorder { + String captureCodeOrigin(String signature); } private static volatile ProbeResolver probeResolver; @@ -77,7 +77,7 @@ public interface SpanDebugger { private static volatile Tracer tracer; private static volatile ValueSerializer valueSerializer; private static volatile ExceptionDebugger exceptionDebugger; - private static volatile SpanDebugger spanDebugger; + private static volatile CodeOriginRecorder codeOriginRecorder; public static void initProbeResolver(ProbeResolver probeResolver) { DebuggerContext.probeResolver = probeResolver; @@ -103,8 +103,8 @@ public static void initExceptionDebugger(ExceptionDebugger exceptionDebugger) { DebuggerContext.exceptionDebugger = exceptionDebugger; } - public static void initSpanDebugger(SpanDebugger spanDebugger) { - DebuggerContext.spanDebugger = spanDebugger; + public static void initCodeOrigin(CodeOriginRecorder codeOriginRecorder) { + DebuggerContext.codeOriginRecorder = codeOriginRecorder; } /** @@ -342,14 +342,14 @@ public static void commit( } } - public static String captureSnapshot(String signature) { + public static String captureCodeOrigin(String signature) { try { - SpanDebugger debugger = spanDebugger; - if (debugger != null) { - return debugger.captureSnapshot(signature); + CodeOriginRecorder recorder = codeOriginRecorder; + if (recorder != null) { + return recorder.captureCodeOrigin(signature); } } catch (Exception ex) { - LOGGER.debug("Error in addSnapshot: ", ex); + LOGGER.debug("Error in captureCodeOrigin: ", ex); } return null; } diff --git a/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/spanorigin/SpanOriginInfo.java b/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/spanorigin/CodeOriginInfo.java similarity index 59% rename from dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/spanorigin/SpanOriginInfo.java rename to dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/spanorigin/CodeOriginInfo.java index a37490e959f..60b18d11480 100644 --- a/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/spanorigin/SpanOriginInfo.java +++ b/dd-java-agent/agent-debugger/debugger-bootstrap/src/main/java/datadog/trace/bootstrap/debugger/spanorigin/CodeOriginInfo.java @@ -1,6 +1,6 @@ package datadog.trace.bootstrap.debugger.spanorigin; -import static datadog.trace.bootstrap.debugger.DebuggerContext.captureSnapshot; +import static datadog.trace.bootstrap.debugger.DebuggerContext.captureCodeOrigin; import static java.util.Arrays.stream; import datadog.trace.api.InstrumenterConfig; @@ -8,20 +8,23 @@ import java.lang.reflect.Method; import java.util.stream.Collectors; -public class SpanOriginInfo { - public static void entry(AgentSpan span, Method method) { - if (InstrumenterConfig.get().isSpanOriginEnabled()) { +public class CodeOriginInfo { + public static void entry(Method method) { + if (InstrumenterConfig.get().isCodeOriginEnabled()) { String signature = stream(method.getParameterTypes()) .map(Class::getName) .collect(Collectors.joining(",", "(", ")")); - captureSnapshot(signature); + captureCodeOrigin(signature); } } public static void exit(AgentSpan span) { - if (InstrumenterConfig.get().isSpanOriginEnabled()) { - span.getLocalRootSpan().setMetaStruct(captureSnapshot(null), span); + if (InstrumenterConfig.get().isCodeOriginEnabled()) { + String probeId = captureCodeOrigin(null); + if (span != null) { + span.getLocalRootSpan().setTag(probeId, span); + } } } } diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/Configuration.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/Configuration.java index a2fda5f56aa..24205cdb0d8 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/Configuration.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/Configuration.java @@ -1,5 +1,6 @@ package com.datadog.debugger.agent; +import com.datadog.debugger.probe.DebuggerProbe; import com.datadog.debugger.probe.ExceptionProbe; import com.datadog.debugger.probe.LogProbe; import com.datadog.debugger.probe.MetricProbe; @@ -65,6 +66,7 @@ public int hashCode() { private final Collection metricProbes; private final Collection logProbes; private final Collection spanProbes; + private final Collection debuggerProbes; private final Collection spanDecorationProbes; private final FilterList allowList; private final FilterList denyList; @@ -79,7 +81,7 @@ public Configuration( Collection metricProbes, Collection logProbes, Collection spanProbes) { - this(serviceName, metricProbes, logProbes, spanProbes, null, null, null, null); + this(serviceName, metricProbes, logProbes, spanProbes, null, null, null, null, null); } public Configuration( @@ -87,6 +89,7 @@ public Configuration( Collection metricProbes, Collection logProbes, Collection spanProbes, + Collection debuggerProbes, Collection spanDecorationProbes, FilterList allowList, FilterList denyList, @@ -95,6 +98,7 @@ public Configuration( this.metricProbes = metricProbes; this.logProbes = logProbes; this.spanProbes = spanProbes; + this.debuggerProbes = debuggerProbes; this.spanDecorationProbes = spanDecorationProbes; this.allowList = allowList; this.denyList = denyList; @@ -117,6 +121,10 @@ public Collection getSpanProbes() { return spanProbes; } + public Collection getDebuggerProbes() { + return debuggerProbes; + } + public Collection getSpanDecorationProbes() { return spanDecorationProbes; } @@ -135,6 +143,9 @@ public LogProbe.Sampling getSampling() { public Collection getDefinitions() { Collection result = new ArrayList<>(); + if (debuggerProbes != null) { + result.addAll(debuggerProbes); + } if (metricProbes != null) { result.addAll(metricProbes); } @@ -198,6 +209,7 @@ public static class Builder { private List metricProbes = null; private List logProbes = null; private List spanProbes = null; + private List debuggerProbes = null; private List spanDecorationProbes = null; private FilterList allowList = null; private FilterList denyList = null; @@ -214,6 +226,7 @@ public Configuration.Builder add(Collection definitio } for (ProbeDefinition definition : definitions) { if (definition instanceof MetricProbe) add((MetricProbe) definition); + if (definition instanceof DebuggerProbe) add((DebuggerProbe) definition); if (definition instanceof LogProbe) add((LogProbe) definition); if (definition instanceof SpanProbe) add((SpanProbe) definition); if (definition instanceof SpanDecorationProbe) add((SpanDecorationProbe) definition); @@ -245,6 +258,14 @@ public Configuration.Builder add(SpanProbe probe) { return this; } + public Configuration.Builder add(DebuggerProbe probe) { + if (debuggerProbes == null) { + debuggerProbes = new ArrayList<>(); + } + debuggerProbes.add(probe); + return this; + } + public Configuration.Builder add(SpanDecorationProbe probe) { if (spanDecorationProbes == null) { spanDecorationProbes = new ArrayList<>(); @@ -300,6 +321,16 @@ public Configuration.Builder addSpanProbes(Collection probes) { return this; } + public Configuration.Builder addDebuggerProbes(Collection probes) { + if (probes == null) { + return this; + } + for (DebuggerProbe probe : probes) { + add(probe); + } + return this; + } + public Configuration.Builder addSpanDecorationProbes(Collection probes) { if (probes == null) { return this; @@ -346,6 +377,7 @@ public Configuration.Builder add(Configuration other) { addMetricProbes(other.getMetricProbes()); addLogProbes(other.getLogProbes()); addSpanProbes(other.getSpanProbes()); + addDebuggerProbes(other.getDebuggerProbes()); addSpanDecorationProbes(other.getSpanDecorationProbes()); addAllowList(other.getAllowList()); addDenyList(other.getDenyList()); @@ -359,6 +391,7 @@ public Configuration build() { metricProbes, logProbes, spanProbes, + debuggerProbes, spanDecorationProbes, allowList, denyList, diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationAcceptor.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationAcceptor.java index b265dc995ba..dd83728833d 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationAcceptor.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationAcceptor.java @@ -6,7 +6,7 @@ public interface ConfigurationAcceptor { enum Source { REMOTE_CONFIG, - SPAN_DEBUG, + CODE_ORIGIN, EXCEPTION } diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerAgent.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerAgent.java index 394448b8763..b0dfced64b9 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerAgent.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerAgent.java @@ -3,13 +3,14 @@ import static com.datadog.debugger.agent.ConfigurationAcceptor.Source.REMOTE_CONFIG; import static datadog.trace.util.AgentThreadFactory.AGENT_THREAD_GROUP; +import com.datadog.debugger.codeorigin.CodeOriginProbeManager; +import com.datadog.debugger.codeorigin.DefaultCodeOriginRecorder; import com.datadog.debugger.exception.DefaultExceptionDebugger; import com.datadog.debugger.exception.ExceptionProbeManager; import com.datadog.debugger.sink.DebuggerSink; import com.datadog.debugger.sink.ProbeStatusSink; import com.datadog.debugger.sink.SnapshotSink; import com.datadog.debugger.sink.SymbolSink; -import com.datadog.debugger.snapshot.DefaultSpanDebugger; import com.datadog.debugger.symbol.SymDBEnablement; import com.datadog.debugger.symbol.SymbolAggregator; import com.datadog.debugger.uploader.BatchUploader; @@ -102,9 +103,10 @@ public static synchronized void run( config.getDebuggerMaxExceptionPerSecond()); DebuggerContext.initExceptionDebugger(defaultExceptionDebugger); } - if (config.isDebuggerSpanDebugEnabled()) { - DebuggerContext.initSpanDebugger( - new DefaultSpanDebugger(configurationUpdater, classNameFiltering)); + if (config.isDebuggerCodeOriginEnabled()) { + DebuggerContext.initCodeOrigin( + new DefaultCodeOriginRecorder( + new CodeOriginProbeManager(configurationUpdater, classNameFiltering))); } if (config.isDebuggerInstrumentTheWorld()) { setupInstrumentTheWorldTransformer( diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerProductChangesListener.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerProductChangesListener.java index c3341eae209..32791d34d5d 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerProductChangesListener.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerProductChangesListener.java @@ -2,6 +2,7 @@ import static com.datadog.debugger.agent.ConfigurationAcceptor.Source.REMOTE_CONFIG; +import com.datadog.debugger.probe.DebuggerProbe; import com.datadog.debugger.probe.LogProbe; import com.datadog.debugger.probe.MetricProbe; import com.datadog.debugger.probe.ProbeDefinition; @@ -28,6 +29,7 @@ import org.slf4j.LoggerFactory; public class DebuggerProductChangesListener implements ProductListener { + public static final int MAX_ALLOWED_DEBUGGER_PROBES = 100; public static final int MAX_ALLOWED_METRIC_PROBES = 100; public static final int MAX_ALLOWED_LOG_PROBES = 100; public static final int MAX_ALLOWED_SPAN_PROBES = 100; @@ -35,6 +37,7 @@ public class DebuggerProductChangesListener implements ProductListener { public static final String LOG_PROBE_PREFIX = "logProbe_"; public static final String METRIC_PROBE_PREFIX = "metricProbe_"; public static final String SPAN_PROBE_PREFIX = "spanProbe_"; + public static final String DEBUGGER_PROBE_PREFIX = "debuggerProbe_"; public static final String SPAN_DECORATION_PROBE_PREFIX = "spanDecorationProbe_"; private static final Logger LOGGER = LoggerFactory.getLogger(DebuggerProductChangesListener.class); @@ -52,6 +55,9 @@ static class Adapter { static final JsonAdapter SPAN_PROBE_JSON_ADAPTER = MoshiHelper.createMoshiConfig().adapter(SpanProbe.class); + static final JsonAdapter DEBUGGER_PROBE_JSON_ADAPTER = + MoshiHelper.createMoshiConfig().adapter(DebuggerProbe.class); + static final JsonAdapter SPAN_DECORATION_PROBE_JSON_ADAPTER = MoshiHelper.createMoshiConfig().adapter(SpanDecorationProbe.class); @@ -71,6 +77,10 @@ static SpanProbe deserializeSpanProbe(byte[] content) throws IOException { return deserialize(SPAN_PROBE_JSON_ADAPTER, content); } + static DebuggerProbe deserializeDebuggerProbe(byte[] content) throws IOException { + return deserialize(DEBUGGER_PROBE_JSON_ADAPTER, content); + } + static SpanDecorationProbe deserializeSpanDecorationProbe(byte[] content) throws IOException { return deserialize(SPAN_DECORATION_PROBE_JSON_ADAPTER, content); } @@ -108,6 +118,9 @@ public void accept(ConfigKey configKey, byte[] content, PollingRateHinter pollin } else if (configId.startsWith(SPAN_PROBE_PREFIX)) { SpanProbe spanProbe = Adapter.deserializeSpanProbe(content); configChunks.put(configId, definitions -> definitions.add(spanProbe)); + } else if (configId.startsWith(DEBUGGER_PROBE_PREFIX)) { + DebuggerProbe debuggerProbe = Adapter.deserializeDebuggerProbe(content); + configChunks.put(configId, definitions -> definitions.add(debuggerProbe)); } else if (configId.startsWith(SPAN_DECORATION_PROBE_PREFIX)) { SpanDecorationProbe spanDecorationProbe = Adapter.deserializeSpanDecorationProbe(content); configChunks.put(configId, definitions -> definitions.add(spanDecorationProbe)); @@ -148,6 +161,7 @@ public void commit(PollingRateHinter pollingRateHinter) { static class DefinitionBuilder { private final Collection definitions = new ArrayList<>(); + private int debuggerProbeCount = 0; private int metricProbeCount = 0; private int logProbeCount = 0; private int spanProbeCount = 0; @@ -180,6 +194,15 @@ void add(SpanProbe probe) { spanProbeCount++; } + void add(DebuggerProbe probe) { + if (debuggerProbeCount >= MAX_ALLOWED_DEBUGGER_PROBES) { + LOGGER.debug("Max allowed debugger probes reached, ignoring new probe: {}", probe); + return; + } + definitions.add(probe); + debuggerProbeCount++; + } + void add(SpanDecorationProbe probe) { if (spanDecorationProbeCount >= MAX_ALLOWED_SPAN_DECORATION_PROBES) { LOGGER.debug("Max allowed span decoration probes reached, ignoring new probe: {}", probe); @@ -197,6 +220,8 @@ void addAll(Collection newDefinitions) { add((LogProbe) definition); } else if (definition instanceof SpanProbe) { add((SpanProbe) definition); + } else if (definition instanceof DebuggerProbe) { + add((DebuggerProbe) definition); } else if (definition instanceof SpanDecorationProbe) { add((SpanDecorationProbe) definition); } diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerTransformer.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerTransformer.java index 61607cb6e0c..efd802f6f2f 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerTransformer.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/DebuggerTransformer.java @@ -6,6 +6,7 @@ import com.datadog.debugger.instrumentation.DiagnosticMessage; import com.datadog.debugger.instrumentation.InstrumentationResult; import com.datadog.debugger.instrumentation.MethodInfo; +import com.datadog.debugger.probe.DebuggerProbe; import com.datadog.debugger.probe.ExceptionProbe; import com.datadog.debugger.probe.ForceMethodInstrumentation; import com.datadog.debugger.probe.LogProbe; @@ -77,7 +78,12 @@ public class DebuggerTransformer implements ClassFileTransformer { private static final String CANNOT_FIND_LINE = "No executable code was found at %s:L%s"; private static final Pattern COMMA_PATTERN = Pattern.compile(","); private static final List> PROBE_ORDER = - Arrays.asList(MetricProbe.class, LogProbe.class, SpanDecorationProbe.class, SpanProbe.class); + Arrays.asList( + DebuggerProbe.class, + MetricProbe.class, + LogProbe.class, + SpanDecorationProbe.class, + SpanProbe.class); private static final String JAVA_IO_TMPDIR = "java.io.tmpdir"; private final Config config; @@ -212,7 +218,7 @@ private Map> mergeLocations( Map> mergedProbes = new HashMap<>(); for (ProbeDefinition definition : definitions) { Where where = definition.getWhere(); - if (definition instanceof ExceptionProbe) { + if (definition instanceof ForceMethodInstrumentation) { // normalize where for line => to precise method location where = Where.convertLineToMethod(definition.getWhere(), classFileLines); } @@ -411,7 +417,7 @@ private void verifyByteCode(String classFilePath, byte[] classFile) { if (!result.isEmpty()) { log.warn("Verification of instrumented class {} failed", classFilePath); log.debug("Verify result: {}", stringWriter); - throw new RuntimeException("Generated bydecode is invalid for " + classFilePath); + throw new RuntimeException("Generated bytecode is invalid for " + classFilePath); } } diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/CodeOriginProbeManager.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/CodeOriginProbeManager.java new file mode 100644 index 00000000000..087fc4afd8c --- /dev/null +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/CodeOriginProbeManager.java @@ -0,0 +1,115 @@ +package com.datadog.debugger.codeorigin; + +import static com.datadog.debugger.agent.ConfigurationAcceptor.Source.CODE_ORIGIN; + +import com.datadog.debugger.agent.ConfigurationUpdater; +import com.datadog.debugger.exception.Fingerprinter; +import com.datadog.debugger.probe.CodeOriginProbe; +import com.datadog.debugger.probe.Where; +import com.datadog.debugger.util.ClassNameFiltering; +import datadog.trace.bootstrap.debugger.CapturedContext; +import datadog.trace.bootstrap.debugger.ProbeId; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import datadog.trace.util.AgentTaskScheduler; +import datadog.trace.util.stacktrace.StackWalkerFactory; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class CodeOriginProbeManager { + private static final Logger LOG = LoggerFactory.getLogger(CodeOriginProbeManager.class); + + private final Map fingerprints = new HashMap<>(); + + private final Map probes = new ConcurrentHashMap<>(); + + private final ClassNameFiltering classNameFiltering; + + private AgentTaskScheduler taskScheduler = AgentTaskScheduler.INSTANCE; + + private final ConfigurationUpdater configurationUpdater; + + public CodeOriginProbeManager( + ConfigurationUpdater configurationUpdater, ClassNameFiltering classNameFiltering) { + this.configurationUpdater = configurationUpdater; + this.classNameFiltering = classNameFiltering; + } + + public Collection getProbes() { + return probes.values(); + } + + void addFingerprint(String fingerprint, CodeOriginProbe probe) { + fingerprints.putIfAbsent(fingerprint, probe); + } + + public ClassNameFiltering getClassNameFiltering() { + return classNameFiltering; + } + + public String createProbeForFrame(String signature) { + StackTraceElement element = findPlaceInStack(); + String fingerprint = Fingerprinter.fingerprint(element); + if (fingerprint == null) { + LOG.debug("Unable to fingerprint stack trace"); + return null; + } + CodeOriginProbe probe; + + AgentSpan span = AgentTracer.activeSpan(); + if (!isAlreadyInstrumented(fingerprint)) { + Where where = + Where.convertLineToMethod( + element.getClassName(), + element.getMethodName(), + signature, + String.valueOf(element.getLineNumber())); + + probe = + new CodeOriginProbe( + new ProbeId(UUID.randomUUID().toString(), 0), where.getSignature(), where, this); + addFingerprint(fingerprint, probe); + + installProbe(probe); + if (span != null) { + // committing here manually so that first run probe encounters decorate the span until the + // instrumentation gets installed + probe.commit( + CapturedContext.EMPTY_CONTEXT, CapturedContext.EMPTY_CONTEXT, Collections.emptyList()); + } + + } else { + probe = fingerprints.get(fingerprint); + } + + return probe.getId(); + } + + public String installProbe(CodeOriginProbe probe) { + CodeOriginProbe installed = probes.putIfAbsent(probe.getId(), probe); + if (installed == null) { + taskScheduler.execute(() -> configurationUpdater.accept(CODE_ORIGIN, getProbes())); + return probe.getId(); + } + return installed.getId(); + } + + public boolean isAlreadyInstrumented(String fingerprint) { + return fingerprints.containsKey(fingerprint); + } + + private StackTraceElement findPlaceInStack() { + return StackWalkerFactory.INSTANCE.walk( + stream -> + stream + .filter(element -> !classNameFiltering.isExcluded(element.getClassName())) + .findFirst() + .orElse(null)); + } +} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DebuggerConfiguration.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DebuggerConfiguration.java new file mode 100644 index 00000000000..8be9c8e3c75 --- /dev/null +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DebuggerConfiguration.java @@ -0,0 +1,16 @@ +package com.datadog.debugger.codeorigin; + +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.core.DDSpanContext; +import datadog.trace.core.propagation.PropagationTags; + +public final class DebuggerConfiguration { + public static boolean isDebuggerEnabled(AgentSpan span) { + return "1".equals(getDebugLevel(span)); + } + + private static String getDebugLevel(AgentSpan span) { + PropagationTags tags = ((DDSpanContext) span.getLocalRootSpan().context()).getPropagationTags(); + return tags.getDebugPropagation(); + } +} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DefaultCodeOriginRecorder.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DefaultCodeOriginRecorder.java new file mode 100644 index 00000000000..7c126cbdfee --- /dev/null +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/codeorigin/DefaultCodeOriginRecorder.java @@ -0,0 +1,20 @@ +package com.datadog.debugger.codeorigin; + +import datadog.trace.bootstrap.debugger.DebuggerContext.CodeOriginRecorder; + +public class DefaultCodeOriginRecorder implements CodeOriginRecorder { + private final CodeOriginProbeManager probeManager; + + public DefaultCodeOriginRecorder(CodeOriginProbeManager probeManager) { + this.probeManager = probeManager; + } + + public CodeOriginProbeManager probeManager() { + return probeManager; + } + + @Override + public String captureCodeOrigin(String signature) { + return probeManager.createProbeForFrame(signature); + } +} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/CodeOriginProbe.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/CodeOriginProbe.java new file mode 100644 index 00000000000..6c6eeba5233 --- /dev/null +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/CodeOriginProbe.java @@ -0,0 +1,176 @@ +package com.datadog.debugger.probe; + +import static com.datadog.debugger.codeorigin.DebuggerConfiguration.isDebuggerEnabled; +import static datadog.trace.api.DDTags.DD_CODE_ORIGIN_SNAPSHOT_ID; +import static datadog.trace.api.DDTags.DD_STACK_CODE_ORIGIN_FRAME; +import static datadog.trace.api.DDTags.DD_STACK_CODE_ORIGIN_TYPE; +import static java.lang.String.format; +import static java.util.Arrays.asList; +import static java.util.Collections.singletonList; + +import com.datadog.debugger.agent.DebuggerAgent; +import com.datadog.debugger.codeorigin.CodeOriginProbeManager; +import com.datadog.debugger.instrumentation.InstrumentationResult; +import com.datadog.debugger.sink.Snapshot; +import com.datadog.debugger.util.ClassNameFiltering; +import datadog.trace.api.DDTags; +import datadog.trace.bootstrap.debugger.CapturedContext; +import datadog.trace.bootstrap.debugger.MethodLocation; +import datadog.trace.bootstrap.debugger.ProbeId; +import datadog.trace.bootstrap.debugger.ProbeLocation; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import datadog.trace.util.stacktrace.StackWalkerFactory; +import java.util.List; +import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class CodeOriginProbe extends LogProbe implements ForceMethodInstrumentation { + private static final Logger LOGGER = LoggerFactory.getLogger(CodeOriginProbe.class); + + private final String signature; + + private final boolean entrySpanProbe; + + private final transient CodeOriginProbeManager probeManager; + + public CodeOriginProbe( + ProbeId probeId, String signature, Where where, CodeOriginProbeManager probeManager) { + super(LANGUAGE, probeId, null, where, MethodLocation.EXIT, null, null, true, null, null, null); + this.signature = signature; + this.entrySpanProbe = signature != null; + this.probeManager = probeManager; + } + + @Override + public boolean isLineProbe() { + // these are always method probes even if there is a line number + return false; + } + + public boolean isEntrySpanProbe() { + return entrySpanProbe; + } + + @Override + public void evaluate( + CapturedContext context, CapturedContext.Status status, MethodLocation methodLocation) { + if (!MethodLocation.isSame(methodLocation, getEvaluateAt())) { + return; + } + + super.evaluate(context, status, methodLocation); + } + + @Override + public void commit( + CapturedContext entryContext, + CapturedContext exitContext, + List caughtExceptions) { + + AgentSpan span = findSpan(AgentTracer.activeSpan()); + + if (span == null) { + LOGGER.debug("Could not find the span for probeId {}", id); + return; + } + String snapshotId = null; + if (isDebuggerEnabled(span)) { + Snapshot snapshot = createSnapshot(); + if (fillSnapshot(entryContext, exitContext, caughtExceptions, snapshot)) { + snapshotId = snapshot.getId(); + LOGGER.debug("committing code origin probe id={}, snapshot id={}", id, snapshotId); + commitSnapshot(snapshot, DebuggerAgent.getSink()); + } + } + applySpanOriginTags(span, snapshotId); + DebuggerAgent.getSink().getProbeStatusSink().addEmitting(probeId); + span.getLocalRootSpan().setTag(getId(), (String) null); // clear possible span reference + } + + private void applySpanOriginTags(AgentSpan span, String snapshotId) { + List entries = getUserStackFrames(); + recordCodeOrigin(span, entries, snapshotId); + recordStackFrames(span, entries, snapshotId); + } + + private void recordCodeOrigin( + AgentSpan span, List entries, String snapshotId) { + if (entrySpanProbe && !entries.isEmpty()) { + StackTraceElement entry = entries.get(0); + List list = asList(span, span.getLocalRootSpan()); + for (AgentSpan s : list) { + s.setTag(DDTags.DD_CODE_ORIGIN_FILE, toFileName(entry.getClassName())); + s.setTag(DDTags.DD_CODE_ORIGIN_METHOD, entry.getMethodName()); + s.setTag(DDTags.DD_CODE_ORIGIN_LINE, entry.getLineNumber()); + s.setTag(DDTags.DD_CODE_ORIGIN_TYPE, entry.getClassName()); + s.setTag(DDTags.DD_CODE_ORIGIN_METHOD_SIGNATURE, signature); + if (snapshotId != null) { + s.setTag(DD_CODE_ORIGIN_SNAPSHOT_ID, snapshotId); + } + } + } + } + + private void recordStackFrames( + AgentSpan span, List entries, String snapshotId) { + List agentSpans = + entrySpanProbe ? asList(span, span.getLocalRootSpan()) : singletonList(span); + + for (AgentSpan s : agentSpans) { + s.setTag(DD_STACK_CODE_ORIGIN_TYPE, entrySpanProbe ? "entry" : "exit"); + + for (int i = 0; i < entries.size(); i++) { + StackTraceElement info = entries.get(i); + s.setTag(format(DD_STACK_CODE_ORIGIN_FRAME, i, "file"), info.getFileName()); + s.setTag(format(DD_STACK_CODE_ORIGIN_FRAME, i, "method"), info.getMethodName()); + s.setTag(format(DD_STACK_CODE_ORIGIN_FRAME, i, "line"), info.getLineNumber()); + s.setTag(format(DD_STACK_CODE_ORIGIN_FRAME, i, "type"), info.getClassName()); + if (i == 0 && snapshotId != null) { + s.setTag(format(DD_STACK_CODE_ORIGIN_FRAME, i, "snapshot_id"), snapshotId); + } + } + } + } + + /** look "back" to find exit spans that may have already come and gone */ + private AgentSpan findSpan(AgentSpan candidate) { + AgentSpan span = candidate; + AgentSpan localRootSpan = candidate.getLocalRootSpan(); + if (localRootSpan.getTag(getId()) != null) { + span = (AgentSpan) localRootSpan.getTag(getId()); + } + return span; + } + + @Override + public void buildLocation(InstrumentationResult result) { + String type = where.getTypeName(); + String method = where.getMethodName(); + if (result != null) { + type = result.getTypeName(); + method = result.getMethodName(); + } + // drop line number for code origin probe + this.location = new ProbeLocation(type, method, where.getSourceFile(), null); + } + + private List getUserStackFrames() { + ClassNameFiltering classNameFiltering = probeManager.getClassNameFiltering(); + + return StackWalkerFactory.INSTANCE.walk( + stream -> + stream + .filter(element -> !classNameFiltering.isExcluded(element.getClassName())) + .collect(Collectors.toList())); + } + + private static String toFileName(String className) { + // this has a number of issues including non-public top level classes and non-Java JVM + // languages it's here to fulfill the RFC requirement of a file name in the location. + // This part of the spec needs a little review to find consensus on how to handle this but + // until then this is here to fill that gap. + return className.replace('.', '/') + ".java"; + } +} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/DebuggerProbe.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/DebuggerProbe.java new file mode 100644 index 00000000000..6caa49e0892 --- /dev/null +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/DebuggerProbe.java @@ -0,0 +1,113 @@ +package com.datadog.debugger.probe; + +import com.datadog.debugger.agent.DebuggerAgent; +import com.datadog.debugger.agent.Generated; +import com.datadog.debugger.instrumentation.CapturedContextInstrumentor; +import com.datadog.debugger.instrumentation.DiagnosticMessage; +import com.datadog.debugger.instrumentation.InstrumentationResult; +import com.datadog.debugger.instrumentation.MethodInfo; +import datadog.trace.bootstrap.debugger.CapturedContext; +import datadog.trace.bootstrap.debugger.MethodLocation; +import datadog.trace.bootstrap.debugger.ProbeId; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class DebuggerProbe extends ProbeDefinition { + private static final Logger LOGGER = LoggerFactory.getLogger(DebuggerProbe.class); + + // no-arg constructor is required by Moshi to avoid creating instance with unsafe and by-passing + // constructors, including field initializers. + public DebuggerProbe() { + this(LANGUAGE, null, null); + } + + public DebuggerProbe(String language, ProbeId probeId, Where where) { + super(language, probeId, (Tag[]) null, where, MethodLocation.ENTRY); + } + + @Override + public InstrumentationResult.Status instrument( + MethodInfo methodInfo, List diagnostics, List probeIds) { + return new CapturedContextInstrumentor(this, methodInfo, diagnostics, probeIds, false, null) + .instrument(); + } + + @Override + public void evaluate( + CapturedContext context, CapturedContext.Status status, MethodLocation methodLocation) { + decorateTags(); + } + + private void decorateTags() { + AgentTracer.TracerAPI tracerAPI = AgentTracer.get(); + + AgentSpan agentSpan = tracerAPI.activeSpan().getLocalRootSpan(); + agentSpan.setTag("_dd.p.debug", "1"); + agentSpan.setTag("_dd.ld.probe_id", probeId.getId()); + + DebuggerAgent.getSink().getProbeStatusSink().addEmitting(probeId); + } + + @Override + public CapturedContext.Status createStatus() { + return new CapturedContext.Status(this); + } + + @Generated + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DebuggerProbe that = (DebuggerProbe) o; + return Objects.equals(language, that.language) + && Objects.equals(id, that.id) + && version == that.version + && Arrays.equals(tags, that.tags) + && Objects.equals(tagMap, that.tagMap) + && Objects.equals(where, that.where) + && Objects.equals(evaluateAt, that.evaluateAt); + } + + @Generated + @Override + public int hashCode() { + int result = Objects.hash(language, id, version, where, evaluateAt); + result = 31 * result + Arrays.hashCode(tags); + return result; + } + + @Generated + @Override + public String toString() { + return getClass().getSimpleName() + + "{" + + "language='" + + language + + '\'' + + ", id='" + + id + + '\'' + + ", version=" + + version + + ", where=" + + where + + ", evaluateAt=" + + evaluateAt + + "} "; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends ProbeDefinition.Builder { + public DebuggerProbe build() { + return new DebuggerProbe(language, probeId, where); + } + } +} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/ForceMethodInstrumentation.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/ForceMethodInstrumentation.java index 6fc7ef540ac..43dcb2bc4f2 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/ForceMethodInstrumentation.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/ForceMethodInstrumentation.java @@ -3,9 +3,9 @@ /** * This marker interface indicates that, regardless of the {@link Where} field, this probe should * always be treated as a method probe for purposes of instrumentation and evaluation. In the cases - * of {@link ExceptionProbe} and {@link SpanDebuggerProbe}, e.g., these probes need to be - * instrumented as method probes even though specific lines are listed in their {@link Where} fields - * because the information they are collecting is very much related to specific lines but the - * lifecycle of a line probe is insufficient to gather that data. + * of {@link ExceptionProbe} and {@link CodeOriginProbe}, e.g., these probes need to be instrumented + * as method probes even though specific lines are listed in their {@link Where} fields because the + * information they are collecting is very much related to specific lines but the lifecycle of a + * line probe is insufficient to gather that data. */ public interface ForceMethodInstrumentation {} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/SpanDebuggerProbe.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/SpanDebuggerProbe.java deleted file mode 100644 index 73384d86c76..00000000000 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/SpanDebuggerProbe.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.datadog.debugger.probe; - -import static com.datadog.debugger.snapshot.SpanDebug.ALL_FRAMES; -import static com.datadog.debugger.snapshot.SpanDebug.CAPTURE_ALL_PROBES; -import static com.datadog.debugger.snapshot.SpanDebug.CAPTURE_ORIGIN_FRAMES; -import static com.datadog.debugger.snapshot.SpanDebug.ORIGIN_FRAME_ONLY; -import static com.datadog.debugger.snapshot.SpanDebug.isSpanDebugEnabled; -import static datadog.trace.api.DDTags.DD_EXIT_LOCATION_SNAPSHOT_ID; -import static java.lang.String.format; - -import com.datadog.debugger.agent.DebuggerAgent; -import com.datadog.debugger.instrumentation.InstrumentationResult; -import com.datadog.debugger.sink.Snapshot; -import com.datadog.debugger.snapshot.SpanDebuggerProbeManager; -import com.datadog.debugger.util.ClassNameFiltering; -import datadog.trace.api.DDTags; -import datadog.trace.bootstrap.debugger.CapturedContext; -import datadog.trace.bootstrap.debugger.CapturedContext.CapturedThrowable; -import datadog.trace.bootstrap.debugger.MethodLocation; -import datadog.trace.bootstrap.debugger.ProbeId; -import datadog.trace.bootstrap.debugger.ProbeLocation; -import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import datadog.trace.bootstrap.instrumentation.api.AgentTracer; -import datadog.trace.core.DDSpanContext; -import datadog.trace.util.stacktrace.StackWalkerFactory; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class SpanDebuggerProbe extends LogProbe implements ForceMethodInstrumentation { - private static final Logger LOGGER = LoggerFactory.getLogger(SpanDebuggerProbe.class); - - private final String signature; - - private final boolean entrySpanProbe; - - private final transient SpanDebuggerProbeManager probeManager; - - public SpanDebuggerProbe( - ProbeId probeId, String signature, Where where, SpanDebuggerProbeManager probeManager) { - super(LANGUAGE, probeId, null, where, MethodLocation.EXIT, null, null, true, null, null, null); - this.signature = signature; - this.entrySpanProbe = signature != null; - this.probeManager = probeManager; - } - - @Override - public boolean isLineProbe() { - // these are always method probes even if there is a line number - return false; - } - - public boolean isEntrySpanProbe() { - return entrySpanProbe; - } - - @Override - public void evaluate( - CapturedContext context, CapturedContext.Status status, MethodLocation methodLocation) { - if (!MethodLocation.isSame(methodLocation, getEvaluateAt())) { - return; - } - - super.evaluate(context, status, methodLocation); - } - - @Override - public void commit( - CapturedContext entryContext, - CapturedContext exitContext, - List caughtExceptions) { - - AgentSpan span = findCorrectSpan(AgentTracer.activeSpan()); - - if (span == null) { - LOGGER.debug("Could not find the exit span for probeId {}", id); - return; - } - applySpanOriginTags(span); - commitSnapshot(span, entryContext, exitContext, caughtExceptions); - } - - private void commitSnapshot( - AgentSpan span, - CapturedContext entryContext, - CapturedContext exitContext, - List caughtExceptions) { - if (isSpanDebugEnabled(span, CAPTURE_ORIGIN_FRAMES, CAPTURE_ALL_PROBES)) { - String key = - entrySpanProbe ? DDTags.DD_ENTRY_LOCATION_SNAPSHOT_ID : DD_EXIT_LOCATION_SNAPSHOT_ID; - Snapshot snapshot = createSnapshot(); - if (fillSnapshot(entryContext, exitContext, caughtExceptions, snapshot)) { - LOGGER.debug( - "committing exception probe id={}, snapshot id={}, exception id={}", - id, - snapshot.getId(), - snapshot.getExceptionId()); - - span.setTag(key, snapshot.getId()); - if (entrySpanProbe && span.getLocalRootSpan() != null) { - span.getLocalRootSpan().setTag(key, snapshot.getId()); - } - commitSnapshot(snapshot, DebuggerAgent.getSink()); - } - } - } - - private AgentSpan findCorrectSpan(AgentSpan span) { - if (entrySpanProbe) { - return span; - } - if (span.getLocalRootSpan().context() instanceof DDSpanContext) { - DDSpanContext rootContext = (DDSpanContext) span.getLocalRootSpan().context(); - - Map rootMetaStruct = rootContext.getMetaStruct(); - Object object = rootMetaStruct.get(probeId.getId()); - rootContext.setMetaStruct(probeId.getId(), null); - return object instanceof AgentSpan ? (AgentSpan) object : null; - } - // just don't record the exit info if we can't find the correct span - return null; - } - - private void applySpanOriginTags(AgentSpan span) { - if (isSpanDebugEnabled(span, ORIGIN_FRAME_ONLY, ALL_FRAMES)) { - List entries = getUserStackFrames(); - if (!entries.isEmpty()) { - if (entrySpanProbe) { - StackTraceElement entry = entries.get(0); - Set spans = new LinkedHashSet<>(); - spans.add(span); - AgentSpan rootSpan = span.getLocalRootSpan(); - if (rootSpan != null && rootSpan.getTags().get(DDTags.DD_ENTRY_LOCATION_FILE) == null) { - spans.add(rootSpan); - } - for (AgentSpan s : spans) { - s.setTag("_dd.di.has_code_location", true); - s.setTag(DDTags.DD_ENTRY_LOCATION_FILE, toFileName(entry.getClassName())); - s.setTag(DDTags.DD_ENTRY_METHOD, entry.getMethodName()); - s.setTag(DDTags.DD_ENTRY_LINE, entry.getLineNumber()); - s.setTag(DDTags.DD_ENTRY_TYPE, entry.getClassName()); - s.setTag(DDTags.DD_ENTRY_METHOD_SIGNATURE, signature); - } - } else { - span.setTag("_dd.di.has_code_location", true); - if (isSpanDebugEnabled(span, ORIGIN_FRAME_ONLY)) { - entries = entries.subList(0, 1); - } - for (int i = 0; i < entries.size(); i++) { - StackTraceElement element = entries.get(i); - span.setTag( - format(DDTags.DD_EXIT_LOCATION_FILE, i), toFileName(element.getClassName())); - span.setTag(format(DDTags.DD_EXIT_LOCATION_METHOD, i), element.getMethodName()); - span.setTag(format(DDTags.DD_EXIT_LOCATION_LINE, i), element.getLineNumber()); - span.setTag(format(DDTags.DD_EXIT_LOCATION_TYPE, i), element.getClassName()); - } - } - } - } - } - - @Override - public void buildLocation(InstrumentationResult result) { - String type = where.getTypeName(); - String method = where.getMethodName(); - if (result != null) { - type = result.getTypeName(); - method = result.getMethodName(); - } - // drop line number for exception probe - this.location = new ProbeLocation(type, method, where.getSourceFile(), null); - } - - private List getUserStackFrames() { - ClassNameFiltering classNameFiltering = probeManager.getClassNameFiltering(); - List entries = - StackWalkerFactory.INSTANCE.walk( - stream -> - stream - .filter(element -> !classNameFiltering.isExcluded(element.getClassName())) - .collect(Collectors.toList())); - - return entries; - } - - private static String toFileName(String className) { - // this has a number of issues including non-public top level classes and non-Java JVM - // languages it's here to fulfill the RFC requirement of a file name in the location. - // This part of the spec needs a little review to find consensus on how to handle this but - // until then this is here to fill that gap. - return className.replace('.', '/') + ".java"; - } -} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/Where.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/Where.java index d18259c16fb..f4685559e76 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/Where.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/Where.java @@ -47,10 +47,6 @@ public static Where convertLineToMethod( return new Where(typeName, methodName, signature, lines, null); } - public static Where convertLineToMethod(String sourceFile, int line) { - return new Where(null, null, null, new SourceLine[] {new SourceLine(line)}, sourceFile); - } - protected static SourceLine[] sourceLines(String[] defs) { if (defs == null) { return null; diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/DefaultSpanDebugger.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/DefaultSpanDebugger.java deleted file mode 100644 index 988be8c5c1c..00000000000 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/DefaultSpanDebugger.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.datadog.debugger.snapshot; - -import static com.datadog.debugger.agent.ConfigurationAcceptor.Source.SPAN_DEBUG; - -import com.datadog.debugger.agent.ConfigurationUpdater; -import com.datadog.debugger.exception.Fingerprinter; -import com.datadog.debugger.util.ClassNameFiltering; -import datadog.trace.bootstrap.debugger.DebuggerContext.SpanDebugger; -import datadog.trace.util.AgentTaskScheduler; -import datadog.trace.util.stacktrace.StackWalkerFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class DefaultSpanDebugger implements SpanDebugger { - private static final Logger LOGGER = LoggerFactory.getLogger(DefaultSpanDebugger.class); - - private final SpanDebuggerProbeManager probeManager; - private final ConfigurationUpdater configurationUpdater; - private final ClassNameFiltering classNameFiltering; - - private AgentTaskScheduler taskScheduler = AgentTaskScheduler.INSTANCE; - - public DefaultSpanDebugger( - ConfigurationUpdater configurationUpdater, ClassNameFiltering classNameFiltering) { - this.probeManager = new SpanDebuggerProbeManager(classNameFiltering); - this.configurationUpdater = configurationUpdater; - this.classNameFiltering = classNameFiltering; - } - - public SpanDebuggerProbeManager probeManager() { - return probeManager; - } - - public AgentTaskScheduler taskScheduler() { - return taskScheduler; - } - - public DefaultSpanDebugger taskScheduler(AgentTaskScheduler taskScheduler) { - this.taskScheduler = taskScheduler; - return this; - } - - @Override - public String captureSnapshot(String signature) { - StackTraceElement element = findPlaceInStack(); - String fingerprint = Fingerprinter.fingerprint(element); - if (fingerprint == null) { - LOGGER.debug("Unable to fingerprint snapshot"); - return null; - } - - if (!probeManager.isAlreadyInstrumented(fingerprint)) { - String probeId = probeManager.createProbeForFrame(element, signature); - if (probeId != null) { - taskScheduler.execute( - () -> { - configurationUpdater.accept(SPAN_DEBUG, probeManager.getProbes()); - probeManager.addFingerprint(fingerprint, probeId); - }); - } - return probeId; - } - - return probeManager.getProbeId(fingerprint); - } - - private StackTraceElement findPlaceInStack() { - return StackWalkerFactory.INSTANCE.walk( - stream -> { - return stream - .filter(element -> !classNameFiltering.isExcluded(element.getClassName())) - .findFirst() - .orElse(null); - }); - } -} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebug.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebug.java deleted file mode 100644 index d4d9fd5540e..00000000000 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebug.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.datadog.debugger.snapshot; - -import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import datadog.trace.core.DDSpanContext; -import datadog.trace.core.propagation.PropagationTags; - -public final class SpanDebug { - // Granularity of debugging information we want to capture - // enums instead? - /** no debug information */ - public static final int NONE = 0; - /** source code locations (just the span origin frame) */ - public static final int ORIGIN_FRAME_ONLY = 1; - /** source code locations (full stack trace) */ - public static final int ALL_FRAMES = 2; - /** variable values (request/response bodies, enriched dynamic logs) */ - public static final int CAPTURE_ORIGIN_FRAMES = 4; - /** capture exception replay information */ - public static final int EXCEPTION_REPLAY = 8; - /** capture all user probes */ - public static final int CAPTURE_ALL_PROBES = 16; - - public static boolean isSpanDebugEnabled(AgentSpan span, int... levels) { - if (span.context() instanceof DDSpanContext) { - int debug = getDebugLevel(span); - - for (int level : levels) { - if ((debug & level) == level) { - return true; - } - } - } - - return false; - } - - private static int getDebugLevel(AgentSpan span) { - PropagationTags tags = ((DDSpanContext) span.context()).getPropagationTags(); - return tags.getDebugPropagation(); - } - - public static void enableDebug(AgentSpan span, int... levels) { - if (span.context() instanceof DDSpanContext && levels.length != 0) { - DDSpanContext context = (DDSpanContext) span.context(); - PropagationTags tags = context.getPropagationTags(); - int debug = 0; - - for (int level : levels) { - debug |= level; - } - - tags.updateDebugPropagation(debug); - } - } -} diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebuggerProbeManager.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebuggerProbeManager.java deleted file mode 100644 index fbdb4f1db69..00000000000 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/snapshot/SpanDebuggerProbeManager.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.datadog.debugger.snapshot; - -import com.datadog.debugger.probe.SpanDebuggerProbe; -import com.datadog.debugger.probe.Where; -import com.datadog.debugger.util.ClassNameFiltering; -import datadog.trace.bootstrap.debugger.ProbeId; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; - -public class SpanDebuggerProbeManager { - private Map fingerprints = new HashMap<>(); - private final Map probes = new ConcurrentHashMap<>(); - private final ClassNameFiltering classNameFiltering; - - public SpanDebuggerProbeManager(ClassNameFiltering classNameFiltering) { - this.classNameFiltering = classNameFiltering; - } - - public Collection getProbes() { - return probes.values(); - } - - void addFingerprint(String fingerprint, String probeId) { - fingerprints.put(fingerprint, probeId); - } - - String getProbeId(String fingerprint) { - return fingerprints.get(fingerprint); - } - - public ClassNameFiltering getClassNameFiltering() { - return classNameFiltering; - } - - public String createProbeForFrame(StackTraceElement element, String signature) { - Where where = - Where.convertLineToMethod( - element.getClassName(), - element.getMethodName(), - signature, - String.valueOf(element.getLineNumber())); - SpanDebuggerProbe probe = - new SpanDebuggerProbe(new ProbeId(UUID.randomUUID().toString(), 0), signature, where, this); - probes.putIfAbsent(probe.getId(), probe); - return probe.getId(); - } - - public ClassNameFiltering classNameFiltering() { - return classNameFiltering; - } - - public boolean isAlreadyInstrumented(String fingerprint) { - return fingerprints.containsKey(fingerprint); - } -} diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java index ffdc575ffa2..769a108c43a 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java @@ -30,6 +30,7 @@ import com.datadog.debugger.el.ProbeCondition; import com.datadog.debugger.el.values.StringValue; import com.datadog.debugger.instrumentation.InstrumentationResult; +import com.datadog.debugger.probe.DebuggerProbe; import com.datadog.debugger.probe.LogProbe; import com.datadog.debugger.probe.MetricProbe; import com.datadog.debugger.probe.ProbeDefinition; @@ -48,7 +49,15 @@ import datadog.trace.agent.tooling.TracerInstaller; import datadog.trace.api.Config; import datadog.trace.api.interceptor.MutableSpan; -import datadog.trace.bootstrap.debugger.*; +import datadog.trace.bootstrap.debugger.CapturedContext; +import datadog.trace.bootstrap.debugger.CorrelationAccess; +import datadog.trace.bootstrap.debugger.DebuggerContext; +import datadog.trace.bootstrap.debugger.EvaluationError; +import datadog.trace.bootstrap.debugger.Limits; +import datadog.trace.bootstrap.debugger.MethodLocation; +import datadog.trace.bootstrap.debugger.ProbeId; +import datadog.trace.bootstrap.debugger.ProbeImplementation; +import datadog.trace.bootstrap.debugger.ProbeRateLimiter; import datadog.trace.bootstrap.debugger.el.ValueReferences; import datadog.trace.bootstrap.debugger.util.Redaction; import datadog.trace.core.CoreTracer; @@ -105,6 +114,7 @@ public class CapturedSnapshotTest { private static final ProbeId PROBE_ID1 = new ProbeId("beae1807-f3b0-4ea8-a74f-826790c5e6f6", 0); private static final ProbeId PROBE_ID2 = new ProbeId("beae1807-f3b0-4ea8-a74f-826790c5e6f7", 0); private static final ProbeId PROBE_ID3 = new ProbeId("beae1807-f3b0-4ea8-a74f-826790c5e6f8", 0); + private static final ProbeId PROBE_ID4 = new ProbeId("beae1807-f3b0-4ea8-a74f-826790c5e6f9", 0); private static final String SERVICE_NAME = "service-name"; private static final JsonAdapter> GENERIC_ADAPTER = MoshiHelper.createGenericAdapter(); @@ -2327,6 +2337,7 @@ public void allProbesSameMethod() throws IOException, URISyntaxException { .where(where) .build()) .add(LogProbe.builder().probeId(PROBE_ID3).where(where).build()) + .add(DebuggerProbe.builder().probeId(PROBE_ID4).where(where).build()) .build(); CoreTracer tracer = CoreTracer.builder().build(); diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/ConfigurationTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/ConfigurationTest.java index ce1c446c54f..c2a00678067 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/ConfigurationTest.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/ConfigurationTest.java @@ -3,6 +3,8 @@ import static com.datadog.debugger.probe.MetricProbe.MetricKind.COUNT; import static com.datadog.debugger.probe.MetricProbe.MetricKind.GAUGE; import static com.datadog.debugger.util.LogProbeTestHelper.parseTemplate; +import static java.util.Arrays.asList; +import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNull; @@ -10,9 +12,9 @@ import com.datadog.debugger.el.DSL; import com.datadog.debugger.el.ProbeCondition; +import com.datadog.debugger.probe.DebuggerProbe; import com.datadog.debugger.probe.LogProbe; import com.datadog.debugger.probe.MetricProbe; -import com.datadog.debugger.probe.ProbeDefinition; import com.datadog.debugger.probe.SpanDecorationProbe; import com.datadog.debugger.probe.SpanProbe; import com.datadog.debugger.util.MoshiHelper; @@ -23,8 +25,6 @@ import java.io.IOException; import java.lang.reflect.ParameterizedType; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; import java.util.List; import org.junit.jupiter.api.Test; import utils.TestHelper; @@ -34,13 +34,14 @@ public class ConfigurationTest { @Test public void getDefinitions() { Configuration config1 = createConfig1(); - assertEquals(5, config1.getDefinitions().size()); - Iterator iterator = config1.getDefinitions().iterator(); - assertEquals("metric1", iterator.next().getId()); - assertEquals("probe1", iterator.next().getId()); - assertEquals("log1", iterator.next().getId()); - assertEquals("span1", iterator.next().getId()); - assertEquals("decorateSpan1", iterator.next().getId()); + List definitions = + config1.getDefinitions().stream().map(d -> d.getId()).sorted().collect(toList()); + List list = + asList("metric1", "probe1", "log1", "span1", "debug1", "decorateSpan1").stream() + .sorted() + .collect(toList()); + + assertEquals(list, definitions); } @Test @@ -197,7 +198,7 @@ private void doCaptureDeserialization( private String serialize() { Configuration config1 = createConfig1(); Configuration config2 = createConfig2(); - List configs = new ArrayList<>(Arrays.asList(config1, config2)); + List configs = new ArrayList<>(asList(config1, config2)); ParameterizedType type = Types.newParameterizedType(List.class, Configuration.class); JsonAdapter> adapter = MoshiHelper.createMoshiConfig().adapter(type); return adapter.toJson(configs); @@ -265,11 +266,14 @@ private Configuration createConfig1() { createLog( "log1", "this is a log line with arg={arg}", "java.lang.String", "indexOf", "(String)"); SpanProbe span1 = createSpan("span1", "java.lang.String", "indexOf", "(String)"); + DebuggerProbe debuggerProbe = + createDebuggerProbe("debug1", "java.lang.String", "indexOf", "(String)"); + SpanDecorationProbe.Decoration decoration = new SpanDecorationProbe.Decoration( new ProbeCondition( DSL.when(DSL.eq(DSL.ref("arg1"), DSL.value("foo"))), "arg1 == 'foo'"), - Arrays.asList( + asList( new SpanDecorationProbe.Tag( "id", new SpanDecorationProbe.TagValue("{id}", parseTemplate("{id}"))))); SpanDecorationProbe spanDecoration1 = @@ -281,18 +285,18 @@ private Configuration createConfig1() { "indexOf", "(String)"); Configuration.FilterList allowList = - new Configuration.FilterList( - Arrays.asList("java.lang.util"), Arrays.asList("java.lang.String")); + new Configuration.FilterList(asList("java.lang.util"), asList("java.lang.String")); Configuration.FilterList denyList = new Configuration.FilterList( - Arrays.asList("java.security"), Arrays.asList("javax.security.auth.AuthPermission")); + asList("java.security"), asList("javax.security.auth.AuthPermission")); LogProbe.Sampling globalSampling = new LogProbe.Sampling(10.0); return new Configuration( "service1", - Arrays.asList(metric1), - Arrays.asList(probe1, log1), - Arrays.asList(span1), - Arrays.asList(spanDecoration1), + asList(metric1), + asList(probe1, log1), + asList(span1), + asList(debuggerProbe), + asList(spanDecoration1), allowList, denyList, globalSampling); @@ -310,10 +314,13 @@ private Configuration createConfig2() { "indexOf", "(String)"); SpanProbe span2 = createSpan("span2", "String.java", 12, 23); + DebuggerProbe debuggerProbe = + createDebuggerProbe("debug1", "String.java", "indexOf", "(String)"); + SpanDecorationProbe.Decoration decoration = new SpanDecorationProbe.Decoration( new ProbeCondition(DSL.when(DSL.eq(DSL.ref("arg"), DSL.value("foo"))), "arg == 'foo'"), - Arrays.asList( + asList( new SpanDecorationProbe.Tag( "tag1", new SpanDecorationProbe.TagValue("{arg1}", parseTemplate("{arg1}"))), new SpanDecorationProbe.Tag( @@ -327,18 +334,18 @@ private Configuration createConfig2() { "indexOf", "(String)"); Configuration.FilterList allowList = - new Configuration.FilterList( - Arrays.asList("java.lang.util"), Arrays.asList("java.lang.String")); + new Configuration.FilterList(asList("java.lang.util"), asList("java.lang.String")); Configuration.FilterList denyList = new Configuration.FilterList( - Arrays.asList("java.security"), Arrays.asList("javax.security.auth.AuthPermission")); + asList("java.security"), asList("javax.security.auth.AuthPermission")); LogProbe.Sampling globalSampling = new LogProbe.Sampling(10.0); return new Configuration( "service2", - Arrays.asList(metric2), - Arrays.asList(probe2, log2), - Arrays.asList(span2), - Arrays.asList(spanDecoration2), + asList(metric2), + asList(probe2, log2), + asList(span2), + asList(debuggerProbe), + asList(spanDecoration2), allowList, denyList, globalSampling); @@ -393,6 +400,16 @@ private static LogProbe createLog( .build(); } + private static DebuggerProbe createDebuggerProbe( + String id, String typeName, String methodName, String signature) { + return DebuggerProbe.builder() + .language("java") + .probeId(id, 0) + .where(typeName, methodName, signature) + .evaluateAt(MethodLocation.ENTRY) + .build(); + } + private static SpanProbe createSpan( String id, String typeName, String methodName, String signature) { return SpanProbe.builder() diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DebuggerProbeInstrumentationTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DebuggerProbeInstrumentationTest.java new file mode 100644 index 00000000000..aa01eb3dcf8 --- /dev/null +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/DebuggerProbeInstrumentationTest.java @@ -0,0 +1,184 @@ +package com.datadog.debugger.agent; + +import static com.datadog.debugger.agent.SpanDecorationProbeInstrumentationTest.resolver; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static utils.InstrumentationTestHelper.compileAndLoadClass; + +import com.datadog.debugger.agent.Configuration.Builder; +import com.datadog.debugger.codeorigin.CodeOriginProbeManager; +import com.datadog.debugger.codeorigin.DefaultCodeOriginRecorder; +import com.datadog.debugger.origin.CodeOriginTest; +import com.datadog.debugger.probe.CodeOriginProbe; +import com.datadog.debugger.probe.DebuggerProbe; +import com.datadog.debugger.probe.LogProbe; +import com.datadog.debugger.probe.MetricProbe; +import com.datadog.debugger.probe.ProbeDefinition; +import com.datadog.debugger.probe.Where; +import com.datadog.debugger.sink.DebuggerSink; +import com.datadog.debugger.sink.ProbeStatusSink; +import com.datadog.debugger.util.TestTraceInterceptor; +import datadog.trace.agent.tooling.TracerInstaller; +import datadog.trace.api.Config; +import datadog.trace.api.interceptor.MutableSpan; +import datadog.trace.bootstrap.debugger.DebuggerContext; +import datadog.trace.bootstrap.debugger.ProbeId; +import datadog.trace.bootstrap.debugger.util.Redaction; +import datadog.trace.core.CoreTracer; +import datadog.trace.core.DDSpan; +import java.io.IOException; +import java.net.URISyntaxException; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import org.joor.Reflect; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; +import org.mockito.ArgumentMatchers; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@TestInstance(Lifecycle.PER_CLASS) +public class DebuggerProbeInstrumentationTest extends ProbeInstrumentationTest { + private static final ProbeId DEBUG_PROBE_ID = new ProbeId("86753098675309", 0); + + private static final ProbeId CODE_ORIGIN_PROBE_ID = new ProbeId("48946084894608", 0); + + private static final Logger log = LoggerFactory.getLogger(DebuggerProbeInstrumentationTest.class); + + public static final CodeOriginProbeManager probeManager = + new CodeOriginProbeManager( + mock(ConfigurationUpdater.class), CodeOriginTest.classNameFiltering); + + private DefaultCodeOriginRecorder codeOriginRecorder = + new DefaultCodeOriginRecorder(probeManager); + + private TestTraceInterceptor traceInterceptor; + + @BeforeEach + public void setUp() { + traceInterceptor = new TestTraceInterceptor(); + CoreTracer tracer = CoreTracer.builder().build(); + TracerInstaller.forceInstallGlobalTracer(tracer); + tracer.addTraceInterceptor(traceInterceptor); + } + + @Override + @AfterEach + public void after() { + super.after(); + Redaction.clearUserDefinedTypes(); + } + + @Test + public void testProbeInstallation() throws IOException, URISyntaxException { + final String CLASS_NAME = "com.datadog.debugger.CapturedSnapshot20"; + installProbe(CLASS_NAME, "process", "int (java.lang.String)"); + Class testClass = compileAndLoadClass(CLASS_NAME); + int result = Reflect.on(testClass).call("main", "1").get(); + assertEquals(84, result); + result = Reflect.on(testClass).call("main", "1").get(); + assertEquals(84, result); + MutableSpan span = traceInterceptor.getFirstSpan(); + assertEquals( + DEBUG_PROBE_ID.getId(), + span.getTags().get("_dd.ld.probe_id"), + span.getTags().keySet().toString()); + String debugFlag = + ((DDSpan) span.getLocalRootSpan()).context().getPropagationTags().getDebugPropagation(); + assertEquals("1", debugFlag); + } + + @Test + public void testWithCodeOrigin() throws IOException, URISyntaxException { + final String CLASS_NAME = "com.datadog.debugger.CapturedSnapshot20"; + + Where where = + Where.convertLineToMethod(CLASS_NAME, "process", "int (java.lang.String)", (String[]) null); + installProbes( + DebuggerProbe.builder() + .probeId(DEBUG_PROBE_ID) + .where(CLASS_NAME, "process", "int (java.lang.String)") + .build(), + new CodeOriginProbe(CODE_ORIGIN_PROBE_ID, "int (java.lang.String)", where, probeManager)); + Class testClass = compileAndLoadClass(CLASS_NAME); + int result = Reflect.on(testClass).call("main", "1").get(); + assertEquals(84, result); + MutableSpan span = traceInterceptor.getFirstSpan(); + assertEquals( + DEBUG_PROBE_ID.getId(), + span.getTags().get("_dd.ld.probe_id"), + span.getTags().keySet().toString()); + String debugFlag = + ((DDSpan) span.getLocalRootSpan()).context().getPropagationTags().getDebugPropagation(); + assertEquals("1", debugFlag); + verify(probeStatusSink).addEmitting(ArgumentMatchers.eq(DEBUG_PROBE_ID)); + } + + private void installProbe(String typeName, String methodName, String signature) { + DebuggerProbe probe = + DebuggerProbe.builder() + .probeId(DEBUG_PROBE_ID) + .where(typeName, methodName, signature) + .build(); + registerConfiguration(Configuration.builder().setService(SERVICE_NAME).add(probe).build()); + } + + @SuppressWarnings({"unchecked"}) + private void installProbes(D... definitions) { + Builder builder = Configuration.builder().setService(SERVICE_NAME); + bucketProbes(definitions, builder); + registerConfiguration(builder.build()); + } + + @SuppressWarnings("unchecked") + private static void bucketProbes(D[] definitions, Builder builder) { + Arrays.stream(definitions) + .collect(Collectors.groupingBy(d -> d.getClass().getSimpleName())) + .forEach( + (key, value1) -> { + switch (key) { + case ("CodeOriginProbe"): + value1.forEach(probe -> probeManager.installProbe((CodeOriginProbe) probe)); + break; + case ("MetricProbe"): + builder.addMetricProbes((List) value1); + break; + case ("DebuggerProbe"): + builder.addDebuggerProbes((List) value1); + break; + case ("LogProbe"): + builder.addLogProbes((List) value1); + break; + default: + throw new UnsupportedOperationException(key + " is an unknown probe type"); + } + }); + } + + private void registerConfiguration(Configuration configuration) { + Config config = mock(Config.class); + when(config.isDebuggerEnabled()).thenReturn(true); + when(config.isDebuggerClassFileDumpEnabled()).thenReturn(true); + when(config.isDebuggerCodeOriginEnabled()).thenReturn(true); + when(config.getFinalDebuggerSnapshotUrl()) + .thenReturn("http://localhost:8126/debugger/v1/input"); + when(config.getFinalDebuggerSymDBUrl()).thenReturn("http://localhost:8126/symdb/v1/input"); + probeStatusSink = mock(ProbeStatusSink.class); + currentTransformer = + new DebuggerTransformer( + config, configuration, null, new DebuggerSink(config, probeStatusSink)); + instr.addTransformer(currentTransformer); + mockSink = new MockSink(config, probeStatusSink); + System.out.println("remocking mockSink"); + DebuggerAgentHelper.injectSink(mockSink); + DebuggerContext.initProbeResolver((encodedProbeId) -> resolver(encodedProbeId, configuration)); + DebuggerContext.initClassFilter(new DenyListHelper(null)); + DebuggerContext.initCodeOrigin(codeOriginRecorder); + } +} diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/SpanDecorationProbeInstrumentationTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/SpanDecorationProbeInstrumentationTest.java index 7cb0179a4d6..354011b1092 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/SpanDecorationProbeInstrumentationTest.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/SpanDecorationProbeInstrumentationTest.java @@ -8,6 +8,7 @@ import static com.datadog.debugger.probe.SpanDecorationProbe.TargetSpan.ACTIVE; import static com.datadog.debugger.probe.SpanDecorationProbe.TargetSpan.ROOT; import static com.datadog.debugger.util.LogProbeTestHelper.parseTemplate; +import static java.util.Arrays.asList; import static java.util.Collections.singletonList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -25,6 +26,7 @@ import com.datadog.debugger.el.expressions.BooleanExpression; import com.datadog.debugger.el.values.StringValue; import com.datadog.debugger.probe.LogProbe; +import com.datadog.debugger.probe.ProbeDefinition; import com.datadog.debugger.probe.SpanDecorationProbe; import com.datadog.debugger.sink.DebuggerSink; import com.datadog.debugger.sink.ProbeStatusSink; @@ -42,7 +44,7 @@ import datadog.trace.core.CoreTracer; import java.io.IOException; import java.net.URISyntaxException; -import java.util.Arrays; +import java.util.Collection; import java.util.List; import org.joor.Reflect; import org.junit.jupiter.api.AfterEach; @@ -101,7 +103,7 @@ public void methodActiveSpanTagList() throws IOException, URISyntaxException { installSingleSpanDecoration( CLASS_NAME, ACTIVE, - Arrays.asList(deco1, deco2, deco3, deco4, deco5), + asList(deco1, deco2, deco3, deco4, deco5), "process", "int (java.lang.String)"); Class testClass = compileAndLoadClass(CLASS_NAME); @@ -123,11 +125,7 @@ public void methodRootSpanTagList() throws IOException, URISyntaxException { SpanDecorationProbe.Decoration deco3 = createDecoration("tag3", "{strField}"); SpanDecorationProbe.Decoration deco4 = createDecoration("tag4", "{@return}"); installSingleSpanDecoration( - CLASS_NAME, - ROOT, - Arrays.asList(deco1, deco2, deco3, deco4), - "process3", - "int (java.lang.String)"); + CLASS_NAME, ROOT, asList(deco1, deco2, deco3, deco4), "process3", "int (java.lang.String)"); Class testClass = compileAndLoadClass(CLASS_NAME); int result = Reflect.on(testClass).call("main", "1").get(); assertEquals(45, result); @@ -278,7 +276,7 @@ public void lineRootSpanTagList() throws IOException, URISyntaxException { SpanDecorationProbe.Decoration deco2 = createDecoration("tag2", "{this.intField}"); SpanDecorationProbe.Decoration deco3 = createDecoration("tag3", "{strField}"); installSingleSpanDecoration( - CLASS_NAME, ROOT, Arrays.asList(deco1, deco2, deco3), "CapturedSnapshot21.java", 67); + CLASS_NAME, ROOT, asList(deco1, deco2, deco3), "CapturedSnapshot21.java", 67); Class testClass = compileAndLoadClass(CLASS_NAME); int result = Reflect.on(testClass).call("main", "1").get(); assertEquals(45, result); @@ -340,12 +338,24 @@ public void mixedWithLogProbes() throws IOException, URISyntaxException { SpanDecorationProbe.Decoration decoration2 = createDecoration("tag2", "{arg}"); SpanDecorationProbe spanDecoProbe1 = createProbeBuilder( - PROBE_ID1, ACTIVE, singletonList(decoration1), CLASS_NAME, "process", null, null) + PROBE_ID1, + ACTIVE, + singletonList(decoration1), + CLASS_NAME, + "process", + null, + (String[]) null) .evaluateAt(MethodLocation.EXIT) .build(); SpanDecorationProbe spanDecoProbe2 = createProbeBuilder( - PROBE_ID2, ACTIVE, singletonList(decoration2), CLASS_NAME, "process", null, null) + PROBE_ID2, + ACTIVE, + singletonList(decoration2), + CLASS_NAME, + "process", + null, + (String[]) null) .evaluateAt(MethodLocation.ENTRY) .build(); LogProbe logProbe1 = @@ -393,12 +403,24 @@ public void mixedEntryExit() throws IOException, URISyntaxException { SpanDecorationProbe.Decoration decoration2 = createDecoration("tag2", "{arg}"); SpanDecorationProbe spanDecoProbe1 = createProbeBuilder( - PROBE_ID1, ACTIVE, singletonList(decoration1), CLASS_NAME, "process", null, null) + PROBE_ID1, + ACTIVE, + singletonList(decoration1), + CLASS_NAME, + "process", + null, + (String[]) null) .evaluateAt(MethodLocation.EXIT) .build(); SpanDecorationProbe spanDecoProbe2 = createProbeBuilder( - PROBE_ID2, ACTIVE, singletonList(decoration2), CLASS_NAME, "process", null, null) + PROBE_ID2, + ACTIVE, + singletonList(decoration2), + CLASS_NAME, + "process", + null, + (String[]) null) .evaluateAt(MethodLocation.ENTRY) .build(); Configuration configuration = @@ -423,7 +445,7 @@ public void keywordRedaction() throws IOException, URISyntaxException { SpanDecorationProbe.Decoration decoration2 = createDecoration("tag2", "{this.password}"); SpanDecorationProbe.Decoration decoration3 = createDecoration("tag3", "{strMap['password']}"); List decorations = - Arrays.asList(decoration1, decoration2, decoration3); + asList(decoration1, decoration2, decoration3); installSingleSpanDecoration( CLASS_NAME, ACTIVE, decorations, "process", "int (java.lang.String)"); Class testClass = compileAndLoadClass(CLASS_NAME); @@ -466,7 +488,7 @@ public void keywordRedactionConditions() throws IOException, URISyntaxException "tag3", "foo"); List decorations = - Arrays.asList(decoration1, decoration2, decoration3); + asList(decoration1, decoration2, decoration3); installSingleSpanDecoration( CLASS_NAME, ACTIVE, decorations, "process", "int (java.lang.String)"); Class testClass = compileAndLoadClass(CLASS_NAME); @@ -500,7 +522,7 @@ public void typeRedaction() throws IOException, URISyntaxException { SpanDecorationProbe.Decoration decoration2 = createDecoration("tag2", "{this.creds}"); SpanDecorationProbe.Decoration decoration3 = createDecoration("tag3", "{credMap['dave']}"); List decorations = - Arrays.asList(decoration1, decoration2, decoration3); + asList(decoration1, decoration2, decoration3); installSingleSpanDecoration( CLASS_NAME, ACTIVE, decorations, "process", "int (java.lang.String)"); Class testClass = compileAndLoadClass(CLASS_NAME); @@ -552,7 +574,7 @@ public void typeRedactionConditions() throws IOException, URISyntaxException { "tag3", "foo"); List decorations = - Arrays.asList(decoration1, decoration2, decoration3); + asList(decoration1, decoration2, decoration3); installSingleSpanDecoration( CLASS_NAME, ACTIVE, decorations, "process", "int (java.lang.String)"); Class testClass = compileAndLoadClass(CLASS_NAME); @@ -577,7 +599,7 @@ public void typeRedactionConditions() throws IOException, URISyntaxException { private SpanDecorationProbe.Decoration createDecoration(String tagName, String valueDsl) { List tags = - Arrays.asList( + asList( new SpanDecorationProbe.Tag( tagName, new SpanDecorationProbe.TagValue(valueDsl, parseTemplate(valueDsl)))); return new SpanDecorationProbe.Decoration(null, tags); @@ -586,7 +608,7 @@ private SpanDecorationProbe.Decoration createDecoration(String tagName, String v private SpanDecorationProbe.Decoration createDecoration( BooleanExpression expression, String dsl, String tagName, String valueDsl) { List tags = - Arrays.asList( + asList( new SpanDecorationProbe.Tag( tagName, new SpanDecorationProbe.TagValue(valueDsl, parseTemplate(valueDsl)))); return new SpanDecorationProbe.Decoration(new ProbeCondition(DSL.when(expression), dsl), tags); @@ -598,8 +620,7 @@ private void installSingleSpanDecoration( SpanDecorationProbe.Decoration decoration, String methodName, String signature) { - installSingleSpanDecoration( - typeName, targetSpan, Arrays.asList(decoration), methodName, signature); + installSingleSpanDecoration(typeName, targetSpan, asList(decoration), methodName, signature); } private void installSingleSpanDecoration( @@ -608,7 +629,7 @@ private void installSingleSpanDecoration( SpanDecorationProbe.Decoration decoration, String sourceFile, int line) { - installSingleSpanDecoration(typeName, targetSpan, Arrays.asList(decoration), sourceFile, line); + installSingleSpanDecoration(typeName, targetSpan, asList(decoration), sourceFile, line); } private void installSingleSpanDecoration( @@ -694,7 +715,7 @@ private void installSpanProbes(String expectedClassName, SpanDecorationProbe... expectedClassName, Configuration.builder() .setService(SERVICE_NAME) - .addSpanDecorationProbes(Arrays.asList(probes)) + .addSpanDecorationProbes(asList(probes)) .build()); } @@ -716,15 +737,29 @@ private void installSpanDecorationProbes(String expectedClassName, Configuration DebuggerContext.initClassFilter(new DenyListHelper(null)); } - private ProbeImplementation resolver(String encodedProbeId, Configuration configuration) { - for (SpanDecorationProbe probe : configuration.getSpanDecorationProbes()) { - if (probe.getProbeId().getEncodedId().equals(encodedProbeId)) { + static ProbeImplementation resolver(String encodedProbeId, Configuration configuration) { + List> list1 = + asList( + configuration.getSpanDecorationProbes(), + configuration.getLogProbes(), + configuration.getDebuggerProbes()); + for (Collection list : list1) { + + ProbeImplementation probe = scanForProbe(encodedProbeId, list); + if (probe != null) { return probe; } } - for (LogProbe probe : configuration.getLogProbes()) { - if (probe.getProbeId().getEncodedId().equals(encodedProbeId)) { - return probe; + return null; + } + + private static ProbeDefinition scanForProbe( + String encodedProbeId, Collection probes) { + if (probes != null) { + for (ProbeDefinition probe : probes) { + if (probe.getProbeId().getEncodedId().equals(encodedProbeId)) { + return probe; + } } } return null; diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/code_origin/SpanDebuggerTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/code_origin/SpanDebuggerTest.java deleted file mode 100644 index 046d03e177f..00000000000 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/code_origin/SpanDebuggerTest.java +++ /dev/null @@ -1,179 +0,0 @@ -package com.datadog.debugger.code_origin; - -import static datadog.trace.bootstrap.debugger.CapturedContext.EMPTY_CAPTURING_CONTEXT; -import static datadog.trace.util.AgentThreadFactory.AgentThread.TASK_SCHEDULER; -import static java.util.Collections.emptyList; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import com.datadog.debugger.agent.ConfigurationUpdater; -import com.datadog.debugger.agent.DebuggerAgentHelper; -import com.datadog.debugger.probe.LogProbe.LogStatus; -import com.datadog.debugger.probe.SpanDebuggerProbe; -import com.datadog.debugger.sink.ProbeStatusSink; -import com.datadog.debugger.snapshot.DefaultSpanDebugger; -import com.datadog.debugger.snapshot.SpanDebug; -import com.datadog.debugger.util.ClassNameFiltering; -import com.datadog.debugger.util.TestSnapshotListener; -import datadog.trace.api.Config; -import datadog.trace.api.DDTags; -import datadog.trace.bootstrap.debugger.DebuggerContext; -import datadog.trace.bootstrap.debugger.MethodLocation; -import datadog.trace.bootstrap.debugger.spanorigin.SpanOriginInfo; -import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import datadog.trace.bootstrap.instrumentation.api.AgentTracer; -import datadog.trace.bootstrap.instrumentation.api.AgentTracer.TracerAPI; -import datadog.trace.bootstrap.instrumentation.api.ScopeSource; -import datadog.trace.core.CoreTracer; -import datadog.trace.test.util.DDSpecification; -import datadog.trace.util.AgentTaskScheduler; -import java.util.Arrays; -import java.util.HashSet; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -public class SpanDebuggerTest extends DDSpecification { - private ClassNameFiltering classNameFiltering; - - private ConfigurationUpdater configurationUpdater; - - private int count = 0; - - private TestSnapshotListener listener; - - private DefaultSpanDebugger spanDebugger; - private TracerAPI tracerAPI; - - @BeforeEach - public void setUp() { - injectSysConfig("dd.trace.span.origin.enabled", "true"); - AgentTracer.registerIfAbsent(CoreTracer.builder().build()); - tracerAPI = AgentTracer.get(); - configurationUpdater = mock(ConfigurationUpdater.class); - classNameFiltering = - new ClassNameFiltering( - new HashSet<>( - Arrays.asList( - "sun", - "org.junit", - "java.", - "org.gradle", - "com.sun", - "worker.org.gradle", - "datadog", - "com.datadog.debugger.probe", - "com.datadog.debugger.snapshot"))); - spanDebugger = new DefaultSpanDebugger(configurationUpdater, classNameFiltering); - spanDebugger.taskScheduler( - new AgentTaskScheduler(TASK_SCHEDULER) { - @Override - public void execute(Runnable target) { - target.run(); - } - }); - DebuggerContext.initSpanDebugger(spanDebugger); - - listener = new TestSnapshotListener(createConfig(), mock(ProbeStatusSink.class)); - DebuggerAgentHelper.injectSink(listener); - } - - @Test - public void fingerprinting() throws InterruptedException { - - AgentSpan span1 = createProbePath1(); - SpanDebug.enableDebug(span1, SpanDebug.ALL_FRAMES); - AgentSpan span2 = createProbePath1a(); - SpanDebug.enableDebug(span2, 31); - AgentSpan span3 = createProbePath1(); - - SpanDebuggerProbe[] probes = - spanDebugger.probeManager().getProbes().toArray(new SpanDebuggerProbe[0]); - - assertEquals(2, probes.length); - SpanDebuggerProbe entryProbe; - SpanDebuggerProbe exitProbe; - if (probes[0].isEntrySpanProbe()) { - entryProbe = probes[0]; - exitProbe = probes[1]; - } else { - entryProbe = probes[1]; - exitProbe = probes[0]; - } - assertTrue(entryProbe.isEntrySpanProbe()); - assertFalse(exitProbe.isEntrySpanProbe()); - invoke(span1, entryProbe); - - assertTrue( - span1.getTags().containsKey(DDTags.DD_ENTRY_LOCATION_FILE), - span1.getTags().keySet().toString()); - assertFalse( - span1.getTags().containsKey(DDTags.DD_ENTRY_LOCATION_SNAPSHOT_ID), - span1.getTags().keySet().toString()); - - invoke(span2, exitProbe); - assertTrue( - span2.getTags().containsKey(String.format(DDTags.DD_EXIT_LOCATION_FILE, 0)), - span2.getTags().keySet().toString()); - assertTrue( - span2.getTags().containsKey(DDTags.DD_EXIT_LOCATION_SNAPSHOT_ID), - span2.getTags().keySet().toString()); - - invoke(span3, entryProbe); - - assertTrue( - span3.getTags().containsKey(DDTags.DD_ENTRY_LOCATION_FILE), - span3.getTags().keySet().toString()); - assertFalse( - span3.getTags().containsKey(DDTags.DD_ENTRY_LOCATION_SNAPSHOT_ID), - span3.getTags().keySet().toString()); - } - - private void invoke(AgentSpan span1, SpanDebuggerProbe probe) { - tracerAPI.activateSpan(span1, ScopeSource.MANUAL); - probe.evaluate(EMPTY_CAPTURING_CONTEXT, LogStatus.EMPTY_LOG_STATUS, MethodLocation.EXIT); - probe.commit(EMPTY_CAPTURING_CONTEXT, EMPTY_CAPTURING_CONTEXT, emptyList()); - } - - private AgentSpan createProbePath1() { - return createProbePath2(); - } - - private AgentSpan createProbePath1a() { - return createProbePath3(); - } - - private AgentSpan createProbePath2() { - return createProbePath3(); - } - - private AgentSpan createProbePath3() { - AgentSpan span = tracerAPI.startSpan("span debugger test", "span" + (++count)); - try { - - if (count % 2 == 1) { - SpanOriginInfo.entry(span, getClass().getDeclaredMethod("createProbePath3")); - } else { - SpanOriginInfo.exit(span); - } - - return span; - } catch (NoSuchMethodException e) { - throw new RuntimeException(e); - } - } - - public static Config createConfig() { - Config config = mock(Config.class); - when(config.isDebuggerEnabled()).thenReturn(true); - when(config.isDebuggerClassFileDumpEnabled()).thenReturn(true); - when(config.isDebuggerVerifyByteCode()).thenReturn(true); - when(config.getFinalDebuggerSnapshotUrl()) - .thenReturn("http://localhost:8126/debugger/v1/input"); - when(config.getFinalDebuggerSymDBUrl()).thenReturn("http://localhost:8126/symdb/v1/input"); - when(config.getDebuggerUploadBatchSize()).thenReturn(100); - return config; - } -} diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/origin/CodeOriginTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/origin/CodeOriginTest.java new file mode 100644 index 00000000000..76d2ab934fa --- /dev/null +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/origin/CodeOriginTest.java @@ -0,0 +1,291 @@ +package com.datadog.debugger.origin; + +import static com.datadog.debugger.agent.ConfigurationAcceptor.Source.REMOTE_CONFIG; +import static com.datadog.debugger.util.TestHelper.setFieldInConfig; +import static datadog.trace.api.DDTags.DD_STACK_CODE_ORIGIN_FRAME; +import static datadog.trace.api.DDTags.DD_STACK_CODE_ORIGIN_TYPE; +import static java.lang.String.format; +import static java.util.Arrays.asList; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static utils.InstrumentationTestHelper.compileAndLoadClass; + +import com.datadog.debugger.agent.ClassesToRetransformFinder; +import com.datadog.debugger.agent.Configuration; +import com.datadog.debugger.agent.ConfigurationUpdater; +import com.datadog.debugger.agent.DebuggerAgentHelper; +import com.datadog.debugger.agent.DebuggerTransformer; +import com.datadog.debugger.agent.DebuggerTransformer.InstrumentationListener; +import com.datadog.debugger.agent.JsonSnapshotSerializer; +import com.datadog.debugger.agent.MockSampler; +import com.datadog.debugger.codeorigin.CodeOriginProbeManager; +import com.datadog.debugger.codeorigin.DefaultCodeOriginRecorder; +import com.datadog.debugger.probe.CodeOriginProbe; +import com.datadog.debugger.sink.DebuggerSink; +import com.datadog.debugger.sink.ProbeStatusSink; +import com.datadog.debugger.util.ClassNameFiltering; +import com.datadog.debugger.util.TestSnapshotListener; +import com.datadog.debugger.util.TestTraceInterceptor; +import datadog.trace.agent.tooling.TracerInstaller; +import datadog.trace.api.Config; +import datadog.trace.api.DDTags; +import datadog.trace.api.InstrumenterConfig; +import datadog.trace.api.interceptor.MutableSpan; +import datadog.trace.bootstrap.debugger.DebuggerContext; +import datadog.trace.bootstrap.debugger.ProbeRateLimiter; +import datadog.trace.core.CoreTracer; +import java.lang.instrument.Instrumentation; +import java.lang.reflect.Field; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.TreeSet; +import java.util.stream.Collectors; +import net.bytebuddy.agent.ByteBuddyAgent; +import org.joor.Reflect; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class CodeOriginTest { + private final Instrumentation instr = ByteBuddyAgent.install(); + private final TestTraceInterceptor traceInterceptor = new TestTraceInterceptor(); + public static ClassNameFiltering classNameFiltering = + new ClassNameFiltering( + new HashSet<>( + asList( + "sun", + "org.junit", + "java.", + "org.gradle", + "com.sun", + "worker.org.gradle", + "datadog", + "com.datadog.debugger.probe", + "com.datadog.debugger.codeorigin"))); + + private CodeOriginProbeManager probeManager; + + private MockSampler probeSampler; + + private MockSampler globalSampler; + + private ConfigurationUpdater configurationUpdater; + + @BeforeEach + public void before() { + CoreTracer tracer = CoreTracer.builder().build(); + TracerInstaller.forceInstallGlobalTracer(tracer); + tracer.addTraceInterceptor(traceInterceptor); + probeSampler = new MockSampler(); + globalSampler = new MockSampler(); + + ProbeRateLimiter.setSamplerSupplier(rate -> rate < 101 ? probeSampler : globalSampler); + ProbeRateLimiter.setGlobalSnapshotRate(1000); + // to activate the call to DebuggerContext.handleException + setFieldInConfig(Config.get(), "debuggerCodeOriginEnabled", true); + setFieldInInstrumenterConfig(InstrumenterConfig.get(), "codeOriginEnabled", true); + } + + private TestSnapshotListener setupCodeOrigin(Config config) { + ProbeStatusSink probeStatusSink = mock(ProbeStatusSink.class); + configurationUpdater = + new ConfigurationUpdater( + instr, + this::createTransformer, + config, + new DebuggerSink(config, probeStatusSink), + new ClassesToRetransformFinder()); + probeManager = new CodeOriginProbeManager(configurationUpdater, classNameFiltering); + TestSnapshotListener listener = new TestSnapshotListener(config, probeStatusSink); + DebuggerAgentHelper.injectSink(listener); + DebuggerContext.initProbeResolver(configurationUpdater); + DebuggerContext.initValueSerializer(new JsonSnapshotSerializer()); + DebuggerContext.initCodeOrigin(new DefaultCodeOriginRecorder(probeManager)); + configurationUpdater.accept(REMOTE_CONFIG, null); + return listener; + } + + @Test + public void basicInstrumentation() throws Exception { + Config config = createConfig(); + TestSnapshotListener listener = setupCodeOrigin(config); + final String CLASS_NAME = "com.datadog.debugger.CodeOrigin01"; + Class testClass = compileAndLoadClass(CLASS_NAME); + int result = Reflect.onClass(testClass).call("main", "fullTrace").get(); + assertEquals(0, result); + Collection probes = probeManager.getProbes(); + assertEquals(2, probes.size()); + assertEquals(0, listener.snapshots.size()); + List spans = traceInterceptor.getAllTraces().get(0); + assertEquals(3, spans.size()); + assertEquals("main", spans.get(2).getLocalRootSpan().getOperationName()); + + List list = + spans.stream() + .filter(span -> !span.getOperationName().equals("exit")) + .collect(Collectors.toList()); + + for (MutableSpan span : list) { + checkEntrySpanTags(span, false); + } + Optional exit = + spans.stream().filter(span -> span.getOperationName().equals("exit")).findFirst(); + assertTrue(exit.isPresent()); + exit.ifPresent(span -> checkExitSpanTags(span, false)); + } + + @Test + public void postInstrumentation() throws Exception { + Config config = createConfig(); + TestSnapshotListener listener = setupCodeOrigin(config); + final String CLASS_NAME = "com.datadog.debugger.CodeOrigin01"; + Class testClass = compileAndLoadClass(CLASS_NAME); + Reflect.onClass(testClass).call("main", "fullTrace").get(); + waitForInstrumentation(); + + int result = Reflect.onClass(testClass).call("main", "debug_1").get(); + assertEquals(0, result); + Collection probes = probeManager.getProbes(); + assertEquals(2, probes.size()); + assertEquals(2, listener.snapshots.size()); + List spans = traceInterceptor.getTrace(); + assertEquals(3, spans.size()); + assertEquals("main", spans.get(2).getLocalRootSpan().getOperationName()); + + List list = + spans.stream() + .filter(span -> !span.getOperationName().equals("exit")) + .collect(Collectors.toList()); + + for (MutableSpan span : list) { + checkEntrySpanTags(span, true); + } + Optional exit = + spans.stream().filter(span -> span.getOperationName().equals("exit")).findFirst(); + assertTrue(exit.isPresent()); + exit.ifPresent(span -> checkExitSpanTags(span, true)); + } + + private void waitForInstrumentation() { + long end = System.currentTimeMillis() + 30_000; + try { + while (System.currentTimeMillis() < end) { + if (probeManager.getProbes().size() == 2) { + Thread.sleep(1000); + return; + } + + Thread.sleep(500); + } + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + throw new IllegalStateException("Some probes failed to instrument"); + } + + private static void checkEntrySpanTags(MutableSpan span, boolean includeSnapshot) { + String keys = format("Existing keys for %s: %s", span.getOperationName(), ldKeys(span)); + assertKeyPresent(span, DDTags.DD_CODE_ORIGIN_FILE); + assertKeyPresent(span, DDTags.DD_CODE_ORIGIN_LINE); + assertKeyPresent(span, DDTags.DD_CODE_ORIGIN_METHOD); + assertKeyPresent(span, DDTags.DD_CODE_ORIGIN_METHOD_SIGNATURE); + + assertEquals(span.getTag(DD_STACK_CODE_ORIGIN_TYPE), "entry", keys); + assertKeyPresent(span, DD_STACK_CODE_ORIGIN_TYPE); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "file")); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "line")); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "method")); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "type")); + + if (includeSnapshot) { + assertKeyPresent(span, DDTags.DD_CODE_ORIGIN_SNAPSHOT_ID); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "snapshot_id")); + } + } + + private static void assertKeyPresent(MutableSpan span, String key) { + assertNotNull( + span.getTag(key), + format( + "'%s' key missing in '%s' span. Existing LD keys: %s", + key, span.getOperationName(), ldKeys(span))); + } + + private static void assertKeyNotPresent(MutableSpan span, String key) { + assertNull( + span.getTag(key), + format( + "'%s' key missing in '%s' span. Existing LD keys: %s", + key, span.getOperationName(), ldKeys(span))); + } + + private static void checkExitSpanTags(MutableSpan span, boolean includeSnapshot) { + String keys = + format("Existing keys for %s: %s", span.getOperationName(), new TreeSet<>(ldKeys(span))); + + assertKeyNotPresent(span, DDTags.DD_CODE_ORIGIN_FILE); + assertKeyNotPresent(span, DDTags.DD_CODE_ORIGIN_LINE); + assertKeyNotPresent(span, DDTags.DD_CODE_ORIGIN_METHOD); + assertKeyNotPresent(span, DDTags.DD_CODE_ORIGIN_METHOD_SIGNATURE); + assertKeyNotPresent(span, DDTags.DD_CODE_ORIGIN_SNAPSHOT_ID); + + assertKeyPresent(span, DD_STACK_CODE_ORIGIN_TYPE); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "file")); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "line")); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "method")); + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "type")); + if (includeSnapshot) { + assertKeyPresent(span, format(DD_STACK_CODE_ORIGIN_FRAME, 0, "snapshot_id")); + } + + MutableSpan rootSpan = span.getLocalRootSpan(); + assertEquals(rootSpan.getTag(DD_STACK_CODE_ORIGIN_TYPE), "entry", keys); + assertNotNull(rootSpan.getTag(format(DD_STACK_CODE_ORIGIN_FRAME, 1, "file"))); + assertNotNull(rootSpan.getTag(format(DD_STACK_CODE_ORIGIN_FRAME, 1, "line"))); + assertNotNull(rootSpan.getTag(format(DD_STACK_CODE_ORIGIN_FRAME, 1, "method"))); + assertNotNull(rootSpan.getTag(format(DD_STACK_CODE_ORIGIN_FRAME, 1, "type"))); + } + + private static Set ldKeys(MutableSpan span) { + return span.getTags().keySet().stream() + .filter(key -> key.startsWith("_dd.ld") || key.startsWith("_dd.stack")) + .collect(Collectors.toCollection(TreeSet::new)); + } + + private static Config createConfig() { + Config config = mock(Config.class); + when(config.isDebuggerEnabled()).thenReturn(true); + when(config.isDebuggerClassFileDumpEnabled()).thenReturn(true); + when(config.isDebuggerVerifyByteCode()).thenReturn(true); + when(config.getFinalDebuggerSnapshotUrl()) + .thenReturn("http://localhost:8126/debugger/v1/input"); + when(config.getFinalDebuggerSymDBUrl()).thenReturn("http://localhost:8126/symdb/v1/input"); + when(config.getDebuggerUploadBatchSize()).thenReturn(100); + return config; + } + + private DebuggerTransformer createTransformer( + Config config, + Configuration configuration, + InstrumentationListener listener, + DebuggerSink debuggerSink) { + return new DebuggerTransformer(config, configuration, listener, debuggerSink); + } + + private void setFieldInInstrumenterConfig( + InstrumenterConfig config, String fieldName, Object value) { + try { + Field field = config.getClass().getDeclaredField(fieldName); + field.setAccessible(true); + field.set(config, value); + } catch (Throwable e) { + e.printStackTrace(); + } + } +} diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/util/TestTraceInterceptor.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/util/TestTraceInterceptor.java index 6fc53b5fb44..776e73e6b09 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/util/TestTraceInterceptor.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/util/TestTraceInterceptor.java @@ -7,13 +7,13 @@ import java.util.List; public class TestTraceInterceptor implements TraceInterceptor { - private Collection currentTrace; + private List currentTrace; private List> allTraces = new ArrayList<>(); @Override public Collection onTraceComplete( Collection trace) { - currentTrace = trace; + currentTrace = new ArrayList<>(trace); allTraces.add(new ArrayList<>(trace)); return trace; } @@ -23,7 +23,7 @@ public int priority() { return 0; } - public Collection getTrace() { + public List getTrace() { return currentTrace; } diff --git a/dd-java-agent/agent-debugger/src/test/resources/com/datadog/debugger/CodeOrigin01.java b/dd-java-agent/agent-debugger/src/test/resources/com/datadog/debugger/CodeOrigin01.java new file mode 100644 index 00000000000..c66642259c4 --- /dev/null +++ b/dd-java-agent/agent-debugger/src/test/resources/com/datadog/debugger/CodeOrigin01.java @@ -0,0 +1,70 @@ +package com.datadog.debugger; + +import datadog.trace.bootstrap.debugger.spanorigin.CodeOriginInfo; +import datadog.trace.bootstrap.instrumentation.api.AgentScope; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer.TracerAPI; +import datadog.trace.bootstrap.instrumentation.api.ScopeSource; +import datadog.trace.bootstrap.instrumentation.api.Tags; + +public class CodeOrigin01 { + private int intField = 42; + + private static TracerAPI tracerAPI = AgentTracer.get(); + + public static int main(String arg) throws ReflectiveOperationException { + AgentSpan span = newSpan("main"); + try (AgentScope scope = tracerAPI.activateSpan(span, ScopeSource.MANUAL)) { + if (arg.equals("fullTrace")) { + return new CodeOrigin01().fullTrace(); + } else if (arg.equals("debug_1")) { + span.getLocalRootSpan().setTag(Tags.PROPAGATED_DEBUG, "1"); + return new CodeOrigin01().fullTrace(); + } else if (arg.equals("debug_0")) { + span.getLocalRootSpan().setTag(Tags.PROPAGATED_DEBUG, "0"); + return new CodeOrigin01().fullTrace(); + } + } finally { + span.finish(); + } + + return -1; + } + + private int fullTrace() throws NoSuchMethodException { + AgentSpan span = newSpan("entry"); + try(AgentScope scope = tracerAPI.activateSpan(span, ScopeSource.MANUAL)) { + entry(); + } finally { + span.finish(); + } + exit(); + + return 0; + } + + private static AgentSpan newSpan(String name) { + return tracerAPI.buildSpan("code origin tests", name).start(); + } + + public void entry() throws NoSuchMethodException { + CodeOriginInfo.entry(CodeOrigin01.class.getMethod("entry")); + // just to fill out the method body + boolean dummyCode = true; + if (!dummyCode) { + dummyCode = false; + } + } + + private int exit() { + AgentSpan span = newSpan("exit"); + try(AgentScope scope = tracerAPI.activateSpan(span, ScopeSource.MANUAL)) { + CodeOriginInfo.exit(span); + return 42; + } finally { + span.finish(); + } + } + +} diff --git a/dd-java-agent/agent-jmxfetch/integrations-core b/dd-java-agent/agent-jmxfetch/integrations-core index 5240f2a7cdc..45e2bed15b1 160000 --- a/dd-java-agent/agent-jmxfetch/integrations-core +++ b/dd-java-agent/agent-jmxfetch/integrations-core @@ -1 +1 @@ -Subproject commit 5240f2a7cdcabc6ae7787b9191b9189438671f3e +Subproject commit 45e2bed15b147a28b2c3994497945c6046c6025f diff --git a/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/span_origin/EntrySpanOriginInstrumentation.java b/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/codeorigin/CodeOriginInstrumentation.java similarity index 78% rename from dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/span_origin/EntrySpanOriginInstrumentation.java rename to dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/codeorigin/CodeOriginInstrumentation.java index 8b768e52d00..7e07c03bfbb 100644 --- a/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/span_origin/EntrySpanOriginInstrumentation.java +++ b/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/codeorigin/CodeOriginInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.span_origin; +package datadog.trace.instrumentation.codeorigin; import datadog.trace.agent.tooling.Instrumenter.ForTypeHierarchy; import datadog.trace.agent.tooling.InstrumenterModule.Tracing; @@ -12,19 +12,19 @@ import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; -public abstract class EntrySpanOriginInstrumentation extends Tracing implements ForTypeHierarchy { +public abstract class CodeOriginInstrumentation extends Tracing implements ForTypeHierarchy { private final OneOf matcher; @SuppressForbidden - public EntrySpanOriginInstrumentation(String instrumentationName) { + public CodeOriginInstrumentation(String instrumentationName) { super(instrumentationName); this.matcher = NameMatchers.namedOneOf(getAnnotations()); } @Override public boolean isEnabled() { - return InstrumenterConfig.get().isSpanOriginEnabled() && super.isEnabled(); + return InstrumenterConfig.get().isCodeOriginEnabled() && super.isEnabled(); } protected abstract Set getAnnotations(); @@ -43,6 +43,6 @@ public ElementMatcher hierarchyMatcher() { public void methodAdvice(MethodTransformer transformer) { transformer.applyAdvice( HierarchyMatchers.isAnnotatedWith(matcher), - "datadog.trace.instrumentation.span_origin.EntrySpanOriginAdvice"); + "datadog.trace.instrumentation.codeorigin.EntrySpanOriginAdvice"); } } diff --git a/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/codeorigin/EntrySpanOriginAdvice.java b/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/codeorigin/EntrySpanOriginAdvice.java new file mode 100644 index 00000000000..273f92292b4 --- /dev/null +++ b/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/codeorigin/EntrySpanOriginAdvice.java @@ -0,0 +1,13 @@ +package datadog.trace.instrumentation.codeorigin; + +import datadog.trace.bootstrap.debugger.spanorigin.CodeOriginInfo; +import java.lang.reflect.Method; +import net.bytebuddy.asm.Advice; + +public class EntrySpanOriginAdvice { + + @Advice.OnMethodEnter + public static void onEnter(@Advice.Origin final Method method) { + CodeOriginInfo.entry(method); + } +} diff --git a/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/span_origin/EntrySpanOriginAdvice.java b/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/span_origin/EntrySpanOriginAdvice.java deleted file mode 100644 index e02e2dbb125..00000000000 --- a/dd-java-agent/instrumentation/span-origin/src/main/java/datadog/trace/instrumentation/span_origin/EntrySpanOriginAdvice.java +++ /dev/null @@ -1,14 +0,0 @@ -package datadog.trace.instrumentation.span_origin; - -import datadog.trace.bootstrap.debugger.spanorigin.SpanOriginInfo; -import datadog.trace.bootstrap.instrumentation.api.AgentTracer; -import java.lang.reflect.Method; -import net.bytebuddy.asm.Advice; - -public class EntrySpanOriginAdvice { - - @Advice.OnMethodEnter - public static void onEnter(@Advice.Origin final Method method) { - SpanOriginInfo.entry(AgentTracer.get().activeScope().span(), method); - } -} diff --git a/dd-java-agent/instrumentation/spring-boot/src/main/java/datadog/trace/instrumentation/springboot/SBEntrySpanOriginInstrumentation.java b/dd-java-agent/instrumentation/spring-boot/src/main/java/datadog/trace/instrumentation/springboot/SBCodeOriginInstrumentation.java similarity index 77% rename from dd-java-agent/instrumentation/spring-boot/src/main/java/datadog/trace/instrumentation/springboot/SBEntrySpanOriginInstrumentation.java rename to dd-java-agent/instrumentation/spring-boot/src/main/java/datadog/trace/instrumentation/springboot/SBCodeOriginInstrumentation.java index 3035092b685..1c4d1c47ea5 100644 --- a/dd-java-agent/instrumentation/spring-boot/src/main/java/datadog/trace/instrumentation/springboot/SBEntrySpanOriginInstrumentation.java +++ b/dd-java-agent/instrumentation/spring-boot/src/main/java/datadog/trace/instrumentation/springboot/SBCodeOriginInstrumentation.java @@ -4,15 +4,15 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.InstrumenterModule; -import datadog.trace.instrumentation.span_origin.EntrySpanOriginInstrumentation; +import datadog.trace.instrumentation.codeorigin.CodeOriginInstrumentation; import java.util.HashSet; import java.util.Set; @AutoService(InstrumenterModule.class) -public class SBEntrySpanOriginInstrumentation extends EntrySpanOriginInstrumentation { +public class SBCodeOriginInstrumentation extends CodeOriginInstrumentation { private static final String WEB_BIND_ANNOTATION = "org.springframework.web.bind.annotation."; - public SBEntrySpanOriginInstrumentation() { + public SBCodeOriginInstrumentation() { super("spring-boot-span-origin"); } diff --git a/dd-java-agent/instrumentation/spring-data-1.8/src/main/java/datadog/trace/instrumentation/springdata/SpringDataDecorator.java b/dd-java-agent/instrumentation/spring-data-1.8/src/main/java/datadog/trace/instrumentation/springdata/SpringDataDecorator.java index f4fe2c59e81..5b9a8fabf40 100644 --- a/dd-java-agent/instrumentation/spring-data-1.8/src/main/java/datadog/trace/instrumentation/springdata/SpringDataDecorator.java +++ b/dd-java-agent/instrumentation/spring-data-1.8/src/main/java/datadog/trace/instrumentation/springdata/SpringDataDecorator.java @@ -3,7 +3,7 @@ package datadog.trace.instrumentation.springdata; import datadog.trace.api.Config; -import datadog.trace.bootstrap.debugger.spanorigin.SpanOriginInfo; +import datadog.trace.bootstrap.debugger.spanorigin.CodeOriginInfo; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString; import datadog.trace.bootstrap.instrumentation.decorator.ClientDecorator; @@ -46,6 +46,6 @@ public void onOperation( span.setResourceName(spanNameForMethod(method)); } - SpanOriginInfo.exit(span); + CodeOriginInfo.exit(span); } } diff --git a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceDecorator.java b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceDecorator.java index fb7b594e69f..fe4c5654b0b 100644 --- a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceDecorator.java +++ b/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceDecorator.java @@ -4,7 +4,7 @@ import datadog.trace.api.InstrumenterConfig; import datadog.trace.api.Trace; -import datadog.trace.bootstrap.debugger.spanorigin.SpanOriginInfo; +import datadog.trace.bootstrap.debugger.spanorigin.CodeOriginInfo; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString; import datadog.trace.bootstrap.instrumentation.decorator.AsyncResultDecorator; @@ -91,7 +91,7 @@ public AgentSpan startMethodSpan(Method method) { afterStart(span); span.setResourceName(resourceName); - SpanOriginInfo.entry(span, method); + CodeOriginInfo.entry(method); if (measured || InstrumenterConfig.get().isMethodMeasured(method)) { span.setMeasured(true); } diff --git a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/asserts/TagsAssert.groovy b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/asserts/TagsAssert.groovy index 3cdfac3271e..b66fcd730bc 100644 --- a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/asserts/TagsAssert.groovy +++ b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/asserts/TagsAssert.groovy @@ -62,10 +62,10 @@ class TagsAssert { assertedTags.add(DDTags.PROFILING_ENABLED) assertedTags.add(DDTags.PROFILING_CONTEXT_ENGINE) assertedTags.add(DDTags.BASE_SERVICE) - assertedTags.add(DDTags.DD_ENTRY_LOCATION_FILE) - assertedTags.add(DDTags.DD_ENTRY_METHOD) - assertedTags.add(DDTags.DD_ENTRY_LINE) - assertedTags.add(DDTags.DD_ENTRY_METHOD_SIGNATURE) + assertedTags.add(DDTags.DD_CODE_ORIGIN_FILE) + assertedTags.add(DDTags.DD_CODE_ORIGIN_METHOD) + assertedTags.add(DDTags.DD_CODE_ORIGIN_LINE) + assertedTags.add(DDTags.DD_CODE_ORIGIN_METHOD_SIGNATURE) assertedTags.add(DDTags.DSM_ENABLED) assertedTags.add(DDTags.DJM_ENABLED) assertedTags.add(DDTags.PARENT_ID) diff --git a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java index 78b59f153ea..f4e3357f78b 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java @@ -47,7 +47,7 @@ public final class ConfigDefaults { static final boolean DEFAULT_WRITER_BAGGAGE_INJECT = true; static final String DEFAULT_SITE = "datadoghq.com"; - static final boolean DEFAULT_TRACE_SPAN_ORIGIN_ENABLED = false; + static final boolean DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED = false; static final boolean DEFAULT_TRACE_SPAN_ORIGIN_ENRICHED = false; static final boolean DEFAULT_TRACE_ENABLED = true; public static final boolean DEFAULT_TRACE_OTEL_ENABLED = false; @@ -180,7 +180,7 @@ public final class ConfigDefaults { static final int DEFAULT_DEBUGGER_MAX_EXCEPTION_PER_SECOND = 100; static final boolean DEFAULT_DEBUGGER_EXCEPTION_ONLY_LOCAL_ROOT = true; static final int DEFAULT_DEBUGGER_EXCEPTION_MAX_CAPTURED_FRAMES = 3; - static final boolean DEFAULT_DEBUGGER_SPAN_DEBUG_ENABLED = false; + static final boolean DEFAULT_DEBUGGER_CODE_ORIGIN_ENABLED = false; static final boolean DEFAULT_TRACE_REPORT_HOSTNAME = false; static final String DEFAULT_TRACE_ANNOTATIONS = null; diff --git a/dd-trace-api/src/main/java/datadog/trace/api/DDTags.java b/dd-trace-api/src/main/java/datadog/trace/api/DDTags.java index c9902a2bee2..f5b9d2f2ad7 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/DDTags.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/DDTags.java @@ -2,17 +2,21 @@ public class DDTags { - public static final String DD_ENTRY_LOCATION_FILE = "_dd.entry_location.file"; - public static final String DD_ENTRY_METHOD = "_dd.entry_location.method"; - public static final String DD_ENTRY_METHOD_SIGNATURE = "_dd.entry_location.signature"; - public static final String DD_ENTRY_LINE = "_dd.entry_location.line"; - public static final String DD_ENTRY_LOCATION_SNAPSHOT_ID = "_dd.entry_location.snapshot_id"; - public static final String DD_ENTRY_TYPE = "_dd.entry_location.type"; - public static final String DD_EXIT_LOCATION_FILE = "_dd.exit_location.%d.file"; - public static final String DD_EXIT_LOCATION_LINE = "_dd.exit_location.%d.line"; - public static final String DD_EXIT_LOCATION_METHOD = "_dd.exit_location.%d.method"; - public static final String DD_EXIT_LOCATION_SNAPSHOT_ID = "_dd.exit_location.snapshot_id"; - public static final String DD_EXIT_LOCATION_TYPE = "_dd.exit_location.%d.type"; + private static final String DD_LD_PREFIX = "_dd.ld."; + public static final String DD_STACK_CODE_ORIGIN_PREFIX = "_dd.stack.code_origin."; + + public static final String DD_STACK_CODE_ORIGIN_TYPE = DD_STACK_CODE_ORIGIN_PREFIX + "type"; + // _dd.stack.code_origin.frame.%d.file|line|method|type|snapshot_id + public static final String DD_STACK_CODE_ORIGIN_FRAME = + DD_STACK_CODE_ORIGIN_PREFIX + "frame.%d.%s"; + + public static final String DD_CODE_ORIGIN_FILE = DD_LD_PREFIX + "code_origin.file"; + public static final String DD_CODE_ORIGIN_METHOD = DD_LD_PREFIX + "code_origin.method"; + public static final String DD_CODE_ORIGIN_METHOD_SIGNATURE = + DD_LD_PREFIX + "code_origin.signature"; + public static final String DD_CODE_ORIGIN_LINE = DD_LD_PREFIX + "code_origin.line"; + public static final String DD_CODE_ORIGIN_SNAPSHOT_ID = DD_LD_PREFIX + "code_origin.snapshot_id"; + public static final String DD_CODE_ORIGIN_TYPE = DD_LD_PREFIX + "code_origin.type"; public static final String SPAN_TYPE = "span.type"; public static final String SERVICE_NAME = "service.name"; diff --git a/dd-trace-api/src/main/java/datadog/trace/api/config/DebuggerConfig.java b/dd-trace-api/src/main/java/datadog/trace/api/config/DebuggerConfig.java index e8e8d3f26c9..769e22b7d82 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/config/DebuggerConfig.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/config/DebuggerConfig.java @@ -32,7 +32,7 @@ public final class DebuggerConfig { public static final String DEBUGGER_SYMBOL_INCLUDES = "symbol.database.includes"; public static final String DEBUGGER_SYMBOL_FLUSH_THRESHOLD = "symbol.database.flush.threshold"; public static final String DEBUGGER_EXCEPTION_ENABLED = "exception.debugging.enabled"; - public static final String DEBUGGER_SPAN_DEBUG_ENABLED = "span.debug.enabled"; + public static final String DEBUGGER_CODE_ORIGIN_ENABLED = "code.origin.enabled"; public static final String EXCEPTION_REPLAY_ENABLED = "exception.replay.enabled"; public static final String DEBUGGER_MAX_EXCEPTION_PER_SECOND = "exception.replay.max.exception.analysis.limit"; diff --git a/dd-trace-api/src/main/java/datadog/trace/api/config/TraceInstrumentationConfig.java b/dd-trace-api/src/main/java/datadog/trace/api/config/TraceInstrumentationConfig.java index 818b740b918..94fa0c64d1f 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/config/TraceInstrumentationConfig.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/config/TraceInstrumentationConfig.java @@ -9,8 +9,7 @@ * @see TracerConfig for more tracer config options */ public final class TraceInstrumentationConfig { - public static final String TRACE_SPAN_ORIGIN_ENABLED = "trace.span.origin.enabled"; - public static final String TRACE_SPAN_ORIGIN_ENRICHED = "trace.span.origin.enriched"; + public static final String CODE_ORIGIN_FOR_SPANS_ENABLED = "code.origin.enabled"; public static final String TRACE_ENABLED = "trace.enabled"; public static final String TRACE_OTEL_ENABLED = "trace.otel.enabled"; public static final String INTEGRATIONS_ENABLED = "integrations.enabled"; diff --git a/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java b/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java index b109ce356c0..8f74debae8a 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/DDSpanContext.java @@ -515,7 +515,7 @@ public void updateAppsecPropagation(boolean value) { propagationTags.updateAppsecPropagation(value); } - public void updateDebugPropagation(int value) { + public void updateDebugPropagation(String value) { propagationTags.updateDebugPropagation(value); } diff --git a/dd-trace-core/src/main/java/datadog/trace/core/propagation/PropagationTags.java b/dd-trace-core/src/main/java/datadog/trace/core/propagation/PropagationTags.java index 6ac676ffad7..b770ac703c7 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/propagation/PropagationTags.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/propagation/PropagationTags.java @@ -105,9 +105,9 @@ public interface Factory { public abstract boolean isAppsecPropagationEnabled(); - public abstract void updateDebugPropagation(int level); + public abstract void updateDebugPropagation(String value); - public abstract int getDebugPropagation(); + public abstract String getDebugPropagation(); public HashMap createTagMap() { HashMap result = new HashMap<>(); diff --git a/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsCodec.java b/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsCodec.java index 86a849b1948..31796025b91 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsCodec.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsCodec.java @@ -41,10 +41,8 @@ static String headerValue(PTagsCodec codec, PTags ptags) { if (ptags.isAppsecPropagationEnabled()) { size = codec.appendTag(sb, APPSEC_TAG, APPSEC_ENABLED_TAG_VALUE, size); } - if (ptags.getDebugPropagation() != PTagsFactory.DEBUG_PROPAGATION_DEFAULT) { - size = - codec.appendTag( - sb, DEBUG_TAG, TagValue.from(String.valueOf(ptags.getDebugPropagation())), size); + if (ptags.getDebugPropagation() != null) { + size = codec.appendTag(sb, DEBUG_TAG, TagValue.from(ptags.getDebugPropagation()), size); } Iterator it = ptags.getTagPairs().iterator(); while (it.hasNext() && !codec.isTooLarge(sb, size)) { @@ -94,6 +92,10 @@ static void fillTagMap(PTags propagationTags, Map tagMap) { APPSEC_TAG.forType(Encoding.DATADOG).toString(), APPSEC_ENABLED_TAG_VALUE.forType(Encoding.DATADOG).toString()); } + if (propagationTags.getDebugPropagation() != null) { + tagMap.put( + DEBUG_TAG.forType(Encoding.DATADOG).toString(), propagationTags.getDebugPropagation()); + } if (propagationTags.getTraceIdHighOrderBitsHexTagValue() != null) { tagMap.put( TRACE_ID_TAG.forType(Encoding.DATADOG).toString(), diff --git a/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsFactory.java b/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsFactory.java index 27daebe5ccc..fe111d7ea50 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsFactory.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/propagation/ptags/PTagsFactory.java @@ -23,8 +23,6 @@ public class PTagsFactory implements PropagationTags.Factory { static final String PROPAGATION_ERROR_TAG_KEY = "_dd.propagation_error"; - static final int DEBUG_PROPAGATION_DEFAULT = 2; - private final EnumMap DEC_ENC_MAP = new EnumMap<>(HeaderType.class); private final int xDatadogTagsLimit; @@ -84,7 +82,7 @@ static class PTags extends PropagationTags { private volatile TagValue decisionMakerTagValue; private volatile boolean appsecPropagationEnabled; - private volatile int debugPropagation = DEBUG_PROPAGATION_DEFAULT; + private volatile String debugPropagation; // xDatadogTagsSize of the tagPairs, does not include the decision maker tag private volatile int xDatadogTagsSize = -1; @@ -221,12 +219,12 @@ public boolean isAppsecPropagationEnabled() { } @Override - public void updateDebugPropagation(int level) { - debugPropagation = level; + public void updateDebugPropagation(String value) { + debugPropagation = value; } @Override - public int getDebugPropagation() { + public String getDebugPropagation() { return debugPropagation; } diff --git a/dd-trace-core/src/main/java/datadog/trace/core/taginterceptor/TagInterceptor.java b/dd-trace-core/src/main/java/datadog/trace/core/taginterceptor/TagInterceptor.java index 854962eae3e..8229c5b42a9 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/taginterceptor/TagInterceptor.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/taginterceptor/TagInterceptor.java @@ -112,7 +112,7 @@ public boolean interceptTag(DDSpanContext span, String tag, Object value) { span.updateAppsecPropagation(asBoolean(value)); return true; case Tags.PROPAGATED_DEBUG: - span.updateDebugPropagation(asInt(value)); + span.updateDebugPropagation(String.valueOf(value)); return true; case InstrumentationTags.SERVLET_CONTEXT: return interceptServletContext(span, value); @@ -344,18 +344,6 @@ private static boolean asBoolean(Object value) { || (!Boolean.FALSE.equals(value) && Boolean.parseBoolean(String.valueOf(value))); } - private static int asInt(Object value) { - if (value instanceof Number) { - return ((Number) value).intValue(); - } else if (value instanceof String) { - try { - return Integer.parseInt((String) value); - } catch (NumberFormatException ignore) { - } - } - return -1; - } - private static Number getOrTryParse(Object value) { if (value instanceof Number) { return (Number) value; diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index ba150deec73..0842b1af76a 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -45,6 +45,7 @@ import static datadog.trace.api.ConfigDefaults.DEFAULT_DB_DBM_PROPAGATION_MODE_MODE; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_CAPTURE_TIMEOUT; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_CLASSFILE_DUMP_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_CODE_ORIGIN_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_DIAGNOSTICS_INTERVAL; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_EXCEPTION_ENABLED; @@ -55,7 +56,6 @@ import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_MAX_PAYLOAD_SIZE; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_METRICS_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_POLL_INTERVAL; -import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_SPAN_DEBUG_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_SYMBOL_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_SYMBOL_FLUSH_THRESHOLD; import static datadog.trace.api.ConfigDefaults.DEFAULT_DEBUGGER_SYMBOL_FORCE_UPLOAD; @@ -220,6 +220,7 @@ import static datadog.trace.api.config.CwsConfig.CWS_TLS_REFRESH; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_CAPTURE_TIMEOUT; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_CLASSFILE_DUMP_ENABLED; +import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_CODE_ORIGIN_ENABLED; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_DIAGNOSTICS_INTERVAL; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_ENABLED; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_EXCEPTION_ENABLED; @@ -235,7 +236,6 @@ import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_REDACTED_IDENTIFIERS; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_REDACTED_TYPES; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_REDACTION_EXCLUDED_IDENTIFIERS; -import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_SPAN_DEBUG_ENABLED; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_SYMBOL_ENABLED; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_SYMBOL_FLUSH_THRESHOLD; import static datadog.trace.api.config.DebuggerConfig.DEBUGGER_SYMBOL_FORCE_UPLOAD; @@ -881,7 +881,7 @@ public static String getHostName() { private final int debuggerMaxExceptionPerSecond; private final boolean debuggerExceptionOnlyLocalRoot; private final int debuggerExceptionMaxCapturedFrames; - private final boolean debuggerSpanDebugEnabled; + private final boolean debuggerCodeOriginEnabled; private final Set debuggerThirdPartyIncludes; private final Set debuggerThirdPartyExcludes; @@ -1984,8 +1984,9 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment()) DEBUGGER_EXCEPTION_ENABLED, DEFAULT_DEBUGGER_EXCEPTION_ENABLED, EXCEPTION_REPLAY_ENABLED); - debuggerSpanDebugEnabled = - configProvider.getBoolean(DEBUGGER_SPAN_DEBUG_ENABLED, DEFAULT_DEBUGGER_SPAN_DEBUG_ENABLED); + debuggerCodeOriginEnabled = + configProvider.getBoolean( + DEBUGGER_CODE_ORIGIN_ENABLED, DEFAULT_DEBUGGER_CODE_ORIGIN_ENABLED); debuggerMaxExceptionPerSecond = configProvider.getInteger( DEBUGGER_MAX_EXCEPTION_PER_SECOND, DEFAULT_DEBUGGER_MAX_EXCEPTION_PER_SECOND); @@ -3391,8 +3392,8 @@ public int getDebuggerExceptionMaxCapturedFrames() { return debuggerExceptionMaxCapturedFrames; } - public boolean isDebuggerSpanDebugEnabled() { - return debuggerSpanDebugEnabled; + public boolean isDebuggerCodeOriginEnabled() { + return debuggerCodeOriginEnabled; } public Set getThirdPartyIncludes() { diff --git a/internal-api/src/main/java/datadog/trace/api/InstrumenterConfig.java b/internal-api/src/main/java/datadog/trace/api/InstrumenterConfig.java index ff6762f2019..f0aa03e83f8 100644 --- a/internal-api/src/main/java/datadog/trace/api/InstrumenterConfig.java +++ b/internal-api/src/main/java/datadog/trace/api/InstrumenterConfig.java @@ -2,6 +2,7 @@ import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_ENABLED; +import static datadog.trace.api.ConfigDefaults.DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_INTEGRATIONS_ENABLED; import static datadog.trace.api.ConfigDefaults.DEFAULT_MEASURE_METHODS; @@ -16,8 +17,6 @@ import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_EXECUTORS_ALL; import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_METHODS; import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_OTEL_ENABLED; -import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_SPAN_ORIGIN_ENABLED; -import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_SPAN_ORIGIN_ENRICHED; import static datadog.trace.api.ConfigDefaults.DEFAULT_USM_ENABLED; import static datadog.trace.api.config.AppSecConfig.APPSEC_ENABLED; import static datadog.trace.api.config.CiVisibilityConfig.CIVISIBILITY_ENABLED; @@ -32,6 +31,7 @@ import static datadog.trace.api.config.ProfilingConfig.PROFILING_ENABLED; import static datadog.trace.api.config.ProfilingConfig.PROFILING_ENABLED_DEFAULT; import static datadog.trace.api.config.TraceInstrumentationConfig.AXIS_TRANSPORT_CLASS_NAME; +import static datadog.trace.api.config.TraceInstrumentationConfig.CODE_ORIGIN_FOR_SPANS_ENABLED; import static datadog.trace.api.config.TraceInstrumentationConfig.EXPERIMENTAL_DEFER_INTEGRATIONS_UNTIL; import static datadog.trace.api.config.TraceInstrumentationConfig.HTTP_URL_CONNECTION_CLASS_NAME; import static datadog.trace.api.config.TraceInstrumentationConfig.INSTRUMENTATION_CONFIG_ID; @@ -63,8 +63,6 @@ import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_EXTENSIONS_PATH; import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_METHODS; import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_OTEL_ENABLED; -import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_SPAN_ORIGIN_ENABLED; -import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_SPAN_ORIGIN_ENRICHED; import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_THREAD_POOL_EXECUTORS_EXCLUDE; import static datadog.trace.api.config.UsmConfig.USM_ENABLED; import static datadog.trace.util.CollectionUtils.tryMakeImmutableList; @@ -102,8 +100,7 @@ public class InstrumenterConfig { private final boolean integrationsEnabled; - private final boolean spanOriginEnabled; - private final boolean spanOriginEnriched; + private final boolean codeOriginEnabled; private final boolean traceEnabled; private final boolean traceOtelEnabled; private final boolean logs128bTraceIdEnabled; @@ -176,10 +173,9 @@ private InstrumenterConfig() { integrationsEnabled = configProvider.getBoolean(INTEGRATIONS_ENABLED, DEFAULT_INTEGRATIONS_ENABLED); - spanOriginEnabled = - configProvider.getBoolean(TRACE_SPAN_ORIGIN_ENABLED, DEFAULT_TRACE_SPAN_ORIGIN_ENABLED); - spanOriginEnriched = - configProvider.getBoolean(TRACE_SPAN_ORIGIN_ENRICHED, DEFAULT_TRACE_SPAN_ORIGIN_ENRICHED); + codeOriginEnabled = + configProvider.getBoolean( + CODE_ORIGIN_FOR_SPANS_ENABLED, DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED); traceEnabled = configProvider.getBoolean(TRACE_ENABLED, DEFAULT_TRACE_ENABLED); traceOtelEnabled = configProvider.getBoolean(TRACE_OTEL_ENABLED, DEFAULT_TRACE_OTEL_ENABLED); logs128bTraceIdEnabled = @@ -274,12 +270,8 @@ private InstrumenterConfig() { tryMakeImmutableSet(configProvider.getList(JAX_RS_ADDITIONAL_ANNOTATIONS)); } - public boolean isSpanOriginEnabled() { - return spanOriginEnabled; - } - - public boolean isSpanOriginEnriched() { - return spanOriginEnriched; + public boolean isCodeOriginEnabled() { + return codeOriginEnabled; } public boolean isTriageEnabled() { @@ -584,10 +576,8 @@ public String toString() { + runtimeContextFieldInjection + ", serialVersionUIDFieldInjection=" + serialVersionUIDFieldInjection - + ", spanOriginEnabled=" - + spanOriginEnabled - + ", spanOriginEnriched=" - + spanOriginEnriched + + ", codeOriginEnabled=" + + codeOriginEnabled + ", traceAnnotations='" + traceAnnotations + '\'' From bbd40f0f78e89a0b66bdb611f8fdc6e6a58948e4 Mon Sep 17 00:00:00 2001 From: "Santiago M. Mola" Date: Thu, 12 Sep 2024 09:00:56 +0200 Subject: [PATCH 07/21] Fix flaky test on TomcatServlet3TestAsync (#7550) --- .../src/test/groovy/TomcatServlet3Test.groovy | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dd-java-agent/instrumentation/servlet/request-3/src/test/groovy/TomcatServlet3Test.groovy b/dd-java-agent/instrumentation/servlet/request-3/src/test/groovy/TomcatServlet3Test.groovy index be9375288cf..3a3c5a00fee 100644 --- a/dd-java-agent/instrumentation/servlet/request-3/src/test/groovy/TomcatServlet3Test.groovy +++ b/dd-java-agent/instrumentation/servlet/request-3/src/test/groovy/TomcatServlet3Test.groovy @@ -199,6 +199,8 @@ abstract class TomcatServlet3Test extends AbstractServlet3Test and: assertTraces(count) { + Set> loggedSpanIds = accessLogValue.loggedIds.toSet() + assert loggedSpanIds.size() == count (1..count).eachWithIndex { val, i -> trace(spanCount(SUCCESS)) { sortSpansByStart() @@ -212,9 +214,8 @@ abstract class TomcatServlet3Test extends AbstractServlet3Test } } - def (String traceId, String spanId) = accessLogValue.loggedIds[i] - assert trace(i).get(0).traceId.toString() == traceId - assert trace(i).get(0).spanId.toString() == spanId + def ids = new Tuple2(trace(i).get(0).localRootSpan.traceId.toString(), trace(i).get(0).localRootSpan.spanId.toString()) + assert ids in loggedSpanIds } } @@ -250,8 +251,8 @@ abstract class TomcatServlet3Test extends AbstractServlet3Test } def (String traceId, String spanId) = accessLogValue.loggedIds[0] - assert trace(0).get(0).traceId.toString() == traceId - assert trace(0).get(0).spanId.toString() == spanId + assert trace(0).get(0).localRootSpan.traceId.toString() == traceId + assert trace(0).get(0).localRootSpan.spanId.toString() == spanId } where: From 2cbbb432e984045ea0b26e12f0015c3b8b9f6a89 Mon Sep 17 00:00:00 2001 From: Richard Startin Date: Thu, 12 Sep 2024 11:32:19 +0100 Subject: [PATCH 08/21] add JFR queuetime threshold to recording settings (#7609) --- .../controller/openjdk/OpenJdkController.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/OpenJdkController.java b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/OpenJdkController.java index c1e1aab6946..c7bb7d8e8d3 100644 --- a/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/OpenJdkController.java +++ b/dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/OpenJdkController.java @@ -24,6 +24,10 @@ import static datadog.trace.api.config.ProfilingConfig.PROFILING_HEAP_HISTOGRAM_ENABLED_DEFAULT; import static datadog.trace.api.config.ProfilingConfig.PROFILING_HEAP_HISTOGRAM_MODE; import static datadog.trace.api.config.ProfilingConfig.PROFILING_HEAP_HISTOGRAM_MODE_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_QUEUEING_TIME_ENABLED; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_QUEUEING_TIME_ENABLED_DEFAULT; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_QUEUEING_TIME_THRESHOLD_MILLIS; +import static datadog.trace.api.config.ProfilingConfig.PROFILING_QUEUEING_TIME_THRESHOLD_MILLIS_DEFAULT; import static datadog.trace.api.config.ProfilingConfig.PROFILING_ULTRA_MINIMAL; import com.datadog.profiling.controller.ConfigurationException; @@ -159,6 +163,15 @@ public OpenJdkController(final ConfigProvider configProvider) } } + if (configProvider.getBoolean( + PROFILING_QUEUEING_TIME_ENABLED, PROFILING_QUEUEING_TIME_ENABLED_DEFAULT)) { + long threshold = + configProvider.getLong( + PROFILING_QUEUEING_TIME_THRESHOLD_MILLIS, + PROFILING_QUEUEING_TIME_THRESHOLD_MILLIS_DEFAULT); + recordingSettings.put("datadog.QueueTime#threshold", threshold + " ms"); + } + // Toggle settings from override file try { From 5dc6a14b1abc65d53d3f412bb53971ed7a0d9c2d Mon Sep 17 00:00:00 2001 From: Andrea Marziali Date: Thu, 12 Sep 2024 12:59:39 +0200 Subject: [PATCH 09/21] Add support for Intersystems IRIS jdbc driver (#7607) * Support Intersystems IRIS jdbc driver * use .lenght --- .../jdbc/JDBCConnectionUrlParser.java | 14 ++++++++++++++ .../jdbc/DefaultConnectionInstrumentation.java | 2 ++ .../jdbc/PreparedStatementInstrumentation.java | 3 +++ .../test/groovy/JDBCConnectionUrlParserTest.groovy | 4 ++++ 4 files changed, 23 insertions(+) diff --git a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java index 34b1c7407d2..f9352c13eaa 100644 --- a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java +++ b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java @@ -781,6 +781,20 @@ DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { } return GENERIC_URL_LIKE.doParse(url, builder); } + }, + + IRIS("iris") { + @Override + DBInfo.Builder doParse(String jdbcUrl, DBInfo.Builder builder) { + String url = jdbcUrl; + int firstSlash = url.indexOf('/', "jdbc://iris:/".length()); + int nextSlash = url.indexOf('/', firstSlash + 1); + if (nextSlash > firstSlash) { + // strip the options and preserve only the url like part + url = url.substring(0, nextSlash); + } + return GENERIC_URL_LIKE.doParse(url, builder); + } }; private static final Map typeParsers = new HashMap<>(); diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DefaultConnectionInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DefaultConnectionInstrumentation.java index 16ff9c654b4..525fde5d7f9 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DefaultConnectionInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/DefaultConnectionInstrumentation.java @@ -41,6 +41,8 @@ public class DefaultConnectionInstrumentation extends AbstractConnectionInstrume "com.sap.db.jdbc.ConnectionSapDB", // IBM Informix "com.informix.jdbc.IfmxConnection", + // Intersystems IRIS + "com.intersystems.jdbc.IRISConnection", // for testing purposes "test.TestConnection" }; diff --git a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java index 38d818b2676..86d94fa3255 100644 --- a/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java +++ b/dd-java-agent/instrumentation/jdbc/src/main/java/datadog/trace/instrumentation/jdbc/PreparedStatementInstrumentation.java @@ -117,6 +117,9 @@ public final class PreparedStatementInstrumentation extends AbstractPreparedStat "software.aws.rds.jdbc.mysql.shading.com.mysql.cj.JdbcCallableStatement", // IBM Informix "com.informix.jdbc.IfxPreparedStatement", + // Intersystems IRIS + "com.intersystems.jdbc.IRISPreparedStatement", + "com.intersystems.jdbc.IRISCallableStatement", // for testing purposes "test.TestPreparedStatement" }; diff --git a/dd-java-agent/instrumentation/jdbc/src/test/groovy/JDBCConnectionUrlParserTest.groovy b/dd-java-agent/instrumentation/jdbc/src/test/groovy/JDBCConnectionUrlParserTest.groovy index a3d1a73a211..fe12885b99c 100644 --- a/dd-java-agent/instrumentation/jdbc/src/test/groovy/JDBCConnectionUrlParserTest.groovy +++ b/dd-java-agent/instrumentation/jdbc/src/test/groovy/JDBCConnectionUrlParserTest.groovy @@ -200,6 +200,10 @@ class JDBCConnectionUrlParserTest extends AgentTestRunner { // redshift "jdbc:redshift://redshift-cluster-1.c7arcolffyvk.us-east-2.redshift.amazonaws.com:5439/dev" | null | "redshift" | null | null | "redshift-cluster-1.c7arcolffyvk.us-east-2.redshift.amazonaws.com" | 5439 | "redshift-cluster-1" | "dev" + // Intersys IRIS + "jdbc:IRIS://dbhostname:1972/namespace" | null | "iris" | null | null | "dbhostname" | 1972 | null | "namespace" + "jdbc:IRIS://dbhostname:1972/namespace/+myjdbc.log" | null | "iris" | null | null | "dbhostname" | 1972 | null | "namespace" + "jdbc:IRIS://dbhostname:1972/namespace/::false" | null | "iris" | null | null | "dbhostname" | 1972 | null | "namespace" expected = new DBInfo.Builder().type(type).subtype(subtype).user(user).instance(instance).db(db).host(host).port(port).build() } From 53f91214d825318cb44a2d6d55ffad204b237a8c Mon Sep 17 00:00:00 2001 From: Bruce Bujon Date: Thu, 12 Sep 2024 16:33:57 +0200 Subject: [PATCH 10/21] fix: Add pull_requests write permission to comment-on-submodule-update workflow (#7610) --- .github/workflows/comment-on-submodule-update.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/comment-on-submodule-update.yaml b/.github/workflows/comment-on-submodule-update.yaml index 4983bf27dbe..c4402d65411 100644 --- a/.github/workflows/comment-on-submodule-update.yaml +++ b/.github/workflows/comment-on-submodule-update.yaml @@ -12,6 +12,7 @@ jobs: comment_on_submodule_update: permissions: issues: write # Required to create a comment on the pull request + pull-requests: write # Required to create a comment on the pull request runs-on: ubuntu-latest steps: From 435a1d265ed446f7438b61662f8df316692f408c Mon Sep 17 00:00:00 2001 From: Bruce Bujon Date: Thu, 12 Sep 2024 17:15:27 +0200 Subject: [PATCH 11/21] fix: Restore jmx-fetch integration-core from #7588 (#7611) --- dd-java-agent/agent-jmxfetch/integrations-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/agent-jmxfetch/integrations-core b/dd-java-agent/agent-jmxfetch/integrations-core index 45e2bed15b1..5240f2a7cdc 160000 --- a/dd-java-agent/agent-jmxfetch/integrations-core +++ b/dd-java-agent/agent-jmxfetch/integrations-core @@ -1 +1 @@ -Subproject commit 45e2bed15b147a28b2c3994497945c6046c6025f +Subproject commit 5240f2a7cdcabc6ae7787b9191b9189438671f3e From a472c9dc912ed5034e271fc1d4e13af8ba62bb66 Mon Sep 17 00:00:00 2001 From: Paul Laffon Date: Thu, 12 Sep 2024 17:16:16 +0200 Subject: [PATCH 12/21] Add spark.stage details attribute at the end of the stage (#7608) Adds the spark.stage details attribute at the end of the stage, rather than at the beginning. The details attribute contains a large amount of data, including the full stack trace that initiated the stage. When using long-running spans, the span is flushed multiple times, which can significantly increase the ingestion volume. By adding the details attribute at the end of the stage, we reduce the ingestion volume while still ensuring the information is available once the stage has completed. --- .../instrumentation/spark/AbstractDatadogSparkListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java b/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java index d009f3c826c..d995b9c0307 100644 --- a/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java +++ b/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java @@ -492,7 +492,6 @@ public synchronized void onStageSubmitted(SparkListenerStageSubmitted stageSubmi "parent_stage_ids", Arrays.toString(getStageParentIds(stageSubmitted.stageInfo()))) .withTag("task_count", stageSubmitted.stageInfo().numTasks()) .withTag("attempt_id", stageAttemptId) - .withTag("details", stageSubmitted.stageInfo().details()) .withTag(DDTags.RESOURCE_NAME, stageSubmitted.stageInfo().name()) .start(); @@ -519,6 +518,7 @@ public synchronized void onStageCompleted(SparkListenerStageCompleted stageCompl return; } + span.setTag("details", stageCompleted.stageInfo().details()); if (stageInfo.failureReason().isDefined()) { span.setError(true); span.setErrorMessage(getErrorMessageWithoutStackTrace(stageInfo.failureReason().get())); From fcd206e7d703b3a63cae3432ec7491db41b9b025 Mon Sep 17 00:00:00 2001 From: Bruce Bujon Date: Fri, 13 Sep 2024 09:06:36 +0200 Subject: [PATCH 13/21] Improve GitHub Workflows (#7614) * feat: Improve update-issues-on-release * feat: Improve workflow testing tools * feat: Log uncommited files from update-gradle-dependencies workflow * feat: Improve existing workflow tests * fix: Add missing step names * fix: Fix shellcheck comments --- .github/workflows/analyze-changes.yaml | 6 +- ...payload.json => payload-pull-request.json} | 0 .../test-pull-request.sh | 3 + .../add-milestone-to-pull-requests/test.sh | 3 - .github/workflows/tests/env.sh | 37 +++++++-- .../{payload.json => payload-create.json} | 0 .../increment-milestone-on-tag/test-create.sh | 3 + .../tests/increment-milestone-on-tag/test.sh | 3 - .../payload-release.json | 6 ++ .../payload-workflow-dispatch.json | 5 ++ .../update-issues-on-release/test-release.sh | 3 + .../test-workflow-dispatch.sh | 3 + .../workflows/update-gradle-dependencies.yaml | 4 + .../workflows/update-issues-on-release.yaml | 81 ++++++++++--------- 14 files changed, 105 insertions(+), 52 deletions(-) rename .github/workflows/tests/add-milestone-to-pull-requests/{payload.json => payload-pull-request.json} (100%) create mode 100755 .github/workflows/tests/add-milestone-to-pull-requests/test-pull-request.sh delete mode 100755 .github/workflows/tests/add-milestone-to-pull-requests/test.sh rename .github/workflows/tests/increment-milestone-on-tag/{payload.json => payload-create.json} (100%) create mode 100755 .github/workflows/tests/increment-milestone-on-tag/test-create.sh delete mode 100755 .github/workflows/tests/increment-milestone-on-tag/test.sh create mode 100644 .github/workflows/tests/update-issues-on-release/payload-release.json create mode 100644 .github/workflows/tests/update-issues-on-release/payload-workflow-dispatch.json create mode 100755 .github/workflows/tests/update-issues-on-release/test-release.sh create mode 100755 .github/workflows/tests/update-issues-on-release/test-workflow-dispatch.sh diff --git a/.github/workflows/analyze-changes.yaml b/.github/workflows/analyze-changes.yaml index 8c92e011f96..3a36cba0a62 100644 --- a/.github/workflows/analyze-changes.yaml +++ b/.github/workflows/analyze-changes.yaml @@ -44,7 +44,8 @@ jobs: with: submodules: 'recursive' - - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + - name: Cache Gradle dependencies + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: path: | ~/.gradle/caches @@ -97,7 +98,8 @@ jobs: with: submodules: 'recursive' - - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + - name: Cache Gradle dependencies + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: path: | ~/.gradle/caches diff --git a/.github/workflows/tests/add-milestone-to-pull-requests/payload.json b/.github/workflows/tests/add-milestone-to-pull-requests/payload-pull-request.json similarity index 100% rename from .github/workflows/tests/add-milestone-to-pull-requests/payload.json rename to .github/workflows/tests/add-milestone-to-pull-requests/payload-pull-request.json diff --git a/.github/workflows/tests/add-milestone-to-pull-requests/test-pull-request.sh b/.github/workflows/tests/add-milestone-to-pull-requests/test-pull-request.sh new file mode 100755 index 00000000000..cc7c8ff0c96 --- /dev/null +++ b/.github/workflows/tests/add-milestone-to-pull-requests/test-pull-request.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source "$(dirname "$0")/../env.sh" +testworkflow pull_request diff --git a/.github/workflows/tests/add-milestone-to-pull-requests/test.sh b/.github/workflows/tests/add-milestone-to-pull-requests/test.sh deleted file mode 100755 index 251be43b484..00000000000 --- a/.github/workflows/tests/add-milestone-to-pull-requests/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -source $(dirname "$0")/../env.sh -act pull_request --workflows .github/workflows/add-milestone-to-pull-requests.yaml --eventpath .github/workflows/tests/add-milestone-to-pull-requests/payload.json $COMMON_ACT_ARGS diff --git a/.github/workflows/tests/env.sh b/.github/workflows/tests/env.sh index ff457d6710e..15672a17b94 100644 --- a/.github/workflows/tests/env.sh +++ b/.github/workflows/tests/env.sh @@ -1,7 +1,32 @@ -#!/bin/sh +#!/bin/bash -# Move to project root directory -FILE_PATH=$(dirname "$0") -cd $FILE_PATH/../../../../ - -export COMMON_ACT_ARGS="--container-architecture linux/amd64 --secret GITHUB_TOKEN="$(gh auth token)" --verbose" +function testworkflow() { + local EVENT_TYPE=$1 + # Get workflow name + local TEST_PATH + TEST_PATH=$(dirname "$(readlink -f "${BASH_SOURCE[1]}")") + local WORKFLOW_NAME + WORKFLOW_NAME=$(basename "$TEST_PATH") + local WORKFLOW_FILE=.github/workflows/${WORKFLOW_NAME}.yaml + local PAYLOAD_FILE=${TEST_PATH}/payload-${EVENT_TYPE//_/-}.json + # Move to project root directory + local FILE_PATH + FILE_PATH=$(dirname "$0") + cd "$FILE_PATH/../../../../" || exit 1 + # Check if workflow file and payload file exist + if [ ! -f "$WORKFLOW_FILE" ]; then + echo "Workflow file not found: $WORKFLOW_FILE" + exit 1 + fi + if [ ! -f "$PAYLOAD_FILE" ]; then + echo "Payload file not found: $PAYLOAD_FILE" + exit 1 + fi + # Run workflow using act + act "${EVENT_TYPE}" \ + --workflows "${WORKFLOW_FILE}" \ + --eventpath "${PAYLOAD_FILE}" \ + --container-architecture linux/amd64 \ + --secret GITHUB_TOKEN="$(gh auth token)" \ + --verbose +} diff --git a/.github/workflows/tests/increment-milestone-on-tag/payload.json b/.github/workflows/tests/increment-milestone-on-tag/payload-create.json similarity index 100% rename from .github/workflows/tests/increment-milestone-on-tag/payload.json rename to .github/workflows/tests/increment-milestone-on-tag/payload-create.json diff --git a/.github/workflows/tests/increment-milestone-on-tag/test-create.sh b/.github/workflows/tests/increment-milestone-on-tag/test-create.sh new file mode 100755 index 00000000000..c1710568457 --- /dev/null +++ b/.github/workflows/tests/increment-milestone-on-tag/test-create.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source "$(dirname "$0")/../env.sh" +testworkflow create diff --git a/.github/workflows/tests/increment-milestone-on-tag/test.sh b/.github/workflows/tests/increment-milestone-on-tag/test.sh deleted file mode 100755 index d027f692b90..00000000000 --- a/.github/workflows/tests/increment-milestone-on-tag/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -source $(dirname "$0")/../env.sh -act create --workflows .github/workflows/increment-milestone-on-tag.yaml --eventpath .github/workflows/tests/increment-milestone-on-tag/payload.json $COMMON_ACT_ARGS diff --git a/.github/workflows/tests/update-issues-on-release/payload-release.json b/.github/workflows/tests/update-issues-on-release/payload-release.json new file mode 100644 index 00000000000..5bec147ff18 --- /dev/null +++ b/.github/workflows/tests/update-issues-on-release/payload-release.json @@ -0,0 +1,6 @@ +{ + "release": { + "name": "1.39.0", + "html_url": "https://github.com/DataDog/dd-trace-java/releases/tag/v1.39.0" + } +} diff --git a/.github/workflows/tests/update-issues-on-release/payload-workflow-dispatch.json b/.github/workflows/tests/update-issues-on-release/payload-workflow-dispatch.json new file mode 100644 index 00000000000..2451023d678 --- /dev/null +++ b/.github/workflows/tests/update-issues-on-release/payload-workflow-dispatch.json @@ -0,0 +1,5 @@ +{ + "inputs": { + "milestone": "1.39.0" + } +} diff --git a/.github/workflows/tests/update-issues-on-release/test-release.sh b/.github/workflows/tests/update-issues-on-release/test-release.sh new file mode 100755 index 00000000000..830ab75125a --- /dev/null +++ b/.github/workflows/tests/update-issues-on-release/test-release.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source "$(dirname "$0")/../env.sh" +testworkflow release diff --git a/.github/workflows/tests/update-issues-on-release/test-workflow-dispatch.sh b/.github/workflows/tests/update-issues-on-release/test-workflow-dispatch.sh new file mode 100755 index 00000000000..fbf3f422a6f --- /dev/null +++ b/.github/workflows/tests/update-issues-on-release/test-workflow-dispatch.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source "$(dirname "$0")/../env.sh" +testworkflow workflow_dispatch diff --git a/.github/workflows/update-gradle-dependencies.yaml b/.github/workflows/update-gradle-dependencies.yaml index b0ec1bf6cc3..0006006f06e 100644 --- a/.github/workflows/update-gradle-dependencies.yaml +++ b/.github/workflows/update-gradle-dependencies.yaml @@ -59,6 +59,10 @@ jobs: COUNT=0 fi done + # Check at uncommited files + echo "Checking uncommited files" + git status + # Create a PR from the created branch if [ $COUNT -gt 0 ]; then echo "Creating a commit to $BRANCH_NAME@$BRANCH_HEAD with $GH_ADD_ARGS" ghcommit --repository ${{ github.repository }} --branch $BRANCH_NAME --sha $BRANCH_HEAD $GH_ADD_ARGS --message "chore: Update Gradle dependencies" diff --git a/.github/workflows/update-issues-on-release.yaml b/.github/workflows/update-issues-on-release.yaml index 3c223d9056e..0ab48b9aa5e 100644 --- a/.github/workflows/update-issues-on-release.yaml +++ b/.github/workflows/update-issues-on-release.yaml @@ -15,54 +15,59 @@ jobs: runs-on: ubuntu-latest steps: - name: Get milestone for release - id: milestone - uses: actions/github-script@47f7cf65b5ced0830a325f705cad64f2f58dddf7 # 3.1.0 + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # 7.0.1 with: github-token: ${{secrets.GITHUB_TOKEN}} script: | - const milestone_name = ("${{github.event_name}}" == "workflow_dispatch") ? - "${{github.event.inputs.milestone}}" : "${{github.event.release.name}}" - - const milestones = await github.paginate(github.issues.listMilestones, { + // Get release milestone name + const milestoneName = "${{github.event_name}}" == "workflow_dispatch" ? + "${{github.event.inputs.milestone}}" : + "${{github.event.release.name}}" + // Get release URL + const releaseURL = "${{github.event_name}}" == "workflow_dispatch" ? + "${{github.event.repository.html_url}}/releases/tag/v${{github.event.release.name}}" : + "${{github.event.release.html_url}}" + core.info(`Notify of release availability: v${milestoneName}`) + // Get release milestone number + const milestoneNumber = await github.paginate(github.rest.issues.listMilestones, { owner: context.repo.owner, repo: context.repo.repo, state: 'all' - }) - - return milestones.find( milestone => milestone.title == milestone_name ).number - - name: Get issues for milestone - id: issues - uses: actions/github-script@47f7cf65b5ced0830a325f705cad64f2f58dddf7 # 3.1.0 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - const issues = await github.paginate(github.issues.listForRepo, { + }, (response, done) => { + const releaseMilestone = response.data.find(milestone => milestone.title == milestoneName) + if (releaseMilestone) { + done() + return releaseMilestone.number + } + }).then(milestones => milestones.pop()) + if (!milestoneNumber) { + core.setFailed(`Failed to find milestone: ${milestoneName}`) + return + } + // Get all release milestone issues + const issues = await github.paginate(github.rest.issues.listForRepo, { owner: context.repo.owner, repo: context.repo.repo, state: 'all', - milestone: ${{steps.milestone.outputs.result}} - }) - - // Pull requests are issues so filter them out - return issues.filter( issue => !issue["pull_request"] ).map( issue => issue.number ) - - name: Comment and close issues - uses: actions/github-script@47f7cf65b5ced0830a325f705cad64f2f58dddf7 # 3.1.0 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - for (let issue_number of ${{ steps.issues.outputs.result }}) { - // This can be parallelized better by moving the await but it might trip rate limits - await github.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issue_number, - body: ':robot: This issue has been addressed in the latest release. See full details in the [Release Notes]( ${{ github.event.release.html_url }}).' - }) - - await github.issues.update({ + milestone: milestoneNumber + }, (response) => response.data.filter(issue => !issue["pull_request"])) + // Comment and close issues + for (const issue of issues) { + core.info(issue.state == 'open' ? + `Commenting and closing issue ${issue.number}` : + `Commenting on closed issue ${issue.number}`) + await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, - issue_number: issue_number, - state: 'closed' + issue_number: issue.number, + body: `:robot: This issue has been addressed in the latest release. Check full details in the [Release Notes](${releaseURL}).` }) + if (issue.state == 'open') { + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue.number, + state: 'closed' + }) + } } From a7d9a7989f38507fa7e0b0e5e87c3bc6b3d22487 Mon Sep 17 00:00:00 2001 From: Nikita Tkachenko <121111529+nikita-tkachenko-datadog@users.noreply.github.com> Date: Fri, 13 Sep 2024 10:21:21 +0200 Subject: [PATCH 14/21] Add pull_request extra tags for GitHub Actions (#7604) --- .../datadog/trace/civisibility/ci/CIInfo.java | 27 +- .../trace/civisibility/ci/CITagsProvider.java | 11 + .../civisibility/ci/GithubActionsInfo.java | 66 ++- .../ci/GithubActionsInfoTest.groovy | 22 + .../src/test/resources/ci/github-event.json | 490 ++++++++++++++++++ 5 files changed, 611 insertions(+), 5 deletions(-) create mode 100644 dd-java-agent/agent-ci-visibility/src/test/resources/ci/github-event.json diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CIInfo.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CIInfo.java index 1f471af8531..3c7ffc31825 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CIInfo.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CIInfo.java @@ -28,6 +28,7 @@ public static final class Builder { private String ciNodeName; private String ciNodeLabels; private Map ciEnvVars; + private Map additionalTags; public Builder ciProviderName(String ciProviderName) { this.ciProviderName = ciProviderName; @@ -99,6 +100,11 @@ public Builder ciEnvVars(String... ciEnvVarKeysArray) { return this; } + public Builder additionalTags(Map additionalTags) { + this.additionalTags = additionalTags; + return this; + } + public CIInfo build() { return new CIInfo( ciProviderName, @@ -112,7 +118,8 @@ public CIInfo build() { ciWorkspace, ciNodeName, ciNodeLabels, - ciEnvVars); + ciEnvVars, + additionalTags); } } @@ -128,9 +135,10 @@ public CIInfo build() { private final String ciNodeName; private final String ciNodeLabels; private final Map ciEnvVars; + private final Map additionalTags; public CIInfo() { - this(null, null, null, null, null, null, null, null, null, null, null, null); + this(null, null, null, null, null, null, null, null, null, null, null, null, null); } public CIInfo( @@ -145,7 +153,8 @@ public CIInfo( String ciWorkspace, String ciNodeName, String ciNodeLabels, - Map ciEnvVars) { + Map ciEnvVars, + Map additionalTags) { this.ciProviderName = ciProviderName; this.ciPipelineId = ciPipelineId; this.ciPipelineName = ciPipelineName; @@ -158,6 +167,7 @@ public CIInfo( this.ciNodeName = ciNodeName; this.ciNodeLabels = ciNodeLabels; this.ciEnvVars = ciEnvVars; + this.additionalTags = additionalTags; } public String getCiProviderName() { @@ -220,6 +230,10 @@ public Map getCiEnvVars() { return ciEnvVars; } + public Map getAdditionalTags() { + return additionalTags; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -240,7 +254,8 @@ public boolean equals(Object o) { && Objects.equals(ciWorkspace, ciInfo.ciWorkspace) && Objects.equals(ciNodeName, ciInfo.ciNodeName) && Objects.equals(ciNodeLabels, ciInfo.ciNodeLabels) - && Objects.equals(ciEnvVars, ciInfo.ciEnvVars); + && Objects.equals(ciEnvVars, ciInfo.ciEnvVars) + && Objects.equals(additionalTags, ciInfo.additionalTags); } @Override @@ -258,6 +273,7 @@ public int hashCode() { hash = 31 * hash + (ciNodeName == null ? 0 : ciNodeName.hashCode()); hash = 31 * hash + (ciNodeLabels == null ? 0 : ciNodeLabels.hashCode()); hash = 31 * hash + (ciEnvVars == null ? 0 : ciEnvVars.hashCode()); + hash = 31 * hash + (additionalTags == null ? 0 : additionalTags.hashCode()); return hash; } @@ -300,6 +316,9 @@ public String toString() { + ", ciEnvVars='" + ciEnvVars + '\'' + + ", additionalTags='" + + additionalTags + + '\'' + '}'; } } diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CITagsProvider.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CITagsProvider.java index 02a6732a218..6dbced9cc04 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CITagsProvider.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/CITagsProvider.java @@ -38,6 +38,7 @@ public Map getCiTags(CIInfo ciInfo) { .withCiNodeName(ciInfo.getCiNodeName()) .withCiNodeLabels(ciInfo.getCiNodeLabels()) .withCiEnvVars(ciInfo.getCiEnvVars()) + .withAdditionalTags(ciInfo.getAdditionalTags()) .withGitRepositoryUrl(gitInfo) .withGitCommit(gitInfo) .withGitBranch(gitInfo) @@ -107,6 +108,16 @@ public CITagsBuilder withCiEnvVars(final Map ciEnvVars) { return putTagValue(DDTags.CI_ENV_VARS, toJson(ciEnvVars)); } + public CITagsBuilder withAdditionalTags(final Map additionalTags) { + if (additionalTags == null || additionalTags.isEmpty()) { + return this; + } + for (Map.Entry e : additionalTags.entrySet()) { + putTagValue(e.getKey(), e.getValue()); + } + return this; + } + public CITagsBuilder withGitRepositoryUrl(final GitInfo gitInfo) { return putTagValue(Tags.GIT_REPOSITORY_URL, gitInfo.getRepositoryURL()); } diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/GithubActionsInfo.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/GithubActionsInfo.java index b3563968077..6260c2e3070 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/GithubActionsInfo.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ci/GithubActionsInfo.java @@ -6,12 +6,26 @@ import static datadog.trace.api.git.GitUtils.normalizeTag; import static datadog.trace.civisibility.utils.FileUtils.expandTilde; +import com.squareup.moshi.JsonAdapter; +import com.squareup.moshi.Moshi; +import com.squareup.moshi.Types; import datadog.trace.api.civisibility.telemetry.tag.Provider; import datadog.trace.api.git.CommitInfo; import datadog.trace.api.git.GitInfo; +import datadog.trace.util.Strings; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; class GithubActionsInfo implements CIProviderInfo { + private static final Logger LOGGER = LoggerFactory.getLogger(UnknownCIInfo.class); + // https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables#default-environment-variables public static final String GHACTIONS = "GITHUB_ACTION"; public static final String GHACTIONS_PROVIDER_NAME = "github"; @@ -26,6 +40,12 @@ class GithubActionsInfo implements CIProviderInfo { public static final String GHACTIONS_REF = "GITHUB_REF"; public static final String GHACTIONS_URL = "GITHUB_SERVER_URL"; public static final String GHACTIONS_JOB = "GITHUB_JOB"; + public static final String GITHUB_BASE_REF = "GITHUB_BASE_REF"; + public static final String GITHUB_EVENT_PATH = "GITHUB_EVENT_PATH"; + + public static final String GIT_PULL_REQUEST_BASE_BRANCH = "git.pull_request.base_branch"; + public static final String GIT_PULL_REQUEST_BASE_BRANCH_SHA = "git.pull_request.base_branch_sha"; + public static final String GIT_COMMIT_HEAD_SHA = "git.commit.head_sha"; @Override public GitInfo buildCIGitInfo() { @@ -51,7 +71,11 @@ public CIInfo buildCIInfo() { System.getenv(GHACTIONS_REPOSITORY), System.getenv(GHACTIONS_SHA)); - return CIInfo.builder() + CIInfo.Builder builder = CIInfo.builder(); + + setAdditionalTagsIfApplicable(builder); + + return builder .ciProviderName(GHACTIONS_PROVIDER_NAME) .ciPipelineId(System.getenv(GHACTIONS_PIPELINE_ID)) .ciPipelineName(System.getenv(GHACTIONS_PIPELINE_NAME)) @@ -65,6 +89,46 @@ public CIInfo buildCIInfo() { .build(); } + private static void setAdditionalTagsIfApplicable(CIInfo.Builder builder) { + String baseRef = System.getenv(GITHUB_BASE_REF); + if (!Strings.isNotBlank(baseRef)) { + return; + } + + try { + Map additionalTags = new HashMap<>(); + additionalTags.put(GIT_PULL_REQUEST_BASE_BRANCH, baseRef); + + Path eventPath = Paths.get(System.getenv(GITHUB_EVENT_PATH)); + String event = new String(Files.readAllBytes(eventPath), StandardCharsets.UTF_8); + + Moshi moshi = new Moshi.Builder().build(); + JsonAdapter> mapJsonAdapter = + moshi.adapter(Types.newParameterizedType(Map.class, String.class, Object.class)); + Map eventJson = mapJsonAdapter.fromJson(event); + + Map pullRequest = (Map) eventJson.get("pull_request"); + if (pullRequest != null) { + Map head = (Map) pullRequest.get("head"); + if (head != null) { + String headSha = (String) head.get("sha"); + additionalTags.put(GIT_COMMIT_HEAD_SHA, headSha); + } + + Map base = (Map) pullRequest.get("base"); + if (base != null) { + String baseSha = (String) base.get("sha"); + additionalTags.put(GIT_PULL_REQUEST_BASE_BRANCH_SHA, baseSha); + } + } + + builder.additionalTags(additionalTags); + + } catch (Exception e) { + LOGGER.warn("Error while parsing GitHub event", e); + } + } + private String buildGitBranch() { String gitBranchOrTag = getGitBranchOrTag(); if (!isTagReference(gitBranchOrTag)) { diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ci/GithubActionsInfoTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ci/GithubActionsInfoTest.groovy index 43f0c7d35db..784e5e3d529 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ci/GithubActionsInfoTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ci/GithubActionsInfoTest.groovy @@ -1,5 +1,8 @@ package datadog.trace.civisibility.ci + +import java.nio.file.Paths + class GithubActionsInfoTest extends CITagsProviderTest { @Override @@ -23,4 +26,23 @@ class GithubActionsInfoTest extends CITagsProviderTest { map.put(GithubActionsInfo.GHACTIONS_SHA, "0000000000000000000000000000000000000000") return map } + + def "test GitHub event parsing and additional tags"() { + setup: + def githubEvent = GithubActionsInfoTest.getResource("/ci/github-event.json") + def githubEventPath = Paths.get(githubEvent.toURI()) + + environmentVariables.set(GithubActionsInfo.GITHUB_BASE_REF, "base-ref") + environmentVariables.set(GithubActionsInfo.GITHUB_EVENT_PATH, githubEventPath.toString()) + + when: + def cIInfo = new GithubActionsInfo().buildCIInfo() + + then: + cIInfo.getAdditionalTags() == [ + (GithubActionsInfo.GIT_PULL_REQUEST_BASE_BRANCH) : "base-ref", + (GithubActionsInfo.GIT_PULL_REQUEST_BASE_BRANCH_SHA) : "52e0974c74d41160a03d59ddc73bb9f5adab054b", + (GithubActionsInfo.GIT_COMMIT_HEAD_SHA) : "df289512a51123083a8e6931dd6f57bb3883d4c4", + ] + } } diff --git a/dd-java-agent/agent-ci-visibility/src/test/resources/ci/github-event.json b/dd-java-agent/agent-ci-visibility/src/test/resources/ci/github-event.json new file mode 100644 index 00000000000..b9fe79f2aab --- /dev/null +++ b/dd-java-agent/agent-ci-visibility/src/test/resources/ci/github-event.json @@ -0,0 +1,490 @@ +{ + "action": "synchronize", + "after": "df289512a51123083a8e6931dd6f57bb3883d4c4", + "before": "f659d2fdd7bedffb40d9ab223dbde6afa5eadc32", + "number": 1, + "pull_request": { + "_links": { + "comments": { + "href": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/1/comments" + }, + "commits": { + "href": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/1/commits" + }, + "html": { + "href": "https://github.com/nikita-tkachenko-datadog/ci-test-project/pull/1" + }, + "issue": { + "href": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/1" + }, + "review_comment": { + "href": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/comments{/number}" + }, + "review_comments": { + "href": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/1/comments" + }, + "self": { + "href": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/1" + }, + "statuses": { + "href": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/statuses/df289512a51123083a8e6931dd6f57bb3883d4c4" + } + }, + "active_lock_reason": null, + "additions": 2, + "assignee": null, + "assignees": [], + "author_association": "OWNER", + "auto_merge": null, + "base": { + "label": "nikita-tkachenko-datadog:main", + "ref": "main", + "repo": { + "allow_auto_merge": false, + "allow_forking": true, + "allow_merge_commit": true, + "allow_rebase_merge": true, + "allow_squash_merge": true, + "allow_update_branch": false, + "archive_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/assignees{/user}", + "blobs_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/branches{/branch}", + "clone_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project.git", + "collaborators_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/comments{/number}", + "commits_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/commits{/sha}", + "compare_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/contents/{+path}", + "contributors_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/contributors", + "created_at": "2023-01-09T10:24:06Z", + "default_branch": "main", + "delete_branch_on_merge": false, + "deployments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/downloads", + "events_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/events", + "fork": false, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/forks", + "full_name": "nikita-tkachenko-datadog/ci-test-project", + "git_commits_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/tags{/sha}", + "git_url": "git://github.com/nikita-tkachenko-datadog/ci-test-project.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": false, + "homepage": null, + "hooks_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/hooks", + "html_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project", + "id": 586827266, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/events{/number}", + "issues_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues{/number}", + "keys_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/keys{/key_id}", + "labels_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/labels{/name}", + "language": "Shell", + "languages_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/languages", + "license": null, + "merge_commit_message": "PR_TITLE", + "merge_commit_title": "MERGE_MESSAGE", + "merges_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/merges", + "milestones_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/milestones{/number}", + "mirror_url": null, + "name": "ci-test-project", + "node_id": "R_kgDOIvpGAg", + "notifications_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/notifications{?since,all,participating}", + "open_issues": 1, + "open_issues_count": 1, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/121111529?v=4", + "events_url": "https://api.github.com/users/nikita-tkachenko-datadog/events{/privacy}", + "followers_url": "https://api.github.com/users/nikita-tkachenko-datadog/followers", + "following_url": "https://api.github.com/users/nikita-tkachenko-datadog/following{/other_user}", + "gists_url": "https://api.github.com/users/nikita-tkachenko-datadog/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikita-tkachenko-datadog", + "id": 121111529, + "login": "nikita-tkachenko-datadog", + "node_id": "U_kgDOBzgD6Q", + "organizations_url": "https://api.github.com/users/nikita-tkachenko-datadog/orgs", + "received_events_url": "https://api.github.com/users/nikita-tkachenko-datadog/received_events", + "repos_url": "https://api.github.com/users/nikita-tkachenko-datadog/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikita-tkachenko-datadog/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikita-tkachenko-datadog/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikita-tkachenko-datadog" + }, + "private": true, + "pulls_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls{/number}", + "pushed_at": "2024-09-11T15:12:25Z", + "releases_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/releases{/id}", + "size": 90, + "squash_merge_commit_message": "COMMIT_MESSAGES", + "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", + "ssh_url": "git@github.com:nikita-tkachenko-datadog/ci-test-project.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/stargazers", + "statuses_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/subscribers", + "subscription_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/subscription", + "svn_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project", + "tags_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/tags", + "teams_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/trees{/sha}", + "updated_at": "2024-09-11T13:41:11Z", + "url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project", + "use_squash_pr_title_as_default": false, + "visibility": "private", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "52e0974c74d41160a03d59ddc73bb9f5adab054b", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/121111529?v=4", + "events_url": "https://api.github.com/users/nikita-tkachenko-datadog/events{/privacy}", + "followers_url": "https://api.github.com/users/nikita-tkachenko-datadog/followers", + "following_url": "https://api.github.com/users/nikita-tkachenko-datadog/following{/other_user}", + "gists_url": "https://api.github.com/users/nikita-tkachenko-datadog/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikita-tkachenko-datadog", + "id": 121111529, + "login": "nikita-tkachenko-datadog", + "node_id": "U_kgDOBzgD6Q", + "organizations_url": "https://api.github.com/users/nikita-tkachenko-datadog/orgs", + "received_events_url": "https://api.github.com/users/nikita-tkachenko-datadog/received_events", + "repos_url": "https://api.github.com/users/nikita-tkachenko-datadog/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikita-tkachenko-datadog/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikita-tkachenko-datadog/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikita-tkachenko-datadog" + } + }, + "body": "# What Does This Do\r\n\r\n# Motivation\r\n\r\n# Additional Notes\r\n", + "changed_files": 3, + "closed_at": null, + "comments": 0, + "comments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/1/comments", + "commits": 2, + "commits_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/1/commits", + "created_at": "2024-09-11T15:08:02Z", + "deletions": 0, + "diff_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project/pull/1.diff", + "draft": false, + "head": { + "label": "nikita-tkachenko-datadog:test-branch", + "ref": "test-branch", + "repo": { + "allow_auto_merge": false, + "allow_forking": true, + "allow_merge_commit": true, + "allow_rebase_merge": true, + "allow_squash_merge": true, + "allow_update_branch": false, + "archive_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/assignees{/user}", + "blobs_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/branches{/branch}", + "clone_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project.git", + "collaborators_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/comments{/number}", + "commits_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/commits{/sha}", + "compare_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/contents/{+path}", + "contributors_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/contributors", + "created_at": "2023-01-09T10:24:06Z", + "default_branch": "main", + "delete_branch_on_merge": false, + "deployments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/downloads", + "events_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/events", + "fork": false, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/forks", + "full_name": "nikita-tkachenko-datadog/ci-test-project", + "git_commits_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/tags{/sha}", + "git_url": "git://github.com/nikita-tkachenko-datadog/ci-test-project.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": false, + "homepage": null, + "hooks_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/hooks", + "html_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project", + "id": 586827266, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/events{/number}", + "issues_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues{/number}", + "keys_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/keys{/key_id}", + "labels_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/labels{/name}", + "language": "Shell", + "languages_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/languages", + "license": null, + "merge_commit_message": "PR_TITLE", + "merge_commit_title": "MERGE_MESSAGE", + "merges_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/merges", + "milestones_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/milestones{/number}", + "mirror_url": null, + "name": "ci-test-project", + "node_id": "R_kgDOIvpGAg", + "notifications_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/notifications{?since,all,participating}", + "open_issues": 1, + "open_issues_count": 1, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/121111529?v=4", + "events_url": "https://api.github.com/users/nikita-tkachenko-datadog/events{/privacy}", + "followers_url": "https://api.github.com/users/nikita-tkachenko-datadog/followers", + "following_url": "https://api.github.com/users/nikita-tkachenko-datadog/following{/other_user}", + "gists_url": "https://api.github.com/users/nikita-tkachenko-datadog/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikita-tkachenko-datadog", + "id": 121111529, + "login": "nikita-tkachenko-datadog", + "node_id": "U_kgDOBzgD6Q", + "organizations_url": "https://api.github.com/users/nikita-tkachenko-datadog/orgs", + "received_events_url": "https://api.github.com/users/nikita-tkachenko-datadog/received_events", + "repos_url": "https://api.github.com/users/nikita-tkachenko-datadog/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikita-tkachenko-datadog/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikita-tkachenko-datadog/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikita-tkachenko-datadog" + }, + "private": true, + "pulls_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls{/number}", + "pushed_at": "2024-09-11T15:12:25Z", + "releases_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/releases{/id}", + "size": 90, + "squash_merge_commit_message": "COMMIT_MESSAGES", + "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", + "ssh_url": "git@github.com:nikita-tkachenko-datadog/ci-test-project.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/stargazers", + "statuses_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/subscribers", + "subscription_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/subscription", + "svn_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project", + "tags_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/tags", + "teams_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/trees{/sha}", + "updated_at": "2024-09-11T13:41:11Z", + "url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project", + "use_squash_pr_title_as_default": false, + "visibility": "private", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sha": "df289512a51123083a8e6931dd6f57bb3883d4c4", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/121111529?v=4", + "events_url": "https://api.github.com/users/nikita-tkachenko-datadog/events{/privacy}", + "followers_url": "https://api.github.com/users/nikita-tkachenko-datadog/followers", + "following_url": "https://api.github.com/users/nikita-tkachenko-datadog/following{/other_user}", + "gists_url": "https://api.github.com/users/nikita-tkachenko-datadog/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikita-tkachenko-datadog", + "id": 121111529, + "login": "nikita-tkachenko-datadog", + "node_id": "U_kgDOBzgD6Q", + "organizations_url": "https://api.github.com/users/nikita-tkachenko-datadog/orgs", + "received_events_url": "https://api.github.com/users/nikita-tkachenko-datadog/received_events", + "repos_url": "https://api.github.com/users/nikita-tkachenko-datadog/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikita-tkachenko-datadog/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikita-tkachenko-datadog/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikita-tkachenko-datadog" + } + }, + "html_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project/pull/1", + "id": 2066570986, + "issue_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/1", + "labels": [], + "locked": false, + "maintainer_can_modify": false, + "merge_commit_sha": "d9a3212d0d5d1483426dbbdf0beea32ee50abcde", + "mergeable": null, + "mergeable_state": "unknown", + "merged": false, + "merged_at": null, + "merged_by": null, + "milestone": null, + "node_id": "PR_kwDOIvpGAs57LV7q", + "number": 1, + "patch_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project/pull/1.patch", + "rebaseable": null, + "requested_reviewers": [], + "requested_teams": [], + "review_comment_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/comments{/number}", + "review_comments": 0, + "review_comments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/1/comments", + "state": "open", + "statuses_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/statuses/df289512a51123083a8e6931dd6f57bb3883d4c4", + "title": "Test commit", + "updated_at": "2024-09-11T15:12:26Z", + "url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls/1", + "user": { + "avatar_url": "https://avatars.githubusercontent.com/u/121111529?v=4", + "events_url": "https://api.github.com/users/nikita-tkachenko-datadog/events{/privacy}", + "followers_url": "https://api.github.com/users/nikita-tkachenko-datadog/followers", + "following_url": "https://api.github.com/users/nikita-tkachenko-datadog/following{/other_user}", + "gists_url": "https://api.github.com/users/nikita-tkachenko-datadog/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikita-tkachenko-datadog", + "id": 121111529, + "login": "nikita-tkachenko-datadog", + "node_id": "U_kgDOBzgD6Q", + "organizations_url": "https://api.github.com/users/nikita-tkachenko-datadog/orgs", + "received_events_url": "https://api.github.com/users/nikita-tkachenko-datadog/received_events", + "repos_url": "https://api.github.com/users/nikita-tkachenko-datadog/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikita-tkachenko-datadog/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikita-tkachenko-datadog/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikita-tkachenko-datadog" + } + }, + "repository": { + "allow_forking": true, + "archive_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/{archive_format}{/ref}", + "archived": false, + "assignees_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/assignees{/user}", + "blobs_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/blobs{/sha}", + "branches_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/branches{/branch}", + "clone_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project.git", + "collaborators_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/collaborators{/collaborator}", + "comments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/comments{/number}", + "commits_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/commits{/sha}", + "compare_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/compare/{base}...{head}", + "contents_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/contents/{+path}", + "contributors_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/contributors", + "created_at": "2023-01-09T10:24:06Z", + "default_branch": "main", + "deployments_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/deployments", + "description": null, + "disabled": false, + "downloads_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/downloads", + "events_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/events", + "fork": false, + "forks": 0, + "forks_count": 0, + "forks_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/forks", + "full_name": "nikita-tkachenko-datadog/ci-test-project", + "git_commits_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/commits{/sha}", + "git_refs_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/refs{/sha}", + "git_tags_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/tags{/sha}", + "git_url": "git://github.com/nikita-tkachenko-datadog/ci-test-project.git", + "has_discussions": false, + "has_downloads": true, + "has_issues": true, + "has_pages": false, + "has_projects": true, + "has_wiki": false, + "homepage": null, + "hooks_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/hooks", + "html_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project", + "id": 586827266, + "is_template": false, + "issue_comment_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/comments{/number}", + "issue_events_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues/events{/number}", + "issues_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/issues{/number}", + "keys_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/keys{/key_id}", + "labels_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/labels{/name}", + "language": "Shell", + "languages_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/languages", + "license": null, + "merges_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/merges", + "milestones_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/milestones{/number}", + "mirror_url": null, + "name": "ci-test-project", + "node_id": "R_kgDOIvpGAg", + "notifications_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/notifications{?since,all,participating}", + "open_issues": 1, + "open_issues_count": 1, + "owner": { + "avatar_url": "https://avatars.githubusercontent.com/u/121111529?v=4", + "events_url": "https://api.github.com/users/nikita-tkachenko-datadog/events{/privacy}", + "followers_url": "https://api.github.com/users/nikita-tkachenko-datadog/followers", + "following_url": "https://api.github.com/users/nikita-tkachenko-datadog/following{/other_user}", + "gists_url": "https://api.github.com/users/nikita-tkachenko-datadog/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikita-tkachenko-datadog", + "id": 121111529, + "login": "nikita-tkachenko-datadog", + "node_id": "U_kgDOBzgD6Q", + "organizations_url": "https://api.github.com/users/nikita-tkachenko-datadog/orgs", + "received_events_url": "https://api.github.com/users/nikita-tkachenko-datadog/received_events", + "repos_url": "https://api.github.com/users/nikita-tkachenko-datadog/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikita-tkachenko-datadog/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikita-tkachenko-datadog/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikita-tkachenko-datadog" + }, + "private": true, + "pulls_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/pulls{/number}", + "pushed_at": "2024-09-11T15:12:25Z", + "releases_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/releases{/id}", + "size": 90, + "ssh_url": "git@github.com:nikita-tkachenko-datadog/ci-test-project.git", + "stargazers_count": 0, + "stargazers_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/stargazers", + "statuses_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/statuses/{sha}", + "subscribers_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/subscribers", + "subscription_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/subscription", + "svn_url": "https://github.com/nikita-tkachenko-datadog/ci-test-project", + "tags_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/tags", + "teams_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/teams", + "topics": [], + "trees_url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project/git/trees{/sha}", + "updated_at": "2024-09-11T13:41:11Z", + "url": "https://api.github.com/repos/nikita-tkachenko-datadog/ci-test-project", + "visibility": "private", + "watchers": 0, + "watchers_count": 0, + "web_commit_signoff_required": false + }, + "sender": { + "avatar_url": "https://avatars.githubusercontent.com/u/121111529?v=4", + "events_url": "https://api.github.com/users/nikita-tkachenko-datadog/events{/privacy}", + "followers_url": "https://api.github.com/users/nikita-tkachenko-datadog/followers", + "following_url": "https://api.github.com/users/nikita-tkachenko-datadog/following{/other_user}", + "gists_url": "https://api.github.com/users/nikita-tkachenko-datadog/gists{/gist_id}", + "gravatar_id": "", + "html_url": "https://github.com/nikita-tkachenko-datadog", + "id": 121111529, + "login": "nikita-tkachenko-datadog", + "node_id": "U_kgDOBzgD6Q", + "organizations_url": "https://api.github.com/users/nikita-tkachenko-datadog/orgs", + "received_events_url": "https://api.github.com/users/nikita-tkachenko-datadog/received_events", + "repos_url": "https://api.github.com/users/nikita-tkachenko-datadog/repos", + "site_admin": false, + "starred_url": "https://api.github.com/users/nikita-tkachenko-datadog/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/nikita-tkachenko-datadog/subscriptions", + "type": "User", + "url": "https://api.github.com/users/nikita-tkachenko-datadog" + } +} From 8f1e767217fff5d11286ebb523836161b3d0a51a Mon Sep 17 00:00:00 2001 From: Nikita Tkachenko <121111529+nikita-tkachenko-datadog@users.noreply.github.com> Date: Fri, 13 Sep 2024 10:21:57 +0200 Subject: [PATCH 15/21] Fix tracing skipped suites in MUnit 1.0.1 (#7605) --- .../junit-4.10/munit-junit-4/build.gradle | 7 ++--- .../junit4/MUnitTracingListener.java | 27 ++++++++++++++++--- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/build.gradle b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/build.gradle index 8fed461a658..e3cda16d277 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/build.gradle +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/build.gradle @@ -5,7 +5,7 @@ muzzle { pass { group = 'org.scalameta' module = 'munit_2.13' - versions = '[0.7.28,1.0.0]' + versions = '[0.7.28,)' } } @@ -28,10 +28,7 @@ dependencies { testImplementation group: 'org.scala-lang', name: 'scala-library', version: '2.13.10' testImplementation group: 'org.scalameta', name: 'munit_2.13', version: '0.7.28' - // latest version as of august 2024 is 1.0.1, but that version changes which notifications are sent when a test is skipped, - // making the tests fail. See https://github.com/scalameta/munit/issues/813 and https://github.com/DataDog/dd-trace-java/pull/7502/commits/ecda25e - // TODO replace the fixed version with '+' once the github issue is resolved OR the code/tests are updated to accept the new behavior. - latestDepTestImplementation group: 'org.scalameta', name: 'munit_2.13', version: '1.0.0' + latestDepTestImplementation group: 'org.scalameta', name: 'munit_2.13', version: '+' } compileTestGroovy { diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/main/java/datadog/trace/instrumentation/junit4/MUnitTracingListener.java b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/main/java/datadog/trace/instrumentation/junit4/MUnitTracingListener.java index 6c267df687f..8ea55709841 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/main/java/datadog/trace/instrumentation/junit4/MUnitTracingListener.java +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/main/java/datadog/trace/instrumentation/junit4/MUnitTracingListener.java @@ -9,6 +9,7 @@ import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.bootstrap.instrumentation.api.AgentTracer; import datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes; +import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString; import datadog.trace.util.Strings; import java.lang.annotation.Annotation; import java.util.ArrayList; @@ -149,7 +150,7 @@ public void testIgnored(final Description description) { if (Strings.isNotBlank(testName)) { TestDescriptor testDescriptor = MUnitUtils.toTestDescriptor(description); - if (!isTestInProgress()) { + if (!isSpanInProgress(InternalSpanTypes.TEST)) { // earlier versions of MUnit (e.g. 0.7.28) trigger "testStarted" event for ignored tests, // while newer versions don't TestSuiteDescriptor suiteDescriptor = MUnitUtils.toSuiteDescriptor(description); @@ -173,21 +174,41 @@ public void testIgnored(final Description description) { } else if (testClass != null) { TestSuiteDescriptor suiteDescriptor = MUnitUtils.toSuiteDescriptor(description); + + boolean suiteStarted = isSpanInProgress(InternalSpanTypes.TEST_SUITE_END); + if (!suiteStarted) { + // there is a bug in MUnit 1.0.1+: start/finish events are not fired for skipped suites + List categories = getCategories(description); + TestEventsHandlerHolder.TEST_EVENTS_HANDLER.onTestSuiteStart( + suiteDescriptor, + testSuiteName, + FRAMEWORK_NAME, + FRAMEWORK_VERSION, + testClass, + categories, + false, + TestFrameworkInstrumentation.MUNIT); + } + TestEventsHandlerHolder.TEST_EVENTS_HANDLER.onTestSuiteSkip(suiteDescriptor, null); for (Description child : description.getChildren()) { testCaseIgnored(child); } + + if (!suiteStarted) { + TestEventsHandlerHolder.TEST_EVENTS_HANDLER.onTestSuiteFinish(suiteDescriptor); + } } } - private boolean isTestInProgress() { + private static boolean isSpanInProgress(UTF8BytesString type) { final AgentScope scope = AgentTracer.activeScope(); if (scope == null) { return false; } AgentSpan scopeSpan = scope.span(); String spanType = scopeSpan.getSpanType(); - return spanType != null && spanType.contentEquals(InternalSpanTypes.TEST); + return spanType != null && spanType.contentEquals(type); } private void testCaseIgnored(final Description description) { From e11c39e1b481d859bae78671f8d64273e806992e Mon Sep 17 00:00:00 2001 From: Bruce Bujon Date: Fri, 13 Sep 2024 10:47:01 +0200 Subject: [PATCH 16/21] feat(jdbc): Clean up logic warnings (#7617) --- .../jdbc/JDBCConnectionUrlParser.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java index f9352c13eaa..1eccf03416a 100644 --- a/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java +++ b/dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/jdbc/JDBCConnectionUrlParser.java @@ -1,6 +1,7 @@ package datadog.trace.bootstrap.instrumentation.jdbc; import static datadog.trace.bootstrap.instrumentation.jdbc.DBInfo.DEFAULT; +import static java.lang.Math.max; import datadog.trace.api.Pair; import datadog.trace.api.cache.DDCache; @@ -201,7 +202,7 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { hostEndLoc = portLoc; try { builder.port(Integer.parseInt(jdbcUrl.substring(portLoc + 1, dbLoc))); - } catch (final NumberFormatException e) { + } catch (final NumberFormatException ignored) { } } else { hostEndLoc = dbLoc; @@ -224,10 +225,11 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { } final int hostEndLoc; final int clusterSepLoc = jdbcUrl.indexOf(','); - final int ipv6End = jdbcUrl.startsWith("[") ? jdbcUrl.indexOf(']') : -1; - int portLoc = jdbcUrl.indexOf(':', Math.max(0, ipv6End)); - portLoc = clusterSepLoc < portLoc ? -1 : portLoc; - final int dbLoc = jdbcUrl.indexOf('/', Math.max(portLoc, clusterSepLoc)); + final int ipv6End = + !jdbcUrl.isEmpty() && jdbcUrl.charAt(0) == '[' ? jdbcUrl.indexOf(']') : -1; + int portLoc = jdbcUrl.indexOf(':', max(0, ipv6End)); + portLoc = -1 < clusterSepLoc && clusterSepLoc < portLoc ? -1 : portLoc; + final int dbLoc = jdbcUrl.indexOf('/', max(portLoc, clusterSepLoc)); final int paramLoc = jdbcUrl.indexOf('?', dbLoc); @@ -247,7 +249,7 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { final int portEndLoc = clusterSepLoc > 0 ? clusterSepLoc : dbLoc; try { builder.port(Integer.parseInt(jdbcUrl.substring(portLoc + 1, portEndLoc))); - } catch (final NumberFormatException e) { + } catch (final NumberFormatException ignored) { } } else { hostEndLoc = clusterSepLoc > 0 ? clusterSepLoc : dbLoc; @@ -390,7 +392,7 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { Integer parsedPort = null; try { parsedPort = Integer.parseInt(portOrInstance); - } catch (final NumberFormatException e) { + } catch (final NumberFormatException ignored) { } if (parsedPort == null) { port = null; @@ -566,7 +568,7 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { @Override DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { - String instance = null; + String instance; final DBInfo dbInfo = builder.build(); if (dbInfo.getUser() == null) { builder.user(DEFAULT_USER); @@ -680,9 +682,8 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { } } else { builder.subtype("directory"); - final String urlInstance = details; - if (!urlInstance.isEmpty()) { - instance = urlInstance; + if (!details.isEmpty()) { + instance = details; } } @@ -695,7 +696,6 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { /** http://jtds.sourceforge.net/faq.html#urlFormat */ JTDS("jtds") { - private static final String DEFAULT_HOST = "localhost"; private static final int DEFAULT_SQL_SERVER_PORT = 1433; private static final int DEFAULT_SYBASE_PORT = 7100; @@ -741,7 +741,7 @@ DBInfo.Builder doParse(final String jdbcUrl, final DBInfo.Builder builder) { hostEndLoc = portLoc; try { builder.port(Integer.parseInt(details.substring(portLoc + 1, dbLoc))); - } catch (final NumberFormatException e) { + } catch (final NumberFormatException ignored) { } } else if (dbLoc > 0) { hostEndLoc = dbLoc; From d2ff62413254faf70fedbc524c8f5eb76348dabb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20Vidal=20Dom=C3=ADnguez?= <60353145+Mariovido@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:30:10 +0200 Subject: [PATCH 17/21] Fix freemarker test with newer versions (#7616) --- .../freemarker24/ObjectWrapperInstrumentationTest.groovy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/src/test/groovy/datadog/trace/instrumentation/freemarker24/ObjectWrapperInstrumentationTest.groovy b/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/src/test/groovy/datadog/trace/instrumentation/freemarker24/ObjectWrapperInstrumentationTest.groovy index dfc3cbefe4d..f1db1a26a19 100644 --- a/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/src/test/groovy/datadog/trace/instrumentation/freemarker24/ObjectWrapperInstrumentationTest.groovy +++ b/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/src/test/groovy/datadog/trace/instrumentation/freemarker24/ObjectWrapperInstrumentationTest.groovy @@ -6,7 +6,6 @@ import datadog.trace.api.iast.InstrumentationBridge import datadog.trace.api.iast.propagation.PropagationModule import datadog.trace.bootstrap.instrumentation.api.AgentTracer import datadog.trace.bootstrap.instrumentation.api.TagContext -import freemarker.template.Configuration import freemarker.template.DefaultObjectWrapper class ObjectWrapperInstrumentationTest extends AgentTestRunner { @@ -32,7 +31,7 @@ class ObjectWrapperInstrumentationTest extends AgentTestRunner { given: final module = Mock(PropagationModule) InstrumentationBridge.registerIastModule(module) - final objectWrapper = new DefaultObjectWrapper(Configuration.VERSION_2_3_32) + final objectWrapper = new DefaultObjectWrapper() final String wrapped = "test" when: From 6055e41f1f2c1a3e304cb3690793213667c920eb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 13 Sep 2024 15:27:39 +0200 Subject: [PATCH 18/21] Update Gradle dependencies (#7612) * chore: Update Gradle dependencies * chore: Update Gradle dependencies * chore: Update Gradle dependencies * chore: Update Gradle dependencies * chore: Update Gradle dependencies --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Andrea Marziali --- .../armeria-grpc/gradle.lockfile | 8 +- .../armeria-jetty/gradle.lockfile | 32 +-- .../aws-java-sdk-1.11.0/gradle.lockfile | 20 +- .../aws-java-sdk-2.2/gradle.lockfile | 60 ++--- .../aws-java-sns-1.0/gradle.lockfile | 8 +- .../aws-java-sns-2.0/gradle.lockfile | 52 ++--- .../aws-java-sqs-1.0/gradle.lockfile | 6 +- .../gradle.lockfile | 8 +- .../freemarker-2.3.24/gradle.lockfile | 2 +- .../freemarker-2.3.9/gradle.lockfile | 155 +++++++++++++ .../freemarker/gradle.lockfile | 153 ++++++++++++ .../google-pubsub/gradle.lockfile | 30 +-- .../graphql-java-20.0/gradle.lockfile | 2 +- .../instrumentation/jetty-11/gradle.lockfile | 12 +- .../instrumentation/jetty-12/gradle.lockfile | 26 +-- .../instrumentation/jetty-9/gradle.lockfile | 28 +-- .../jetty-client-10.0/gradle.lockfile | 20 +- .../jetty-client-12.0/gradle.lockfile | 10 +- .../jetty-client-9.1/gradle.lockfile | 10 +- .../jetty-common/gradle.lockfile | 8 +- .../jetty-util/gradle.lockfile | 2 +- .../instrumentation/jsp-2.3/gradle.lockfile | 8 +- .../log4j2/logs-intake/gradle.lockfile | 4 +- .../maven-3.2.1/gradle.lockfile | 2 + .../http-server-netty-4.0/gradle.lockfile | 48 ++-- .../mongo/driver-4.0/gradle.lockfile | 10 +- .../netty-buffer-4/gradle.lockfile | 4 +- .../netty-concurrent-4/gradle.lockfile | 2 +- .../netty-promise-4/gradle.lockfile | 2 +- .../opentelemetry-1.4/gradle.lockfile | 4 +- .../pekko-concurrent/gradle.lockfile | 4 +- .../pekko-http-1.0/gradle.lockfile | 12 +- .../reactor-core-3.1/gradle.lockfile | 16 +- .../instrumentation/redisson/gradle.lockfile | 153 ++++++++++++ .../redisson/redisson-2.0.0/gradle.lockfile | 195 ++++++++++++++++ .../redisson/redisson-2.3.0/gradle.lockfile | 207 +++++++++++++++++ .../redisson/redisson-3.10.3/gradle.lockfile | 218 ++++++++++++++++++ .../scala-concurrent/gradle.lockfile | 2 +- .../scala-promise-2.10/gradle.lockfile | 2 +- .../servicetalk/gradle.lockfile | 2 +- .../servlet/request-3/gradle.lockfile | 14 +- .../spring-messaging-4/gradle.lockfile | 8 +- .../spring-scheduling-3.1/gradle.lockfile | 16 +- .../spring-webflux-6/gradle.lockfile | 24 +- .../tomcat-5.5/gradle.lockfile | 8 +- .../instrumentation/twilio/gradle.lockfile | 2 +- .../undertow/undertow-2.2/gradle.lockfile | 4 +- .../vertx-redis-client-3.9/gradle.lockfile | 12 +- dd-smoke-tests/log-injection/gradle.lockfile | 18 +- .../springboot-freemarker/gradle.lockfile | 178 ++++++++++++++ 50 files changed, 1545 insertions(+), 286 deletions(-) create mode 100644 dd-java-agent/instrumentation/freemarker/freemarker-2.3.9/gradle.lockfile create mode 100644 dd-java-agent/instrumentation/freemarker/gradle.lockfile create mode 100644 dd-java-agent/instrumentation/redisson/gradle.lockfile create mode 100644 dd-java-agent/instrumentation/redisson/redisson-2.0.0/gradle.lockfile create mode 100644 dd-java-agent/instrumentation/redisson/redisson-2.3.0/gradle.lockfile create mode 100644 dd-java-agent/instrumentation/redisson/redisson-3.10.3/gradle.lockfile create mode 100644 dd-smoke-tests/springboot-freemarker/gradle.lockfile diff --git a/dd-java-agent/instrumentation/armeria-grpc/gradle.lockfile b/dd-java-agent/instrumentation/armeria-grpc/gradle.lockfile index a8884bf25d8..88289401b9a 100644 --- a/dd-java-agent/instrumentation/armeria-grpc/gradle.lockfile +++ b/dd-java-agent/instrumentation/armeria-grpc/gradle.lockfile @@ -77,15 +77,15 @@ com.google.re2j:re2j:1.2=compileClasspath com.google.re2j:re2j:1.7=compileProtoPath,instrumentPluginClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath com.linecorp.armeria:armeria-grpc-protocol:0.84.0=compileClasspath,compileProtoPath com.linecorp.armeria:armeria-grpc-protocol:1.0.0=testCompileProtoPath,testRuntimeClasspath -com.linecorp.armeria:armeria-grpc-protocol:1.30.0=latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath +com.linecorp.armeria:armeria-grpc-protocol:1.30.1=latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath com.linecorp.armeria:armeria-grpc:0.84.0=compileClasspath,compileProtoPath com.linecorp.armeria:armeria-grpc:1.0.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.linecorp.armeria:armeria-grpc:1.30.0=latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath +com.linecorp.armeria:armeria-grpc:1.30.1=latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath com.linecorp.armeria:armeria-junit4:1.0.0=latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.linecorp.armeria:armeria-protobuf:1.30.0=latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath +com.linecorp.armeria:armeria-protobuf:1.30.1=latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath com.linecorp.armeria:armeria:0.84.0=compileClasspath,compileProtoPath com.linecorp.armeria:armeria:1.0.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.linecorp.armeria:armeria:1.30.0=latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath +com.linecorp.armeria:armeria:1.30.1=latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath com.squareup.moshi:moshi:1.11.0=compileClasspath,compileProtoPath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath com.squareup.okhttp3:okhttp:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestCompileProtoPath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestCompileProtoPath,latestDepTestRuntimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/armeria-jetty/gradle.lockfile b/dd-java-agent/instrumentation/armeria-jetty/gradle.lockfile index 191f822a714..aed6bed77a3 100644 --- a/dd-java-agent/instrumentation/armeria-jetty/gradle.lockfile +++ b/dd-java-agent/instrumentation/armeria-jetty/gradle.lockfile @@ -54,11 +54,11 @@ com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=anno com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,jetty11LatestDepTestAnnotationProcessor,jetty11TestAnnotationProcessor,jetty9LatestDepTestAnnotationProcessor,jetty9TestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor com.google.re2j:re2j:1.7=instrumentPluginClasspath,jetty11LatestDepTestRuntimeClasspath,jetty11TestRuntimeClasspath,jetty9LatestDepTestRuntimeClasspath,jetty9TestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath com.linecorp.armeria:armeria-jetty11:1.24.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -com.linecorp.armeria:armeria-jetty11:1.30.0=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath +com.linecorp.armeria:armeria-jetty11:1.30.1=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath com.linecorp.armeria:armeria-jetty9:1.24.0=compileClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -com.linecorp.armeria:armeria-jetty9:1.30.0=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +com.linecorp.armeria:armeria-jetty9:1.30.1=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath com.linecorp.armeria:armeria:1.24.0=compileClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -com.linecorp.armeria:armeria:1.30.0=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +com.linecorp.armeria:armeria:1.30.1=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath com.squareup.okhttp3:logging-interceptor:3.12.12=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.squareup.okhttp3:okhttp:3.12.12=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath @@ -181,31 +181,31 @@ org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath org.eclipse.jetty:jetty-http:11.0.15=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-http:11.0.23=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:11.0.24=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-http:9.4.51.v20230217=compileClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -org.eclipse.jetty:jetty-http:9.4.55.v20240627=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:9.4.56.v20240826=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:11.0.15=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-io:11.0.23=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:11.0.24=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:9.4.51.v20230217=compileClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -org.eclipse.jetty:jetty-io:9.4.55.v20240627=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-security:11.0.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-security:11.0.23=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-security:11.0.24=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-security:9.4.48.v20220622=jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -org.eclipse.jetty:jetty-security:9.4.55.v20240627=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-security:9.4.56.v20240826=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:11.0.15=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-server:11.0.23=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-server:11.0.24=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:9.4.51.v20230217=compileClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -org.eclipse.jetty:jetty-server:9.4.55.v20240627=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-servlet:11.0.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-servlet:11.0.23=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-servlet:11.0.24=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-servlet:9.4.48.v20220622=jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -org.eclipse.jetty:jetty-servlet:9.4.55.v20240627=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-servlet:9.4.56.v20240826=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util-ajax:9.4.48.v20220622=jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -org.eclipse.jetty:jetty-util-ajax:9.4.55.v20240627=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util-ajax:9.4.56.v20240826=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:11.0.15=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-util:11.0.23=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:11.0.24=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:9.4.51.v20230217=compileClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.55.v20240627=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=jetty11LatestDepTestCompileClasspath,jetty11LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,jetty9LatestDepTestCompileClasspath,jetty9LatestDepTestRuntimeClasspath,jetty9TestCompileClasspath,jetty9TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/gradle.lockfile b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/gradle.lockfile index f6b2da671f5..c0d329f5dd9 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/gradle.lockfile @@ -9,39 +9,39 @@ com.amazonaws:aws-java-sdk-core:1.11.0=compileClasspath,test_before_1_11_106Comp com.amazonaws:aws-java-sdk-core:1.11.106=testCompileClasspath,testRuntimeClasspath com.amazonaws:aws-java-sdk-core:1.12.366=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath com.amazonaws:aws-java-sdk-core:1.12.643=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -com.amazonaws:aws-java-sdk-core:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +com.amazonaws:aws-java-sdk-core:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath com.amazonaws:aws-java-sdk-dynamodb:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-dynamodb:1.11.106=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-dynamodb:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-dynamodb:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-ec2:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-ec2:1.11.106=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-ec2:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-ec2:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-kinesis:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-kinesis:1.11.106=testCompileClasspath,testRuntimeClasspath com.amazonaws:aws-java-sdk-kinesis:1.12.366=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath com.amazonaws:aws-java-sdk-kinesis:1.12.643=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -com.amazonaws:aws-java-sdk-kinesis:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +com.amazonaws:aws-java-sdk-kinesis:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath com.amazonaws:aws-java-sdk-kms:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-kms:1.11.106=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-kms:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-kms:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-rds:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-rds:1.11.106=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-rds:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-rds:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-s3:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-s3:1.11.106=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-s3:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-s3:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-sns:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-sns:1.11.106=kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.amazonaws:aws-java-sdk-sns:1.12.366=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath -com.amazonaws:aws-java-sdk-sns:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +com.amazonaws:aws-java-sdk-sns:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath com.amazonaws:aws-java-sdk-sqs:1.11.0=test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.amazonaws:aws-java-sdk-sqs:1.11.106=kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.amazonaws:aws-java-sdk-sqs:1.12.366=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath -com.amazonaws:aws-java-sdk-sqs:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +com.amazonaws:aws-java-sdk-sqs:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath com.amazonaws:jmespath-java:1.11.106=testCompileClasspath,testRuntimeClasspath com.amazonaws:jmespath-java:1.12.366=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath com.amazonaws:jmespath-java:1.12.643=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -com.amazonaws:jmespath-java:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +com.amazonaws:jmespath-java:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath com.beust:jcommander:1.78=dsmForkedTestRuntimeClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestRuntimeClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestRuntimeClasspath,testRuntimeClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,instrumentPluginClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,instrumentPluginClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,test_before_1_11_106CompileClasspath,test_before_1_11_106ForkedTestCompileClasspath,test_before_1_11_106ForkedTestRuntimeClasspath,test_before_1_11_106RuntimeClasspath diff --git a/dd-java-agent/instrumentation/aws-java-sdk-2.2/gradle.lockfile b/dd-java-agent/instrumentation/aws-java-sdk-2.2/gradle.lockfile index f85a2a7bef8..2e1b71a9769 100644 --- a/dd-java-agent/instrumentation/aws-java-sdk-2.2/gradle.lockfile +++ b/dd-java-agent/instrumentation/aws-java-sdk-2.2/gradle.lockfile @@ -238,43 +238,43 @@ software.amazon.awssdk:annotations:2.18.40=dsmForkedTestCompileClasspath,dsmFork software.amazon.awssdk:annotations:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:annotations:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:annotations:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:annotations:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:annotations:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:apache-client:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:apache-client:2.2.0=testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:apache-client:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:apache-client:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:apache-client:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:apache-client:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:arns:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:auth:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:auth:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:auth:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:auth:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:auth:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:auth:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:aws-cbor-protocol:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:aws-cbor-protocol:2.2.0=testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:aws-cbor-protocol:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:aws-cbor-protocol:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:aws-cbor-protocol:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:aws-cbor-protocol:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:aws-core:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:aws-core:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:aws-core:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:aws-core:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:aws-core:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:aws-core:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:aws-json-protocol:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:aws-json-protocol:2.2.0=testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:aws-json-protocol:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:aws-json-protocol:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:aws-json-protocol:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:aws-json-protocol:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:aws-query-protocol:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath software.amazon.awssdk:aws-query-protocol:2.2.0=kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:aws-query-protocol:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -software.amazon.awssdk:aws-query-protocol:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:aws-query-protocol:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:aws-xml-protocol:2.2.0=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:aws-xml-protocol:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:checksums-spi:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:checksums-spi:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:checksums-spi:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:checksums:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:checksums:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:checksums:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:crt-core:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:dynamodb:2.2.0=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:dynamodb:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath @@ -283,84 +283,84 @@ software.amazon.awssdk:ec2:2.20.33=latestDepTestCompileClasspath,latestDepTestRu software.amazon.awssdk:endpoints-spi:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:endpoints-spi:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:endpoints-spi:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:endpoints-spi:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath -software.amazon.awssdk:http-auth-aws-eventstream:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:endpoints-spi:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:http-auth-aws-eventstream:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:http-auth-aws:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:http-auth-aws:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:http-auth-aws:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:http-auth-spi:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:http-auth-spi:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:http-auth-spi:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:http-auth:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:http-auth:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:http-auth:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:http-client-spi:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:http-client-spi:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:http-client-spi:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:http-client-spi:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:http-client-spi:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:http-client-spi:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:identity-spi:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:identity-spi:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:identity-spi:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:json-utils:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:json-utils:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:json-utils:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:json-utils:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:json-utils:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:kinesis:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:kinesis:2.2.0=testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:kinesis:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:kinesis:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:kinesis:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:kinesis:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:metrics-spi:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:metrics-spi:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:metrics-spi:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:metrics-spi:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:metrics-spi:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:netty-nio-client:2.18.40=dsmForkedTestRuntimeClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:netty-nio-client:2.2.0=testRuntimeClasspath software.amazon.awssdk:netty-nio-client:2.20.33=latestDepTestRuntimeClasspath software.amazon.awssdk:netty-nio-client:2.23.8=latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:netty-nio-client:2.27.17=latestDsmForkedTestRuntimeClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:netty-nio-client:2.27.24=latestDsmForkedTestRuntimeClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:profiles:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:profiles:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:profiles:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:profiles:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:profiles:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:profiles:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:protocol-core:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:protocol-core:2.2.0=testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:protocol-core:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:protocol-core:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:protocol-core:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:protocol-core:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:rds:2.2.0=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:rds:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:regions:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:regions:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:regions:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:regions:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:regions:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath -software.amazon.awssdk:retries-spi:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath -software.amazon.awssdk:retries:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:regions:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:retries-spi:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:retries:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:s3:2.2.0=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:s3:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:sdk-core:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:sdk-core:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:sdk-core:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:sdk-core:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:sdk-core:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:sdk-core:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:sns:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath software.amazon.awssdk:sns:2.2.0=kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:sns:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -software.amazon.awssdk:sns:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:sns:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:sqs:2.2.0=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:sqs:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:third-party-jackson-core:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:third-party-jackson-core:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:third-party-jackson-core:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:third-party-jackson-core:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:third-party-jackson-core:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:third-party-jackson-dataformat-cbor:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:third-party-jackson-dataformat-cbor:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:third-party-jackson-dataformat-cbor:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:third-party-jackson-dataformat-cbor:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:third-party-jackson-dataformat-cbor:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.awssdk:utils:2.18.40=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath software.amazon.awssdk:utils:2.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:utils:2.20.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:utils:2.23.8=latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath -software.amazon.awssdk:utils:2.27.17=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath +software.amazon.awssdk:utils:2.27.24=latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath software.amazon.eventstream:eventstream:1.0.1=dsmForkedTestCompileClasspath,dsmForkedTestRuntimeClasspath,dsmTestCompileClasspath,dsmTestRuntimeClasspath,kinesisDsmForkedTestCompileClasspath,kinesisDsmForkedTestRuntimeClasspath,kinesisDsmTestCompileClasspath,kinesisDsmTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestDsmForkedTestCompileClasspath,latestDsmForkedTestRuntimeClasspath,latestDsmTestCompileClasspath,latestDsmTestRuntimeClasspath,latestKinesisDsmForkedTestCompileClasspath,latestKinesisDsmForkedTestRuntimeClasspath,latestKinesisDsmTestCompileClasspath,latestKinesisDsmTestRuntimeClasspath software.amazon:flow:1.7=compileClasspath,testCompileClasspath,testRuntimeClasspath xml-apis:xml-apis:1.4.01=spotbugs diff --git a/dd-java-agent/instrumentation/aws-java-sns-1.0/gradle.lockfile b/dd-java-agent/instrumentation/aws-java-sns-1.0/gradle.lockfile index 023f0dd2276..ca98a27f537 100644 --- a/dd-java-agent/instrumentation/aws-java-sns-1.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/aws-java-sns-1.0/gradle.lockfile @@ -6,13 +6,13 @@ cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepFor ch.qos.logback:logback-classic:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath ch.qos.logback:logback-core:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.amazonaws:aws-java-sdk-core:1.12.710=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-core:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-core:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-sns:1.12.710=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-sns:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-sns:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-sqs:1.12.710=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-sqs:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-sqs:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:jmespath-java:1.12.710=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.amazonaws:jmespath-java:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:jmespath-java:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.beust:jcommander:1.78=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/aws-java-sns-2.0/gradle.lockfile b/dd-java-agent/instrumentation/aws-java-sns-2.0/gradle.lockfile index e1185a13e1d..2c836388699 100644 --- a/dd-java-agent/instrumentation/aws-java-sns-2.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/aws-java-sns-2.0/gradle.lockfile @@ -186,56 +186,56 @@ org.testng:testng:7.5=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeCl org.webjars:jquery:3.5.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath org.xmlresolver:xmlresolver:4.4.3=spotbugs software.amazon.awssdk:annotations:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:annotations:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:annotations:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:apache-client:2.25.40=testRuntimeClasspath -software.amazon.awssdk:apache-client:2.27.17=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:apache-client:2.27.24=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:auth:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:auth:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:auth:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:aws-core:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:aws-core:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:aws-core:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:aws-json-protocol:2.25.40=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:aws-query-protocol:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:aws-query-protocol:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:aws-query-protocol:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:checksums-spi:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:checksums-spi:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:checksums-spi:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:checksums:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:checksums:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:checksums:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:endpoints-spi:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:endpoints-spi:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -software.amazon.awssdk:http-auth-aws-eventstream:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:endpoints-spi:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:http-auth-aws-eventstream:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:http-auth-aws:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:http-auth-aws:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:http-auth-aws:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:http-auth-spi:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:http-auth-spi:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:http-auth-spi:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:http-auth:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:http-auth:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:http-auth:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:http-client-spi:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:http-client-spi:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:http-client-spi:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:identity-spi:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:identity-spi:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:identity-spi:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:json-utils:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:json-utils:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:json-utils:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:metrics-spi:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:metrics-spi:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:metrics-spi:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:netty-nio-client:2.25.40=testRuntimeClasspath -software.amazon.awssdk:netty-nio-client:2.27.17=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:netty-nio-client:2.27.24=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:profiles:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:profiles:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:profiles:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:protocol-core:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:protocol-core:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:protocol-core:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:regions:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:regions:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -software.amazon.awssdk:retries-spi:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -software.amazon.awssdk:retries:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:regions:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:retries-spi:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:retries:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:sdk-core:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:sdk-core:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:sdk-core:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:sns:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:sns:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:sns:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:sqs:2.25.40=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath software.amazon.awssdk:third-party-jackson-core:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:third-party-jackson-core:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:third-party-jackson-core:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.awssdk:utils:2.25.40=compileClasspath,testCompileClasspath,testRuntimeClasspath -software.amazon.awssdk:utils:2.27.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +software.amazon.awssdk:utils:2.27.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath software.amazon.eventstream:eventstream:1.0.1=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath xml-apis:xml-apis:1.4.01=spotbugs empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/aws-java-sqs-1.0/gradle.lockfile b/dd-java-agent/instrumentation/aws-java-sqs-1.0/gradle.lockfile index d4b482e6ec1..ec1331702bd 100644 --- a/dd-java-agent/instrumentation/aws-java-sqs-1.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/aws-java-sqs-1.0/gradle.lockfile @@ -10,12 +10,12 @@ com.amazonaws:amazon-sqs-java-messaging-lib:1.0.8=testCompileClasspath,testRunti com.amazonaws:amazon-sqs-java-messaging-lib:1.1.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-core:1.11.0=compileClasspath com.amazonaws:aws-java-sdk-core:1.11.106=testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-core:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-core:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:aws-java-sdk-sqs:1.11.0=compileClasspath com.amazonaws:aws-java-sdk-sqs:1.11.106=testCompileClasspath,testRuntimeClasspath -com.amazonaws:aws-java-sdk-sqs:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:aws-java-sdk-sqs:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.amazonaws:jmespath-java:1.11.106=testCompileClasspath,testRuntimeClasspath -com.amazonaws:jmespath-java:1.12.770=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.amazonaws:jmespath-java:1.12.772=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.beust:jcommander:1.78=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/enable-wallclock-profiling/gradle.lockfile b/dd-java-agent/instrumentation/enable-wallclock-profiling/gradle.lockfile index c77f90ce6fd..962f991b048 100644 --- a/dd-java-agent/instrumentation/enable-wallclock-profiling/gradle.lockfile +++ b/dd-java-agent/instrumentation/enable-wallclock-profiling/gradle.lockfile @@ -49,7 +49,7 @@ de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath io.netty:netty-all:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-buffer:4.1.108.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-buffer:4.1.112.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-buffer:4.1.113.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec-dns:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-codec-haproxy:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-codec-http2:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath @@ -63,7 +63,7 @@ io.netty:netty-codec-stomp:4.1.108.Final=latestDep4TestCompileClasspath,latestDe io.netty:netty-codec-xml:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-codec:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-common:4.1.108.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-common:4.1.112.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-common:4.1.113.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-handler-proxy:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-handler-ssl-ocsp:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-handler:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath @@ -71,7 +71,7 @@ io.netty:netty-resolver-dns-classes-macos:4.1.108.Final=latestDep4TestCompileCla io.netty:netty-resolver-dns-native-macos:4.1.108.Final=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath io.netty:netty-resolver-dns:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-resolver:4.1.108.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-resolver:4.1.112.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-resolver:4.1.113.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-transport-classes-epoll:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-transport-classes-kqueue:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-transport-native-epoll:4.1.108.Final=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath @@ -81,7 +81,7 @@ io.netty:netty-transport-rxtx:4.1.108.Final=latestDep4TestCompileClasspath,lates io.netty:netty-transport-sctp:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-transport-udt:4.1.108.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.netty:netty-transport:4.1.108.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-transport:4.1.112.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-transport:4.1.113.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.sqreen:libsqreen:11.0.0=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs diff --git a/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/gradle.lockfile b/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/gradle.lockfile index 9fc3632f26b..34fc5970fc1 100644 --- a/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/gradle.lockfile +++ b/dd-java-agent/instrumentation/freemarker/freemarker-2.3.24/gradle.lockfile @@ -111,7 +111,7 @@ org.eclipse.jetty:jetty-http:9.2.30.v20200428=latestDepTestCompileClasspath,late org.eclipse.jetty:jetty-io:9.2.30.v20200428=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-server:9.2.30.v20200428=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-util:9.2.30.v20200428=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.freemarker:freemarker:2.3.32=compileClasspath,csiCompileClasspath,testCompileClasspath,testRuntimeClasspath +org.freemarker:freemarker:2.3.24-incubating=compileClasspath,csiCompileClasspath,testCompileClasspath,testRuntimeClasspath org.freemarker:freemarker:2.3.33=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/freemarker/freemarker-2.3.9/gradle.lockfile b/dd-java-agent/instrumentation/freemarker/freemarker-2.3.9/gradle.lockfile new file mode 100644 index 00000000000..671b4f6b36e --- /dev/null +++ b/dd-java-agent/instrumentation/freemarker/freemarker-2.3.9/gradle.lockfile @@ -0,0 +1,155 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.beust:jcommander:1.78=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.1.7=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,testAnnotationProcessor,testCompileClasspath,version2_3_23TestAnnotationProcessor,version2_3_23TestCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath,version2_3_23TestAnnotationProcessor,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +com.google.guava:guava:20.0=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +commons-codec:commons-codec:1.15=spotbugs +commons-fileupload:commons-fileupload:1.5=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +de.thetaphi:forbiddenapis:3.1=compileClasspath +info.picocli:picocli:4.6.3=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +io.sqreen:libsqreen:11.0.0=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +junit:junit-dep:4.11=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.14.18=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +net.bytebuddy:byte-buddy:1.14.18=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.apache.ant:ant:1.10.12=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath,version2_3_23TestCompileClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,testAnnotationProcessor,version2_3_23TestAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.eclipse.jetty:jetty-io:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.eclipse.jetty:jetty-server:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.eclipse.jetty:jetty-util:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.freemarker:freemarker:2.3.23=version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.freemarker:freemarker:2.3.9=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.hamcrest:hamcrest:2.2=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.2=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.2=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.2=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.2=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.2=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.junit:junit-bom:5.9.1=spotbugs +org.junit:junit-bom:5.9.2=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.objenesis:objenesis:3.3=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.slf4j:jcl-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,version2_3_23TestCompileClasspath +org.slf4j:slf4j-api:1.7.32=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.spockframework:spock-junit4:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath,version2_3_23TestCompileClasspath,version2_3_23TestRuntimeClasspath +org.testng:testng:7.5=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.webjars:jquery:3.5.1=testRuntimeClasspath,version2_3_23TestRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +xml-apis:xml-apis:1.4.01=spotbugs +empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/freemarker/gradle.lockfile b/dd-java-agent/instrumentation/freemarker/gradle.lockfile new file mode 100644 index 00000000000..ad467e7eac8 --- /dev/null +++ b/dd-java-agent/instrumentation/freemarker/gradle.lockfile @@ -0,0 +1,153 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.1.7=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=testRuntimeClasspath +commons-codec:commons-codec:1.15=spotbugs +commons-fileupload:commons-fileupload:1.5=testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.1=compileClasspath +info.picocli:picocli:4.6.3=testRuntimeClasspath +io.sqreen:libsqreen:11.0.0=testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=testRuntimeClasspath +junit:junit-dep:4.11=testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.14.18=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.14.18=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=testRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=testRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=testRuntimeClasspath +org.apache.ant:ant:1.10.12=testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,testAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.2=testRuntimeClasspath +org.junit:junit-bom:5.9.1=spotbugs +org.junit:junit-bom:5.9.2=testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.slf4j:jcl-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath +org.slf4j:slf4j-api:1.7.32=testRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=testRuntimeClasspath +org.webjars:jquery:3.5.1=testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +xml-apis:xml-apis:1.4.01=spotbugs +empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/google-pubsub/gradle.lockfile b/dd-java-agent/instrumentation/google-pubsub/gradle.lockfile index 2a38f2447ad..11b22ea83e0 100644 --- a/dd-java-agent/instrumentation/google-pubsub/gradle.lockfile +++ b/dd-java-agent/instrumentation/google-pubsub/gradle.lockfile @@ -30,22 +30,22 @@ com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs com.github.spotbugs:spotbugs:4.7.3=spotbugs com.github.stefanbirkner:system-rules:1.19.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.google.android:annotations:4.1.1.4=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath -com.google.api.grpc:proto-google-cloud-pubsub-v1:1.114.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.api.grpc:proto-google-cloud-pubsub-v1:1.114.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.api.grpc:proto-google-common-protos:2.43.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.api.grpc:proto-google-common-protos:2.44.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.api.grpc:proto-google-common-protos:2.7.4=compileClasspath,testCompileClasspath,testRuntimeClasspath com.google.api.grpc:proto-google-iam-v1:1.2.6=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.api.grpc:proto-google-iam-v1:1.38.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.api.grpc:proto-google-iam-v1:1.39.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.api:api-common:2.1.4=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.api:api-common:2.35.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.api:api-common:2.36.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.api:gax-grpc:2.12.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.api:gax-grpc:2.52.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.google.api:gax-httpjson:2.52.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.api:gax-grpc:2.53.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.api:gax-httpjson:2.53.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.api:gax:2.12.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.api:gax:2.52.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.google.auth:google-auth-library-credentials:1.24.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.api:gax:2.53.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.auth:google-auth-library-credentials:1.25.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.auth:google-auth-library-credentials:1.5.3=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.auth:google-auth-library-oauth2-http:1.24.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.auth:google-auth-library-oauth2-http:1.25.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.auth:google-auth-library-oauth2-http:1.5.3=compileClasspath,testCompileClasspath,testRuntimeClasspath com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor @@ -53,24 +53,24 @@ com.google.auto.value:auto-value-annotations:1.11.0=latestDepForkedTestCompileCl com.google.auto.value:auto-value-annotations:1.9=compileClasspath,testCompileClasspath,testRuntimeClasspath com.google.auto:auto-common:0.10=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor com.google.cloud:google-cloud-pubsub:1.116.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.cloud:google-cloud-pubsub:1.132.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.cloud:google-cloud-pubsub:1.132.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.code.gson:gson:2.11.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.code.gson:gson:2.9.0=compileClasspath,testCompileClasspath,testRuntimeClasspath com.google.code.gson:gson:2.9.1=spotbugs com.google.errorprone:error_prone_annotations:2.11.0=compileClasspath,testCompileClasspath,testRuntimeClasspath com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.errorprone:error_prone_annotations:2.30.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.31.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.guava:failureaccess:1.0.1=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:failureaccess:1.0.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor com.google.guava:guava:31.0.1-jre=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.guava:guava:33.2.1-jre=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.guava:guava:33.3.0-jre=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.http-client:google-http-client-gson:1.41.4=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.http-client:google-http-client-gson:1.44.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.google.http-client:google-http-client-gson:1.45.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.google.http-client:google-http-client:1.41.4=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.google.http-client:google-http-client:1.44.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath +com.google.http-client:google-http-client:1.45.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor com.google.j2objc:j2objc-annotations:1.3=compileClasspath,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.0.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath @@ -163,7 +163,7 @@ org.bouncycastle:bcpkix-jdk15on:1.67=testRuntimeClasspath org.bouncycastle:bcprov-jdk15on:1.67=testRuntimeClasspath org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor org.checkerframework:checker-qual:3.21.3=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.checkerframework:checker-qual:3.46.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.checkerframework:checker-qual:3.47.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.codehaus.groovy:groovy-all:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-ant:2.5.14=codenarc org.codehaus.groovy:groovy-ant:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/graphql-java/graphql-java-20.0/gradle.lockfile b/dd-java-agent/instrumentation/graphql-java/graphql-java-20.0/gradle.lockfile index 7251d66f3b0..4615f058aaf 100644 --- a/dd-java-agent/instrumentation/graphql-java/graphql-java-20.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/graphql-java/graphql-java-20.0/gradle.lockfile @@ -40,7 +40,7 @@ com.google.re2j:re2j:1.7=graphql20LatestDepForkedTestRuntimeClasspath,graphql20L com.graphql-java:graphql-java:20.0=compileClasspath,testCompileClasspath,testRuntimeClasspath com.graphql-java:graphql-java:20.9=graphql20LatestDepForkedTestCompileClasspath,graphql20LatestDepForkedTestRuntimeClasspath,graphql20LatestDepTestCompileClasspath,graphql20LatestDepTestRuntimeClasspath com.graphql-java:graphql-java:21.5=graphql21LatestDepForkedTestCompileClasspath,graphql21LatestDepForkedTestRuntimeClasspath,graphql21LatestDepTestCompileClasspath,graphql21LatestDepTestRuntimeClasspath -com.graphql-java:graphql-java:22.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.graphql-java:graphql-java:22.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.graphql-java:java-dataloader:3.2.0=compileClasspath,graphql20LatestDepForkedTestCompileClasspath,graphql20LatestDepForkedTestRuntimeClasspath,graphql20LatestDepTestCompileClasspath,graphql20LatestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.graphql-java:java-dataloader:3.2.1=graphql21LatestDepForkedTestCompileClasspath,graphql21LatestDepForkedTestRuntimeClasspath,graphql21LatestDepTestCompileClasspath,graphql21LatestDepTestRuntimeClasspath com.graphql-java:java-dataloader:3.3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-11/gradle.lockfile b/dd-java-agent/instrumentation/jetty-11/gradle.lockfile index dfb0788c5b3..b709da73865 100644 --- a/dd-java-agent/instrumentation/jetty-11/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-11/gradle.lockfile @@ -110,17 +110,17 @@ org.dom4j:dom4j:2.1.3=spotbugs org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.1=main_java11CompileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-http:11.0.0=main_java11CompileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-http:11.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:11.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:11.0.0=main_java11CompileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:11.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:11.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-security:11.0.0=testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-security:11.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-security:11.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:11.0.0=main_java11CompileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:11.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-server:11.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-servlet:11.0.0=testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-servlet:11.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-servlet:11.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:11.0.0=main_java11CompileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:11.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:11.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-12/gradle.lockfile b/dd-java-agent/instrumentation/jetty-12/gradle.lockfile index a7b4e007a65..daa38446a51 100644 --- a/dd-java-agent/instrumentation/jetty-12/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-12/gradle.lockfile @@ -108,33 +108,33 @@ org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,ee10Latest org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.0=ee10TestCompileClasspath,ee10TestRuntimeClasspath -org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.12=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath +org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.13=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath org.eclipse.jetty.ee8:jetty-ee8-nested:12.0.0=ee8TestCompileClasspath,ee8TestRuntimeClasspath -org.eclipse.jetty.ee8:jetty-ee8-nested:12.0.12=ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath +org.eclipse.jetty.ee8:jetty-ee8-nested:12.0.13=ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath org.eclipse.jetty.ee8:jetty-ee8-security:12.0.0=ee8TestCompileClasspath,ee8TestRuntimeClasspath -org.eclipse.jetty.ee8:jetty-ee8-security:12.0.12=ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath +org.eclipse.jetty.ee8:jetty-ee8-security:12.0.13=ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath org.eclipse.jetty.ee8:jetty-ee8-servlet:12.0.0=ee8TestCompileClasspath,ee8TestRuntimeClasspath -org.eclipse.jetty.ee8:jetty-ee8-servlet:12.0.12=ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath +org.eclipse.jetty.ee8:jetty-ee8-servlet:12.0.13=ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath org.eclipse.jetty.ee9:jetty-ee9-nested:12.0.0=ee9TestCompileClasspath,ee9TestRuntimeClasspath -org.eclipse.jetty.ee9:jetty-ee9-nested:12.0.12=ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath +org.eclipse.jetty.ee9:jetty-ee9-nested:12.0.13=ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath org.eclipse.jetty.ee9:jetty-ee9-security:12.0.0=ee9TestCompileClasspath,ee9TestRuntimeClasspath -org.eclipse.jetty.ee9:jetty-ee9-security:12.0.12=ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath +org.eclipse.jetty.ee9:jetty-ee9-security:12.0.13=ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath org.eclipse.jetty.ee9:jetty-ee9-servlet:12.0.0=ee9TestCompileClasspath,ee9TestRuntimeClasspath -org.eclipse.jetty.ee9:jetty-ee9-servlet:12.0.12=ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath +org.eclipse.jetty.ee9:jetty-ee9-servlet:12.0.13=ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2=ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath org.eclipse.jetty.toolchain:jetty-servlet-api:4.0.6=ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath org.eclipse.jetty:jetty-http:12.0.0=ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath,main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-http:12.0.12=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:12.0.13=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:12.0.0=ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath,main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:12.0.12=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:12.0.13=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-security:12.0.0=ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath -org.eclipse.jetty:jetty-security:12.0.12=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-security:12.0.13=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:12.0.0=ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath,main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:12.0.12=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-server:12.0.13=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-session:12.0.0=ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath -org.eclipse.jetty:jetty-session:12.0.12=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-session:12.0.13=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:12.0.0=ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath,main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:12.0.12=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:12.0.13=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=ee10LatestDepTestCompileClasspath,ee10LatestDepTestRuntimeClasspath,ee10TestCompileClasspath,ee10TestRuntimeClasspath,ee8LatestDepTestCompileClasspath,ee8LatestDepTestRuntimeClasspath,ee8TestCompileClasspath,ee8TestRuntimeClasspath,ee9LatestDepTestCompileClasspath,ee9LatestDepTestRuntimeClasspath,ee9TestCompileClasspath,ee9TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-9/gradle.lockfile b/dd-java-agent/instrumentation/jetty-9/gradle.lockfile index e2f78587394..5172036d19e 100644 --- a/dd-java-agent/instrumentation/jetty-9/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-9/gradle.lockfile @@ -113,54 +113,54 @@ org.eclipse.jetty.toolchain:jetty-servlet-api:4.0.6=latestDepForkedTestCompileCl org.eclipse.jetty:jetty-continuation:9.0.0.v20130308=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-continuation:9.2.30.v20200428=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation org.eclipse.jetty:jetty-continuation:9.4.15.v20190215=jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation -org.eclipse.jetty:jetty-continuation:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-continuation:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation org.eclipse.jetty:jetty-http:10.0.0=main_jetty10CompileClasspath -org.eclipse.jetty:jetty-http:10.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation +org.eclipse.jetty:jetty-http:10.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation org.eclipse.jetty:jetty-http:9.0.0.v20130308=compileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-http:9.0.4.v20130625=main_jetty904CompileClasspath org.eclipse.jetty:jetty-http:9.2.30.v20200428=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation org.eclipse.jetty:jetty-http:9.3.0.v20150612=main_jetty93CompileClasspath org.eclipse.jetty:jetty-http:9.4.15.v20190215=jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation org.eclipse.jetty:jetty-http:9.4.21.v20190926=main_jetty9421CompileClasspath -org.eclipse.jetty:jetty-http:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation org.eclipse.jetty:jetty-io:10.0.0=main_jetty10CompileClasspath -org.eclipse.jetty:jetty-io:10.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation +org.eclipse.jetty:jetty-io:10.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation org.eclipse.jetty:jetty-io:9.0.0.v20130308=compileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-io:9.0.4.v20130625=main_jetty904CompileClasspath org.eclipse.jetty:jetty-io:9.2.30.v20200428=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation org.eclipse.jetty:jetty-io:9.3.0.v20150612=main_jetty93CompileClasspath org.eclipse.jetty:jetty-io:9.4.15.v20190215=jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation org.eclipse.jetty:jetty-io:9.4.21.v20190926=main_jetty9421CompileClasspath -org.eclipse.jetty:jetty-io:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation -org.eclipse.jetty:jetty-security:10.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation +org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-security:10.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation org.eclipse.jetty:jetty-security:9.0.0.v20130308=testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-security:9.2.30.v20200428=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation org.eclipse.jetty:jetty-security:9.4.15.v20190215=jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation -org.eclipse.jetty:jetty-security:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-security:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation org.eclipse.jetty:jetty-server:10.0.0=main_jetty10CompileClasspath -org.eclipse.jetty:jetty-server:10.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation +org.eclipse.jetty:jetty-server:10.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation org.eclipse.jetty:jetty-server:9.0.0.v20130308=compileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-server:9.0.4.v20130625=main_jetty904CompileClasspath org.eclipse.jetty:jetty-server:9.2.30.v20200428=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation org.eclipse.jetty:jetty-server:9.3.0.v20150612=main_jetty93CompileClasspath org.eclipse.jetty:jetty-server:9.4.15.v20190215=jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation org.eclipse.jetty:jetty-server:9.4.21.v20190926=main_jetty9421CompileClasspath -org.eclipse.jetty:jetty-server:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation -org.eclipse.jetty:jetty-servlet:10.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation +org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-servlet:10.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation org.eclipse.jetty:jetty-servlet:9.0.0.v20130308=testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-servlet:9.2.30.v20200428=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation org.eclipse.jetty:jetty-servlet:9.4.15.v20190215=jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation -org.eclipse.jetty:jetty-servlet:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation -org.eclipse.jetty:jetty-util-ajax:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-servlet:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-util-ajax:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation org.eclipse.jetty:jetty-util:10.0.0=main_jetty10CompileClasspath -org.eclipse.jetty:jetty-util:10.0.23=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation +org.eclipse.jetty:jetty-util:10.0.24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestImplementation org.eclipse.jetty:jetty-util:9.0.0.v20130308=compileClasspath,testCompileClasspath,testFixturesCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-util:9.0.4.v20130625=main_jetty904CompileClasspath org.eclipse.jetty:jetty-util:9.2.30.v20200428=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation org.eclipse.jetty:jetty-util:9.3.0.v20150612=main_jetty93CompileClasspath org.eclipse.jetty:jetty-util:9.4.15.v20190215=jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation org.eclipse.jetty:jetty-util:9.4.21.v20190926=main_jetty9421CompileClasspath -org.eclipse.jetty:jetty-util:9.4.55.v20240627=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation +org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation,jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation,latestDepTestImplementation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=jetty92ForkedTestCompileClasspath,jetty92ForkedTestRuntimeClasspath,jetty92TestImplementation,jetty94ForkedTestCompileClasspath,jetty94ForkedTestRuntimeClasspath,jetty94TestImplementation,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepJetty9ForkedTestCompileClasspath,latestDepJetty9ForkedTestRuntimeClasspath,latestDepJetty9TestImplementation,latestDepTestImplementation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-client/jetty-client-10.0/gradle.lockfile b/dd-java-agent/instrumentation/jetty-client/jetty-client-10.0/gradle.lockfile index f788af0f1e5..cb596f907cd 100644 --- a/dd-java-agent/instrumentation/jetty-client/jetty-client-10.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-client/jetty-client-10.0/gradle.lockfile @@ -108,26 +108,26 @@ org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,jetty10Lat org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs org.eclipse.jetty:jetty-alpn-client:10.0.0=main_java11CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-alpn-client:10.0.23=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-alpn-client:10.0.24=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-alpn-client:11.0.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-alpn-client:11.0.23=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-alpn-client:11.0.24=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-client:10.0.0=main_java11CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-client:10.0.23=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-client:10.0.24=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-client:11.0.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-client:11.0.23=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-client:11.0.24=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-http:10.0.0=main_java11CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-http:10.0.23=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:10.0.24=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-http:11.0.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-http:11.0.23=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:11.0.24=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:10.0.0=main_java11CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:10.0.23=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:10.0.24=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:11.0.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-io:11.0.23=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:11.0.24=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:9.2.30.v20200428=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-util:10.0.0=main_java11CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:10.0.23=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:10.0.24=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:11.0.0=jetty11TestCompileClasspath,jetty11TestRuntimeClasspath -org.eclipse.jetty:jetty-util:11.0.23=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:11.0.24=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=jetty10LatestDepTestCompileClasspath,jetty10LatestDepTestRuntimeClasspath,jetty11TestCompileClasspath,jetty11TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-client/jetty-client-12.0/gradle.lockfile b/dd-java-agent/instrumentation/jetty-client/jetty-client-12.0/gradle.lockfile index 3a1dcf89cd0..61bcf787944 100644 --- a/dd-java-agent/instrumentation/jetty-client/jetty-client-12.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-client/jetty-client-12.0/gradle.lockfile @@ -108,16 +108,16 @@ org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepT org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs org.eclipse.jetty:jetty-alpn-client:12.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-alpn-client:12.0.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-alpn-client:12.0.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-client:12.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-client:12.0.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-client:12.0.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-http:12.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-http:12.0.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:12.0.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:12.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:12.0.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:12.0.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:9.2.30.v20200428=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-util:12.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:12.0.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:12.0.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-client/jetty-client-9.1/gradle.lockfile b/dd-java-agent/instrumentation/jetty-client/jetty-client-9.1/gradle.lockfile index 76d5ea98f3f..99a8c4a56bd 100644 --- a/dd-java-agent/instrumentation/jetty-client/jetty-client-9.1/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-client/jetty-client-9.1/gradle.lockfile @@ -108,15 +108,15 @@ org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepT org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs org.eclipse.jetty:jetty-client:9.1.0.v20131115=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-client:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-client:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-http:9.1.0.v20131115=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-http:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:9.1.0.v20131115=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:9.1.0.v20131115=testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:9.1.0.v20131115=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-common/gradle.lockfile b/dd-java-agent/instrumentation/jetty-common/gradle.lockfile index 88d5215ba31..bfb5d47060f 100644 --- a/dd-java-agent/instrumentation/jetty-common/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-common/gradle.lockfile @@ -110,13 +110,13 @@ org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs org.eclipse.jetty:jetty-continuation:7.0.0.v20091005=compileClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-http:7.0.0.v20091005=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-http:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:7.0.0.v20091005=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:7.0.0.v20091005=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:7.0.0.v20091005=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jetty-util/gradle.lockfile b/dd-java-agent/instrumentation/jetty-util/gradle.lockfile index 81ae951a941..3c5ddfde4d0 100644 --- a/dd-java-agent/instrumentation/jetty-util/gradle.lockfile +++ b/dd-java-agent/instrumentation/jetty-util/gradle.lockfile @@ -111,7 +111,7 @@ org.eclipse.jetty:jetty-http:9.2.30.v20200428=latestDepTestCompileClasspath,late org.eclipse.jetty:jetty-io:9.2.30.v20200428=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-server:9.2.30.v20200428=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-util:9.4.31.v20200723=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.55.v20240627=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/jsp-2.3/gradle.lockfile b/dd-java-agent/instrumentation/jsp-2.3/gradle.lockfile index 6fd7c2127ac..5ee0893ea05 100644 --- a/dd-java-agent/instrumentation/jsp-2.3/gradle.lockfile +++ b/dd-java-agent/instrumentation/jsp-2.3/gradle.lockfile @@ -77,13 +77,13 @@ org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs org.apache.logging.log4j:log4j-api:2.19.0=spotbugs org.apache.logging.log4j:log4j-core:2.19.0=spotbugs org.apache.tomcat.embed:tomcat-embed-core:7.0.37=testCompileClasspath,testRuntimeClasspath -org.apache.tomcat.embed:tomcat-embed-core:9.0.93=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -org.apache.tomcat.embed:tomcat-embed-el:9.0.93=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-core:9.0.94=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-el:9.0.94=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apache.tomcat.embed:tomcat-embed-jasper:7.0.37=testCompileClasspath,testRuntimeClasspath -org.apache.tomcat.embed:tomcat-embed-jasper:9.0.93=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-jasper:9.0.94=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apache.tomcat.embed:tomcat-embed-logging-juli:7.0.37=testCompileClasspath,testRuntimeClasspath org.apache.tomcat.embed:tomcat-embed-logging-juli:9.0.0.M6=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -org.apache.tomcat:tomcat-annotations-api:9.0.93=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.tomcat:tomcat-annotations-api:9.0.94=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apache.tomcat:tomcat-api:7.0.20=compileClasspath org.apache.tomcat:tomcat-el-api:7.0.20=compileClasspath org.apache.tomcat:tomcat-jasper-el:7.0.20=compileClasspath diff --git a/dd-java-agent/instrumentation/log4j2/logs-intake/gradle.lockfile b/dd-java-agent/instrumentation/log4j2/logs-intake/gradle.lockfile index 48245b67915..b8a3a9c6649 100644 --- a/dd-java-agent/instrumentation/log4j2/logs-intake/gradle.lockfile +++ b/dd-java-agent/instrumentation/log4j2/logs-intake/gradle.lockfile @@ -73,10 +73,10 @@ org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs org.apache.logging.log4j:log4j-api:2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath org.apache.logging.log4j:log4j-api:2.19.0=spotbugs -org.apache.logging.log4j:log4j-api:2.23.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.logging.log4j:log4j-api:2.24.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apache.logging.log4j:log4j-core:2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath org.apache.logging.log4j:log4j-core:2.19.0=spotbugs -org.apache.logging.log4j:log4j-core:2.23.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.logging.log4j:log4j-core:2.24.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,testCompileClasspath org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/maven-3.2.1/gradle.lockfile b/dd-java-agent/instrumentation/maven-3.2.1/gradle.lockfile index 24d583f594a..d0ea75541c3 100644 --- a/dd-java-agent/instrumentation/maven-3.2.1/gradle.lockfile +++ b/dd-java-agent/instrumentation/maven-3.2.1/gradle.lockfile @@ -242,6 +242,8 @@ org.junit.platform:junit-platform-suite-api:1.9.2=latestDepTestRuntimeClasspath, org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath org.junit:junit-bom:5.9.1=spotbugs org.junit:junit-bom:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-core:4.4.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-junit-jupiter:4.4.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.msgpack:jackson-dataformat-msgpack:0.9.6=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.msgpack:msgpack-core:0.9.6=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/micronaut/http-server-netty-4.0/gradle.lockfile b/dd-java-agent/instrumentation/micronaut/http-server-netty-4.0/gradle.lockfile index 09aed255a66..4838b0b694a 100644 --- a/dd-java-agent/instrumentation/micronaut/http-server-netty-4.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/micronaut/http-server-netty-4.0/gradle.lockfile @@ -62,54 +62,54 @@ commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeC de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath io.micronaut:micronaut-aop:4.0.0=latestDepTestAnnotationProcessor,main_java17CompileClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-aop:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-aop:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-buffer-netty:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-buffer-netty:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-buffer-netty:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-context-propagation:4.0.0=testRuntimeClasspath -io.micronaut:micronaut-context-propagation:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-context-propagation:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-context:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-context:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-context:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-core-processor:4.0.0=latestDepTestAnnotationProcessor,testAnnotationProcessor io.micronaut:micronaut-core-reactive:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-core-reactive:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-core-reactive:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-core:4.0.0=latestDepTestAnnotationProcessor,main_java17CompileClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-core:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-core:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-http-netty:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-http-netty:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-http-netty:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-http-server-netty:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-http-server-netty:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-http-server-netty:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-http-server:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-http-server:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-http-server:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-http:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-http:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-http:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-inject-java:4.0.0=latestDepTestAnnotationProcessor,testAnnotationProcessor io.micronaut:micronaut-inject:4.0.0=latestDepTestAnnotationProcessor,main_java17CompileClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-inject:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-inject:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-jackson-core:4.0.0=testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-jackson-core:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-jackson-core:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-jackson-databind:4.0.0=testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-jackson-databind:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-jackson-databind:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-json-core:4.0.0=testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-json-core:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-json-core:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micronaut:micronaut-router:4.0.0=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.micronaut:micronaut-router:4.6.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.netty:netty-buffer:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micronaut:micronaut-router:4.6.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-buffer:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-buffer:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-http2:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec-http2:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec-http2:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-http:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec-http:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec-http:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-common:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-common:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-common:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-handler:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-handler:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-handler:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-resolver:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-resolver:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-resolver:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-transport-native-unix-common:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-transport-native-unix-common:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-transport:4.1.112.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-transport:4.1.113.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-transport:4.1.94.Final=main_java17CompileClasspath,testCompileClasspath,testRuntimeClasspath io.projectreactor:reactor-core:3.5.7=latestDepTestCompileClasspath,testCompileClasspath,testRuntimeClasspath io.projectreactor:reactor-core:3.6.9=latestDepTestRuntimeClasspath diff --git a/dd-java-agent/instrumentation/mongo/driver-4.0/gradle.lockfile b/dd-java-agent/instrumentation/mongo/driver-4.0/gradle.lockfile index 0416c242a9a..c9419107908 100644 --- a/dd-java-agent/instrumentation/mongo/driver-4.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/mongo/driver-4.0/gradle.lockfile @@ -135,27 +135,27 @@ org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepForkedTestRuntime org.junit:junit-bom:5.9.1=spotbugs org.junit:junit-bom:5.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,mongo410ForkedTestCompileClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestCompileClasspath,mongo410TestRuntimeClasspath,mongo43ForkedTestCompileClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestCompileClasspath,mongo43TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.mongodb:bson-record-codec:4.10.2=mongo410ForkedTestRuntimeClasspath,mongo410TestRuntimeClasspath -org.mongodb:bson-record-codec:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath +org.mongodb:bson-record-codec:5.1.4=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath org.mongodb:bson:4.0.0=compileClasspath org.mongodb:bson:4.0.1=testCompileClasspath,testRuntimeClasspath org.mongodb:bson:4.10.2=mongo410ForkedTestCompileClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestCompileClasspath,mongo410TestRuntimeClasspath org.mongodb:bson:4.3.4=mongo43ForkedTestCompileClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestCompileClasspath,mongo43TestRuntimeClasspath -org.mongodb:bson:5.1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.mongodb:bson:5.1.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.mongodb:mongodb-driver-core:4.0.0=compileClasspath org.mongodb:mongodb-driver-core:4.0.1=testCompileClasspath,testRuntimeClasspath org.mongodb:mongodb-driver-core:4.10.2=mongo410ForkedTestCompileClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestCompileClasspath,mongo410TestRuntimeClasspath org.mongodb:mongodb-driver-core:4.3.4=mongo43ForkedTestCompileClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestCompileClasspath,mongo43TestRuntimeClasspath -org.mongodb:mongodb-driver-core:5.1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.mongodb:mongodb-driver-core:5.1.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.mongodb:mongodb-driver-reactivestreams:4.0.0=compileClasspath org.mongodb:mongodb-driver-reactivestreams:4.0.1=testCompileClasspath,testRuntimeClasspath org.mongodb:mongodb-driver-reactivestreams:4.10.2=mongo410ForkedTestCompileClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestCompileClasspath,mongo410TestRuntimeClasspath org.mongodb:mongodb-driver-reactivestreams:4.3.4=mongo43ForkedTestCompileClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestCompileClasspath,mongo43TestRuntimeClasspath -org.mongodb:mongodb-driver-reactivestreams:5.1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.mongodb:mongodb-driver-reactivestreams:5.1.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.mongodb:mongodb-driver-sync:4.0.0=compileClasspath org.mongodb:mongodb-driver-sync:4.0.1=testCompileClasspath,testRuntimeClasspath org.mongodb:mongodb-driver-sync:4.10.2=mongo410ForkedTestCompileClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestCompileClasspath,mongo410TestRuntimeClasspath org.mongodb:mongodb-driver-sync:4.3.4=mongo43ForkedTestCompileClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestCompileClasspath,mongo43TestRuntimeClasspath -org.mongodb:mongodb-driver-sync:5.1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.mongodb:mongodb-driver-sync:5.1.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.objenesis:objenesis:3.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,mongo410ForkedTestCompileClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestCompileClasspath,mongo410TestRuntimeClasspath,mongo43ForkedTestCompileClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestCompileClasspath,mongo43TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.opentest4j:opentest4j:1.2.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,mongo410ForkedTestCompileClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestCompileClasspath,mongo410TestRuntimeClasspath,mongo43ForkedTestCompileClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestCompileClasspath,mongo43TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,mongo410ForkedTestRuntimeClasspath,mongo410TestRuntimeClasspath,mongo43ForkedTestRuntimeClasspath,mongo43TestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/netty-buffer-4/gradle.lockfile b/dd-java-agent/instrumentation/netty-buffer-4/gradle.lockfile index bddf961f1c4..fbc7d5d765e 100644 --- a/dd-java-agent/instrumentation/netty-buffer-4/gradle.lockfile +++ b/dd-java-agent/instrumentation/netty-buffer-4/gradle.lockfile @@ -48,10 +48,10 @@ commons-io:commons-io:2.11.0=latestDep4TestCompileClasspath,latestDep4TestRuntim de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath io.netty:netty-buffer:4.0.0.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-buffer:4.2.0.Alpha3=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath +io.netty:netty-buffer:4.2.0.Alpha4=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath io.netty:netty-buffer:5.0.0.Alpha2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-common:4.0.0.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-common:4.2.0.Alpha3=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath +io.netty:netty-common:4.2.0.Alpha4=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath io.netty:netty-common:5.0.0.Alpha2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.sqreen:libsqreen:11.0.0=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/netty-concurrent-4/gradle.lockfile b/dd-java-agent/instrumentation/netty-concurrent-4/gradle.lockfile index e1c5e15bde1..6b9335f66fc 100644 --- a/dd-java-agent/instrumentation/netty-concurrent-4/gradle.lockfile +++ b/dd-java-agent/instrumentation/netty-concurrent-4/gradle.lockfile @@ -48,7 +48,7 @@ commons-io:commons-io:2.11.0=latestDep4TestCompileClasspath,latestDep4TestRuntim de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath io.netty:netty-common:4.0.0.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-common:4.1.112.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-common:4.1.113.Final=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.sqreen:libsqreen:11.0.0=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs diff --git a/dd-java-agent/instrumentation/netty-promise-4/gradle.lockfile b/dd-java-agent/instrumentation/netty-promise-4/gradle.lockfile index e705de2edeb..9490ba19bec 100644 --- a/dd-java-agent/instrumentation/netty-promise-4/gradle.lockfile +++ b/dd-java-agent/instrumentation/netty-promise-4/gradle.lockfile @@ -48,7 +48,7 @@ commons-io:commons-io:2.11.0=latestDep4TestCompileClasspath,latestDep4TestRuntim de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath io.netty:netty-common:4.0.0.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-common:4.2.0.Alpha3=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath +io.netty:netty-common:4.2.0.Alpha4=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath io.netty:netty-common:5.0.0.Alpha2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.sqreen:libsqreen:11.0.0=latestDep4TestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDep4TestCompileClasspath,latestDep4TestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.4/gradle.lockfile b/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.4/gradle.lockfile index 0f3611b43f2..9c59efe378d 100644 --- a/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.4/gradle.lockfile +++ b/dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.4/gradle.lockfile @@ -50,9 +50,9 @@ commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeC de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath io.opentelemetry:opentelemetry-api:1.4.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.opentelemetry:opentelemetry-api:1.41.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.opentelemetry:opentelemetry-api:1.42.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.opentelemetry:opentelemetry-context:1.4.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.opentelemetry:opentelemetry-context:1.41.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.opentelemetry:opentelemetry-context:1.42.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.sqreen:libsqreen:11.0.0=latestDepTestRuntimeClasspath,testRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs diff --git a/dd-java-agent/instrumentation/pekko-concurrent/gradle.lockfile b/dd-java-agent/instrumentation/pekko-concurrent/gradle.lockfile index c6c6b6716e8..4e01f521c6c 100644 --- a/dd-java-agent/instrumentation/pekko-concurrent/gradle.lockfile +++ b/dd-java-agent/instrumentation/pekko-concurrent/gradle.lockfile @@ -88,9 +88,9 @@ org.apache.logging.log4j:log4j-api:2.19.0=spotbugs org.apache.logging.log4j:log4j-core:2.17.1=zinc org.apache.logging.log4j:log4j-core:2.19.0=spotbugs org.apache.pekko:pekko-actor_2.12:1.0.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apache.pekko:pekko-actor_2.13:1.1.0-M1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.pekko:pekko-actor_2.13:1.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apache.pekko:pekko-testkit_2.12:1.0.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apache.pekko:pekko-testkit_2.13:1.1.0-M1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.pekko:pekko-testkit_2.13:1.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,testCompileClasspath org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/pekko-http-1.0/gradle.lockfile b/dd-java-agent/instrumentation/pekko-http-1.0/gradle.lockfile index 5328ec082d3..d2b33d089ca 100644 --- a/dd-java-agent/instrumentation/pekko-http-1.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/pekko-http-1.0/gradle.lockfile @@ -17,15 +17,15 @@ com.eed3si9n:shaded-scalajson_2.13:1.0.0-M4=zinc com.eed3si9n:sjson-new-core_2.13:0.9.1=zinc com.eed3si9n:sjson-new-scalajson_2.13:0.9.1=zinc com.fasterxml.jackson.core:jackson-annotations:2.15.2=iastTestCompileClasspath,iastTestRuntimeClasspath -com.fasterxml.jackson.core:jackson-annotations:2.17.1=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.17.2=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath com.fasterxml.jackson.core:jackson-core:2.15.2=iastTestCompileClasspath,iastTestRuntimeClasspath -com.fasterxml.jackson.core:jackson-core:2.17.1=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.17.2=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath com.fasterxml.jackson.core:jackson-databind:2.15.2=iastTestCompileClasspath,iastTestRuntimeClasspath -com.fasterxml.jackson.core:jackson-databind:2.17.1=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.17.2=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath com.fasterxml.jackson.module:jackson-module-scala_2.12:2.15.2=iastTestCompileClasspath,iastTestRuntimeClasspath -com.fasterxml.jackson.module:jackson-module-scala_2.13:2.17.1=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-scala_2.13:2.17.2=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath com.fasterxml.jackson:jackson-bom:2.15.2=iastTestCompileClasspath,iastTestRuntimeClasspath -com.fasterxml.jackson:jackson-bom:2.17.1=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath +com.fasterxml.jackson:jackson-bom:2.17.2=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath com.github.javaparser:javaparser-core:3.25.1=baseTestCompileClasspath,baseTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath,latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.github.jnr:jffi:1.3.13=baseTestRuntimeClasspath,iastTestRuntimeClasspath,instrumentPluginClasspath,latestDepIastTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath com.github.jnr:jnr-a64asm:1.0.0=baseTestRuntimeClasspath,iastTestRuntimeClasspath,instrumentPluginClasspath,latestDepIastTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath @@ -36,7 +36,7 @@ com.github.jnr:jnr-posix:3.1.19=baseTestRuntimeClasspath,iastTestRuntimeClasspat com.github.jnr:jnr-unixsocket:0.38.22=baseTestRuntimeClasspath,iastTestRuntimeClasspath,instrumentPluginClasspath,latestDepIastTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath com.github.jnr:jnr-x86asm:1.0.2=baseTestRuntimeClasspath,iastTestRuntimeClasspath,instrumentPluginClasspath,latestDepIastTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath com.github.pjfanning:pekko-http-jackson_2.12:2.1.0=iastTestCompileClasspath,iastTestRuntimeClasspath -com.github.pjfanning:pekko-http-jackson_2.13:2.6.0=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath +com.github.pjfanning:pekko-http-jackson_2.13:2.7.0=latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath com.github.spotbugs:spotbugs-annotations:4.2.0=baseTestCompileClasspath,baseTestRuntimeClasspath,compileClasspath,csiCompileClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath,latestDepIastTestCompileClasspath,latestDepIastTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs com.github.spotbugs:spotbugs:4.7.3=spotbugs diff --git a/dd-java-agent/instrumentation/reactor-core-3.1/gradle.lockfile b/dd-java-agent/instrumentation/reactor-core-3.1/gradle.lockfile index c746654bd82..0f66703264b 100644 --- a/dd-java-agent/instrumentation/reactor-core-3.1/gradle.lockfile +++ b/dd-java-agent/instrumentation/reactor-core-3.1/gradle.lockfile @@ -81,7 +81,7 @@ org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs org.apache.logging.log4j:log4j-api:2.19.0=spotbugs org.apache.logging.log4j:log4j-core:2.19.0=spotbugs -org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,testCompileClasspath org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-ant:2.5.14=codenarc @@ -126,16 +126,14 @@ org.hdrhistogram:HdrHistogram:2.2.2=latestDepTestRuntimeClasspath org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.9.0=latestDepTestCompileClasspath,testCompileClasspath -org.junit.platform:junit-platform-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.9.0=latestDepTestCompileClasspath,testCompileClasspath -org.junit.platform:junit-platform-engine:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.junit.platform:junit-platform-launcher:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-runner:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-commons:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit:junit-bom:5.9.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath org.junit:junit-bom:5.9.1=spotbugs +org.junit:junit-bom:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.latencyutils:LatencyUtils:2.0.3=latestDepTestRuntimeClasspath org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.opentest4j:opentest4j:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/redisson/gradle.lockfile b/dd-java-agent/instrumentation/redisson/gradle.lockfile new file mode 100644 index 00000000000..ad467e7eac8 --- /dev/null +++ b/dd-java-agent/instrumentation/redisson/gradle.lockfile @@ -0,0 +1,153 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.1.7=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=testRuntimeClasspath +commons-codec:commons-codec:1.15=spotbugs +commons-fileupload:commons-fileupload:1.5=testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.1=compileClasspath +info.picocli:picocli:4.6.3=testRuntimeClasspath +io.sqreen:libsqreen:11.0.0=testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=testRuntimeClasspath +junit:junit-dep:4.11=testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.14.18=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.14.18=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=testRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=testRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=testRuntimeClasspath +org.apache.ant:ant:1.10.12=testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,testAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.2.30.v20200428=testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.2=testRuntimeClasspath +org.junit:junit-bom:5.9.1=spotbugs +org.junit:junit-bom:5.9.2=testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.slf4j:jcl-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath +org.slf4j:slf4j-api:1.7.32=testRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=testRuntimeClasspath +org.webjars:jquery:3.5.1=testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +xml-apis:xml-apis:1.4.01=spotbugs +empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/redisson/redisson-2.0.0/gradle.lockfile b/dd-java-agent/instrumentation/redisson/redisson-2.0.0/gradle.lockfile new file mode 100644 index 00000000000..88974e65964 --- /dev/null +++ b/dd-java-agent/instrumentation/redisson/redisson-2.0.0/gradle.lockfile @@ -0,0 +1,195 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.1.7=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.10.3=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath,testCompileClasspath +com.fasterxml.jackson.core:jackson-annotations:2.13.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.5.0=compileClasspath +com.fasterxml.jackson.core:jackson-core:2.13.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.5.4=compileClasspath,testCompileClasspath +com.fasterxml.jackson.core:jackson-core:2.6.5=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +com.fasterxml.jackson.core:jackson-databind:2.13.2.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.5.4=compileClasspath,testCompileClasspath +com.fasterxml.jackson.core:jackson-databind:2.6.5=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.6.5=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +com.fasterxml.jackson:jackson-bom:2.13.2.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-api:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport-zerodep:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.redis.testcontainers:testcontainers-redis:1.6.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.redis:redis-enterprise-admin:0.3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.15=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +commons-fileupload:commons-fileupload:1.5=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.1=compileClasspath +info.picocli:picocli:4.6.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.0.28.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.0.39.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec-http:4.0.28.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.0.28.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.0.39.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-common:4.0.28.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.0.39.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-handler:4.0.28.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.0.39.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-transport:4.0.28.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport:4.0.39.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.projectreactor:reactor-core:2.0.8.RELEASE=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.projectreactor:reactor-stream:2.0.8.RELEASE=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.sqreen:libsqreen:11.0.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +junit:junit-dep:4.11=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.13.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.openhft:zero-allocation-hashing:0.5=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant:1.10.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-compress:1.24.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath,testCompileClasspath +org.awaitility:awaitility:4.2.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.jetbrains:annotations:17.0.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit:junit-bom:5.9.1=spotbugs +org.junit:junit-bom:5.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.reactivestreams:reactive-streams:1.0.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.redisson:redisson:2.0.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.redisson:redisson:2.2.27=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.rnorth.duct-tape:duct-tape:1.0.8=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath +org.slf4j:slf4j-api:1.7.36=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.2-groovy-3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.2-groovy-3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testcontainers:testcontainers:1.19.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.webjars:jquery:3.5.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +org.yaml:snakeyaml:1.15=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +org.yaml:snakeyaml:1.30=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath +xml-apis:xml-apis:1.4.01=spotbugs +empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/redisson/redisson-2.3.0/gradle.lockfile b/dd-java-agent/instrumentation/redisson/redisson-2.3.0/gradle.lockfile new file mode 100644 index 00000000000..e7cc587662e --- /dev/null +++ b/dd-java-agent/instrumentation/redisson/redisson-2.3.0/gradle.lockfile @@ -0,0 +1,207 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.1.7=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.10.3=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath,testCompileClasspath +com.fasterxml.jackson.core:jackson-annotations:2.13.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.7.0=compileClasspath +com.fasterxml.jackson.core:jackson-core:2.13.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.7.6=compileClasspath,testCompileClasspath +com.fasterxml.jackson.core:jackson-core:2.9.8=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +com.fasterxml.jackson.core:jackson-databind:2.13.2.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.7.6=compileClasspath,testCompileClasspath +com.fasterxml.jackson.core:jackson-databind:2.9.8=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.7.6=compileClasspath,testCompileClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.8=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +com.fasterxml.jackson:jackson-bom:2.13.2.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-api:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport-zerodep:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.redis.testcontainers:testcontainers-redis:1.6.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.redis:redis-enterprise-admin:0.3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.15=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +commons-fileupload:commons-fileupload:1.5=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +de.ruedigermoeller:fst:2.56=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +de.thetaphi:forbiddenapis:3.1=compileClasspath +info.picocli:picocli:4.6.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.0.40.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec-dns:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec:4.0.40.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-common:4.0.40.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-handler:4.0.40.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-resolver-dns:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-resolver:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-transport:4.0.40.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport:4.1.33.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.projectreactor:reactor-core:2.0.8.RELEASE=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.projectreactor:reactor-core:3.2.3.RELEASE=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.projectreactor:reactor-stream:2.0.8.RELEASE=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.reactivex.rxjava2:rxjava:2.1.13=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.sqreen:libsqreen:11.0.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +javax.cache:cache-api:1.0.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +junit:junit-dep:4.11=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.13.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.openhft:zero-allocation-hashing:0.5=compileClasspath,testCompileClasspath,testRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant:1.10.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-compress:1.24.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath,testCompileClasspath +org.awaitility:awaitility:4.2.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.javassist:javassist:3.21.0-GA=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.jetbrains:annotations:17.0.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jodd:jodd-bean:3.7.1=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jodd:jodd-core:3.7.1=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit:junit-bom:5.9.1=spotbugs +org.junit:junit-bom:5.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.reactivestreams:reactive-streams:1.0.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.reactivestreams:reactive-streams:1.0.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.redisson:redisson:2.3.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.redisson:redisson:3.10.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.rnorth.duct-tape:duct-tape:1.0.8=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath +org.slf4j:slf4j-api:1.7.36=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.2-groovy-3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.2-groovy-3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testcontainers:testcontainers:1.19.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.webjars:jquery:3.5.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +org.yaml:snakeyaml:1.15=compileClasspath,testCompileClasspath +org.yaml:snakeyaml:1.23=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath +org.yaml:snakeyaml:1.30=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +xml-apis:xml-apis:1.4.01=spotbugs +empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/redisson/redisson-3.10.3/gradle.lockfile b/dd-java-agent/instrumentation/redisson/redisson-3.10.3/gradle.lockfile new file mode 100644 index 00000000000..3e8f1ec7560 --- /dev/null +++ b/dd-java-agent/instrumentation/redisson/redisson-3.10.3/gradle.lockfile @@ -0,0 +1,218 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.1.7=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.esotericsoftware:kryo:5.6.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.esotericsoftware:minlog:1.3.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.esotericsoftware:reflectasm:1.11.9=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.10.3=testCompileClasspath +com.fasterxml.jackson.core:jackson-annotations:2.13.2=testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.17.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.9.0=compileClasspath +com.fasterxml.jackson.core:jackson-core:2.13.2=testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.17.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.9.8=compileClasspath,testCompileClasspath +com.fasterxml.jackson.core:jackson-databind:2.13.2.1=testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.17.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.9.8=compileClasspath,testCompileClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.2=testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.8=compileClasspath,testCompileClasspath +com.fasterxml.jackson:jackson-bom:2.13.2.1=testRuntimeClasspath +com.fasterxml.jackson:jackson-bom:2.17.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.github.docker-java:docker-java-api:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport-zerodep:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport:3.3.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepForkedTestAnnotationProcessor,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.redis.testcontainers:testcontainers-redis:1.6.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.redis:redis-enterprise-admin:0.3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.15=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +commons-fileupload:commons-fileupload:1.5=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +de.ruedigermoeller:fst:2.57=compileClasspath,testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.1=compileClasspath +info.picocli:picocli:4.6.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-buffer:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-dns:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec-dns:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-codec:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-common:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-handler:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-resolver-dns:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-resolver-dns:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-resolver:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-transport:4.1.112.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.netty:netty-transport:4.1.33.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.projectreactor:reactor-core:3.2.6.RELEASE=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.projectreactor:reactor-core:3.6.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.reactivex.rxjava2:rxjava:2.2.7=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.reactivex.rxjava3:rxjava:3.1.8=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.sqreen:libsqreen:11.0.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +javax.cache:cache-api:1.0.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +javax.cache:cache-api:1.1.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +junit:junit-dep:4.11=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.13.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant:1.10.12=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-compress:1.24.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5:5.1.3=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath,testCompileClasspath +org.awaitility:awaitility:4.2.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.2.30.v20200428=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.javassist:javassist:3.21.0-GA=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.jetbrains:annotations:17.0.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jodd:jodd-bean:5.0.8=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.jodd:jodd-core:5.0.8=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.jodd:jodd-util:6.2.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit:junit-bom:5.9.1=spotbugs +org.junit:junit-bom:5.9.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:2.5.1=compileClasspath +org.objenesis:objenesis:3.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.reactivestreams:reactive-streams:1.0.2=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.reactivestreams:reactive-streams:1.0.4=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.redisson:redisson:3.10.3=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.redisson:redisson:3.36.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.rnorth.duct-tape:duct-tape:1.0.8=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath +org.slf4j:slf4j-api:1.7.36=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.2-groovy-3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.2-groovy-3.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testcontainers:testcontainers:1.19.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.webjars:jquery:3.5.1=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +org.yaml:snakeyaml:1.23=compileClasspath,testCompileClasspath +org.yaml:snakeyaml:1.30=testRuntimeClasspath +org.yaml:snakeyaml:2.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +xml-apis:xml-apis:1.4.01=spotbugs +empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/scala-concurrent/gradle.lockfile b/dd-java-agent/instrumentation/scala-concurrent/gradle.lockfile index 8849f07b4c7..9b4c99e742c 100644 --- a/dd-java-agent/instrumentation/scala-concurrent/gradle.lockfile +++ b/dd-java-agent/instrumentation/scala-concurrent/gradle.lockfile @@ -160,7 +160,7 @@ org.scala-lang.modules:scala-xml_2.13:2.1.0=zinc org.scala-lang:scala-compiler:2.13.11=zinc org.scala-lang:scala-library:2.10.7=compileClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang:scala-library:2.11.12=latest11TestCompileClasspath,latest11TestRuntimeClasspath -org.scala-lang:scala-library:2.12.20-M1=latest12TestCompileClasspath,latest12TestRuntimeClasspath +org.scala-lang:scala-library:2.12.20=latest12TestCompileClasspath,latest12TestRuntimeClasspath org.scala-lang:scala-library:2.13.11=zinc org.scala-lang:scala-library:2.13.15-M1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.scala-lang:scala-reflect:2.13.11=zinc diff --git a/dd-java-agent/instrumentation/scala-promise/scala-promise-2.10/gradle.lockfile b/dd-java-agent/instrumentation/scala-promise/scala-promise-2.10/gradle.lockfile index 94fd49889f1..5b52b409b1b 100644 --- a/dd-java-agent/instrumentation/scala-promise/scala-promise-2.10/gradle.lockfile +++ b/dd-java-agent/instrumentation/scala-promise/scala-promise-2.10/gradle.lockfile @@ -159,7 +159,7 @@ org.scala-lang.modules:scala-parser-combinators_2.13:1.1.2=zinc org.scala-lang.modules:scala-xml_2.13:2.1.0=zinc org.scala-lang:scala-compiler:2.13.11=zinc org.scala-lang:scala-library:2.10.7=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.scala-lang:scala-library:2.12.20-M1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.scala-lang:scala-library:2.12.20=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.scala-lang:scala-library:2.13.11=zinc org.scala-lang:scala-reflect:2.13.11=zinc org.scala-sbt.jline:jline:2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493=zinc diff --git a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/gradle.lockfile index dc1b29caef6..321c8dea422 100644 --- a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile +++ b/dd-java-agent/instrumentation/servicetalk/gradle.lockfile @@ -5,7 +5,7 @@ cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDep cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath ch.qos.logback:logback-classic:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,testCompileClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.5.7=latestDepTestRuntimeClasspath +ch.qos.logback:logback-core:1.5.8=latestDepTestRuntimeClasspath com.beust:jcommander:1.78=latestDepTestRuntimeClasspath,testRuntimeClasspath com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/servlet/request-3/gradle.lockfile b/dd-java-agent/instrumentation/servlet/request-3/gradle.lockfile index b43283a2831..b276950b76a 100644 --- a/dd-java-agent/instrumentation/servlet/request-3/gradle.lockfile +++ b/dd-java-agent/instrumentation/servlet/request-3/gradle.lockfile @@ -120,18 +120,18 @@ org.eclipse.jdt:ecj:3.18.0=latestDepForkedTestCompileClasspath,latestDepForkedTe org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016=testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-continuation:8.2.0.v20160908=testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-http:8.2.0.v20160908=testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-http:9.4.55.v20240627=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-io:8.2.0.v20160908=testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:9.4.55.v20240627=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-security:8.2.0.v20160908=testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-security:9.4.55.v20240627=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-security:9.4.56.v20240826=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-server:8.2.0.v20160908=testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:9.4.55.v20240627=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-servlet:8.2.0.v20160908=testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-servlet:9.4.55.v20240627=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -org.eclipse.jetty:jetty-util-ajax:9.4.55.v20240627=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-servlet:9.4.56.v20240826=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util-ajax:9.4.56.v20240826=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.eclipse.jetty:jetty-util:8.2.0.v20160908=testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.55.v20240627=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/spring-messaging-4/gradle.lockfile b/dd-java-agent/instrumentation/spring-messaging-4/gradle.lockfile index ce05ac60ff6..19f76a659e0 100644 --- a/dd-java-agent/instrumentation/spring-messaging-4/gradle.lockfile +++ b/dd-java-agent/instrumentation/spring-messaging-4/gradle.lockfile @@ -196,19 +196,19 @@ org.springframework:spring-aop:4.0.0.RELEASE=compileClasspath org.springframework:spring-aop:6.0.4=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.springframework:spring-beans:4.0.0.RELEASE=compileClasspath org.springframework:spring-beans:6.0.4=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-beans:6.1.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-beans:6.1.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-context:4.0.0.RELEASE=compileClasspath org.springframework:spring-context:6.0.4=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.springframework:spring-core:4.0.0.RELEASE=compileClasspath org.springframework:spring-core:6.0.4=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-core:6.1.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-core:6.1.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-expression:4.0.0.RELEASE=compileClasspath org.springframework:spring-expression:6.0.4=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.springframework:spring-jcl:6.0.4=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-jcl:6.1.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-jcl:6.1.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-messaging:4.0.0.RELEASE=compileClasspath org.springframework:spring-messaging:6.0.4=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-messaging:6.1.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-messaging:6.1.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.testng:testng:7.5=latestDepTestRuntimeClasspath,testRuntimeClasspath org.webjars:jquery:3.5.1=latestDepTestRuntimeClasspath,testRuntimeClasspath org.xmlresolver:xmlresolver:4.4.3=spotbugs diff --git a/dd-java-agent/instrumentation/spring-scheduling-3.1/gradle.lockfile b/dd-java-agent/instrumentation/spring-scheduling-3.1/gradle.lockfile index e5d37aa426e..dc3b209b75c 100644 --- a/dd-java-agent/instrumentation/spring-scheduling-3.1/gradle.lockfile +++ b/dd-java-agent/instrumentation/spring-scheduling-3.1/gradle.lockfile @@ -71,9 +71,9 @@ commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDe commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath,spring6TestCompileClasspath,spring6TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,spring6LatestDepTestRuntimeClasspath,spring6TestRuntimeClasspath,testRuntimeClasspath -io.micrometer:micrometer-commons:1.12.9=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +io.micrometer:micrometer-commons:1.12.10=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath io.micrometer:micrometer-core:1.6.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath,spring6TestCompileClasspath,spring6TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -io.micrometer:micrometer-observation:1.12.9=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +io.micrometer:micrometer-observation:1.12.10=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath io.smallrye:jandex:3.1.2=spring6LatestDepTestRuntimeClasspath io.sqreen:libsqreen:11.0.0=latestDepTestRuntimeClasspath,spring6LatestDepTestRuntimeClasspath,spring6TestRuntimeClasspath,testRuntimeClasspath jakarta.activation:jakarta.activation-api:2.1.1=spring6LatestDepTestRuntimeClasspath @@ -280,7 +280,7 @@ org.springframework:spring-aop:5.0.0.RELEASE=compileClasspath org.springframework:spring-aop:5.3.39=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-aop:5.3.4=testCompileClasspath,testRuntimeClasspath org.springframework:spring-aop:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath -org.springframework:spring-aop:6.1.12=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +org.springframework:spring-aop:6.1.13=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath org.springframework:spring-aspects:5.3.1=testCompileClasspath,testRuntimeClasspath org.springframework:spring-aspects:5.3.31=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-aspects:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath @@ -289,27 +289,27 @@ org.springframework:spring-beans:5.0.0.RELEASE=compileClasspath org.springframework:spring-beans:5.3.39=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-beans:5.3.4=testCompileClasspath,testRuntimeClasspath org.springframework:spring-beans:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath -org.springframework:spring-beans:6.1.12=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +org.springframework:spring-beans:6.1.13=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath org.springframework:spring-context:5.0.0.RELEASE=compileClasspath org.springframework:spring-context:5.3.39=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-context:5.3.4=testCompileClasspath,testRuntimeClasspath org.springframework:spring-context:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath -org.springframework:spring-context:6.1.12=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +org.springframework:spring-context:6.1.13=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath org.springframework:spring-core:5.0.0.RELEASE=compileClasspath org.springframework:spring-core:5.3.39=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-core:5.3.4=testCompileClasspath,testRuntimeClasspath org.springframework:spring-core:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath -org.springframework:spring-core:6.1.12=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +org.springframework:spring-core:6.1.13=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath org.springframework:spring-expression:5.0.0.RELEASE=compileClasspath org.springframework:spring-expression:5.3.39=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-expression:5.3.4=testCompileClasspath,testRuntimeClasspath org.springframework:spring-expression:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath -org.springframework:spring-expression:6.1.12=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +org.springframework:spring-expression:6.1.13=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath org.springframework:spring-jcl:5.0.0.RELEASE=compileClasspath org.springframework:spring-jcl:5.3.39=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-jcl:5.3.4=testCompileClasspath,testRuntimeClasspath org.springframework:spring-jcl:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath -org.springframework:spring-jcl:6.1.12=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath +org.springframework:spring-jcl:6.1.13=spring6LatestDepTestCompileClasspath,spring6LatestDepTestRuntimeClasspath org.springframework:spring-jdbc:5.3.31=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-jdbc:5.3.4=testCompileClasspath,testRuntimeClasspath org.springframework:spring-jdbc:6.0.2=spring6TestCompileClasspath,spring6TestRuntimeClasspath diff --git a/dd-java-agent/instrumentation/spring-webflux-6/gradle.lockfile b/dd-java-agent/instrumentation/spring-webflux-6/gradle.lockfile index 5d65c702e52..e4d83b2f70d 100644 --- a/dd-java-agent/instrumentation/spring-webflux-6/gradle.lockfile +++ b/dd-java-agent/instrumentation/spring-webflux-6/gradle.lockfile @@ -69,9 +69,9 @@ commons-io:commons-io:2.11.0=bootTestCompileClasspath,bootTestRuntimeClasspath,i de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=bootTestRuntimeClasspath,iastTestRuntimeClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath io.micrometer:micrometer-commons:1.10.0=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -io.micrometer:micrometer-commons:1.12.9=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micrometer:micrometer-commons:1.12.10=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.micrometer:micrometer-observation:1.10.0=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -io.micrometer:micrometer-observation:1.12.9=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.micrometer:micrometer-observation:1.12.10=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty.incubator:netty-incubator-codec-classes-quic:0.0.36.Final=bootTestRuntimeClasspath,iastTestRuntimeClasspath,testRuntimeClasspath io.netty.incubator:netty-incubator-codec-classes-quic:0.0.66.Final=latestDepBootTestRuntimeClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath io.netty.incubator:netty-incubator-codec-native-quic:0.0.36.Final=bootTestRuntimeClasspath,iastTestRuntimeClasspath,testRuntimeClasspath @@ -119,7 +119,7 @@ io.projectreactor.netty:reactor-netty-http:1.1.3=bootTestCompileClasspath,bootTe io.projectreactor.netty:reactor-netty:1.1.22=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.projectreactor.netty:reactor-netty:1.1.3=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.projectreactor:reactor-core:3.5.3=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -io.projectreactor:reactor-core:3.6.9=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.projectreactor:reactor-core:3.6.10=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.sqreen:libsqreen:11.0.0=bootTestRuntimeClasspath,iastTestRuntimeClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath jakarta.activation:jakarta.activation-api:2.1.0=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath jakarta.activation:jakarta.activation-api:2.1.3=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath @@ -286,29 +286,29 @@ org.springframework.boot:spring-boot-test:3.3.3=latestDepBootTestCompileClasspat org.springframework.boot:spring-boot:3.0.0=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath org.springframework.boot:spring-boot:3.3.3=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath org.springframework:spring-aop:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-aop:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-aop:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-beans:6.0.0=testCompileClasspath,testRuntimeClasspath org.springframework:spring-beans:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-beans:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-beans:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-context:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-context:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-context:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-core:6.0.0=testCompileClasspath,testRuntimeClasspath org.springframework:spring-core:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-core:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-core:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-expression:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-expression:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-expression:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-jcl:6.0.0=testCompileClasspath,testRuntimeClasspath org.springframework:spring-jcl:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-jcl:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-jcl:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-test:6.0.0=testCompileClasspath,testRuntimeClasspath org.springframework:spring-test:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-test:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-test:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-web:6.0.0=testCompileClasspath,testRuntimeClasspath org.springframework:spring-web:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-web:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-web:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.springframework:spring-webflux:6.0.0=testCompileClasspath,testRuntimeClasspath org.springframework:spring-webflux:6.0.2=bootTestCompileClasspath,bootTestRuntimeClasspath,iastTestCompileClasspath,iastTestRuntimeClasspath -org.springframework:spring-webflux:6.1.12=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.springframework:spring-webflux:6.1.13=latestDepBootTestCompileClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.testng:testng:7.5=bootTestRuntimeClasspath,iastTestRuntimeClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath org.webjars:jquery:3.5.1=bootTestRuntimeClasspath,iastTestRuntimeClasspath,latestDepBootTestRuntimeClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath org.xmlresolver:xmlresolver:4.4.3=spotbugs diff --git a/dd-java-agent/instrumentation/tomcat-5.5/gradle.lockfile b/dd-java-agent/instrumentation/tomcat-5.5/gradle.lockfile index 5e12186b5c2..7064ced2cc5 100644 --- a/dd-java-agent/instrumentation/tomcat-5.5/gradle.lockfile +++ b/dd-java-agent/instrumentation/tomcat-5.5/gradle.lockfile @@ -83,11 +83,11 @@ org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs org.apache.logging.log4j:log4j-api:2.19.0=spotbugs org.apache.logging.log4j:log4j-core:2.19.0=spotbugs -org.apache.tomcat.embed:tomcat-embed-core:10.1.28=latest10ForkedTestCompileClasspath,latest10ForkedTestRuntimeClasspath,latest10TestCompileClasspath,latest10TestRuntimeClasspath -org.apache.tomcat.embed:tomcat-embed-core:11.0.0-M24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-core:10.1.29=latest10ForkedTestCompileClasspath,latest10ForkedTestRuntimeClasspath,latest10TestCompileClasspath,latest10TestRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-core:11.0.0-M25=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apache.tomcat:jakartaee-migration:1.0.8=latest10ForkedTestCompileClasspath,latest10ForkedTestRuntimeClasspath,latest10TestCompileClasspath,latest10TestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -org.apache.tomcat:tomcat-annotations-api:10.1.28=latest10ForkedTestCompileClasspath,latest10ForkedTestRuntimeClasspath,latest10TestCompileClasspath,latest10TestRuntimeClasspath -org.apache.tomcat:tomcat-annotations-api:11.0.0-M24=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +org.apache.tomcat:tomcat-annotations-api:10.1.29=latest10ForkedTestCompileClasspath,latest10ForkedTestRuntimeClasspath,latest10TestCompileClasspath,latest10TestRuntimeClasspath +org.apache.tomcat:tomcat-annotations-api:11.0.0-M25=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=latest10ForkedTestCompileClasspath,latest10TestCompileClasspath,latestDepForkedTestCompileClasspath,latestDepTestCompileClasspath,testCompileClasspath org.checkerframework:checker-qual:2.5.2=annotationProcessor,latest10ForkedTestAnnotationProcessor,latest10TestAnnotationProcessor,latestDepForkedTestAnnotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor org.codehaus.groovy:groovy-all:3.0.17=latest10ForkedTestCompileClasspath,latest10ForkedTestRuntimeClasspath,latest10TestCompileClasspath,latest10TestRuntimeClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/twilio/gradle.lockfile b/dd-java-agent/instrumentation/twilio/gradle.lockfile index 814c243a775..82521f56420 100644 --- a/dd-java-agent/instrumentation/twilio/gradle.lockfile +++ b/dd-java-agent/instrumentation/twilio/gradle.lockfile @@ -55,7 +55,7 @@ com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestR com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath com.thoughtworks.qdox:qdox:1.12.1=latestDepTestRuntimeClasspath,testRuntimeClasspath com.twilio.sdk:twilio:0.0.1=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.twilio.sdk:twilio:10.4.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.twilio.sdk:twilio:10.5.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath commons-codec:commons-codec:1.15=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs commons-codec:commons-codec:1.9=compileClasspath,testCompileClasspath,testRuntimeClasspath commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/undertow/undertow-2.2/gradle.lockfile b/dd-java-agent/instrumentation/undertow/undertow-2.2/gradle.lockfile index d575734dd72..a408cec088e 100644 --- a/dd-java-agent/instrumentation/undertow/undertow-2.2/gradle.lockfile +++ b/dd-java-agent/instrumentation/undertow/undertow-2.2/gradle.lockfile @@ -50,10 +50,10 @@ info.picocli:picocli:4.6.3=latest22ForkedTestRuntimeClasspath,latest22TestRuntim io.sqreen:libsqreen:11.0.0=latest22ForkedTestRuntimeClasspath,latest22TestRuntimeClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,testRuntimeClasspath io.undertow:undertow-core:2.2.14.Final=compileClasspath,testCompileClasspath,testRuntimeClasspath io.undertow:undertow-core:2.2.20.Final=latest22ForkedTestCompileClasspath,latest22ForkedTestRuntimeClasspath,latest22TestCompileClasspath,latest22TestRuntimeClasspath -io.undertow:undertow-core:2.3.16.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.undertow:undertow-core:2.3.17.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.undertow:undertow-servlet-jakarta:2.2.14.Final=compileClasspath,latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.undertow:undertow-servlet-jakarta:2.2.20.Final=latest22ForkedTestCompileClasspath,latest22ForkedTestRuntimeClasspath,latest22TestCompileClasspath,latest22TestRuntimeClasspath -io.undertow:undertow-servlet:2.3.16.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.undertow:undertow-servlet:2.3.17.Final=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.0.0=compileClasspath,latest22ForkedTestCompileClasspath,latest22ForkedTestRuntimeClasspath,latest22TestCompileClasspath,latest22TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jakarta.annotation:jakarta.annotation-api:2.1.1=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath jakarta.servlet:jakarta.servlet-api:5.0.0=compileClasspath,latest22ForkedTestCompileClasspath,latest22ForkedTestRuntimeClasspath,latest22TestCompileClasspath,latest22TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath diff --git a/dd-java-agent/instrumentation/vertx-redis-client-3.9/gradle.lockfile b/dd-java-agent/instrumentation/vertx-redis-client-3.9/gradle.lockfile index 178766af0cf..a55d87818d2 100644 --- a/dd-java-agent/instrumentation/vertx-redis-client-3.9/gradle.lockfile +++ b/dd-java-agent/instrumentation/vertx-redis-client-3.9/gradle.lockfile @@ -107,21 +107,21 @@ io.reactivex.rxjava2:rxjava:2.2.21=latestDepForkedTestCompileClasspath,latestDep io.sqreen:libsqreen:11.0.0=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestRuntimeClasspath,testRuntimeClasspath io.vertx:vertx-codegen:3.9.0=testCompileClasspath,testRuntimeClasspath io.vertx:vertx-codegen:4.0.0=redis4xForkedTestCompileClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestCompileClasspath,redis4xTestRuntimeClasspath -io.vertx:vertx-codegen:4.5.9=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.vertx:vertx-codegen:4.5.10=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.vertx:vertx-core:3.9.0=compileClasspath,testCompileClasspath,testRuntimeClasspath io.vertx:vertx-core:4.0.0=redis4xForkedTestCompileClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestCompileClasspath,redis4xTestRuntimeClasspath -io.vertx:vertx-core:4.5.9=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.vertx:vertx-core:4.5.10=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.vertx:vertx-redis-client:3.9.0=compileClasspath,testCompileClasspath,testRuntimeClasspath io.vertx:vertx-redis-client:4.0.0=redis4xForkedTestCompileClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestCompileClasspath,redis4xTestRuntimeClasspath -io.vertx:vertx-redis-client:4.5.9=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.vertx:vertx-redis-client:4.5.10=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.vertx:vertx-rx-gen:3.9.0=testCompileClasspath,testRuntimeClasspath io.vertx:vertx-rx-gen:4.0.0=redis4xForkedTestCompileClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestCompileClasspath,redis4xTestRuntimeClasspath -io.vertx:vertx-rx-gen:4.5.9=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.vertx:vertx-rx-gen:4.5.10=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.vertx:vertx-rx-java2-gen:4.0.0=redis4xForkedTestCompileClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestCompileClasspath,redis4xTestRuntimeClasspath -io.vertx:vertx-rx-java2-gen:4.5.9=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.vertx:vertx-rx-java2-gen:4.5.10=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.vertx:vertx-rx-java2:3.9.0=testCompileClasspath,testRuntimeClasspath io.vertx:vertx-rx-java2:4.0.0=redis4xForkedTestCompileClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestCompileClasspath,redis4xTestRuntimeClasspath -io.vertx:vertx-rx-java2:4.5.9=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.vertx:vertx-rx-java2:4.5.10=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDepForkedTestCompileClasspath,latestDepForkedTestRuntimeClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,redis4xForkedTestCompileClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestCompileClasspath,redis4xTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs jline:jline:2.14.6=latestDepForkedTestRuntimeClasspath,latestDepTestRuntimeClasspath,redis4xForkedTestRuntimeClasspath,redis4xTestRuntimeClasspath,testRuntimeClasspath diff --git a/dd-smoke-tests/log-injection/gradle.lockfile b/dd-smoke-tests/log-injection/gradle.lockfile index 0113e8d0c4b..2dea049e3f3 100644 --- a/dd-smoke-tests/log-injection/gradle.lockfile +++ b/dd-smoke-tests/log-injection/gradle.lockfile @@ -57,7 +57,7 @@ commons-fileupload:commons-fileupload:1.5=testCompileClasspath,testRuntimeClassp commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath commons-logging:commons-logging:1.1.1=slf4jJCLBridge commons-logging:commons-logging:1.2=compileClasspath,jcl,jclLog4j2Bridge -commons-logging:commons-logging:1.3.0=jclLog4j2BridgeLatest +commons-logging:commons-logging:1.3.4=jclLog4j2BridgeLatest de.thetaphi:forbiddenapis:3.1=compileClasspath info.picocli:picocli:4.6.3=testRuntimeClasspath io.sqreen:libsqreen:11.0.0=testRuntimeClasspath @@ -90,23 +90,23 @@ org.apache.commons:commons-text:1.10.0=spotbugs org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs -org.apache.logging.log4j:log4j-1.2-api:2.23.1=log4j1Log4j2BridgeLatest +org.apache.logging.log4j:log4j-1.2-api:2.24.0=log4j1Log4j2BridgeLatest org.apache.logging.log4j:log4j-1.2-api:2.7=log4j1Log4j2Bridge org.apache.logging.log4j:log4j-api:2.14.0=compileClasspath org.apache.logging.log4j:log4j-api:2.19.0=spotbugs -org.apache.logging.log4j:log4j-api:2.23.1=jclLog4j2BridgeLatest,julLog4j2BridgeLatest,log4j1Log4j2BridgeLatest,log4j2Latest,log4j2Slf4jBridgeLatest,slf4jLog4j2BridgeLatest +org.apache.logging.log4j:log4j-api:2.24.0=jclLog4j2BridgeLatest,julLog4j2BridgeLatest,log4j1Log4j2BridgeLatest,log4j2Latest,log4j2Slf4jBridgeLatest,slf4jLog4j2BridgeLatest org.apache.logging.log4j:log4j-api:2.7=jclLog4j2Bridge,julLog4j2Bridge,log4j1Log4j2Bridge,log4j2,log4j2Slf4jBridge,slf4jLog4j2Bridge org.apache.logging.log4j:log4j-core:2.14.0=compileClasspath org.apache.logging.log4j:log4j-core:2.19.0=spotbugs -org.apache.logging.log4j:log4j-core:2.23.1=log4j2Latest,slf4jLog4j2BridgeLatest +org.apache.logging.log4j:log4j-core:2.24.0=log4j2Latest,slf4jLog4j2BridgeLatest org.apache.logging.log4j:log4j-core:2.7=log4j1Log4j2Bridge,log4j2 -org.apache.logging.log4j:log4j-jcl:2.23.1=jclLog4j2BridgeLatest +org.apache.logging.log4j:log4j-jcl:2.24.0=jclLog4j2BridgeLatest org.apache.logging.log4j:log4j-jcl:2.7=jclLog4j2Bridge -org.apache.logging.log4j:log4j-jul:2.23.1=julLog4j2BridgeLatest +org.apache.logging.log4j:log4j-jul:2.24.0=julLog4j2BridgeLatest org.apache.logging.log4j:log4j-jul:2.7=julLog4j2Bridge -org.apache.logging.log4j:log4j-slf4j-impl:2.23.1=slf4jLog4j2BridgeLatest +org.apache.logging.log4j:log4j-slf4j-impl:2.24.0=slf4jLog4j2BridgeLatest org.apache.logging.log4j:log4j-slf4j-impl:2.7=slf4jLog4j2Bridge -org.apache.logging.log4j:log4j-to-slf4j:2.23.1=log4j2Slf4jBridgeLatest +org.apache.logging.log4j:log4j-to-slf4j:2.24.0=log4j2Slf4jBridgeLatest org.apache.logging.log4j:log4j-to-slf4j:2.7=log4j2Slf4jBridge org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath org.checkerframework:checker-compat-qual:2.5.3=compileClasspath,floggerInterface,floggerJULBackend,floggerSlf4jBackend @@ -198,7 +198,7 @@ org.slf4j:slf4j-api:1.7.25=logbackBackendLatest org.slf4j:slf4j-api:1.7.30=compileClasspath,jclSlf4jBridge,julSlf4jBridge,log4j1Slf4jBridge,slf4jInterface,slf4jJCLBridge,slf4jJULBridge,slf4jLog4j1Bridge,slf4jSimpleBackend,testCompileClasspath org.slf4j:slf4j-api:1.7.36=slf4jLog4j2BridgeLatest,testRuntimeClasspath org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j -org.slf4j:slf4j-api:2.0.9=log4j2Slf4jBridgeLatest +org.slf4j:slf4j-api:2.0.16=log4j2Slf4jBridgeLatest org.slf4j:slf4j-jcl:1.7.30=slf4jJCLBridge org.slf4j:slf4j-jdk14:1.7.30=slf4jJULBridge org.slf4j:slf4j-log4j12:1.7.30=slf4jLog4j1Bridge diff --git a/dd-smoke-tests/springboot-freemarker/gradle.lockfile b/dd-smoke-tests/springboot-freemarker/gradle.lockfile new file mode 100644 index 00000000000..41a428b1a75 --- /dev/null +++ b/dd-smoke-tests/springboot-freemarker/gradle.lockfile @@ -0,0 +1,178 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.12=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testFixturesRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.12=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.1.7=testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.0=testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.13.5=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.13.5=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.13.5=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.5=testFixturesRuntimeClasspath +com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5=testFixturesRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.5=testFixturesRuntimeClasspath +com.fasterxml.jackson:jackson-bom:2.13.5=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml:classmate:1.5.1=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.4=testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=testCompileClasspath,testRuntimeClasspath +com.google.code.findbugs:jsr305:3.0.2=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.guava:guava:20.0=testCompileClasspath,testRuntimeClasspath +com.google.re2j:re2j:1.7=testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:4.9.3=testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:4.9.3=testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:2.8.0=testCompileClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=testRuntimeClasspath +commons-codec:commons-codec:1.15=spotbugs +commons-fileupload:commons-fileupload:1.5=testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.1=compileClasspath +info.picocli:picocli:4.6.3=testRuntimeClasspath +io.sqreen:libsqreen:11.0.0=testRuntimeClasspath +jakarta.annotation:jakarta.annotation-api:1.3.5=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +javax.servlet:javax.servlet-api:4.0.1=testCompileClasspath,testRuntimeClasspath +javax.validation:validation-api:2.0.1.Final=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=testRuntimeClasspath +junit:junit-dep:4.11=testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.12.23=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.12.23=testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=testRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=codenarc,testRuntimeClasspath +org.apache.ant:ant-junit:1.10.12=codenarc,testRuntimeClasspath +org.apache.ant:ant-launcher:1.10.12=testRuntimeClasspath +org.apache.ant:ant:1.10.12=testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.4=spotbugs +org.apache.httpcomponents.core5:httpcore5-h2:5.1.5=spotbugs +org.apache.httpcomponents.core5:httpcore5:5.1.5=spotbugs +org.apache.logging.log4j:log4j-api:2.17.2=compileClasspath,productionRuntimeClasspath,runtimeClasspath,spotbugs,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.logging.log4j:log4j-core:2.17.2=spotbugs +org.apache.logging.log4j:log4j-to-slf4j:2.17.2=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-core:9.0.79=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-el:9.0.79=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.tomcat.embed:tomcat-embed-websocket:9.0.79=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath +org.codehaus.groovy:groovy-all:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:3.0.19=codenarc,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:3.0.19=codenarc,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:3.0.19=codenarc,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:3.0.19=codenarc,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.19=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:3.0.19=codenarc,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:3.0.19=codenarc,testCompileClasspath,testRuntimeClasspath +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.4.51.v20230217=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.51.v20230217=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.51.v20230217=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.51.v20230217=testCompileClasspath,testRuntimeClasspath +org.freemarker:freemarker:2.3.24-incubating=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.freemarker:freemarker:2.3.32=testFixturesRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:2.2=testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=testCompileClasspath,testRuntimeClasspath +org.hibernate:hibernate-validator:5.3.6.Final=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jboss.logging:jboss-logging:3.4.3.Final=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.6.21=testCompileClasspath,testRuntimeClasspath +org.jetbrains:annotations:13.0=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.8.2=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.8.2=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:5.8.2=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter:5.8.2=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.8.2=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.8.2=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.8.2=testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.8.2=testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.8.2=testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.8.2=testRuntimeClasspath +org.junit:junit-bom:5.9.0=testCompileClasspath,testRuntimeClasspath +org.junit:junit-bom:5.9.1=spotbugs +org.msgpack:msgpack-core:0.8.24=testRuntimeClasspath +org.objenesis:objenesis:3.3=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=testRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-tree:9.2=testRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-util:9.2=testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=testRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.slf4j:jcl-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.36=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testFixturesRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.36=compileClasspath,productionRuntimeClasspath,runtimeClasspath,spotbugs,spotbugsSlf4j,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.2-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.springframework.boot:spring-boot-autoconfigure:2.7.15=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework.boot:spring-boot-starter-json:2.7.15=testFixturesRuntimeClasspath +org.springframework.boot:spring-boot-starter-logging:2.7.15=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework.boot:spring-boot-starter-tomcat:2.7.15=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework.boot:spring-boot-starter-web:1.5.18.RELEASE=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework.boot:spring-boot-starter-web:2.7.15=testFixturesRuntimeClasspath +org.springframework.boot:spring-boot-starter:2.7.15=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework.boot:spring-boot:2.7.15=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-aop:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-beans:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-context:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-core:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-expression:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-jcl:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-web:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.springframework:spring-webmvc:5.3.29=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.testng:testng:7.5=testRuntimeClasspath +org.webjars:jquery:3.5.1=testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +org.yaml:snakeyaml:1.30=compileClasspath,productionRuntimeClasspath,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +xml-apis:xml-apis:1.4.01=spotbugs +empty=annotationProcessor,developmentOnly,spotbugsPlugins,testAnnotationProcessor,testFixturesAnnotationProcessor,testFixturesCompileClasspath From fbae5a1c16a507e0444c9d5e6638b709cda618c4 Mon Sep 17 00:00:00 2001 From: Bruce Bujon Date: Fri, 13 Sep 2024 17:47:53 +0200 Subject: [PATCH 19/21] feat: Update Maven wrapper (#7602) --- .mvn/wrapper/MavenWrapperDownloader.java | 118 ------ .mvn/wrapper/maven-wrapper.jar | Bin 50710 -> 0 bytes .mvn/wrapper/maven-wrapper.properties | 21 +- mvnw | 451 ++++++++++------------- mvnw.cmd | 331 ++++++++--------- 5 files changed, 368 insertions(+), 553 deletions(-) delete mode 100644 .mvn/wrapper/MavenWrapperDownloader.java delete mode 100644 .mvn/wrapper/maven-wrapper.jar diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index 9ac51e49730..00000000000 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import java.io.*; -import java.net.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. */ - private static final String DEFAULT_DOWNLOAD_URL = - "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION - + "/maven-wrapper-" - + WRAPPER_VERSION - + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to use - * instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** Path where the maven-wrapper.jar will be saved to. */ - private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if (mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if (mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if (!outputFile.getParentFile().exists()) { - if (!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" - + outputFile.getParentFile().getAbsolutePath() - + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault( - new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } -} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50710 zcmbTd1CVCTmM+|7+wQV$+qP}n>auOywyU~q+qUhh+uxis_~*a##hm*_WW?9E7Pb7N%LRFiwbEGCJ0XP=%-6oeT$XZcYgtzC2~q zk(K08IQL8oTl}>>+hE5YRgXTB@fZ4TH9>7=79e`%%tw*SQUa9~$xKD5rS!;ZG@ocK zQdcH}JX?W|0_Afv?y`-NgLum62B&WSD$-w;O6G0Sm;SMX65z)l%m1e-g8Q$QTI;(Q z+x$xth4KFvH@Bs6(zn!iF#nenk^Y^ce;XIItAoCsow38eq?Y-Auh!1in#Rt-_D>H^ z=EjbclGGGa6VnaMGmMLj`x3NcwA43Jb(0gzl;RUIRAUDcR1~99l2SAPkVhoRMMtN} zXvC<tOmX83grD8GSo_Lo?%lNfhD#EBgPo z*nf@ppMC#B!T)Ae0RG$mlJWmGl7CkuU~B8-==5i;rS;8i6rJ=PoQxf446XDX9g|c> zU64ePyMlsI^V5Jq5A+BPe#e73+kpc_r1tv#B)~EZ;7^67F0*QiYfrk0uVW;Qb=NsG zN>gsuCwvb?s-KQIppEaeXtEMdc9dy6Dfduz-tMTms+i01{eD9JE&h?Kht*$eOl#&L zJdM_-vXs(V#$Ed;5wyNWJdPNh+Z$+;$|%qR(t`4W@kDhd*{(7-33BOS6L$UPDeE_53j${QfKN-0v-HG z(QfyvFNbwPK%^!eIo4ac1;b>c0vyf9}Xby@YY!lkz-UvNp zwj#Gg|4B~?n?G^{;(W;|{SNoJbHTMpQJ*Wq5b{l9c8(%?Kd^1?H1om1de0Da9M;Q=n zUfn{f87iVb^>Exl*nZ0hs(Yt>&V9$Pg`zX`AI%`+0SWQ4Zc(8lUDcTluS z5a_KerZWe}a-MF9#Cd^fi!y3%@RFmg&~YnYZ6<=L`UJ0v={zr)>$A;x#MCHZy1st7 ztT+N07NR+vOwSV2pvWuN1%lO!K#Pj0Fr>Q~R40{bwdL%u9i`DSM4RdtEH#cW)6}+I-eE< z&tZs+(Ogu(H_;$a$!7w`MH0r%h&@KM+<>gJL@O~2K2?VrSYUBbhCn#yy?P)uF3qWU z0o09mIik+kvzV6w>vEZy@&Mr)SgxPzUiDA&%07m17udz9usD82afQEps3$pe!7fUf z0eiidkJ)m3qhOjVHC_M(RYCBO%CZKZXFb8}s0-+}@CIn&EF(rRWUX2g^yZCvl0bI} zbP;1S)iXnRC&}5-Tl(hASKqdSnO?ASGJ*MIhOXIblmEudj(M|W!+I3eDc}7t`^mtg z)PKlaXe(OH+q-)qcQ8a@!llRrpGI8DsjhoKvw9T;TEH&?s=LH0w$EzI>%u;oD@x83 zJL7+ncjI9nn!TlS_KYu5vn%f*@qa5F;| zEFxY&B?g=IVlaF3XNm_03PA)=3|{n-UCgJoTr;|;1AU9|kPE_if8!Zvb}0q$5okF$ zHaJdmO&gg!9oN|M{!qGE=tb|3pVQ8PbL$}e;NgXz<6ZEggI}wO@aBP**2Wo=yN#ZC z4G$m^yaM9g=|&!^ft8jOLuzc3Psca*;7`;gnHm}tS0%f4{|VGEwu45KptfNmwxlE~ z^=r30gi@?cOm8kAz!EylA4G~7kbEiRlRIzwrb~{_2(x^$-?|#e6Bi_**(vyr_~9Of z!n>Gqf+Qwiu!xhi9f53=PM3`3tNF}pCOiPU|H4;pzjcsqbwg*{{kyrTxk<;mx~(;; z1NMrpaQ`57yn34>Jo3b|HROE(UNcQash!0p2-!Cz;{IRv#Vp5!3o$P8!%SgV~k&Hnqhp`5eLjTcy93cK!3Hm-$`@yGnaE=?;*2uSpiZTs_dDd51U%i z{|Zd9ou-;laGS_x=O}a+ zB||za<795A?_~Q=r=coQ+ZK@@ zId~hWQL<%)fI_WDIX#=(WNl!Dm$a&ROfLTd&B$vatq!M-2Jcs;N2vps$b6P1(N}=oI3<3luMTmC|0*{ zm1w8bt7vgX($!0@V0A}XIK)w!AzUn7vH=pZEp0RU0p?}ch2XC-7r#LK&vyc2=-#Q2 z^L%8)JbbcZ%g0Du;|8=q8B>X=mIQirpE=&Ox{TiuNDnOPd-FLI^KfEF729!!0x#Es z@>3ursjFSpu%C-8WL^Zw!7a0O-#cnf`HjI+AjVCFitK}GXO`ME&on|^=~Zc}^LBp9 zj=-vlN;Uc;IDjtK38l7}5xxQF&sRtfn4^TNtnzXv4M{r&ek*(eNbIu!u$>Ed%` z5x7+&)2P&4>0J`N&ZP8$vcR+@FS0126s6+Jx_{{`3ZrIMwaJo6jdrRwE$>IU_JTZ} z(||hyyQ)4Z1@wSlT94(-QKqkAatMmkT7pCycEB1U8KQbFX&?%|4$yyxCtm3=W`$4fiG0WU3yI@c zx{wfmkZAYE_5M%4{J-ygbpH|(|GD$2f$3o_Vti#&zfSGZMQ5_f3xt6~+{RX=$H8at z?GFG1Tmp}}lmm-R->ve*Iv+XJ@58p|1_jRvfEgz$XozU8#iJS})UM6VNI!3RUU!{5 zXB(+Eqd-E;cHQ>)`h0(HO_zLmzR3Tu-UGp;08YntWwMY-9i^w_u#wR?JxR2bky5j9 z3Sl-dQQU$xrO0xa&>vsiK`QN<$Yd%YXXM7*WOhnRdSFt5$aJux8QceC?lA0_if|s> ze{ad*opH_kb%M&~(~&UcX0nFGq^MqjxW?HJIP462v9XG>j(5Gat_)#SiNfahq2Mz2 zU`4uV8m$S~o9(W>mu*=h%Gs(Wz+%>h;R9Sg)jZ$q8vT1HxX3iQnh6&2rJ1u|j>^Qf`A76K%_ubL`Zu?h4`b=IyL>1!=*%!_K)=XC z6d}4R5L+sI50Q4P3upXQ3Z!~1ZXLlh!^UNcK6#QpYt-YC=^H=EPg3)z*wXo*024Q4b2sBCG4I# zlTFFY=kQ>xvR+LsuDUAk)q%5pEcqr(O_|^spjhtpb1#aC& zghXzGkGDC_XDa%t(X`E+kvKQ4zrQ*uuQoj>7@@ykWvF332)RO?%AA&Fsn&MNzmFa$ zWk&&^=NNjxLjrli_8ESU)}U|N{%j&TQmvY~lk!~Jh}*=^INA~&QB9em!in_X%Rl1&Kd~Z(u z9mra#<@vZQlOY+JYUwCrgoea4C8^(xv4ceCXcejq84TQ#sF~IU2V}LKc~Xlr_P=ry zl&Hh0exdCbVd^NPCqNNlxM3vA13EI8XvZ1H9#bT7y*U8Y{H8nwGpOR!e!!}*g;mJ#}T{ekSb}5zIPmye*If(}}_=PcuAW#yidAa^9-`<8Gr0 z)Fz=NiZ{)HAvw{Pl5uu)?)&i&Us$Cx4gE}cIJ}B4Xz~-q7)R_%owbP!z_V2=Aq%Rj z{V;7#kV1dNT9-6R+H}}(ED*_!F=~uz>&nR3gb^Ce%+0s#u|vWl<~JD3MvS0T9thdF zioIG3c#Sdsv;LdtRv3ml7%o$6LTVL>(H`^@TNg`2KPIk*8-IB}X!MT0`hN9Ddf7yN z?J=GxPL!uJ7lqwowsl?iRrh@#5C$%E&h~Z>XQcvFC*5%0RN-Opq|=IwX(dq(*sjs+ zqy99+v~m|6T#zR*e1AVxZ8djd5>eIeCi(b8sUk)OGjAsKSOg^-ugwl2WSL@d#?mdl zib0v*{u-?cq}dDGyZ%$XRY=UkQwt2oGu`zQneZh$=^! zj;!pCBWQNtvAcwcWIBM2y9!*W|8LmQy$H~5BEx)78J`4Z0(FJO2P^!YyQU{*Al+fs z){!4JvT1iLrJ8aU3k0t|P}{RN)_^v%$$r;+p0DY7N8CXzmS*HB*=?qaaF9D@#_$SN zSz{moAK<*RH->%r7xX~9gVW$l7?b|_SYI)gcjf0VAUJ%FcQP(TpBs; zg$25D!Ry_`8xpS_OJdeo$qh#7U+cepZ??TII7_%AXsT$B z=e)Bx#v%J0j``00Zk5hsvv6%T^*xGNx%KN-=pocSoqE5_R)OK%-Pbu^1MNzfds)mL zxz^F4lDKV9D&lEY;I+A)ui{TznB*CE$=9(wgE{m}`^<--OzV-5V4X2w9j(_!+jpTr zJvD*y6;39&T+==$F&tsRKM_lqa1HC}aGL0o`%c9mO=fts?36@8MGm7Vi{Y z^<7m$(EtdSr#22<(rm_(l_(`j!*Pu~Y>>xc>I9M#DJYDJNHO&4=HM%YLIp?;iR&$m z#_$ZWYLfGLt5FJZhr3jpYb`*%9S!zCG6ivNHYzNHcI%khtgHBliM^Ou}ZVD7ehU9 zS+W@AV=?Ro!=%AJ>Kcy9aU3%VX3|XM_K0A+ZaknKDyIS3S-Hw1C7&BSW5)sqj5Ye_ z4OSW7Yu-;bCyYKHFUk}<*<(@TH?YZPHr~~Iy%9@GR2Yd}J2!N9K&CN7Eq{Ka!jdu; zQNB*Y;i(7)OxZK%IHGt#Rt?z`I|A{q_BmoF!f^G}XVeTbe1Wnzh%1g>j}>DqFf;Rp zz7>xIs12@Ke0gr+4-!pmFP84vCIaTjqFNg{V`5}Rdt~xE^I;Bxp4)|cs8=f)1YwHz zqI`G~s2~qqDV+h02b`PQpUE#^^Aq8l%y2|ByQeXSADg5*qMprEAE3WFg0Q39`O+i1 z!J@iV!`Y~C$wJ!5Z+j5$i<1`+@)tBG$JL=!*uk=2k;T<@{|s1$YL079FvK%mPhyHV zP8^KGZnp`(hVMZ;s=n~3r2y;LTwcJwoBW-(ndU-$03{RD zh+Qn$ja_Z^OuMf3Ub|JTY74s&Am*(n{J3~@#OJNYuEVVJd9*H%)oFoRBkySGm`hx! zT3tG|+aAkXcx-2Apy)h^BkOyFTWQVeZ%e2@;*0DtlG9I3Et=PKaPt&K zw?WI7S;P)TWED7aSH$3hL@Qde?H#tzo^<(o_sv_2ci<7M?F$|oCFWc?7@KBj-;N$P zB;q!8@bW-WJY9do&y|6~mEruZAVe$!?{)N9rZZxD-|oltkhW9~nR8bLBGXw<632!l z*TYQn^NnUy%Ds}$f^=yQ+BM-a5X4^GHF=%PDrRfm_uqC zh{sKwIu|O0&jWb27;wzg4w5uA@TO_j(1X?8E>5Zfma|Ly7Bklq|s z9)H`zoAGY3n-+&JPrT!>u^qg9Evx4y@GI4$n-Uk_5wttU1_t?6><>}cZ-U+&+~JE) zPlDbO_j;MoxdLzMd~Ew|1o^a5q_1R*JZ=#XXMzg?6Zy!^hop}qoLQlJ{(%!KYt`MK z8umEN@Z4w!2=q_oe=;QttPCQy3Nm4F@x>@v4sz_jo{4m*0r%J(w1cSo;D_hQtJs7W z><$QrmG^+<$4{d2bgGo&3-FV}avg9zI|Rr(k{wTyl3!M1q+a zD9W{pCd%il*j&Ft z5H$nENf>>k$;SONGW`qo6`&qKs*T z2^RS)pXk9b@(_Fw1bkb)-oqK|v}r$L!W&aXA>IpcdNZ_vWE#XO8X`#Yp1+?RshVcd zknG%rPd*4ECEI0wD#@d+3NbHKxl}n^Sgkx==Iu%}HvNliOqVBqG?P2va zQ;kRJ$J6j;+wP9cS za#m;#GUT!qAV%+rdWolk+)6kkz4@Yh5LXP+LSvo9_T+MmiaP-eq6_k;)i6_@WSJ zlT@wK$zqHu<83U2V*yJ|XJU4farT#pAA&@qu)(PO^8PxEmPD4;Txpio+2)#!9 z>&=i7*#tc0`?!==vk>s7V+PL#S1;PwSY?NIXN2=Gu89x(cToFm))7L;< z+bhAbVD*bD=}iU`+PU+SBobTQ%S!=VL!>q$rfWsaaV}Smz>lO9JXT#`CcH_mRCSf4%YQAw`$^yY z3Y*^Nzk_g$xn7a_NO(2Eb*I=^;4f!Ra#Oo~LLjlcjke*k*o$~U#0ZXOQ5@HQ&T46l z7504MUgZkz2gNP1QFN8Y?nSEnEai^Rgyvl}xZfMUV6QrJcXp;jKGqB=D*tj{8(_pV zqyB*DK$2lgYGejmJUW)*s_Cv65sFf&pb(Yz8oWgDtQ0~k^0-wdF|tj}MOXaN@ydF8 zNr={U?=;&Z?wr^VC+`)S2xl}QFagy;$mG=TUs7Vi2wws5zEke4hTa2)>O0U?$WYsZ z<8bN2bB_N4AWd%+kncgknZ&}bM~eDtj#C5uRkp21hWW5gxWvc6b*4+dn<{c?w9Rmf zIVZKsPl{W2vQAlYO3yh}-{Os=YBnL8?uN5(RqfQ=-1cOiUnJu>KcLA*tQK3FU`_bM zM^T28w;nAj5EdAXFi&Kk1Nnl2)D!M{@+D-}bIEe+Lc4{s;YJc-{F#``iS2uk;2!Zp zF9#myUmO!wCeJIoi^A+T^e~20c+c2C}XltaR!|U-HfDA=^xF97ev}$l6#oY z&-&T{egB)&aV$3_aVA51XGiU07$s9vubh_kQG?F$FycvS6|IO!6q zq^>9|3U^*!X_C~SxX&pqUkUjz%!j=VlXDo$!2VLH!rKj@61mDpSr~7B2yy{>X~_nc zRI+7g2V&k zd**H++P9dg!-AOs3;GM`(g<+GRV$+&DdMVpUxY9I1@uK28$az=6oaa+PutlO9?6#? zf-OsgT>^@8KK>ggkUQRPPgC7zjKFR5spqQb3ojCHzj^(UH~v+!y*`Smv)VpVoPwa6 zWG18WJaPKMi*F6Zdk*kU^`i~NNTfn3BkJniC`yN98L-Awd)Z&mY? zprBW$!qL-OL7h@O#kvYnLsfff@kDIegt~?{-*5A7JrA;#TmTe?jICJqhub-G@e??D zqiV#g{)M!kW1-4SDel7TO{;@*h2=_76g3NUD@|c*WO#>MfYq6_YVUP+&8e4|%4T`w zXzhmVNziAHazWO2qXcaOu@R1MrPP{t)`N)}-1&~mq=ZH=w=;-E$IOk=y$dOls{6sRR`I5>|X zpq~XYW4sd;J^6OwOf**J>a7u$S>WTFPRkjY;BfVgQst)u4aMLR1|6%)CB^18XCz+r ztkYQ}G43j~Q&1em(_EkMv0|WEiKu;z2zhb(L%$F&xWwzOmk;VLBYAZ8lOCziNoPw1 zv2BOyXA`A8z^WH!nXhKXM`t0;6D*-uGds3TYGrm8SPnJJOQ^fJU#}@aIy@MYWz**H zvkp?7I5PE{$$|~{-ZaFxr6ZolP^nL##mHOErB^AqJqn^hFA=)HWj!m3WDaHW$C)i^ z9@6G$SzB=>jbe>4kqr#sF7#K}W*Cg-5y6kun3u&0L7BpXF9=#7IN8FOjWrWwUBZiU zT_se3ih-GBKx+Uw0N|CwP3D@-C=5(9T#BH@M`F2!Goiqx+Js5xC92|Sy0%WWWp={$(am!#l~f^W_oz78HX<0X#7 zp)p1u~M*o9W@O8P{0Qkg@Wa# z2{Heb&oX^CQSZWSFBXKOfE|tsAm#^U-WkDnU;IowZ`Ok4!mwHwH=s|AqZ^YD4!5!@ zPxJj+Bd-q6w_YG`z_+r;S86zwXb+EO&qogOq8h-Ect5(M2+>(O7n7)^dP*ws_3U6v zVsh)sk^@*c>)3EML|0<-YROho{lz@Nd4;R9gL{9|64xVL`n!m$-Jjrx?-Bacp!=^5 z1^T^eB{_)Y<9)y{-4Rz@9_>;_7h;5D+@QcbF4Wv7hu)s0&==&6u)33 zHRj+&Woq-vDvjwJCYES@$C4{$?f$Ibi4G()UeN11rgjF+^;YE^5nYprYoJNoudNj= zm1pXSeG64dcWHObUetodRn1Fw|1nI$D9z}dVEYT0lQnsf_E1x2vBLql7NrHH!n&Sq z6lc*mvU=WS6=v9Lrl}&zRiu_6u;6g%_DU{9b+R z#YHqX7`m9eydf?KlKu6Sb%j$%_jmydig`B*TN`cZL-g!R)iE?+Q5oOqBFKhx z%MW>BC^(F_JuG(ayE(MT{S3eI{cKiwOtPwLc0XO*{*|(JOx;uQOfq@lp_^cZo=FZj z4#}@e@dJ>Bn%2`2_WPeSN7si^{U#H=7N4o%Dq3NdGybrZgEU$oSm$hC)uNDC_M9xc zGzwh5Sg?mpBIE8lT2XsqTt3j3?We8}3bzLBTQd639vyg^$0#1epq8snlDJP2(BF)K zSx30RM+{f+b$g{9usIL8H!hCO117Xgv}ttPJm9wVRjPk;ePH@zxv%j9k5`TzdXLeT zFgFX`V7cYIcBls5WN0Pf6SMBN+;CrQ(|EsFd*xtwr#$R{Z9FP`OWtyNsq#mCgZ7+P z^Yn$haBJ)r96{ZJd8vlMl?IBxrgh=fdq_NF!1{jARCVz>jNdC)H^wfy?R94#MPdUjcYX>#wEx+LB#P-#4S-%YH>t-j+w zOFTI8gX$ard6fAh&g=u&56%3^-6E2tpk*wx3HSCQ+t7+*iOs zPk5ysqE}i*cQocFvA68xHfL|iX(C4h*67@3|5Qwle(8wT&!&{8*{f%0(5gH+m>$tq zp;AqrP7?XTEooYG1Dzfxc>W%*CyL16q|fQ0_jp%%Bk^k!i#Nbi(N9&T>#M{gez_Ws zYK=l}adalV(nH}I_!hNeb;tQFk3BHX7N}}R8%pek^E`X}%ou=cx8InPU1EE0|Hen- zyw8MoJqB5=)Z%JXlrdTXAE)eqLAdVE-=>wGHrkRet}>3Yu^lt$Kzu%$3#(ioY}@Gu zjk3BZuQH&~7H+C*uX^4}F*|P89JX;Hg2U!pt>rDi(n(Qe-c}tzb0#6_ItoR0->LSt zR~UT<-|@TO%O`M+_e_J4wx7^)5_%%u+J=yF_S#2Xd?C;Ss3N7KY^#-vx+|;bJX&8r zD?|MetfhdC;^2WG`7MCgs>TKKN=^=!x&Q~BzmQio_^l~LboTNT=I zC5pme^P@ER``p$2md9>4!K#vV-Fc1an7pl>_|&>aqP}+zqR?+~Z;f2^`a+-!Te%V? z;H2SbF>jP^GE(R1@%C==XQ@J=G9lKX+Z<@5}PO(EYkJh=GCv#)Nj{DkWJM2}F&oAZ6xu8&g7pn1ps2U5srwQ7CAK zN&*~@t{`31lUf`O;2w^)M3B@o)_mbRu{-`PrfNpF!R^q>yTR&ETS7^-b2*{-tZAZz zw@q5x9B5V8Qd7dZ!Ai$9hk%Q!wqbE1F1c96&zwBBaRW}(^axoPpN^4Aw}&a5dMe+*Gomky_l^54*rzXro$ z>LL)U5Ry>~FJi=*{JDc)_**c)-&faPz`6v`YU3HQa}pLtb5K)u%K+BOqXP0)rj5Au$zB zW1?vr?mDv7Fsxtsr+S6ucp2l#(4dnr9sD*v+@*>g#M4b|U?~s93>Pg{{a5|rm2xfI z`>E}?9S@|IoUX{Q1zjm5YJT|3S>&09D}|2~BiMo=z4YEjXlWh)V&qs;*C{`UMxp$9 zX)QB?G$fPD6z5_pNs>Jeh{^&U^)Wbr?2D6-q?)`*1k@!UvwQgl8eG$r+)NnFoT)L6 zg7lEh+E6J17krfYJCSjWzm67hEth24pomhz71|Qodn#oAILN)*Vwu2qpJirG)4Wnv}9GWOFrQg%Je+gNrPl8mw7ykE8{ z=|B4+uwC&bpp%eFcRU6{mxRV32VeH8XxX>v$du<$(DfinaaWxP<+Y97Z#n#U~V zVEu-GoPD=9$}P;xv+S~Ob#mmi$JQmE;Iz4(){y*9pFyW-jjgdk#oG$fl4o9E8bo|L zWjo4l%n51@Kz-n%zeSCD`uB?T%FVk+KBI}=ve zvlcS#wt`U6wrJo}6I6Rwb=1GzZfwE=I&Ne@p7*pH84XShXYJRgvK)UjQL%R9Zbm(m zxzTQsLTON$WO7vM)*vl%Pc0JH7WhP;$z@j=y#avW4X8iqy6mEYr@-}PW?H)xfP6fQ z&tI$F{NNct4rRMSHhaelo<5kTYq+(?pY)Ieh8*sa83EQfMrFupMM@nfEV@EmdHUv9 z35uzIrIuo4#WnF^_jcpC@uNNaYTQ~uZWOE6P@LFT^1@$o&q+9Qr8YR+ObBkpP9=F+$s5+B!mX2~T zAuQ6RenX?O{IlLMl1%)OK{S7oL}X%;!XUxU~xJN8xk z`xywS*naF(J#?vOpB(K=o~lE;m$zhgPWDB@=p#dQIW>xe_p1OLoWInJRKbEuoncf; zmS1!u-ycc1qWnDg5Nk2D)BY%jmOwCLC+Ny>`f&UxFowIsHnOXfR^S;&F(KXd{ODlm z$6#1ccqt-HIH9)|@fHnrKudu!6B$_R{fbCIkSIb#aUN|3RM>zuO>dpMbROZ`^hvS@ z$FU-;e4W}!ubzKrU@R*dW*($tFZ>}dd*4_mv)#O>X{U@zSzQt*83l9mI zI$8O<5AIDx`wo0}f2fsPC_l>ONx_`E7kdXu{YIZbp1$(^oBAH({T~&oQ&1{X951QW zmhHUxd)t%GQ9#ak5fTjk-cahWC;>^Rg7(`TVlvy0W@Y!Jc%QL3Ozu# zDPIqBCy&T2PWBj+d-JA-pxZlM=9ja2ce|3B(^VCF+a*MMp`(rH>Rt6W1$;r{n1(VK zLs>UtkT43LR2G$AOYHVailiqk7naz2yZGLo*xQs!T9VN5Q>eE(w zw$4&)&6xIV$IO^>1N-jrEUg>O8G4^@y+-hQv6@OmF@gy^nL_n1P1-Rtyy$Bl;|VcV zF=p*&41-qI5gG9UhKmmnjs932!6hceXa#-qfK;3d*a{)BrwNFeKU|ge?N!;zk+kB! zMD_uHJR#%b54c2tr~uGPLTRLg$`fupo}cRJeTwK;~}A>(Acy4k-Xk&Aa1&eWYS1ULWUj@fhBiWY$pdfy+F z@G{OG{*v*mYtH3OdUjwEr6%_ZPZ3P{@rfbNPQG!BZ7lRyC^xlMpWH`@YRar`tr}d> z#wz87t?#2FsH-jM6m{U=gp6WPrZ%*w0bFm(T#7m#v^;f%Z!kCeB5oiF`W33W5Srdt zdU?YeOdPG@98H7NpI{(uN{FJdu14r(URPH^F6tOpXuhU7T9a{3G3_#Ldfx_nT(Hec zo<1dyhsVsTw;ZkVcJ_0-h-T3G1W@q)_Q30LNv)W?FbMH+XJ* zy=$@39Op|kZv`Rt>X`zg&at(?PO^I=X8d9&myFEx#S`dYTg1W+iE?vt#b47QwoHI9 zNP+|3WjtXo{u}VG(lLUaW0&@yD|O?4TS4dfJI`HC-^q;M(b3r2;7|FONXphw-%7~* z&;2!X17|05+kZOpQ3~3!Nb>O94b&ZSs%p)TK)n3m=4eiblVtSx@KNFgBY_xV6ts;NF;GcGxMP8OKV^h6LmSb2E#Qnw ze!6Mnz7>lE9u{AgQ~8u2zM8CYD5US8dMDX-5iMlgpE9m*s+Lh~A#P1er*rF}GHV3h z=`STo?kIXw8I<`W0^*@mB1$}pj60R{aJ7>C2m=oghKyxMbFNq#EVLgP0cH3q7H z%0?L93-z6|+jiN|@v>ix?tRBU(v-4RV`}cQH*fp|)vd3)8i9hJ3hkuh^8dz{F5-~_ zUUr1T3cP%cCaTooM8dj|4*M=e6flH0&8ve32Q)0dyisl))XkZ7Wg~N}6y`+Qi2l+e zUd#F!nJp{#KIjbQdI`%oZ`?h=5G^kZ_uN`<(`3;a!~EMsWV|j-o>c?x#;zR2ktiB! z);5rrHl?GPtr6-o!tYd|uK;Vbsp4P{v_4??=^a>>U4_aUXPWQ$FPLE4PK$T^3Gkf$ zHo&9$U&G`d(Os6xt1r?sg14n)G8HNyWa^q8#nf0lbr4A-Fi;q6t-`pAx1T*$eKM*$ z|CX|gDrk#&1}>5H+`EjV$9Bm)Njw&7-ZR{1!CJTaXuP!$Pcg69`{w5BRHysB$(tWUes@@6aM69kb|Lx$%BRY^-o6bjH#0!7b;5~{6J+jKxU!Kmi# zndh@+?}WKSRY2gZ?Q`{(Uj|kb1%VWmRryOH0T)f3cKtG4oIF=F7RaRnH0Rc_&372={_3lRNsr95%ZO{IX{p@YJ^EI%+gvvKes5cY+PE@unghjdY5#9A!G z70u6}?zmd?v+{`vCu-53_v5@z)X{oPC@P)iA3jK$`r zSA2a7&!^zmUiZ82R2=1cumBQwOJUPz5Ay`RLfY(EiwKkrx%@YN^^XuET;tE zmr-6~I7j!R!KrHu5CWGSChO6deaLWa*9LLJbcAJsFd%Dy>a!>J`N)Z&oiU4OEP-!Ti^_!p}O?7`}i7Lsf$-gBkuY*`Zb z7=!nTT;5z$_5$=J=Ko+Cp|Q0J=%oFr>hBgnL3!tvFoLNhf#D0O=X^h+x08iB;@8pXdRHxX}6R4k@i6%vmsQwu^5z zk1ip`#^N)^#Lg#HOW3sPI33xqFB4#bOPVnY%d6prwxf;Y-w9{ky4{O6&94Ra8VN@K zb-lY;&`HtxW@sF!doT5T$2&lIvJpbKGMuDAFM#!QPXW87>}=Q4J3JeXlwHys?!1^#37q_k?N@+u&Ns20pEoBeZC*np;i;M{2C0Z4_br2gsh6eL z#8`#sn41+$iD?^GL%5?cbRcaa-Nx0vE(D=*WY%rXy3B%gNz0l?#noGJGP728RMY#q z=2&aJf@DcR?QbMmN)ItUe+VM_U!ryqA@1VVt$^*xYt~-qvW!J4Tp<-3>jT=7Zow5M z8mSKp0v4b%a8bxFr>3MwZHSWD73D@+$5?nZAqGM#>H@`)mIeC#->B)P8T$zh-Pxnc z8)~Zx?TWF4(YfKuF3WN_ckpCe5;x4V4AA3(i$pm|78{%!q?|~*eH0f=?j6i)n~Hso zmTo>vqEtB)`%hP55INf7HM@taH)v`Fw40Ayc*R!T?O{ziUpYmP)AH`euTK!zg9*6Z z!>M=$3pd0!&TzU=hc_@@^Yd3eUQpX4-33}b{?~5t5lgW=ldJ@dUAH%`l5US1y_`40 zs(X`Qk}vvMDYYq+@Rm+~IyCX;iD~pMgq^KY)T*aBz@DYEB={PxA>)mI6tM*sx-DmGQHEaHwRrAmNjO!ZLHO4b;;5mf@zzlPhkP($JeZGE7 z?^XN}Gf_feGoG~BjUgVa*)O`>lX=$BSR2)uD<9 z>o^|nb1^oVDhQbfW>>!;8-7<}nL6L^V*4pB=>wwW+RXAeRvKED(n1;R`A6v$6gy0I(;Vf?!4;&sgn7F%LpM}6PQ?0%2Z@b{It<(G1CZ|>913E0nR2r^Pa*Bp z@tFGi*CQ~@Yc-?{cwu1 zsilf=k^+Qs>&WZG(3WDixisHpR>`+ihiRwkL(3T|=xsoNP*@XX3BU8hr57l3k;pni zI``=3Nl4xh4oDj<%>Q1zYXHr%Xg_xrK3Nq?vKX3|^Hb(Bj+lONTz>4yhU-UdXt2>j z<>S4NB&!iE+ao{0Tx^N*^|EZU;0kJkx@zh}S^P{ieQjGl468CbC`SWnwLRYYiStXm zOxt~Rb3D{dz=nHMcY)#r^kF8|q8KZHVb9FCX2m^X*(|L9FZg!5a7((!J8%MjT$#Fs)M1Pb zq6hBGp%O1A+&%2>l0mpaIzbo&jc^!oN^3zxap3V2dNj3x<=TwZ&0eKX5PIso9j1;e zwUg+C&}FJ`k(M|%%}p=6RPUq4sT3-Y;k-<68ciZ~_j|bt>&9ZLHNVrp#+pk}XvM{8 z`?k}o-!if>hVlCP9j%&WI2V`5SW)BCeR5>MQhF)po=p~AYN%cNa_BbV6EEh_kk^@a zD>4&>uCGCUmyA-c)%DIcF4R6!>?6T~Mj_m{Hpq`*(wj>foHL;;%;?(((YOxGt)Bhx zuS+K{{CUsaC++%}S6~CJ=|vr(iIs-je)e9uJEU8ZJAz)w166q)R^2XI?@E2vUQ!R% zn@dxS!JcOimXkWJBz8Y?2JKQr>`~SmE2F2SL38$SyR1^yqj8_mkBp)o$@+3BQ~Mid z9U$XVqxX3P=XCKj0*W>}L0~Em`(vG<>srF8+*kPrw z20{z(=^w+ybdGe~Oo_i|hYJ@kZl*(9sHw#Chi&OIc?w`nBODp?ia$uF%Hs(X>xm?j zqZQ`Ybf@g#wli`!-al~3GWiE$K+LCe=Ndi!#CVjzUZ z!sD2O*;d28zkl))m)YN7HDi^z5IuNo3^w(zy8 zszJG#mp#Cj)Q@E@r-=NP2FVxxEAeOI2e=|KshybNB6HgE^(r>HD{*}S}mO>LuRGJT{*tfTzw_#+er-0${}%YPe@CMJ1Ng#j#)i)SnY@ss3gL;g zg2D~#Kpdfu#G;q1qz_TwSz1VJT(b3zby$Vk&;Y#1(A)|xj`_?i5YQ;TR%jice5E;0 zYHg;`zS5{S*9xI6o^j>rE8Ua*XhIw{_-*&@(R|C(am8__>+Ws&Q^ymy*X4~hR2b5r zm^p3sw}yv=tdyncy_Ui7{BQS732et~Z_@{-IhHDXAV`(Wlay<#hb>%H%WDi+K$862nA@BDtM#UCKMu+kM`!JHyWSi?&)A7_ z3{cyNG%a~nnH_!+;g&JxEMAmh-Z}rC!o7>OVzW&PoMyTA_g{hqXG)SLraA^OP**<7 zjWbr7z!o2n3hnx7A=2O=WL;`@9N{vQIM@&|G-ljrPvIuJHYtss0Er0fT5cMXNUf1B z7FAwBDixt0X7C3S)mPe5g`YtME23wAnbU)+AtV}z+e8G;0BP=bI;?(#|Ep!vVfDbK zvx+|CKF>yt0hWQ3drchU#XBU+HiuG*V^snFAPUp-5<#R&BUAzoB!aZ+e*KIxa26V}s6?nBK(U-7REa573wg-jqCg>H8~>O{ z*C0JL-?X-k_y%hpUFL?I>0WV{oV`Nb)nZbJG01R~AG>flIJf)3O*oB2i8~;!P?Wo_ z0|QEB*fifiL6E6%>tlAYHm2cjTFE@*<);#>689Z6S#BySQ@VTMhf9vYQyLeDg1*F} zjq>i1*x>5|CGKN{l9br3kB0EHY|k4{%^t7-uhjd#NVipUZa=EUuE5kS1_~qYX?>hJ z$}!jc9$O$>J&wnu0SgfYods^z?J4X;X7c77Me0kS-dO_VUQ39T(Kv(Y#s}Qqz-0AH z^?WRL(4RzpkD+T5FG_0NyPq-a-B7A5LHOCqwObRJi&oRi(<;OuIN7SV5PeHU$<@Zh zPozEV`dYmu0Z&Tqd>t>8JVde9#Pt+l95iHe$4Xwfy1AhI zDM4XJ;bBTTvRFtW>E+GzkN)9k!hA5z;xUOL2 zq4}zn-DP{qc^i|Y%rvi|^5k-*8;JZ~9a;>-+q_EOX+p1Wz;>i7c}M6Nv`^NY&{J-> z`(mzDJDM}QPu5i44**2Qbo(XzZ-ZDu%6vm8w@DUarqXj41VqP~ zs&4Y8F^Waik3y1fQo`bVUH;b=!^QrWb)3Gl=QVKr+6sxc=ygauUG|cm?|X=;Q)kQ8 zM(xrICifa2p``I7>g2R~?a{hmw@{!NS5`VhH8+;cV(F>B94M*S;5#O`YzZH1Z%yD? zZ61w(M`#aS-*~Fj;x|J!KM|^o;MI#Xkh0ULJcA?o4u~f%Z^16ViA27FxU5GM*rKq( z7cS~MrZ=f>_OWx8j#-Q3%!aEU2hVuTu(7`TQk-Bi6*!<}0WQi;_FpO;fhpL4`DcWp zGOw9vx0N~6#}lz(r+dxIGZM3ah-8qrqMmeRh%{z@dbUD2w15*_4P?I~UZr^anP}DB zU9CCrNiy9I3~d#&!$DX9e?A});BjBtQ7oGAyoI$8YQrkLBIH@2;lt4E^)|d6Jwj}z z&2_E}Y;H#6I4<10d_&P0{4|EUacwFHauvrjAnAm6yeR#}f}Rk27CN)vhgRqEyPMMS7zvunj2?`f;%?alsJ+-K+IzjJx>h8 zu~m_y$!J5RWAh|C<6+uiCNsOKu)E72M3xKK(a9Okw3e_*O&}7llNV!=P87VM2DkAk zci!YXS2&=P0}Hx|wwSc9JP%m8dMJA*q&VFB0yMI@5vWoAGraygwn){R+Cj6B1a2Px z5)u(K5{+;z2n*_XD!+Auv#LJEM)(~Hx{$Yb^ldQmcYF2zNH1V30*)CN_|1$v2|`LnFUT$%-tO0Eg|c5$BB~yDfzS zcOXJ$wpzVK0MfTjBJ0b$r#_OvAJ3WRt+YOLlJPYMx~qp>^$$$h#bc|`g0pF-Ao43? z>*A+8lx>}L{p(Tni2Vvk)dtzg$hUKjSjXRagj)$h#8=KV>5s)J4vGtRn5kP|AXIz! zPgbbVxW{2o4s-UM;c#We8P&mPN|DW7_uLF!a|^0S=wr6Esx9Z$2|c1?GaupU6$tb| zY_KU`(_29O_%k(;>^|6*pZURH3`@%EuKS;Ns z1lujmf;r{qAN&Q0&m{wJSZ8MeE7RM5+Sq;ul_ z`+ADrd_Um+G37js6tKsArNB}n{p*zTUxQr>3@wA;{EUbjNjlNd6$Mx zg0|MyU)v`sa~tEY5$en7^PkC=S<2@!nEdG6L=h(vT__0F=S8Y&eM=hal#7eM(o^Lu z2?^;05&|CNliYrq6gUv;|i!(W{0N)LWd*@{2q*u)}u*> z7MQgk6t9OqqXMln?zoMAJcc zMKaof_Up})q#DzdF?w^%tTI7STI^@8=Wk#enR*)&%8yje>+tKvUYbW8UAPg55xb70 zEn5&Ba~NmOJlgI#iS8W3-@N%>V!#z-ZRwfPO1)dQdQkaHsiqG|~we2ALqG7Ruup(DqSOft2RFg_X%3w?6VqvV1uzX_@F(diNVp z4{I|}35=11u$;?|JFBEE*gb;T`dy+8gWJ9~pNsecrO`t#V9jW-6mnfO@ff9od}b(3s4>p0i30gbGIv~1@a^F2kl7YO;DxmF3? zWi-RoXhzRJV0&XE@ACc?+@6?)LQ2XNm4KfalMtsc%4!Fn0rl zpHTrHwR>t>7W?t!Yc{*-^xN%9P0cs0kr=`?bQ5T*oOo&VRRu+1chM!qj%2I!@+1XF z4GWJ=7ix9;Wa@xoZ0RP`NCWw0*8247Y4jIZ>GEW7zuoCFXl6xIvz$ezsWgKdVMBH> z{o!A7f;R-@eK9Vj7R40xx)T<2$?F2E<>Jy3F;;=Yt}WE59J!1WN367 zA^6pu_zLoZIf*x031CcwotS{L8bJE(<_F%j_KJ2P_IusaZXwN$&^t716W{M6X2r_~ zaiMwdISX7Y&Qi&Uh0upS3TyEIXNDICQlT5fHXC`aji-c{U(J@qh-mWl-uMN|T&435 z5)a1dvB|oe%b2mefc=Vpm0C%IUYYh7HI*;3UdgNIz}R##(#{(_>82|zB0L*1i4B5j-xi9O4x10rs_J6*gdRBX=@VJ+==sWb&_Qc6tSOowM{BX@(zawtjl zdU!F4OYw2@Tk1L^%~JCwb|e#3CC>srRHQ*(N%!7$Mu_sKh@|*XtR>)BmWw!;8-mq7 zBBnbjwx8Kyv|hd*`5}84flTHR1Y@@uqjG`UG+jN_YK&RYTt7DVwfEDXDW4U+iO{>K zw1hr{_XE*S*K9TzzUlJH2rh^hUm2v7_XjwTuYap|>zeEDY$HOq3X4Tz^X}E9z)x4F zs+T?Ed+Hj<#jY-`Va~fT2C$=qFT-5q$@p9~0{G&eeL~tiIAHXA!f6C(rAlS^)&k<- zXU|ZVs}XQ>s5iONo~t!XXZgtaP$Iau;JT%h)>}v54yut~pykaNye4axEK#5@?TSsQ zE;Jvf9I$GVb|S`7$pG)4vgo9NXsKr?u=F!GnA%VS2z$@Z(!MR9?EPcAqi5ft)Iz6sNl`%kj+_H-X`R<>BFrBW=fSlD|{`D%@Rcbu2?%>t7i34k?Ujb)2@J-`j#4 zLK<69qcUuniIan-$A1+fR=?@+thwDIXtF1Tks@Br-xY zfB+zblrR(ke`U;6U~-;p1Kg8Lh6v~LjW@9l2P6s+?$2!ZRPX`(ZkRGe7~q(4&gEi<$ch`5kQ?*1=GSqkeV z{SA1EaW_A!t{@^UY2D^YO0(H@+kFVzZaAh0_`A`f(}G~EP~?B|%gtxu&g%^x{EYSz zk+T;_c@d;+n@$<>V%P=nk36?L!}?*=vK4>nJSm+1%a}9UlmTJTrfX4{Lb7smNQn@T zw9p2%(Zjl^bWGo1;DuMHN(djsEm)P8mEC2sL@KyPjwD@d%QnZ$ zMJ3cnn!_!iP{MzWk%PI&D?m?C(y2d|2VChluN^yHya(b`h>~GkI1y;}O_E57zOs!{ zt2C@M$^PR2U#(dZmA-sNreB@z-yb0Bf7j*yONhZG=onhx>t4)RB`r6&TP$n zgmN*)eCqvgriBO-abHQ8ECN0bw?z5Bxpx z=jF@?zFdVn?@gD5egM4o$m`}lV(CWrOKKq(sv*`mNcHcvw&Xryfw<{ch{O&qc#WCTXX6=#{MV@q#iHYba!OUY+MGeNTjP%Fj!WgM&`&RlI^=AWTOqy-o zHo9YFt!gQ*p7{Fl86>#-JLZo(b^O`LdFK~OsZBRR@6P?ad^Ujbqm_j^XycM4ZHFyg ziUbIFW#2tj`65~#2V!4z7DM8Z;fG0|APaQ{a2VNYpNotB7eZ5kp+tPDz&Lqs0j%Y4tA*URpcfi z_M(FD=fRGdqf430j}1z`O0I=;tLu81bwJXdYiN7_&a-?ly|-j*+=--XGvCq#32Gh(=|qj5F?kmihk{%M&$}udW5)DHK zF_>}5R8&&API}o0osZJRL3n~>76nUZ&L&iy^s>PMnNcYZ|9*1$v-bzbT3rpWsJ+y{ zPrg>5Zlery96Um?lc6L|)}&{992{_$J&=4%nRp9BAC6!IB=A&=tF>r8S*O-=!G(_( zwXbX_rGZgeiK*&n5E;f=k{ktyA1(;x_kiMEt0*gpp_4&(twlS2e5C?NoD{n>X2AT# zY@Zp?#!b1zNq96MQqeO*M1MMBin5v#RH52&Xd~DO6-BZLnA6xO1$sou(YJ1Dlc{WF zVa%2DyYm`V#81jP@70IJ;DX@y*iUt$MLm)ByAD$eUuji|5{ptFYq(q)mE(5bOpxjM z^Q`AHWq44SG3`_LxC9fwR)XRVIp=B%<(-lOC3jI#bb@dK(*vjom!=t|#<@dZql%>O z15y^{4tQoeW9Lu%G&V$90x6F)xN6y_oIn;!Q zs)8jT$;&;u%Y>=T3hg34A-+Y*na=|glcStr5D;&5*t5*DmD~x;zQAV5{}Ya`?RRGa zT*t9@$a~!co;pD^!J5bo?lDOWFx%)Y=-fJ+PDGc0>;=q=s?P4aHForSB+)v0WY2JH z?*`O;RHum6j%#LG)Vu#ciO#+jRC3!>T(9fr+XE7T2B7Z|0nR5jw@WG)kDDzTJ=o4~ zUpeyt7}_nd`t}j9BKqryOha{34erm)RmST)_9Aw)@ zHbiyg5n&E{_CQR@h<}34d7WM{s{%5wdty1l+KX8*?+-YkNK2Be*6&jc>@{Fd;Ps|| z26LqdI3#9le?;}risDq$K5G3yoqK}C^@-8z^wj%tdgw-6@F#Ju{Sg7+y)L?)U$ez> zoOaP$UFZ?y5BiFycir*pnaAaY+|%1%8&|(@VB)zweR%?IidwJyK5J!STzw&2RFx zZV@qeaCB01Hu#U9|1#=Msc8Pgz5P*4Lrp!Q+~(G!OiNR{qa7|r^H?FC6gVhkk3y7=uW#Sh;&>78bZ}aK*C#NH$9rX@M3f{nckYI+5QG?Aj1DM)@~z_ zw!UAD@gedTlePB*%4+55naJ8ak_;))#S;4ji!LOqY5VRI){GMwHR~}6t4g>5C_#U# ztYC!tjKjrKvRy=GAsJVK++~$|+s!w9z3H4G^mACv=EErXNSmH7qN}%PKcN|8%9=i)qS5+$L zu&ya~HW%RMVJi4T^pv?>mw*Gf<)-7gf#Qj|e#w2|v4#t!%Jk{&xlf;$_?jW*n!Pyx zkG$<18kiLOAUPuFfyu-EfWX%4jYnjBYc~~*9JEz6oa)_R|8wjZA|RNrAp%}14L7fW zi7A5Wym*K+V8pkqqO-X#3ft{0qs?KVt^)?kS>AicmeO&q+~J~ zp0YJ_P~_a8j= zsAs~G=8F=M{4GZL{|B__UorX@MRNQLn?*_gym4aW(~+i13knnk1P=khoC-ViMZk+x zLW(l}oAg1H`dU+Fv**;qw|ANDSRs>cGqL!Yw^`; zv;{E&8CNJcc)GHzTYM}f&NPw<6j{C3gaeelU#y!M)w-utYEHOCCJo|Vgp7K6C_$14 zqIrLUB0bsgz^D%V%fbo2f9#yb#CntTX?55Xy|Kps&Xek*4_r=KDZ z+`TQuv|$l}MWLzA5Ay6Cvsa^7xvwXpy?`w(6vx4XJ zWuf1bVSb#U8{xlY4+wlZ$9jjPk)X_;NFMqdgq>m&W=!KtP+6NL57`AMljW+es zzqjUjgz;V*kktJI?!NOg^s_)ph45>4UDA!Vo0hn>KZ+h-3=?Y3*R=#!fOX zP$Y~+14$f66ix?UWB_6r#fMcC^~X4R-<&OD1CSDNuX~y^YwJ>sW0j`T<2+3F9>cLo z#!j57$ll2K9(%$4>eA7(>FJX5e)pR5&EZK!IMQzOfik#FU*o*LGz~7u(8}XzIQRy- z!U7AlMTIe|DgQFmc%cHy_9^{o`eD%ja_L>ckU6$O4*U**o5uR7`FzqkU8k4gxtI=o z^P^oGFPm5jwZMI{;nH}$?p@uV8FT4r=|#GziKXK07bHJLtK}X%I0TON$uj(iJ`SY^ zc$b2CoxCQ>7LH@nxcdW&_C#fMYBtTxcg46dL{vf%EFCZ~eErMvZq&Z%Lhumnkn^4A zsx$ay(FnN7kYah}tZ@0?-0Niroa~13`?hVi6`ndno`G+E8;$<6^gsE-K3)TxyoJ4M zb6pj5=I8^FD5H@`^V#Qb2^0cx7wUz&cruA5g>6>qR5)O^t1(-qqP&1g=qvY#s&{bx zq8Hc%LsbK1*%n|Y=FfojpE;w~)G0-X4i*K3{o|J7`krhIOd*c*$y{WIKz2n2*EXEH zT{oml3Th5k*vkswuFXdGDlcLj15Nec5pFfZ*0?XHaF_lVuiB%Pv&p7z)%38}%$Gup zVTa~C8=cw%6BKn_|4E?bPNW4PT7}jZQLhDJhvf4z;~L)506IE0 zX!tWXX(QOQPRj-p80QG79t8T2^az4Zp2hOHziQlvT!|H)jv{Ixodabzv6lBj)6WRB z{)Kg@$~~(7$-az?lw$4@L%I&DI0Lo)PEJJziWP33a3azb?jyXt1v0N>2kxwA6b%l> zZqRpAo)Npi&loWbjFWtEV)783BbeIAhqyuc+~>i7aQ8shIXt)bjCWT6$~ro^>99G} z2XfmT0(|l!)XJb^E!#3z4oEGIsL(xd; zYX1`1I(cG|u#4R4T&C|m*9KB1`UzKvho5R@1eYtUL9B72{i(ir&ls8g!pD ztR|25xGaF!4z5M+U@@lQf(12?xGy`!|3E}7pI$k`jOIFjiDr{tqf0va&3pOn6Pu)% z@xtG2zjYuJXrV)DUrIF*y<1O1<$#54kZ#2;=X51J^F#0nZ0(;S$OZDt_U2bx{RZ=Q zMMdd$fH|!s{ zXq#l;{`xfV`gp&C>A`WrQU?d{!Ey5(1u*VLJt>i27aZ-^&2IIk=zP5p+{$q(K?2(b z8?9h)kvj9SF!Dr zoyF}?V|9;6abHxWk2cEvGs$-}Pg}D+ZzgkaN&$Snp%;5m%zh1E#?Wac-}x?BYlGN#U#Mek*}kek#I9XaHt?mz3*fDrRTQ#&#~xyeqJk1QJ~E$7qsw6 z?sV;|?*=-{M<1+hXoj?@-$y+(^BJ1H~wQ9G8C0#^aEAyhDduNX@haoa=PuPp zYsGv8UBfQaRHgBgLjmP^eh>fLMeh{8ic)?xz?#3kX-D#Z{;W#cd_`9OMFIaJg-=t`_3*!YDgtNQ2+QUEAJB9M{~AvT$H`E)IKmCR21H532+ata8_i_MR@ z2Xj<3w<`isF~Ah$W{|9;51ub*f4#9ziKrOR&jM{x7I_7()O@`F*5o$KtZ?fxU~g`t zUovNEVKYn$U~VX8eR)qb`7;D8pn*Pp$(otYTqL)5KH$lUS-jf}PGBjy$weoceAcPp z&5ZYB$r&P$MN{0H0AxCe4Qmd3T%M*5d4i%#!nmBCN-WU-4m4Tjxn-%j3HagwTxCZ9 z)j5vO-C7%s%D!&UfO>bi2oXiCw<-w{vVTK^rVbv#W=WjdADJy8$khnU!`ZWCIU`># zyjc^1W~pcu>@lDZ{zr6gv%)2X4n27~Ve+cQqcND%0?IFSP4sH#yIaXXYAq^z3|cg` z`I3$m%jra>e2W-=DiD@84T!cb%||k)nPmEE09NC%@PS_OLhkrX*U!cgD*;;&gIaA(DyVT4QD+q_xu z>r`tg{hiGY&DvD-)B*h+YEd+Zn)WylQl}<4>(_NlsKXCRV;a)Rcw!wtelM2_rWX`j zTh5A|i6=2BA(iMCnj_fob@*eA;V?oa4Z1kRBGaU07O70fb6-qmA$Hg$ps@^ka1=RO zTbE_2#)1bndC3VuK@e!Sftxq4=Uux}fDxXE#Q5_x=E1h>T5`DPHz zbH<_OjWx$wy7=%0!mo*qH*7N4tySm+R0~(rbus`7;+wGh;C0O%x~fEMkt!eV>U$`i z5>Q(o z=t$gPjgGh0&I7KY#k50V7DJRX<%^X z>6+ebc9efB3@eE2Tr){;?_w`vhgF>`-GDY(YkR{9RH(MiCnyRtd!LxXJ75z+?2 zGi@m^+2hKJ5sB1@Xi@s_@p_Kwbc<*LQ_`mr^Y%j}(sV_$`J(?_FWP)4NW*BIL~sR>t6 zM;qTJZ~GoY36&{h-Pf}L#y2UtR}>ZaI%A6VkU>vG4~}9^i$5WP2Tj?Cc}5oQxe2=q z8BeLa$hwCg_psjZyC2+?yX4*hJ58Wu^w9}}7X*+i5Rjqu5^@GzXiw#SUir1G1`jY% zOL=GE_ENYxhcyUrEt9XlMNP6kx6h&%6^u3@zB8KUCAa18T(R2J`%JjWZ z!{7cXaEW+Qu*iJPu+m>QqW}Lo$4Z+!I)0JNzZ&_M%=|B1yejFRM04bGAvu{=lNPd+ zJRI^DRQ(?FcVUD+bgEcAi@o(msqys9RTCG#)TjI!9~3-dc`>gW;HSJuQvH~d`MQs86R$|SKXHh zqS9Qy)u;T`>>a!$LuaE2keJV%;8g)tr&Nnc;EkvA-RanHXsy)D@XN0a>h}z2j81R; zsUNJf&g&rKpuD0WD@=dDrPHdBoK42WoBU|nMo17o(5^;M|dB4?|FsAGVrSyWcI`+FVw^vTVC`y}f(BwJl zrw3Sp151^9=}B})6@H*i4-dIN_o^br+BkcLa^H56|^2XsT0dESw2 zMX>(KqNl=x2K5=zIKg}2JpGAZu{I_IO}0$EQ5P{4zol**PCt3F4`GX}2@vr8#Y)~J zKb)gJeHcFnR@4SSh%b;c%J`l=W*40UPjF#q{<}ywv-=vHRFmDjv)NtmC zQx9qm)d%0zH&qG7AFa3VAU1S^(n8VFTC~Hb+HjYMjX8r#&_0MzlNR*mnLH5hi}`@{ zK$8qiDDvS_(L9_2vHgzEQ${DYSE;DqB!g*jhJghE&=LTnbgl&Xepo<*uRtV{2wDHN z)l;Kg$TA>Y|K8Lc&LjWGj<+bp4Hiye_@BfU(y#nF{fpR&|Ltbye?e^j0}8JC4#xi% zv29ZR%8%hk=3ZDvO-@1u8KmQ@6p%E|dlHuy#H1&MiC<*$YdLkHmR#F3ae;bKd;@*i z2_VfELG=B}JMLCO-6UQy^>RDE%K4b>c%9ki`f~Z2Qu8hO7C#t%Aeg8E%+}6P7Twtg z-)dj(w}_zFK&86KR@q9MHicUAucLVshUdmz_2@32(V`y3`&Kf8Q2I)+!n0mR=rrDU zXvv^$ho;yh*kNqJ#r1}b0|i|xRUF6;lhx$M*uG3SNLUTC@|htC z-=fsw^F%$qqz4%QdjBrS+ov}Qv!z00E+JWas>p?z@=t!WWU3K*?Z(0meTuTOC7OTx zU|kFLE0bLZ+WGcL$u4E}5dB0g`h|uwv3=H6f+{5z9oLv-=Q45+n~V4WwgO=CabjM% zBAN+RjM65(-}>Q2V#i1Na@a0`08g&y;W#@sBiX6Tpy8r}*+{RnyGUT`?XeHSqo#|J z^ww~c;ou|iyzpErDtlVU=`8N7JSu>4M z_pr9=tX0edVn9B}YFO2y(88j#S{w%E8vVOpAboK*27a7e4Ekjt0)hIX99*1oE;vex z7#%jhY=bPijA=Ce@9rRO(Vl_vnd00!^TAc<+wVvRM9{;hP*rqEL_(RzfK$er_^SN; z)1a8vo8~Dr5?;0X0J62Cusw$A*c^Sx1)dom`-)Pl7hsW4i(r*^Mw`z5K>!2ixB_mu z*Ddqjh}zceRFdmuX1akM1$3>G=#~|y?eYv(e-`Qy?bRHIq=fMaN~fB zUa6I8Rt=)jnplP>yuS+P&PxeWpJ#1$F`iqRl|jF$WL_aZFZl@kLo&d$VJtu&w?Q0O zzuXK>6gmygq(yXJy0C1SL}T8AplK|AGNUOhzlGeK_oo|haD@)5PxF}rV+5`-w{Aag zus45t=FU*{LguJ11Sr-28EZkq;!mJO7AQGih1L4rEyUmp>B!%X0YemsrV3QFvlgt* z5kwlPzaiJ+kZ^PMd-RRbl(Y?F*m`4*UIhIuf#8q>H_M=fM*L_Op-<_r zBZagV=4B|EW+KTja?srADTZXCd3Yv%^Chfpi)cg{ED${SI>InNpRj5!euKv?=Xn92 zsS&FH(*w`qLIy$doc>RE&A5R?u zzkl1sxX|{*fLpXvIW>9d<$ePROttn3oc6R!sN{&Y+>Jr@yeQN$sFR z;w6A<2-0%UA?c8Qf;sX7>>uKRBv3Ni)E9pI{uVzX|6Bb0U)`lhLE3hK58ivfRs1}d zNjlGK0hdq0qjV@q1qI%ZFMLgcpWSY~mB^LK)4GZ^h_@H+3?dAe_a~k*;9P_d7%NEFP6+ zgV(oGr*?W(ql?6SQ~`lUsjLb%MbfC4V$)1E0Y_b|OIYxz4?O|!kRb?BGrgiH5+(>s zoqM}v*;OBfg-D1l`M6T6{K`LG+0dJ1)!??G5g(2*vlNkm%Q(MPABT$r13q?|+kL4- zf)Mi5r$sn;u41aK(K#!m+goyd$c!KPl~-&-({j#D4^7hQkV3W|&>l_b!}!z?4($OA z5IrkfuT#F&S1(`?modY&I40%gtroig{YMvF{K{>5u^I51k8RriGd${z)=5k2tG zM|&Bp5kDTfb#vfuTTd?)a=>bX=lokw^y9+2LS?kwHQIWI~pYgy7 zb?A-RKVm_vM5!9?C%qYdfRAw& zAU7`up~%g=p@}pg#b7E)BFYx3g%(J36Nw(Dij!b>cMl@CSNbrW!DBDbTD4OXk!G4x zi}JBKc8HBYx$J~31PXH+4^x|UxK~(<@I;^3pWN$E=sYma@JP|8YL`L(zI6Y#c%Q{6 z*APf`DU$S4pr#_!60BH$FGViP14iJmbrzSrOkR;f3YZa{#E7Wpd@^4E-zH8EgPc-# zKWFPvh%WbqU_%ZEt`=Q?odKHc7@SUmY{GK`?40VuL~o)bS|is$Hn=<=KGHOsEC5tB zFb|q}gGlL97NUf$G$>^1b^3E18PZ~Pm9kX%*ftnolljiEt@2#F2R5ah$zbXd%V_Ev zyDd{1o_uuoBga$fB@Fw!V5F3jIr=a-ykqrK?WWZ#a(bglI_-8pq74RK*KfQ z0~Dzus7_l;pMJYf>Bk`)`S8gF!To-BdMnVw5M-pyu+aCiC5dwNH|6fgRsIKZcF&)g zr}1|?VOp}I3)IR@m1&HX1~#wsS!4iYqES zK}4J{Ei>;e3>LB#Oly>EZkW14^@YmpbgxCDi#0RgdM${&wxR+LiX}B+iRioOB0(pDKpVEI;ND?wNx>%e|m{RsqR_{(nmQ z3ZS}@t!p4a(BKx_-CYwrcyJ5u1TO9bcXti$8sy>xcLKqKCc#~UOZYD{llKTSFEjJ~ zyNWt>tLU}*>^`TvPxtP%F`ZJQw@W0^>x;!^@?k_)9#bF$j0)S3;mH-IR5y82l|%=F z2lR8zhP?XNP-ucZZ6A+o$xOyF!w;RaLHGh57GZ|TCXhJqY~GCh)aXEV$1O&$c}La1 zjuJxkY9SM4av^Hb;i7efiYaMwI%jGy`3NdY)+mcJhF(3XEiSlU3c|jMBi|;m-c?~T z+x0_@;SxcoY=(6xNgO$bBt~Pj8`-<1S|;Bsjrzw3@zSjt^JC3X3*$HI79i~!$RmTz zsblZsLYs7L$|=1CB$8qS!tXrWs!F@BVuh?kN(PvE5Av-*r^iYu+L^j^m9JG^#=m>@ z=1soa)H*w6KzoR$B8mBCXoU;f5^bVuwQ3~2LKg!yxomG1#XPmn(?YH@E~_ED+W6mxs%x{%Z<$pW`~ON1~2XjP5v(0{C{+6Dm$00tsd3w=f=ZENy zOgb-=f}|Hb*LQ$YdWg<(u7x3`PKF)B7ZfZ6;1FrNM63 z?O6tE%EiU@6%rVuwIQjvGtOofZBGZT1Sh(xLIYt9c4VI8`!=UJd2BfLjdRI#SbVAX ziT(f*RI^T!IL5Ac>ql7uduF#nuCRJ1)2bdvAyMxp-5^Ww5p#X{rb5)(X|fEhDHHW{ zw(Lfc$g;+Q`B0AiPGtmK%*aWfQQ$d!*U<|-@n2HZvCWSiw^I>#vh+LyC;aaVWGbmkENr z&kl*8o^_FW$T?rDYLO1Pyi%>@&kJKQoH2E0F`HjcN}Zlnx1ddoDA>G4Xu_jyp6vuT zPvC}pT&Owx+qB`zUeR|4G;OH(<<^_bzkjln0k40t`PQxc$7h(T8Ya~X+9gDc8Z9{Z z&y0RAU}#_kQGrM;__MK9vwIwK^aoqFhk~dK!ARf1zJqHMxF2?7-8|~yoO@_~Ed;_wvT%Vs{9RK$6uUQ|&@#6vyBsFK9eZW1Ft#D2)VpQRwpR(;x^ zdoTgMqfF9iBl%{`QDv7B0~8{8`8k`C4@cbZAXBu00v#kYl!#_Wug{)2PwD5cNp?K^ z9+|d-4z|gZ!L{57>!Ogfbzchm>J1)Y%?NThxIS8frAw@z>Zb9v%3_3~F@<=LG%r*U zaTov}{{^z~SeX!qgSYow`_5)ij*QtGp4lvF`aIGQ>@3ZTkDmsl#@^5*NGjOuu82}o zzLF~Q9SW+mP=>88%eSA1W4_W7-Q>rdq^?t=m6}^tDPaBRGFLg%ak93W!kOp#EO{6& zP%}Iff5HZQ9VW$~+9r=|Quj#z*=YwcnssS~9|ub2>v|u1JXP47vZ1&L1O%Z1DsOrDfSIMHU{VT>&>H=9}G3i@2rP+rx@eU@uE8rJNec zij~#FmuEBj03F1~ct@C@$>y)zB+tVyjV3*n`mtAhIM0$58vM9jOQC}JJOem|EpwqeMuYPxu3sv}oMS?S#o6GGK@8PN59)m&K4Dc&X% z(;XL_kKeYkafzS3Wn5DD>Yiw{LACy_#jY4op(>9q>>-*9@C0M+=b#bknAWZ37^(Ij zq>H%<@>o4a#6NydoF{_M4i4zB_KG)#PSye9bk0Ou8h%1Dtl7Q_y#7*n%g)?m>xF~( zjqvOwC;*qvN_3(*a+w2|ao0D?@okOvg8JskUw(l7n`0fncglavwKd?~l_ryKJ^Ky! zKCHkIC-o7%fFvPa$)YNh022lakMar^dgL=t#@XLyNHHw!b?%WlM)R@^!)I!smZL@k zBi=6wE5)2v&!UNV(&)oOYW(6Qa!nUjDKKBf-~Da=#^HE4(@mWk)LPvhyN3i4goB$3K8iV7uh zsv+a?#c4&NWeK(3AH;ETrMOIFgu{_@%XRwCZ;L=^8Ts)hix4Pf3yJRQ<8xb^CkdmC z?c_gB)XmRsk`9ch#tx4*hO=#qS7={~Vb4*tTf<5P%*-XMfUUYkI9T1cEF;ObfxxI-yNuA=I$dCtz3ey znVkctYD*`fUuZ(57+^B*R=Q}~{1z#2!ca?)+YsRQb+lt^LmEvZt_`=j^wqig+wz@n@ z`LIMQJT3bxMzuKg8EGBU+Q-6cs5(@5W?N>JpZL{$9VF)veF`L5%DSYTNQEypW%6$u zm_~}T{HeHj1bAlKl8ii92l9~$dm=UM21kLemA&b$;^!wB7#IKWGnF$TVq!!lBlG4 z{?Rjz?P(uvid+|i$VH?`-C&Gcb3{(~Vpg`w+O);Wk1|Mrjxrht0GfRUnZqz2MhrXa zqgVC9nemD5)H$to=~hp)c=l9?#~Z_7i~=U-`FZxb-|TR9@YCxx;Zjo-WpMNOn2)z) zFPGGVl%3N$f`gp$gPnWC+f4(rmts%fidpo^BJx72zAd7|*Xi{2VXmbOm)1`w^tm9% znM=0Fg4bDxH5PxPEm{P3#A(mxqlM7SIARP?|2&+c7qmU8kP&iApzL|F>Dz)Ixp_`O zP%xrP1M6@oYhgo$ZWwrAsYLa4 z|I;DAvJxno9HkQrhLPQk-8}=De{9U3U%)dJ$955?_AOms!9gia%)0E$Mp}$+0er@< zq7J&_SzvShM?e%V?_zUu{niL@gt5UFOjFJUJ}L?$f%eU%jUSoujr{^O=?=^{19`ON zlRIy8Uo_nqcPa6@yyz`CM?pMJ^^SN^Fqtt`GQ8Q#W4kE7`V9^LT}j#pMChl!j#g#J zr-=CCaV%xyFeQ9SK+mG(cTwW*)xa(eK;_Z(jy)woZp~> zA(4}-&VH+TEeLzPTqw&FOoK(ZjD~m{KW05fiGLe@E3Z2`rLukIDahE*`u!ubU)9`o zn^-lyht#E#-dt~S>}4y$-mSbR8{T@}22cn^refuQ08NjLOv?JiEWjyOnzk<^R5%gO zhUH_B{oz~u#IYwVnUg8?3P*#DqD8#X;%q%HY**=I>>-S|!X*-!x1{^l#OnR56O>iD zc;i;KS+t$koh)E3)w0OjWJl_aW2;xF=9D9Kr>)(5}4FqUbk# zI#$N8o0w;IChL49m9CJTzoC!|u{Ljd%ECgBOf$}&jA^$(V#P#~)`&g`H8E{uv52pp zwto`xUL-L&WTAVREEm$0g_gYPL(^vHq(*t1WCH_6alhkeW&GCZ3hL)|{O-jiFOBrF z!EW=Jej|dqQitT6!B-7&io2K)WIm~Q)v@yq%U|VpV+I?{y0@Yd%n8~-NuuM*pM~KA z85YB};IS~M(c<}4Hxx>qRK0cdl&e?t253N%vefkgds>Ubn8X}j6Vpgs>a#nFq$osY z1ZRwLqFv=+BTb=i%D2Wv>_yE0z}+niZ4?rE|*a3d7^kndWGwnFqt+iZ(7+aln<}jzbAQ(#Z2SS}3S$%Bd}^ zc9ghB%O)Z_mTZMRC&H#)I#fiLuIkGa^`4e~9oM5zKPx?zjkC&Xy0~r{;S?FS%c7w< zWbMpzc(xSw?9tGxG~_l}Acq}zjt5ClaB7-!vzqnlrX;}$#+PyQ9oU)_DfePh2E1<7 ztok6g6K^k^DuHR*iJ?jw?bs_whk|bx`dxu^nC6#e{1*m~z1eq7m}Cf$*^Eua(oi_I zAL+3opNhJteu&mWQ@kQWPucmiP)4|nFG`b2tpC;h{-PI@`+h?9v=9mn|0R-n8#t=+Z*FD(c5 zjj79Jxkgck*DV=wpFgRZuwr%}KTm+dx?RT@aUHJdaX-ODh~gByS?WGx&czAkvkg;x zrf92l8$Or_zOwJVwh>5rB`Q5_5}ef6DjS*$x30nZbuO3dijS*wvNEqTY5p1_A0gWr znH<(Qvb!os14|R)n2Ost>jS2;d1zyLHu`Svm|&dZD+PpP{Bh>U&`Md;gRl64q;>{8MJJM$?UNUd`aC>BiLe>*{ zJY15->yW+<3rLgYeTruFDtk1ovU<$(_y7#HgUq>)r0{^}Xbth}V#6?%5jeFYt;SG^ z3qF)=uWRU;Jj)Q}cpY8-H+l_n$2$6{ZR?&*IGr{>ek!69ZH0ZoJ*Ji+ezzlJ^%qL3 zO5a`6gwFw(moEzqxh=yJ9M1FTn!eo&qD#y5AZXErHs%22?A+JmS&GIolml!)rZTnUDM3YgzYfT#;OXn)`PWv3Ta z!-i|-Wojv*k&bC}_JJDjiAK(Ba|YZgUI{f}TdEOFT2+}nPmttytw7j%@bQZDV1vvj z^rp{gRkCDmYJHGrE1~e~AE!-&6B6`7UxVQuvRrfdFkGX8H~SNP_X4EodVd;lXd^>eV1jN+Tt4}Rsn)R0LxBz0c=NXU|pUe!MQQFkGBWbR3&(jLm z%RSLc#p}5_dO{GD=DEFr=Fc% z85CBF>*t!6ugI?soX(*JNxBp+-DdZ4X0LldiK}+WWGvXV(C(Ht|!3$psR=&c*HIM=BmX;pRIpz@Ale{9dhGe(U2|Giv;# zOc|;?p67J=Q(kamB*aus=|XP|m{jN^6@V*Bpm?ye56Njh#vyJqE=DweC;?Rv7faX~ zde03n^I~0B2vUmr;w^X37tVxUK?4}ifsSH5_kpKZIzpYu0;Kv}SBGfI2AKNp+VN#z`nI{UNDRbo-wqa4NEls zICRJpu)??cj^*WcZ^MAv+;bDbh~gpN$1Cor<{Y2oyIDws^JsfW^5AL$azE(T0p&pP z1Mv~6Q44R&RHoH95&OuGx2srIr<@zYJTOMKiVs;Bx3py89I87LOb@%mr`0)#;7_~Z zzcZj8?w=)>%5@HoCHE_&hnu(n_yQ-L(~VjpjjkbT7e)Dk5??fApg(d>vwLRJ-x{um z*Nt?DqTSxh_MIyogY!vf1mU1`Gld-&L)*43f6dilz`Q@HEz;+>MDDYv9u!s;WXeao zUq=TaL$P*IFgJzrGc>j1dDOd zed+=ZBo?w4mr$2)Ya}?vedDopomhW1`#P<%YOJ_j=WwClX0xJH-f@s?^tmzs_j7t!k zK@j^zS0Q|mM4tVP5Ram$VbS6|YDY&y?Q1r1joe9dj08#CM{RSMTU}(RCh`hp_Rkl- zGd|Cv~G@F{DLhCizAm9AN!^{rNs8hu!G@8RpnGx7e`-+K$ffN<0qjR zGq^$dj_Tv!n*?zOSyk5skI7JVKJ)3jysnjIu-@VSzQiP8r6MzudCU=~?v-U8yzo^7 zGf~SUTvEp+S*!X9uX!sq=o}lH;r{pzk~M*VA(uyQ`3C8!{C;)&6)95fv(cK!%Cuz$ z_Zal57H6kPN>25KNiI6z6F)jzEkh#%OqU#-__Xzy)KyH};81#N6OfX$$IXWzOn`Q& z4f$Z1t>)8&8PcYfEwY5UadU1yg+U*(1m2ZlHoC-!2?gB!!fLhmTl))D@dhvkx#+Yj z1O=LV{(T%{^IeCuFK>%QR!VZ4GnO5tK8a+thWE zg4VytZrwcS?7^ zuZfhYnB8dwd%VLO?DK7pV5Wi<(`~DYqOXn8#jUIL^)12*Dbhk4GmL_E2`WX&iT16o zk(t|hok(Y|v-wzn?4x34T)|+SfZP>fiq!><*%vnxGN~ypST-FtC+@TPv*vYv@iU!_ z@2gf|PrgQ?Ktf*9^CnJ(x*CtZVB8!OBfg0%!wL;Z8(tYYre0vcnPGlyCc$V(Ipl*P z_(J!a=o@vp^%Efme!K74(Ke7A>Y}|sxV+JL^aYa{~m%5#$$+R1? zGaQhZTTX!#s#=Xtpegqero$RNt&`4xn3g$)=y*;=N=Qai)}~`xtxI_N*#MMCIq#HFifT zz(-*m;pVH&+4bixL&Bbg)W5FN^bH87pAHp)zPkWNMfTFqS=l~AC$3FX3kQUSh_C?-ZftyClgM)o_D7cX$RGlEYblux0jv5 zTr|i-I3@ZPCGheCl~BGhImF)K4!9@?pC(gi3ozX=a!|r1)LFxy_8c&wY0<^{2cm|P zv6Y`QktY*;I)IUd5y3ne1CqpVanlY45z8hf4&$EUBnucDj16pDa4&GI&TArYhf*xh zdj>*%APH8(h~c>o@l#%T>R$e>rwVx_WUB|~V`p^JHsg*y12lzj&zF}w6W09HwB2yb z%Q~`es&(;7#*DUC_w-Dmt7|$*?TA_m;zB+-u{2;Bg{O}nV7G_@7~<)Bv8fH^G$XG8$(&{A zwXJK5LRK%M34(t$&NI~MHT{UQ9qN-V_yn|%PqC81EIiSzmMM=2zb`mIwiP_b)x+2M z7Gd`83h79j#SItpQ}luuf2uOU`my_rY5T{6P#BNlb%h%<#MZb=m@y5aW;#o1^2Z)SWo+b`y0gV^iRcZtz5!-05vF z7wNo=hc6h4hc&s@uL^jqRvD6thVYtbErDK9k!;+a0xoE0WL7zLixjn5;$fXvT=O3I zT6jI&^A7k6R{&5#lVjz#8%_RiAa2{di{`kx79K+j72$H(!ass|B%@l%KeeKchYLe_ z>!(JC2fxsv>XVen+Y42GeYPxMWqm`6F$(E<6^s|g(slNk!lL*6v^W2>f6hh^mE$s= z3D$)}{V5(Qm&A6bp%2Q}*GZ5Qrf}n7*Hr51?bJOyA-?B4vg6y_EX<*-e20h{=0Mxs zbuQGZ$fLyO5v$nQ&^kuH+mNq9O#MWSfThtH|0q1i!NrWj^S}_P;Q1OkYLW6U^?_7G zx2wg?CULj7))QU(n{$0JE%1t2dWrMi2g-Os{v|8^wK{@qlj%+1b^?NI z$}l2tjp0g>K3O+p%yK<9!XqmQ?E9>z&(|^Pi~aSRwI5x$jaA62GFz9%fmO3t3a>cq zK8Xbv=5Ps~4mKN5+Eqw12(!PEyedFXv~VLxMB~HwT1Vfo51pQ#D8e$e4pFZ{&RC2P z5gTIzl{3!&(tor^BwZfR8j4k{7Rq#`riKXP2O-Bh66#WWK2w=z;iD9GLl+3 zpHIaI4#lQ&S-xBK8PiQ%dwOh?%BO~DCo06pN7<^dnZCN@NzY{_Z1>rrB0U|nC&+!2 z2y!oBcTd2;@lzyk(B=TkyZ)zy0deK05*Q0zk+o$@nun`VI1Er7pjq>8V zNmlW{p7S^Btgb(TA}jL(uR>`0w8gHP^T~Sh5Tkip^spk4SBAhC{TZU}_Z)UJw-}zm zPq{KBm!k)?P{`-(9?LFt&YN4s%SIZ-9lJ!Ws~B%exHOeVFk3~}HewnnH(d)qkLQ_d z6h>O)pEE{vbOVw}E+jdYC^wM+AAhaI(YAibUc@B#_mDss0Ji&BK{WG`4 zOk>vSNq(Bq2IB@s>>Rxm6Wv?h;ZXkpb1l8u|+_qXWdC*jjcPCixq;!%BVPSp#hP zqo`%cNf&YoQXHC$D=D45RiT|5ngPlh?0T~?lUf*O)){K@*Kbh?3RW1j9-T?%lDk@y z4+~?wKI%Y!-=O|_IuKz|=)F;V7ps=5@g)RrE;;tvM$gUhG>jHcw2Hr@fS+k^Zr~>G z^JvPrZc}_&d_kEsqAEMTMJw!!CBw)u&ZVzmq+ZworuaE&TT>$pYsd9|g9O^0orAe8 z221?Va!l1|Y5X1Y?{G7rt1sX#qFA^?RLG^VjoxPf63;AS=_mVDfGJKg73L zsGdnTUD40y(>S##2l|W2Cy!H(@@5KBa(#gs`vlz}Y~$ot5VsqPQ{{YtjYFvIumZzt zA{CcxZLJR|4#{j7k~Tu*jkwz8QA|5G1$Cl895R`Zyp;irp1{KN){kB30O8P1W5;@bG znvX74roeMmQlUi=v9Y%(wl$ZC#9tKNFpvi3!C}f1m6Ct|l2g%psc{TJp)@yu)*e2> z((p0Fg*8gJ!|3WZke9;Z{8}&NRkv7iP=#_y-F}x^y?2m%-D_aj^)f04%mneyjo_;) z6qc_Zu$q37d~X``*eP~Q>I2gg%rrV8v=kDfpp$=%Vj}hF)^dsSWygoN(A$g*E=Do6FX?&(@F#7pbiJ`;c0c@Ul zDqW_90Wm#5f2L<(Lf3)3TeXtI7nhYwRm(F;*r_G6K@OPW4H(Y3O5SjUzBC}u3d|eQ8*8d@?;zUPE+i#QNMn=r(ap?2SH@vo*m z3HJ%XuG_S6;QbWy-l%qU;8x;>z>4pMW7>R}J%QLf%@1BY(4f_1iixd-6GlO7Vp*yU zp{VU^3?s?90i=!#>H`lxT!q8rk>W_$2~kbpz7eV{3wR|8E=8**5?qn8#n`*(bt1xRQrdGxyx2y%B$qmw#>ZV$c7%cO#%JM1lY$Y0q?Yuo> ze9KdJoiM)RH*SB%^;TAdX-zEjA7@%y=!0=Zg%iWK7jVI9b&Dk}0$Af&08KHo+ zOwDhFvA(E|ER%a^cdh@^wLUlmIv6?_3=BvX8jKk92L=Y}7Jf5OGMfh` zBdR1wFCi-i5@`9km{isRb0O%TX+f~)KNaEz{rXQa89`YIF;EN&gN)cigu6mNh>?Cm zAO&Im2flv6D{jwm+y<%WsPe4!89n~KN|7}Cb{Z;XweER73r}Qp2 zz}WP4j}U0&(uD&9yGy6`!+_v-S(yG*iytsTR#x_Rc>=6u^vnRDnf1gP{#2>`ffrAC% zTZ5WQ@hAK;P;>kX{D)mIXe4%a5p=LO1xXH@8T?mz7Q@d)$3pL{{B!2{-v70L*o1AO+|n5beiw~ zk@(>m?T3{2k2c;NWc^`4@P&Z?BjxXJ@;x1qhn)9Mn*IFdt_J-dIqx5#d`NfyfX~m( zIS~5)MfZ2Uy?_4W`47i}u0ZgPh<{D|w_d#;D}Q&U$Q-G}xM1A@1f{#%A$jh6Qp&0hQ<0bPOM z-{1Wm&p%%#eb_?x7i;bol EfAhh=DF6Tf diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 642d572ce90..d58dfb70bab 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,19 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/mvnw b/mvnw index 41c0f0c23db..19529ddf8c6 100755 --- a/mvnw +++ b/mvnw @@ -19,292 +19,241 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir +# Apache Maven Wrapper startup batch script, version 3.3.2 # # Optional ENV vars # ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output # ---------------------------------------------------------------------------- -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac -fi +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 fi fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" +} - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" done + printf %x\\n $h +} - saveddir=`pwd` +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } - M2_HOME=`dirname "$PRG"`/.. +die() { + printf %s\\n "$1" >&2 + exit 1 +} - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" fi -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" fi -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" fi -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; fi -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" +clean || : +exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd index 86115719e53..b150b91ed50 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,182 +1,149 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" From 0d63000330faee82e011abf43ab8161f3336b6a6 Mon Sep 17 00:00:00 2001 From: "Santiago M. Mola" Date: Mon, 16 Sep 2024 08:57:01 +0200 Subject: [PATCH 20/21] Revert "feat: Update Maven wrapper (#7602)" (#7622) This reverts commit fbae5a1c16a507e0444c9d5e6638b709cda618c4. --- .mvn/wrapper/MavenWrapperDownloader.java | 118 ++++++ .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .mvn/wrapper/maven-wrapper.properties | 21 +- mvnw | 451 +++++++++++++---------- mvnw.cmd | 331 +++++++++-------- 5 files changed, 553 insertions(+), 368 deletions(-) create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java create mode 100644 .mvn/wrapper/maven-wrapper.jar diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 00000000000..9ac51e49730 --- /dev/null +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,118 @@ +/* + * Copyright 2007-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.io.*; +import java.net.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. */ + private static final String DEFAULT_DOWNLOAD_URL = + "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + + "/maven-wrapper-" + + WRAPPER_VERSION + + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to use + * instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** Path where the maven-wrapper.jar will be saved to. */ + private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if (mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if (mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if (!outputFile.getParentFile().exists()) { + if (!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + + outputFile.getParentFile().getAbsolutePath() + + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault( + new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } +} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index d58dfb70bab..642d572ce90 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,19 +1,2 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -wrapperVersion=3.3.2 -distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/mvnw b/mvnw index 19529ddf8c6..41c0f0c23db 100755 --- a/mvnw +++ b/mvnw @@ -19,241 +19,292 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.3.2 +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- -# JAVA_HOME - location of a JDK home dir, required when download maven via java source -# MVNW_REPOURL - repo url base for downloading maven distribution -# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven -# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- -set -euf -[ "${MVNW_VERBOSE-}" != debug ] || set -x +if [ -z "$MAVEN_SKIP_RC" ] ; then -# OS specific support. -native_path() { printf %s\\n "$1"; } -case "$(uname)" in -CYGWIN* | MINGW*) - [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" - native_path() { cygpath --path --windows "$1"; } - ;; -esac + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi -# set JAVACMD and JAVACCMD -set_java_home() { - # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched - if [ -n "${JAVA_HOME-}" ]; then - if [ -x "$JAVA_HOME/jre/sh/java" ]; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - JAVACCMD="$JAVA_HOME/jre/sh/javac" - else - JAVACMD="$JAVA_HOME/bin/java" - JAVACCMD="$JAVA_HOME/bin/javac" + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi - if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then - echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 - echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 - return 1 +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" fi fi - else - JAVACMD="$( - 'set' +e - 'unset' -f command 2>/dev/null - 'command' -v java - )" || : - JAVACCMD="$( - 'set' +e - 'unset' -f command 2>/dev/null - 'command' -v javac - )" || : - - if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then - echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 - return 1 - fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` fi -} +fi -# hash string like Java String::hashCode -hash_string() { - str="${1:-}" h=0 - while [ -n "$str" ]; do - char="${str%"${str#?}"}" - h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) - str="${str#?}" - done - printf %x\\n $h -} +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" -verbose() { :; } -[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done -die() { - printf %s\\n "$1" >&2 - exit 1 -} + saveddir=`pwd` -trim() { - # MWRAPPER-139: - # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. - # Needed for removing poorly interpreted newline sequences when running in more - # exotic environments such as mingw bash on Windows. - printf "%s" "${1}" | tr -d '[:space:]' -} + M2_HOME=`dirname "$PRG"`/.. -# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties -while IFS="=" read -r key value; do - case "${key-}" in - distributionUrl) distributionUrl=$(trim "${value-}") ;; - distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; - esac -done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" -[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" - -case "${distributionUrl##*/}" in -maven-mvnd-*bin.*) - MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ - case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in - *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; - :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; - :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; - :Linux*x86_64*) distributionPlatform=linux-amd64 ;; - *) - echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 - distributionPlatform=linux-amd64 - ;; - esac - distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" - ;; -maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; -*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; -esac + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` -# apply MVNW_REPOURL and calculate MAVEN_HOME -# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ -[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" -distributionUrlName="${distributionUrl##*/}" -distributionUrlNameMain="${distributionUrlName%.*}" -distributionUrlNameMain="${distributionUrlNameMain%-bin}" -MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" -MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" - -exec_maven() { - unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : - exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" -} + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi -if [ -d "$MAVEN_HOME" ]; then - verbose "found existing MAVEN_HOME at $MAVEN_HOME" - exec_maven "$@" +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi -case "${distributionUrl-}" in -*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; -*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; -esac +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi -# prepare tmp dir -if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then - clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } - trap clean HUP INT TERM EXIT -else - die "cannot create temp dir" +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi fi -mkdir -p -- "${MAVEN_HOME%/*}" +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi -# Download and Install Apache Maven -verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." -verbose "Downloading from: $distributionUrl" -verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi -# select .zip or .tar.gz -if ! command -v unzip >/dev/null; then - distributionUrl="${distributionUrl%.zip}.tar.gz" - distributionUrlName="${distributionUrl##*/}" +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." fi -# verbose opt -__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' -[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher -# normalize http auth -case "${MVNW_PASSWORD:+has-password}" in -'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; -has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; -esac +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { -if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then - verbose "Found wget ... using wget" - wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" -elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then - verbose "Found curl ... using curl" - curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" -elif set_java_home; then - verbose "Falling back to use Java to download" - javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" - targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" - cat >"$javaSource" <<-END - public class Downloader extends java.net.Authenticator - { - protected java.net.PasswordAuthentication getPasswordAuthentication() - { - return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); - } - public static void main( String[] args ) throws Exception - { - setDefault( new Downloader() ); - java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); - } - } - END - # For Cygwin/MinGW, switch paths to Windows format before running javac and java - verbose " - Compiling Downloader.java ..." - "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" - verbose " - Running Downloader.java ..." - "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" -fi + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi -# If specified, validate the SHA-256 sum of the Maven distribution zip file -if [ -n "${distributionSha256Sum-}" ]; then - distributionSha256Result=false - if [ "$MVN_CMD" = mvnd.sh ]; then - echo "Checksum validation is not supported for maven-mvnd." >&2 - echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 - exit 1 - elif command -v sha256sum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then - distributionSha256Result=true + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break fi - elif command -v shasum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then - distributionSha256Result=true + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` fi - else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 - echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 - exit 1 - fi - if [ $distributionSha256Result = false ]; then - echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 - echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 - exit 1 + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; fi -# unzip and move -if command -v unzip >/dev/null; then - unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi else - tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR fi -printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" -mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -clean || : -exec_maven "$@" +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd index b150b91ed50..86115719e53 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,149 +1,182 @@ -<# : batch portion -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.3.2 -@REM -@REM Optional ENV vars -@REM MVNW_REPOURL - repo url base for downloading maven distribution -@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven -@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output -@REM ---------------------------------------------------------------------------- - -@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) -@SET __MVNW_CMD__= -@SET __MVNW_ERROR__= -@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% -@SET PSModulePath= -@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( - IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) -) -@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% -@SET __MVNW_PSMODULEP_SAVE= -@SET __MVNW_ARG0_NAME__= -@SET MVNW_USERNAME= -@SET MVNW_PASSWORD= -@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) -@echo Cannot start maven from wrapper >&2 && exit /b 1 -@GOTO :EOF -: end batch / begin powershell #> - -$ErrorActionPreference = "Stop" -if ($env:MVNW_VERBOSE -eq "true") { - $VerbosePreference = "Continue" -} - -# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties -$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl -if (!$distributionUrl) { - Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" -} - -switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { - "maven-mvnd-*" { - $USE_MVND = $true - $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" - $MVN_CMD = "mvnd.cmd" - break - } - default { - $USE_MVND = $false - $MVN_CMD = $script -replace '^mvnw','mvn' - break - } -} - -# apply MVNW_REPOURL and calculate MAVEN_HOME -# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ -if ($env:MVNW_REPOURL) { - $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } - $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" -} -$distributionUrlName = $distributionUrl -replace '^.*/','' -$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' -$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" -if ($env:MAVEN_USER_HOME) { - $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" -} -$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' -$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" - -if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { - Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" - Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" - exit $? -} - -if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { - Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" -} - -# prepare tmp dir -$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile -$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" -$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null -trap { - if ($TMP_DOWNLOAD_DIR.Exists) { - try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } - catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } - } -} - -New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null - -# Download and Install Apache Maven -Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." -Write-Verbose "Downloading from: $distributionUrl" -Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" - -$webclient = New-Object System.Net.WebClient -if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { - $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) -} -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null - -# If specified, validate the SHA-256 sum of the Maven distribution zip file -$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum -if ($distributionSha256Sum) { - if ($USE_MVND) { - Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." - } - Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash - if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { - Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." - } -} - -# unzip and move -Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null -Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null -try { - Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null -} catch { - if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { - Write-Error "fail to move MAVEN_HOME" - } -} finally { - try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } - catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } -} - -Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% From afdbcba33505b9c5c89016d8703e6bcc85c4ad6d Mon Sep 17 00:00:00 2001 From: "Santiago M. Mola" Date: Mon, 16 Sep 2024 09:34:09 +0200 Subject: [PATCH 21/21] Consider Maven wrapper a global change for job skip script (#7623) --- .circleci/config.continue.yml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.continue.yml.j2 b/.circleci/config.continue.yml.j2 index e5c4f555d42..0a707daad1d 100644 --- a/.circleci/config.continue.yml.j2 +++ b/.circleci/config.continue.yml.j2 @@ -54,7 +54,7 @@ parameters: global_pattern: # Pattern for files that should always trigger a test jobs type: string - default: "^build.gradle$|^settings.gradle$|^gradle.properties$|^buildSrc/|^gradle/|.circleci" + default: "^build.gradle$|^settings.gradle$|^gradle.properties$|^buildSrc/|^gradle/|.circleci|^gradlew|^mvnw|^.mvn/" docker_image: type: string