From 5c8f18f520796de3a9a736cd00bec177dec5a5d2 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Mon, 24 Aug 2026 09:51:31 -0400 Subject: [PATCH] Fix Finatra test server lifecycle Run the embedded Finatra test servers with nonExitingMain instead of the production main wrapper, and surface lifecycle errors as ordinary test failures instead of losing the Gradle test worker to System.exit(1). Also enable the latestPre207 suite, which until now compiled but ran nothing and resolved to the same Finatra version as the base test suite. Co-Authored-By: Claude Opus 5 (1M context) --- .../instrumentation/finatra-2.9/build.gradle | 14 +- .../finatra-2.9/gradle.lockfile | 431 ++++++++++-------- .../groovy/FinatraServer270Test.groovy | 29 +- .../src/test/groovy/FinatraServerTest.groovy | 37 +- .../src/test/scala/FinatraServer.scala | 3 +- 5 files changed, 313 insertions(+), 201 deletions(-) diff --git a/dd-java-agent/instrumentation/finatra-2.9/build.gradle b/dd-java-agent/instrumentation/finatra-2.9/build.gradle index 199489ec21e..2f294aadb48 100644 --- a/dd-java-agent/instrumentation/finatra-2.9/build.gradle +++ b/dd-java-agent/instrumentation/finatra-2.9/build.gradle @@ -5,7 +5,7 @@ plugins { apply from: "$rootDir/gradle/test-with-scala.gradle" // Up to 20.7 where the server structure changes -addTestSuiteForDir('latestPre207Test', 'test') +addTestSuiteForDir('latestPre207ForkedTest', 'test') addTestSuite('latestDepTest') muzzle { @@ -32,7 +32,9 @@ dependencies { // Required for older versions of finatra on JDKs >= 11 testImplementation group: 'com.sun.activation', name: 'javax.activation', version: '1.2.0' - latestPre207TestImplementation group: 'com.twitter', name: 'finatra-http_2.11', version: '[,20.7.0)' + // Lower bound matters: an open '[,20.7.0)' is satisfied by the 19.12.0 above, so conflict + // resolution would keep 19.12.0 and this suite would just repeat 'forkedTest'. + latestPre207ForkedTestImplementation group: 'com.twitter', name: 'finatra-http_2.11', version: '[20.6.0,20.7.0)' latestDepTestImplementation group: 'com.twitter', name: 'finatra-http_2.11', version: '+' } @@ -42,11 +44,11 @@ tasks.named("compileLatestDepTestGroovy", GroovyCompile) { dependsOn "compileLatestDepTestScala" } -tasks.named("compileLatestPre207TestGroovy", GroovyCompile) { - classpath += files(tasks.named('compileLatestPre207TestScala').map { it.destinationDirectory }) - dependsOn "compileLatestPre207TestScala" +tasks.named("compileLatestPre207ForkedTestGroovy", GroovyCompile) { + classpath += files(tasks.named('compileLatestPre207ForkedTestScala').map { it.destinationDirectory }) + dependsOn "compileLatestPre207ForkedTestScala" } tasks.named("latestDepTest", Test) { - finalizedBy 'latestPre207Test' + finalizedBy 'latestPre207ForkedTest' } diff --git a/dd-java-agent/instrumentation/finatra-2.9/gradle.lockfile b/dd-java-agent/instrumentation/finatra-2.9/gradle.lockfile index a08dfd11d07..f7e310c098b 100644 --- a/dd-java-agent/instrumentation/finatra-2.9/gradle.lockfile +++ b/dd-java-agent/instrumentation/finatra-2.9/gradle.lockfile @@ -2,91 +2,100 @@ # Manual edits can break the build and are not advised. # This file is expected to be part of source control. # To regenerate this file, run: ./gradlew :dd-java-agent:instrumentation:finatra-2.9:dependencies --write-locks -aopalliance:aopalliance:1.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -cafe.cryptography:curve25519-elisabeth:0.1.0=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -cafe.cryptography:ed25519-elisabeth:0.1.0=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -ch.qos.logback:logback-classic:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.blogspot.mydailyjava:weak-lock-free:0.17=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.datadoghq.okhttp3:okhttp:3.12.15=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.datadoghq.okio:okio:1.17.6=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.datadoghq:dd-instrument-java:0.0.4=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.datadoghq:dd-javac-plugin-client:0.2.2=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.datadoghq:java-dogstatsd-client:4.4.5=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.datadoghq:sketches-java:0.8.3=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath +aopalliance:aopalliance:1.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +cafe.cryptography:curve25519-elisabeth:0.1.0=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-instrument-java:0.0.4=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.2.2=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.5=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath com.eed3si9n:shaded-jawn-parser_2.13:1.3.2=zinc com.eed3si9n:shaded-scalajson_2.13:1.0.0-M4=zinc com.eed3si9n:sjson-new-core_2.13:0.10.1=zinc com.eed3si9n:sjson-new-scalajson_2.13:0.10.1=zinc +com.fasterxml.jackson.core:jackson-annotations:2.11.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.fasterxml.jackson.core:jackson-annotations:2.11.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.fasterxml.jackson.core:jackson-annotations:2.8.4=compileClasspath -com.fasterxml.jackson.core:jackson-annotations:2.9.10=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.9.10=testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.11.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.fasterxml.jackson.core:jackson-core:2.11.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.fasterxml.jackson.core:jackson-core:2.8.4=compileClasspath -com.fasterxml.jackson.core:jackson-core:2.9.10=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.9.10=testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.11.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.fasterxml.jackson.core:jackson-databind:2.11.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.fasterxml.jackson.core:jackson-databind:2.8.4=compileClasspath -com.fasterxml.jackson.core:jackson-databind:2.9.10.1=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.9.10.1=testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.datatype:jackson-datatype-joda:2.11.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.fasterxml.jackson.datatype:jackson-datatype-joda:2.11.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.fasterxml.jackson.datatype:jackson-datatype-joda:2.8.4=compileClasspath -com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.10=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.10=testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-paranamer:2.11.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.fasterxml.jackson.module:jackson-module-paranamer:2.11.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.fasterxml.jackson.module:jackson-module-paranamer:2.8.4=compileClasspath -com.fasterxml.jackson.module:jackson-module-paranamer:2.9.10=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-paranamer:2.9.10=testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-scala_2.11:2.11.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.fasterxml.jackson.module:jackson-module-scala_2.11:2.11.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.fasterxml.jackson.module:jackson-module-scala_2.11:2.8.4=compileClasspath -com.fasterxml.jackson.module:jackson-module-scala_2.11:2.9.10=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-scala_2.11:2.9.10=testCompileClasspath,testRuntimeClasspath com.github.ben-manes.caffeine:caffeine:2.3.4=compileClasspath -com.github.ben-manes.caffeine:caffeine:2.8.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.ben-manes.caffeine:caffeine:2.8.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.github.ben-manes.caffeine:caffeine:2.8.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.github.javaparser:javaparser-core:3.25.6=codenarc -com.github.jnr:jffi:1.3.15=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-a64asm:1.0.0=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-constants:0.10.4=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-enxio:0.32.20=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-ffi:2.2.19=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-posix:3.1.22=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-unixsocket:0.38.25=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-x86asm:1.0.2=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -com.github.nscala-time:nscala-time_2.11:2.14.0=compileClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.15=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.20=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.19=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.22=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.25=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +com.github.nscala-time:nscala-time_2.11:2.14.0=compileClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.github.nscala-time:nscala-time_2.11:2.22.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.github.spotbugs:spotbugs-annotations:4.10.3=compileClasspath,spotbugs com.github.spotbugs:spotbugs:4.10.3=spotbugs com.github.spullara.mustache.java:compiler:0.8.18=compileClasspath com.github.stephenc.jcip:jcip-annotations:1.0-1=spotbugs -com.google.auto.service:auto-service-annotations:1.1.1=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestPre207TestAnnotationProcessor,latestPre207TestCompileClasspath,testAnnotationProcessor,testCompileClasspath -com.google.auto.service:auto-service:1.1.1=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207TestAnnotationProcessor,testAnnotationProcessor -com.google.auto:auto-common:1.2.1=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207TestAnnotationProcessor,testAnnotationProcessor -com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestAnnotationProcessor,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.1.1=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestPre207ForkedTestAnnotationProcessor,latestPre207ForkedTestCompileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.1.1=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207ForkedTestAnnotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:1.2.1=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207ForkedTestAnnotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestAnnotationProcessor,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.code.gson:gson:2.14.0=spotbugs -com.google.errorprone:error_prone_annotations:2.18.0=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207TestAnnotationProcessor,testAnnotationProcessor -com.google.errorprone:error_prone_annotations:2.47.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.18.0=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207ForkedTestAnnotationProcessor,testAnnotationProcessor +com.google.errorprone:error_prone_annotations:2.47.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.google.errorprone:error_prone_annotations:2.48.0=spotbugs -com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207TestAnnotationProcessor,testAnnotationProcessor -com.google.guava:failureaccess:1.0.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207ForkedTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.google.guava:guava:19.0=compileClasspath -com.google.guava:guava:32.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207TestAnnotationProcessor,testAnnotationProcessor -com.google.guava:guava:33.6.0-jre=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestAnnotationProcessor,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:32.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207ForkedTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:guava:33.6.0-jre=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestAnnotationProcessor,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.inject.extensions:guice-assistedinject:4.0=compileClasspath -com.google.inject.extensions:guice-assistedinject:4.1.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.inject.extensions:guice-assistedinject:4.1.0=testCompileClasspath,testRuntimeClasspath +com.google.inject.extensions:guice-assistedinject:4.2.1=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.google.inject.extensions:guice-assistedinject:4.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.google.inject.extensions:guice-multibindings:4.1.0=compileClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.inject.extensions:guice-multibindings:4.1.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +com.google.inject.extensions:guice-multibindings:4.2.1=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.google.inject.extensions:guice-multibindings:4.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.google.inject:guice:4.1.0=compileClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.inject:guice:4.1.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +com.google.inject:guice:4.2.1=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.google.inject:guice:4.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.google.j2objc:j2objc-annotations:2.8=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207TestAnnotationProcessor,testAnnotationProcessor -com.google.j2objc:j2objc-annotations:3.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.re2j:re2j:1.8=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath +com.google.j2objc:j2objc-annotations:2.8=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207ForkedTestAnnotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:3.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.re2j:re2j:1.8=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath com.lmax:disruptor:3.4.2=zinc -com.netflix.concurrency-limits:concurrency-limits-core:0.3.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.moshi:moshi:1.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okio:okio:1.17.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.sun.activation:javax.activation:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.netflix.concurrency-limits:concurrency-limits-core:0.3.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.sun.activation:javax.activation:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.swoval:file-tree-views:2.1.12=zinc -com.thoughtworks.paranamer:paranamer:2.8=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.thoughtworks.paranamer:paranamer:2.8=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.thoughtworks.qdox:qdox:1.12.1=codenarc com.twitter.common:base:0.0.116=compileClasspath com.twitter.common:collections:0.0.111=compileClasspath @@ -97,198 +106,259 @@ com.twitter.common:util-executor-service-shutdown:0.0.68=compileClasspath com.twitter.common:util-system-mocks:0.0.105=compileClasspath com.twitter:bijection-core_2.11:0.9.5=compileClasspath com.twitter:bijection-util_2.11:0.9.5=compileClasspath -com.twitter:finagle-base-http_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-base-http_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-base-http_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-base-http_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-base-http_2.11:6.43.0=compileClasspath -com.twitter:finagle-core_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-core_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-core_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-core_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-core_2.11:6.43.0=compileClasspath -com.twitter:finagle-exp_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-exp_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-exp_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-exp_2.11:6.43.0=compileClasspath -com.twitter:finagle-http2_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-http2_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-http2_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-http2_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-http2_2.11:6.43.0=compileClasspath -com.twitter:finagle-http_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-http_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-http_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-http_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-http_2.11:6.43.0=compileClasspath -com.twitter:finagle-init_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-init_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-init_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-init_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-mux_2.11:6.43.0=compileClasspath -com.twitter:finagle-netty4-http_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-netty4-http_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-netty4-http_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-netty4-http_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-netty4-http_2.11:6.43.0=compileClasspath -com.twitter:finagle-netty4_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-netty4_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-netty4_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-netty4_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-netty4_2.11:6.43.0=compileClasspath -com.twitter:finagle-stats-core_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.twitter:finagle-stats_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-partitioning_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath +com.twitter:finagle-stats-core_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-stats-core_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath +com.twitter:finagle-stats_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-stats_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-stats_2.11:6.43.0=compileClasspath -com.twitter:finagle-thrift_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-thrift_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-thrift_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-thrift_2.11:6.43.0=compileClasspath -com.twitter:finagle-toggle_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-toggle_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-toggle_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-toggle_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-toggle_2.11:6.43.0=compileClasspath -com.twitter:finagle-tunable_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-tunable_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finagle-tunable_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finagle-tunable_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finagle-zipkin-core_2.11:6.43.0=compileClasspath -com.twitter:finatra-http-annotations_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finatra-http-annotations_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finatra-http-annotations_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finatra-http-annotations_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:finatra-http_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finatra-http_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:finatra-http_2.11:2.9.0=compileClasspath +com.twitter:finatra-http_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finatra-http_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:finatra-jackson_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finatra-jackson_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:finatra-jackson_2.11:2.9.0=compileClasspath +com.twitter:finatra-jackson_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finatra-jackson_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.twitter:finatra-json-annotations_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finatra-json-annotations_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:finatra-slf4j_2.11:2.9.0=compileClasspath -com.twitter:finatra-utils_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finatra-utils_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:finatra-utils_2.11:2.9.0=compileClasspath +com.twitter:finatra-utils_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finatra-utils_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:finatra-validation_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:finatra-validation_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:finatra-validation_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:finatra-validation_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:inject-app_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:inject-app_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:inject-app_2.11:2.9.0=compileClasspath +com.twitter:inject-app_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-app_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:inject-core_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:inject-core_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:inject-core_2.11:2.9.0=compileClasspath +com.twitter:inject-core_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-core_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.twitter:inject-mdc_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-mdc_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:inject-modules_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:inject-modules_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:inject-modules_2.11:2.9.0=compileClasspath +com.twitter:inject-modules_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-modules_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:inject-ports_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:inject-ports_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:inject-ports_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-ports_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:inject-server_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:inject-server_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:inject-server_2.11:2.9.0=compileClasspath +com.twitter:inject-server_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-server_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:inject-slf4j_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:inject-slf4j_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:inject-slf4j_2.11:2.9.0=compileClasspath +com.twitter:inject-slf4j_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-slf4j_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +com.twitter:inject-stack_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-stack_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:inject-utils_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:inject-utils_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath com.twitter:inject-utils_2.11:2.9.0=compileClasspath +com.twitter:inject-utils_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:inject-utils_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:libthrift:0.5.0-7=compileClasspath -com.twitter:scrooge-core_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:scrooge-core_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:scrooge-core_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:scrooge-core_2.11:4.15.0=compileClasspath com.twitter:twitter-server_2.11:1.28.0=compileClasspath -com.twitter:twitter-server_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:twitter-server_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:twitter-server_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:twitter-server_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-app-lifecycle_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:util-app_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-app_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-app_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-app_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-app_2.11:6.42.0=compileClasspath -com.twitter:util-cache_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-cache_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-cache_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-cache_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-cache_2.11:6.42.0=compileClasspath -com.twitter:util-codec_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-codec_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-codec_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-codec_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-codec_2.11:6.42.0=compileClasspath com.twitter:util-collection_2.11:6.42.0=compileClasspath -com.twitter:util-core_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-core_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-core_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-core_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-core_2.11:6.42.0=compileClasspath com.twitter:util-events_2.11:6.42.0=compileClasspath -com.twitter:util-function_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-function_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-function_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-function_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-function_2.11:6.42.0=compileClasspath -com.twitter:util-hashing_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-hashing_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-hashing_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-hashing_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-hashing_2.11:6.42.0=compileClasspath -com.twitter:util-jvm_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-jvm_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-jvm_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-jvm_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-jvm_2.11:6.42.0=compileClasspath -com.twitter:util-lint_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-lint_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-lint_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-lint_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-lint_2.11:6.42.0=compileClasspath -com.twitter:util-logging_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-logging_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-logging_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-logging_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-logging_2.11:6.42.0=compileClasspath -com.twitter:util-registry_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-registry_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-registry_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-registry_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-registry_2.11:6.42.0=compileClasspath com.twitter:util-routing_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:util-security_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-security_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-security_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-security_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-security_2.11:6.42.0=compileClasspath -com.twitter:util-slf4j-api_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-slf4j-api_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-slf4j-api_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-slf4j-api_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-slf4j-api_2.11:6.42.0=compileClasspath -com.twitter:util-slf4j-jul-bridge_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-slf4j-jul-bridge_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-slf4j-jul-bridge_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-slf4j-jul-bridge_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -com.twitter:util-stats_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-stats_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-stats_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-stats_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-stats_2.11:6.42.0=compileClasspath -com.twitter:util-tunable_2.11:19.12.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.twitter:util-tunable_2.11:19.12.0=testCompileClasspath,testRuntimeClasspath +com.twitter:util-tunable_2.11:20.6.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath com.twitter:util-tunable_2.11:21.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.twitter:util-tunable_2.11:6.42.0=compileClasspath -commons-codec:commons-codec:1.9=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.9=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath commons-fileupload:commons-fileupload:1.3.1=compileClasspath -commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath commons-io:commons-io:2.21.0=spotbugs commons-io:commons-io:2.4=compileClasspath commons-lang:commons-lang:2.6=compileClasspath -commons-logging:commons-logging:1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -de.thetaphi:forbiddenapis:3.10=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-logging:commons-logging:1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.10=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath io.github.java-diff-utils:java-diff-utils:4.15=zinc -io.leangen.geantyref:geantyref:1.3.16=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -io.netty:netty-buffer:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.leangen.geantyref:geantyref:1.3.16=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-buffer:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-buffer:4.1.8.Final=compileClasspath -io.netty:netty-codec-http2:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-http2:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-http2:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-codec-http2:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec-http2:4.1.8.Final=compileClasspath -io.netty:netty-codec-http:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-http:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-http:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-codec-http:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec-http:4.1.8.Final=compileClasspath -io.netty:netty-codec-socks:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-socks:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-socks:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-codec-socks:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec-socks:4.1.8.Final=compileClasspath -io.netty:netty-codec:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-codec:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-codec:4.1.8.Final=compileClasspath -io.netty:netty-common:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-common:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-common:4.1.8.Final=compileClasspath -io.netty:netty-handler-proxy:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler-proxy:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler-proxy:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-handler-proxy:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-handler-proxy:4.1.8.Final=compileClasspath -io.netty:netty-handler:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-handler:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-handler:4.1.8.Final=compileClasspath -io.netty:netty-resolver:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-resolver:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-resolver:4.1.8.Final=compileClasspath -io.netty:netty-tcnative-boringssl-static:2.0.26.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-tcnative-boringssl-static:2.0.26.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-tcnative-boringssl-static:2.0.30.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-tcnative-boringssl-static:2.0.34.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.netty:netty-transport-native-epoll:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-epoll:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-epoll:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-transport-native-epoll:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-transport-native-epoll:4.1.8.Final=compileClasspath -io.netty:netty-transport-native-unix-common:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-transport-native-unix-common:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.netty:netty-transport:4.1.43.Final=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport:4.1.43.Final=testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport:4.1.47.Final=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath io.netty:netty-transport:4.1.51.Final=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.netty:netty-transport:4.1.8.Final=compileClasspath io.netty:netty:3.10.1.Final=compileClasspath -io.sqreen:libsqreen:17.5.0=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -javax.activation:activation:1.1.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -javax.annotation:javax.annotation-api:1.3.2=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -javax.inject:javax.inject:1=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.sqreen:libsqreen:17.5.0=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +javax.activation:activation:1.1.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +javax.annotation:javax.annotation-api:1.3.2=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +javax.inject:javax.inject:1=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath javax.servlet:servlet-api:2.5=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -javax.xml.bind:jaxb-api:2.3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +javax.xml.bind:jaxb-api:2.3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jaxen:jaxen:2.0.6=spotbugs +joda-time:joda-time:2.10.6=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath joda-time:joda-time:2.10.8=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -joda-time:joda-time:2.9.4=compileClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +joda-time:joda-time:2.9.4=compileClasspath,testCompileClasspath,testRuntimeClasspath junit:junit:4.12=latestDepTestCompileClasspath -junit:junit:4.13.2=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.18.10=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.18.10=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -net.codingwell:scala-guice_2.11:4.1.0=compileClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.18.10=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.18.10=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.codingwell:scala-guice_2.11:4.1.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +net.codingwell:scala-guice_2.11:4.2.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath net.codingwell:scala-guice_2.11:4.2.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -net.java.dev.jna:jna-platform:5.8.0=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna:5.8.0=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath net.openhft:zero-allocation-hashing:0.16=zinc net.sf.saxon:Saxon-HE:12.10=spotbugs org.apache.ant:ant-antlr:1.10.14=codenarc @@ -296,85 +366,86 @@ org.apache.ant:ant-junit:1.10.14=codenarc org.apache.bcel:bcel:6.12.0=spotbugs org.apache.commons:commons-lang3:3.20.0=spotbugs org.apache.commons:commons-text:1.15.0=spotbugs -org.apache.httpcomponents:httpclient:4.4.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apache.httpcomponents:httpcore:4.4.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpclient:4.4.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpcore:4.4.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.apache.logging.log4j:log4j-api:2.17.1=zinc org.apache.logging.log4j:log4j-api:2.26.1=spotbugs org.apache.logging.log4j:log4j-core:2.17.1=zinc org.apache.logging.log4j:log4j-core:2.26.1=spotbugs -org.apache.thrift:libthrift:0.10.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,latestPre207TestCompileClasspath,testCompileClasspath -org.checkerframework:checker-qual:2.10.0=latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.checkerframework:checker-qual:3.33.0=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207TestAnnotationProcessor,testAnnotationProcessor +org.apache.thrift:libthrift:0.10.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,latestPre207ForkedTestCompileClasspath,testCompileClasspath +org.checkerframework:checker-qual:2.10.0=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=annotationProcessor,latestDepTestAnnotationProcessor,latestPre207ForkedTestAnnotationProcessor,testAnnotationProcessor org.checkerframework:checker-qual:3.4.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath org.clapper:grizzled-slf4j_2.11:1.3.0=compileClasspath org.codehaus.groovy:groovy-ant:3.0.23=codenarc org.codehaus.groovy:groovy-docgenerator:3.0.23=codenarc org.codehaus.groovy:groovy-groovydoc:3.0.23=codenarc org.codehaus.groovy:groovy-json:3.0.23=codenarc -org.codehaus.groovy:groovy-json:3.0.25=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:3.0.25=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-templates:3.0.23=codenarc org.codehaus.groovy:groovy-xml:3.0.23=codenarc org.codehaus.groovy:groovy:3.0.23=codenarc -org.codehaus.groovy:groovy:3.0.25=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:3.0.25=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.codenarc:CodeNarc:3.7.0=codenarc org.dom4j:dom4j:2.2.0=spotbugs org.fusesource.jansi:jansi:2.4.1=zinc org.gmetrics:GMetrics:2.1.0=codenarc -org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.hamcrest:hamcrest:3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.hdrhistogram:HdrHistogram:2.1.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jctools:jctools-core-jdk11:4.0.6=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.jctools:jctools-core:4.0.6=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath +org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hdrhistogram:HdrHistogram:2.1.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core-jdk11:4.0.6=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.jctools:jctools-core:4.0.6=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath org.jline:jline-native:3.27.1=zinc org.jline:jline-terminal-jni:3.27.1=zinc org.jline:jline-terminal:3.27.1=zinc org.jline:jline:3.27.1=zinc -org.joda:joda-convert:1.2=compileClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.joda:joda-convert:1.2=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.joda:joda-convert:1.5=latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath org.joda:joda-convert:2.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -org.json4s:json4s-ast_2.11:3.6.7=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.json4s:json4s-core_2.11:3.6.7=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.json4s:json4s-scalap_2.11:3.6.7=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jspecify:jspecify:1.0.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.14.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.14.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-runner:1.14.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.14.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-commons:1.14.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.junit:junit-bom:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.json4s:json4s-ast_2.11:3.6.7=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.json4s:json4s-core_2.11:3.6.7=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.json4s:json4s-scalap_2.11:3.6.7=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.14.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.14.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.14.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.14.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.14.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.junit:junit-bom:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.junit:junit-bom:6.1.2=spotbugs -org.mockito:mockito-core:4.4.0=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.opentest4j:opentest4j:1.3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-core:4.4.0=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.ow2.asm:asm-analysis:9.10.1=spotbugs -org.ow2.asm:asm-analysis:9.7.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-commons:9.10.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,spotbugs,testRuntimeClasspath -org.ow2.asm:asm-tree:9.10.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.7.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.10.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,spotbugs,testRuntimeClasspath +org.ow2.asm:asm-tree:9.10.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,spotbugs,testRuntimeClasspath org.ow2.asm:asm-util:9.10.1=spotbugs -org.ow2.asm:asm-util:9.7.1=latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm:9.10.1=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,muzzleTooling,runtimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath -org.scala-lang.modules:scala-collection-compat_2.11:2.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.7.1=latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.10.1=buildTimeInstrumentationPlugin,compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,muzzleTooling,runtimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +org.scala-lang.modules:scala-collection-compat_2.11:2.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang.modules:scala-parallel-collections_2.13:0.2.0=zinc org.scala-lang.modules:scala-parser-combinators_2.11:1.0.4=compileClasspath -org.scala-lang.modules:scala-parser-combinators_2.11:1.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.scala-lang.modules:scala-parser-combinators_2.11:1.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang.modules:scala-parser-combinators_2.13:1.1.2=zinc org.scala-lang.modules:scala-xml_2.11:1.0.4=compileClasspath -org.scala-lang.modules:scala-xml_2.11:1.0.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.scala-lang.modules:scala-xml_2.11:1.0.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang.modules:scala-xml_2.13:2.3.0=zinc -org.scala-lang:scala-compiler:2.11.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.scala-lang:scala-compiler:2.11.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang:scala-compiler:2.11.8=compileClasspath org.scala-lang:scala-compiler:2.13.16=zinc -org.scala-lang:scala-library:2.11.12=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.scala-lang:scala-library:2.11.12=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang:scala-library:2.13.16=zinc -org.scala-lang:scala-reflect:2.11.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.scala-lang:scala-reflect:2.11.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang:scala-reflect:2.11.8=compileClasspath org.scala-lang:scala-reflect:2.13.16=zinc -org.scala-lang:scalap:2.11.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.scala-lang:scalap:2.11.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.scala-lang:scalap:2.11.8=compileClasspath org.scala-sbt.jline:jline:2.14.7-sbt-9a88bc413e2b34a4580c001c654d1a7f4f65bf18=zinc org.scala-sbt:collections_2.13:1.11.5=zinc @@ -398,20 +469,20 @@ org.scala-sbt:zinc-persist-core-assembly:1.12.0=zinc org.scala-sbt:zinc-persist_2.13:1.12.0=zinc org.scala-sbt:zinc_2.13:1.12.0=zinc org.slf4j:jcl-over-slf4j:1.7.21=compileClasspath -org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.slf4j:jul-to-slf4j:1.7.21=compileClasspath -org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.slf4j:log4j-over-slf4j:1.7.21=compileClasspath -org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.slf4j:slf4j-api:1.7.30=buildTimeInstrumentationPlugin,compileClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath -org.slf4j:slf4j-api:1.7.32=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.32=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.slf4j:slf4j-api:2.0.17=spotbugsSlf4j org.slf4j:slf4j-api:2.0.18=spotbugs org.slf4j:slf4j-simple:2.0.17=spotbugsSlf4j -org.snakeyaml:snakeyaml-engine:2.9=buildTimeInstrumentationPlugin,latestDepTestRuntimeClasspath,latestPre207TestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath -org.spockframework:spock-bom:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.spockframework:spock-core:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.tabletest:tabletest-junit:1.2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.tabletest:tabletest-parser:1.2.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207TestCompileClasspath,latestPre207TestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.snakeyaml:snakeyaml-engine:2.9=buildTimeInstrumentationPlugin,latestDepTestRuntimeClasspath,latestPre207ForkedTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.spockframework:spock-bom:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-core:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.tabletest:tabletest-junit:1.2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.tabletest:tabletest-parser:1.2.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,latestPre207ForkedTestCompileClasspath,latestPre207ForkedTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.xmlresolver:xmlresolver:5.3.3=spotbugs -empty=scalaCompilerPlugins,scalaToolchainRuntimeClasspath,spotbugsPlugins +empty=latestPre207TestAnnotationProcessor,latestPre207TestCompileOnly,latestPre207TestImplementation,latestPre207TestRuntimeOnly,scalaCompilerPlugins,scalaToolchainRuntimeClasspath,spotbugsPlugins diff --git a/dd-java-agent/instrumentation/finatra-2.9/src/latestDepTest/groovy/FinatraServer270Test.groovy b/dd-java-agent/instrumentation/finatra-2.9/src/latestDepTest/groovy/FinatraServer270Test.groovy index a1026140298..22fb433db43 100644 --- a/dd-java-agent/instrumentation/finatra-2.9/src/latestDepTest/groovy/FinatraServer270Test.groovy +++ b/dd-java-agent/instrumentation/finatra-2.9/src/latestDepTest/groovy/FinatraServer270Test.groovy @@ -10,6 +10,10 @@ import datadog.trace.agent.test.base.HttpServerTest import datadog.trace.api.DDSpanTypes import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.instrumentation.finatra.FinatraDecorator +import spock.lang.Shared + +import java.util.concurrent.FutureTask +import java.util.concurrent.TimeUnit import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.ERROR import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.EXCEPTION @@ -19,6 +23,9 @@ class FinatraServer270Test extends HttpServerTest { private static final Duration TIMEOUT = Duration.fromSeconds(5) private static final Duration STARTUP_TIMEOUT = Duration.fromSeconds(20) + @Shared + private FutureTask serverMain + static closeAndWait(Closable closable) { if (closable != null) { Await.ready(closable.close(), TIMEOUT) @@ -34,13 +41,6 @@ class FinatraServer270Test extends HttpServerTest { HttpServer startServer(int port) { HttpServer testServer = new FinatraServer() - // Starting the server is blocking so start it in a separate thread - Thread startupThread = new Thread({ - testServer.main("-admin.port=:0", "-http.port=:" + port) - }) - startupThread.setDaemon(true) - startupThread.start() - Promise startupPromise = new Promise<>() testServer.withObserver(new Observer() { @@ -62,6 +62,16 @@ class FinatraServer270Test extends HttpServerTest { } }) + // Starting the server is blocking so start it in a separate thread. nonExitingMain (unlike + // main) reports lifecycle errors instead of calling System.exit, which would take down the + // whole test worker. The observer above is registered first so no startup event is missed. + serverMain = new FutureTask({ + testServer.nonExitingMain("-admin.port=:0", "-http.port=:" + port) + }, null) + Thread serverThread = new Thread(serverMain, "finatra-server") + serverThread.setDaemon(true) + serverThread.start() + Await.result(startupPromise, STARTUP_TIMEOUT) return testServer @@ -80,7 +90,12 @@ class FinatraServer270Test extends HttpServerTest { @Override void stopServer(HttpServer httpServer) { + if (httpServer == null) { + return // startServer failed before handing the server over + } Await.ready(httpServer.close(), TIMEOUT) + // Rethrows a shutdown failure reported by the server thread, or times out if it did not stop + serverMain.get(TIMEOUT.inMilliseconds(), TimeUnit.MILLISECONDS) } @Override diff --git a/dd-java-agent/instrumentation/finatra-2.9/src/test/groovy/FinatraServerTest.groovy b/dd-java-agent/instrumentation/finatra-2.9/src/test/groovy/FinatraServerTest.groovy index 85a92c857c4..f39d702af7d 100644 --- a/dd-java-agent/instrumentation/finatra-2.9/src/test/groovy/FinatraServerTest.groovy +++ b/dd-java-agent/instrumentation/finatra-2.9/src/test/groovy/FinatraServerTest.groovy @@ -8,7 +8,9 @@ import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions import datadog.trace.api.DDSpanTypes import datadog.trace.bootstrap.instrumentation.api.Tags import datadog.trace.instrumentation.finatra.FinatraDecorator +import spock.lang.Shared +import java.util.concurrent.FutureTask import java.util.concurrent.TimeUnit import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.ERROR @@ -19,6 +21,9 @@ abstract class FinatraServerTest extends HttpServerTest { private static final Duration TIMEOUT = Duration.fromSeconds(5) private static final long STARTUP_TIMEOUT = 20 // SECONDS + @Shared + private FutureTask serverMain + static closeAndWait(Closable closable) { if (closable != null) { Await.ready(closable.close(), TIMEOUT) @@ -29,13 +34,26 @@ abstract class FinatraServerTest extends HttpServerTest { HttpServer startServer(int port) { def testServer = new FinatraServer() - // Starting the server is blocking so start it in a separate thread - Thread startupThread = new Thread({ - testServer.main("-admin.port=:0", "-http.port=:" + port) - }) - startupThread.setDaemon(true) - startupThread.start() - testServer.awaitStart(STARTUP_TIMEOUT, TimeUnit.SECONDS) + // Starting the server is blocking so start it in a separate thread. nonExitingMain (unlike + // main) reports lifecycle errors instead of calling System.exit, which would take down the + // whole test worker. + serverMain = new FutureTask({ + testServer.nonExitingMain("-admin.port=:0", "-http.port=:" + port) + }, null) + Thread serverThread = new Thread(serverMain, "finatra-server") + serverThread.setDaemon(true) + serverThread.start() + + boolean started = testServer.awaitStart(STARTUP_TIMEOUT, TimeUnit.SECONDS) + if (serverMain.isDone()) { + serverMain.get() // rethrows the startup failure, if there was one + throw new IllegalStateException("Finatra server exited during startup") + } + if (!started) { + // Close here: the server is never handed over, so stopServer cannot do it + closeAndWait(testServer) + throw new IllegalStateException("Finatra server did not start within ${STARTUP_TIMEOUT}s") + } return testServer } @@ -53,7 +71,12 @@ abstract class FinatraServerTest extends HttpServerTest { @Override void stopServer(HttpServer httpServer) { + if (httpServer == null) { + return // startServer failed before handing the server over, and closed it itself + } Await.ready(httpServer.close(), TIMEOUT) + // Rethrows a shutdown failure reported by the server thread, or times out if it did not stop + serverMain.get(TIMEOUT.inMilliseconds(), TimeUnit.MILLISECONDS) } @Override diff --git a/dd-java-agent/instrumentation/finatra-2.9/src/test/scala/FinatraServer.scala b/dd-java-agent/instrumentation/finatra-2.9/src/test/scala/FinatraServer.scala index c33a6a5ad64..579395c2881 100644 --- a/dd-java-agent/instrumentation/finatra-2.9/src/test/scala/FinatraServer.scala +++ b/dd-java-agent/instrumentation/finatra-2.9/src/test/scala/FinatraServer.scala @@ -21,7 +21,8 @@ class FinatraServer extends HttpServer { latch.countDown() } - def awaitStart(timeout: Long, unit: TimeUnit): Unit = { + /** Returns false if the server did not finish warming up within the timeout. */ + def awaitStart(timeout: Long, unit: TimeUnit): Boolean = { latch.await(timeout, unit) } }