From c358a35414fa49f74e58084be6351370f709779a Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Fri, 28 May 2021 11:32:08 +0900 Subject: [PATCH] Use dependency management pattern for dependency versions (#3113) * Use dependency management pattern for dependency versions. * Add groovy bom too * Update dependencyManagement/dependencyManagement.gradle.kts Co-authored-by: Trask Stalnaker Co-authored-by: Trask Stalnaker --- benchmark/benchmark.gradle | 6 +- bom-alpha/bom-alpha.gradle | 7 +- build.gradle | 1 - .../dependencyManagement.gradle.kts | 137 ++++++++++++++++++ gradle/dependencies.gradle | 109 -------------- gradle/instrumentation-library.gradle | 3 +- gradle/instrumentation.gradle | 21 +-- gradle/java.gradle | 46 ++++-- gradle/publish.gradle | 6 + gradle/test-with-scala.gradle | 2 +- .../instrumentation-api-caching.gradle | 13 +- .../instrumentation-api.gradle | 24 +-- .../javaagent/akka-actor-2.5-javaagent.gradle | 2 +- ...che-camel-2.20-javaagent-unit-tests.gradle | 6 +- .../apache-camel-2.20-javaagent.gradle | 7 +- .../testing/apache-dubbo-2.7-testing.gradle | 8 +- .../testing/armeria-1.3-testing.gradle | 8 +- .../library/aws-lambda-1.0-library.gradle | 22 +-- .../testing/aws-lambda-1.0-testing.gradle | 10 +- .../aws-sdk-1.11-javaagent-unit-tests.gradle | 2 +- .../javaagent/aws-sdk-1.11-javaagent.gradle | 7 +- .../library/aws-sdk-1.11-library.gradle | 2 +- .../testing/aws-sdk-1.11-testing.gradle | 8 +- .../library/aws-sdk-2.2-library.gradle | 6 +- .../testing/aws-sdk-2.2-testing.gradle | 8 +- .../javaagent/cassandra-3.0-javaagent.gradle | 7 +- .../couchbase-2.0-javaagent-unittests.gradle | 4 +- .../javaagent/couchbase-3.1-javaagent.gradle | 2 +- .../couchbase-testing.gradle | 6 +- .../dropwizard-testing.gradle | 5 +- ...nal-annotations-javaagent-unittests.gradle | 2 +- .../javaagent/finatra-2.9-javaagent.gradle | 10 +- .../javaagent/geode-1.4-javaagent.gradle | 4 +- .../javaagent/grizzly-2.0-javaagent.gradle | 6 +- .../grpc-1.6/library/grpc-1.6-library.gradle | 2 +- .../grpc-1.6/testing/grpc-1.6-testing.gradle | 8 +- .../javaagent/guava-10.0-javaagent.gradle | 2 +- .../javaagent/gwt-2.0-javaagent.gradle | 2 +- .../jaxrs-client-2.0-common-javaagent.gradle | 3 + .../jaxrs-2.0-arquillian-testing.gradle | 2 +- .../jaxrs-2.0-jersey-2.0-javaagent.gradle | 2 +- .../jaxrs-2.0-testing.gradle | 13 +- .../jaxws-2.0-testing.gradle | 5 +- .../jdbc/javaagent/jdbc-javaagent.gradle | 4 +- .../javaagent/jedis-1.4-javaagent.gradle | 4 +- .../jms-1.1-javaagent-unit-tests.gradle | 3 +- .../javaagent/jms-1.1-javaagent.gradle | 4 +- .../jsf-testing-common.gradle | 5 +- .../kafka-clients-0.11-javaagent.gradle | 10 +- .../kafka-streams-0.11-javaagent.gradle | 10 +- .../kotlinx-coroutines-javaagent.gradle | 4 +- .../testing/lettuce-5.1-testing.gradle | 10 +- .../log4j-2-testing/log4j-2-testing.gradle | 8 +- .../testing/logback-1.0-testing.gradle | 8 +- .../testing/mongo-3.1-testing.gradle | 6 +- .../mongo/mongo-testing/mongo-testing.gradle | 8 +- .../testing/okhttp-3.0-testing.gradle | 8 +- ...telemetry-annotations-1.0-javaagent.gradle | 4 +- .../opentelemetry-api-1.0-javaagent.gradle | 4 +- ...telemetry-api-metrics-1.0-javaagent.gradle | 6 +- .../oshi/javaagent/oshi-javaagent.gradle | 2 +- .../oshi/library/oshi-library.gradle | 6 +- .../play-ws-testing/play-ws-testing.gradle | 6 +- .../javaagent/rabbitmq-2.7-javaagent.gradle | 2 - .../javaagent/ratpack-1.4-javaagent.gradle | 3 + .../javaagent/reactor-3.1-javaagent.gradle | 2 +- .../testing/reactor-3.1-testing.gradle | 6 +- .../javaagent/redisson-3.0-javaagent.gradle | 4 +- .../rocketmq-client-4.8-testing.gradle | 8 +- .../library/runtime-metrics-library.gradle | 6 +- .../javaagent/rxjava-2.0-javaagent.gradle | 2 +- .../testing/rxjava-2.0-testing.gradle | 8 +- .../javaagent/rxjava-3.0-javaagent.gradle | 2 +- .../testing/rxjava-3.0-testing.gradle | 8 +- .../scala-executors-javaagent.gradle | 2 +- .../library/servlet-2.2-library.gradle | 2 +- .../library/servlet-5.0-library.gradle | 2 +- .../library/servlet-common-library.gradle | 2 +- .../servlet-javax-common-library.gradle | 6 +- .../spring-boot-autoconfigure.gradle | 44 +++--- .../spring-data-1.8-javaagent.gradle | 2 +- .../library/spring-web-3.1-library.gradle | 7 +- .../spring-webflux-5.0-javaagent.gradle | 5 + .../SpringWebFluxSingleConnection.groovy | 5 +- .../ControllerSpringWebFluxServerTest.groovy | 6 +- .../HandlerSpringWebFluxServerTest.groovy | 6 +- .../spring-webmvc-3.1-javaagent.gradle | 2 +- .../jaeger-exporter-starter.gradle | 4 +- .../otlp-exporter-starter.gradle | 4 +- .../spring-starter/spring-starter.gradle | 12 +- .../zipkin-exporter-starter.gradle | 4 +- .../spymemcached-2.12-javaagent.gradle | 3 +- .../testing/vaadin-14.2-testing.gradle | 2 +- javaagent-api/javaagent-api.gradle | 15 +- .../javaagent-bootstrap-tests.gradle | 2 +- .../javaagent-bootstrap.gradle | 14 +- .../javaagent-extension-api.gradle | 8 +- javaagent-tooling/javaagent-tooling.gradle | 50 +++---- javaagent/javaagent.gradle | 11 +- load-generator/load-generator.gradle | 2 +- ...emetry-api-shaded-for-instrumenting.gradle | 5 +- ...nnotations-shaded-for-instrumenting.gradle | 4 +- settings.gradle | 4 + smoke-tests/smoke-tests.gradle | 12 +- .../integration-tests.gradle | 8 +- testing-common/testing-common.gradle | 41 +++--- testing/agent-exporter/agent-exporter.gradle | 18 +-- .../agent-for-testing.gradle | 7 +- 108 files changed, 587 insertions(+), 461 deletions(-) create mode 100644 dependencyManagement/dependencyManagement.gradle.kts delete mode 100644 gradle/dependencies.gradle diff --git a/benchmark/benchmark.gradle b/benchmark/benchmark.gradle index 28a220c34d..af3f643a7e 100644 --- a/benchmark/benchmark.gradle +++ b/benchmark/benchmark.gradle @@ -6,12 +6,12 @@ plugins { apply from: "$rootDir/gradle/java.gradle" dependencies { - jmh deps.opentelemetryApi - jmh deps.bytebuddyagent + jmh "io.opentelemetry:opentelemetry-api" + jmh "net.bytebuddy:byte-buddy-agent" jmh project(':instrumentation-api') - jmh deps.caffeine + jmh "com.github.ben-manes.caffeine:caffeine" jmh 'javax.servlet:javax.servlet-api:4.0.1' jmh 'com.google.http-client:google-http-client:1.19.0' diff --git a/bom-alpha/bom-alpha.gradle b/bom-alpha/bom-alpha.gradle index fe9624adc4..188fbac922 100644 --- a/bom-alpha/bom-alpha.gradle +++ b/bom-alpha/bom-alpha.gradle @@ -9,7 +9,7 @@ group = "io.opentelemetry.instrumentation" archivesBaseName = "opentelemetry-instrumentation-bom-alpha" rootProject.subprojects.forEach { subproject -> - if (!project.name.startsWith("bom")) { + if (!subproject.name.startsWith("bom")) { evaluationDependsOn(subproject.path) } } @@ -19,12 +19,13 @@ javaPlatform { } dependencies { - api(platform("io.opentelemetry:opentelemetry-bom:${versions.opentelemetry}")) - api(platform("io.opentelemetry:opentelemetry-bom-alpha:${versions.opentelemetryAlpha}")) + api(platform("io.opentelemetry:opentelemetry-bom:${versions["io.opentelemetry"]}")) + api(platform("io.opentelemetry:opentelemetry-bom-alpha:${versions["io.opentelemetry"]}")) } afterEvaluate { dependencies { + constraints { rootProject.subprojects.sort { "$it.archivesBaseName" } .collect { it } diff --git a/build.gradle b/build.gradle index 6904323397..3681a95379 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,6 @@ nexusPublishing { // tasks.release.finalizedBy tasks.closeAndReleaseRepository allprojects { - apply from: "$rootDir/gradle/dependencies.gradle" apply from: "$rootDir/gradle/util.gradle" } diff --git a/dependencyManagement/dependencyManagement.gradle.kts b/dependencyManagement/dependencyManagement.gradle.kts new file mode 100644 index 0000000000..ddabb678ba --- /dev/null +++ b/dependencyManagement/dependencyManagement.gradle.kts @@ -0,0 +1,137 @@ +import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask + +plugins { + `java-platform` + + id("com.github.ben-manes.versions") +} + +data class DependencySet(val group: String, val version: String, val modules: List) + +val dependencyVersions = hashMapOf() +rootProject.extra["versions"] = dependencyVersions + +// Need both BOM and -all +val groovyVersion = "2.5.11" + +// We don't force libraries we instrument to new versions since we compile and test against specific +// old baseline versions +// but we do try to force those libraries' transitive dependencies to new versions where possible +// so that we don't end up with explosion of dependency versions in Intellij, which causes +// Intellij to spend lots of time indexing all of those different dependency versions, +// and makes debugging painful because Intellij has no idea which dependency version's source +// to use when stepping through code. +// +// Sometimes libraries we instrument do require a specific version of a transitive dependency +// and that can be applied in the specific instrumentation gradle file, e.g. +// configurations.testRuntimeClasspath.resolutionStrategy.force "com.google.guava:guava:19.0" + +val DEPENDENCY_BOMS = listOf( + "com.fasterxml.jackson:jackson-bom:2.12.3", + "com.google.guava:guava-bom:30.1.1-jre", + "org.codehaus.groovy:groovy-bom:${groovyVersion}", + "io.opentelemetry:opentelemetry-bom:1.2.0", + "io.opentelemetry:opentelemetry-bom-alpha:1.2.0-alpha", + "org.junit:junit-bom:5.7.1" +) + +val DEPENDENCY_SETS = listOf( + DependencySet( + "com.google.auto.value", + "1.7.5", + listOf("auto-value", "auto-value-annotations") + ), + DependencySet( + "com.google.errorprone", + "2.4.0", + listOf("error_prone_annotations", "error_prone_core") + ), + DependencySet( + "io.prometheus", + "0.9.0", + listOf("simpleclient", "simpleclient_common", "simpleclient_httpserver") + ), + DependencySet( + "net.bytebuddy", + "1.10.18", + listOf("byte-buddy", "byte-buddy-agent") + ), + DependencySet( + "org.mockito", + "3.8.0", + listOf("mockito-core", "mockito-junit-jupiter") + ), + DependencySet( + "org.slf4j", + "1.7.30", + listOf("slf4j-api", "slf4j-simple", "log4j-over-slf4j", "jcl-over-slf4j", "jul-to-slf4j") + ), + DependencySet( + "org.testcontainers", + "1.15.3", + listOf("testcontainers", "junit-jupiter") + ) +) + +val DEPENDENCIES = listOf( + "ch.qos.logback:logback-classic:1.2.3", + "com.blogspot.mydailyjava:weak-lock-free:0.18", + "com.github.ben-manes.caffeine:caffeine:2.9.0", + "com.github.stefanbirkner:system-lambda:1.1.0", + "com.github.stefanbirkner:system-rules:1.19.0", + "com.google.auto.service:auto-service:1.0", + "com.uber.nullaway:nullaway:0.9.1", + "info.solidsoft.spock:spock-global-unroll:0.5.1", + "org.assertj:assertj-core:3.19.0", + "org.awaitility:awaitility:4.0.3", + "org.checkerframework:checker-qual:3.6.1", + "org.codehaus.groovy:groovy-all:${groovyVersion}", + "org.objenesis:objenesis:3.1", + "org.spockframework:spock-core:1.3-groovy-2.5", + "org.scala-lang:scala-library:2.11.12", + "org.springframework.boot:spring-boot-dependencies:2.3.1.RELEASE" +) + +javaPlatform { + allowDependencies() +} + +dependencies { + for (bom in DEPENDENCY_BOMS) { + api(enforcedPlatform(bom)) + val split = bom.split(':') + dependencyVersions[split[0]] = split[2] + } + constraints { + for (set in DEPENDENCY_SETS) { + for (module in set.modules) { + api("${set.group}:${module}:${set.version}") + dependencyVersions[set.group] = set.version + } + } + for (dependency in DEPENDENCIES) { + api(dependency) + val split = dependency.split(':') + dependencyVersions[split[0]] = split[2] + } + } +} + +fun isNonStable(version: String): Boolean { + val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase().contains(it) } + val regex = "^[0-9,.v-]+(-r)?$".toRegex() + val isGuava = version.endsWith("-jre") + val isStable = stableKeyword || regex.matches(version) || isGuava + return isStable.not() +} + +tasks { + named("dependencyUpdates") { + revision = "release" + checkConstraints = true + + rejectVersionIf { + isNonStable(candidate.version) + } + } +} diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle deleted file mode 100644 index d91885a32b..0000000000 --- a/gradle/dependencies.gradle +++ /dev/null @@ -1,109 +0,0 @@ -def groovyVer = "2.5.11" -def spockGroovyVer = groovyVer.replaceAll(/\.\d+$/, '') - -// this is only needed for the working against unreleased otel-java snapshots -configurations.all { - resolutionStrategy.cacheChangingModulesFor 12, 'hours' -} - -ext { - versions = [ - opentelemetry : '1.2.0', - opentelemetryAlpha: "1.2.0-alpha", - - slf4j : "1.7.30", - guava : "30.1-jre", - - spock : "1.3-groovy-$spockGroovyVer", - groovy : groovyVer, - logback : "1.2.3", - bytebuddy : "1.10.18", // Also explicitly specified in buildSrc - scala : "2.11.12", - springboot : "2.3.1.RELEASE", - junit5 : "5.7.1", - checkerFramework : "3.6.1", - errorprone : "2.4.0", - nullaway : "0.8.0", - autoValue : "1.7.4", - systemLambda : "1.1.0", - prometheus : "0.9.0", - assertj : '3.19.0', - awaitility : '4.0.3', - mockito : '3.6.0', - // Caffeine 2.x to support Java 8+. 3.x is 11+. - caffeine : '2.9.0', - testcontainers : '1.15.3', - weaklockfree : '0.18' - ] - - deps = [ - // OpenTelemetry - opentelemetryApi : "io.opentelemetry:opentelemetry-api:${versions.opentelemetry}", - opentelemetryApiMetrics : "io.opentelemetry:opentelemetry-api-metrics:${versions.opentelemetryAlpha}", - opentelemetryExtAnnotations : "io.opentelemetry:opentelemetry-extension-annotations:${versions.opentelemetry}", - opentelemetryExtAws : "io.opentelemetry:opentelemetry-extension-aws:${versions.opentelemetry}", - opentelemetryContext : "io.opentelemetry:opentelemetry-context:${versions.opentelemetry}", - opentelemetryKotlin : "io.opentelemetry:opentelemetry-extension-kotlin:${versions.opentelemetry}", - opentelemetryLogging : "io.opentelemetry:opentelemetry-exporter-logging:${versions.opentelemetry}", - opentelemetryTraceProps : "io.opentelemetry:opentelemetry-extension-trace-propagators:${versions.opentelemetry}", - opentelemetrySdk : "io.opentelemetry:opentelemetry-sdk:${versions.opentelemetry}", - opentelemetrySdkAutoconfigure: "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:${versions.opentelemetryAlpha}", - opentelemetrySdkMetrics : "io.opentelemetry:opentelemetry-sdk-metrics:${versions.opentelemetryAlpha}", - opentelemetryJaeger : "io.opentelemetry:opentelemetry-exporter-jaeger:${versions.opentelemetry}", - opentelemetryOtlp : "io.opentelemetry:opentelemetry-exporter-otlp:${versions.opentelemetry}", - opentelemetryOtlpMetrics : "io.opentelemetry:opentelemetry-exporter-otlp-metrics:${versions.opentelemetryAlpha}", - opentelemetryZipkin : "io.opentelemetry:opentelemetry-exporter-zipkin:${versions.opentelemetry}", - opentelemetryPrometheus : "io.opentelemetry:opentelemetry-exporter-prometheus:${versions.opentelemetryAlpha}", - opentelemetryLogging : "io.opentelemetry:opentelemetry-exporter-logging:${versions.opentelemetry}", - opentelemetryProto : "io.opentelemetry:opentelemetry-proto:${versions.opentelemetryAlpha}", - opentelemetryResources : "io.opentelemetry:opentelemetry-sdk-extension-resources:${versions.opentelemetry}", - opentelemetrySdkTesting : "io.opentelemetry:opentelemetry-sdk-testing:${versions.opentelemetry}", - opentelemetrySemConv : "io.opentelemetry:opentelemetry-semconv:${versions.opentelemetryAlpha}", - - // General - slf4j : "org.slf4j:slf4j-api:${versions.slf4j}", - guava : "com.google.guava:guava:$versions.guava", - bytebuddy : "net.bytebuddy:byte-buddy:${versions.bytebuddy}", - bytebuddyagent : "net.bytebuddy:byte-buddy-agent:${versions.bytebuddy}", - autoservice : [ - "com.google.auto.service:auto-service:1.0-rc7", - "com.google.auto:auto-common:0.8", - ], - autoValueAnnotations : "com.google.auto.value:auto-value-annotations:${versions.autoValue}", - // annotation processor - autoValue : "com.google.auto.value:auto-value:${versions.autoValue}", - prometheus : [ - "io.prometheus:simpleclient:${versions.prometheus}", - "io.prometheus:simpleclient_httpserver:${versions.prometheus}", - ], - caffeine : "com.github.ben-manes.caffeine:caffeine:${versions.caffeine}", - weaklockfree : "com.blogspot.mydailyjava:weak-lock-free:${versions.weaklockfree}", - - // Testing - - spock : [ - dependencies.create("org.spockframework:spock-core:${versions.spock}", { - exclude group: 'org.codehaus.groovy', module: 'groovy-all' - }), - // Used by Spock for mocking: - "org.objenesis:objenesis:3.1" - ], - groovy : "org.codehaus.groovy:groovy-all:${versions.groovy}", - systemLambda : "com.github.stefanbirkner:system-lambda:${versions.systemLambda}", - testcontainers : "org.testcontainers:testcontainers:${versions.testcontainers}", - testLogging : [ - "ch.qos.logback:logback-classic:${versions.logback}", - "org.slf4j:log4j-over-slf4j:${versions.slf4j}", - "org.slf4j:jcl-over-slf4j:${versions.slf4j}", - "org.slf4j:jul-to-slf4j:${versions.slf4j}", - ], - scala : "org.scala-lang:scala-library:${versions.scala}", - junitApi : "org.junit.jupiter:junit-jupiter-api:${versions.junit5}", - assertj : "org.assertj:assertj-core:${versions.assertj}", - awaitility : "org.awaitility:awaitility:${versions.awaitility}", - mockito : [ - "org.mockito:mockito-core:${versions.mockito}", - "org.mockito:mockito-junit-jupiter:${versions.mockito}" - ] - ] -} diff --git a/gradle/instrumentation-library.gradle b/gradle/instrumentation-library.gradle index 8b777ca741..1a58717493 100644 --- a/gradle/instrumentation-library.gradle +++ b/gradle/instrumentation-library.gradle @@ -11,8 +11,7 @@ archivesBaseName = projectDir.parentFile.name dependencies { api project(':instrumentation-api') - api deps.opentelemetryApi - api deps.opentelemetryContext + api "io.opentelemetry:opentelemetry-api" testImplementation project(':testing-common') } diff --git a/gradle/instrumentation.gradle b/gradle/instrumentation.gradle index 52d182c2f4..bc18e2090e 100644 --- a/gradle/instrumentation.gradle +++ b/gradle/instrumentation.gradle @@ -51,18 +51,18 @@ afterEvaluate { exclude group: 'io.opentelemetry', module: 'opentelemetry-sdk' exclude group: 'io.opentelemetry', module: 'opentelemetry-sdk-metrics' } - compileOnly deps.bytebuddy - annotationProcessor deps.autoservice - compileOnly deps.autoservice - compileOnly deps.slf4j + compileOnly "net.bytebuddy:byte-buddy" + annotationProcessor "com.google.auto.service:auto-service" + compileOnly "com.google.auto.service:auto-service" + compileOnly "org.slf4j:slf4j-api" - testImplementation deps.opentelemetryApi + testImplementation "io.opentelemetry:opentelemetry-api" testImplementation project(':testing-common') - testAnnotationProcessor deps.autoservice - testCompileOnly deps.autoservice + testAnnotationProcessor "net.bytebuddy:byte-buddy" + testCompileOnly "net.bytebuddy:byte-buddy" - testImplementation deps.testcontainers + testImplementation "org.testcontainers:testcontainers" toolingRuntime(project(path: ":javaagent-tooling", configuration: 'instrumentationMuzzle')) toolingRuntime(project(path: ":javaagent-extension-api", configuration: 'instrumentationMuzzle')) @@ -77,7 +77,10 @@ afterEvaluate { } configurations { - testInstrumentation + testInstrumentation { + canBeResolved = true + canBeConsumed = false + } } tasks.named('shadowJar').configure { diff --git a/gradle/java.gradle b/gradle/java.gradle index 98c6bdc708..129189d2da 100644 --- a/gradle/java.gradle +++ b/gradle/java.gradle @@ -69,20 +69,40 @@ repositories { mavenLocal() } +evaluationDependsOn(":dependencyManagement") +configurations { + dependencyManagement { + canBeConsumed = false + canBeResolved = false + visible = false + } +} +afterEvaluate { + configurations.configureEach { + if (canBeResolved && !canBeConsumed) { + extendsFrom(configurations.dependencyManagement) + } + } +} + dependencies { - compileOnly "org.checkerframework:checker-qual:${versions.checkerFramework}" + dependencyManagement platform(project(":dependencyManagement")) - testImplementation enforcedPlatform("org.junit:junit-bom:${versions.junit5}") - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params' - testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine' - testRuntimeOnly group: 'org.junit.vintage', name: 'junit-vintage-engine' + compileOnly "org.checkerframework:checker-qual" - testImplementation deps.spock - testImplementation deps.groovy - testImplementation deps.testLogging - testImplementation "info.solidsoft.spock:spock-global-unroll:0.5.1" - testImplementation "com.github.stefanbirkner:system-rules:1.19.0" + testImplementation "org.junit.jupiter:junit-jupiter-api" + testImplementation "org.junit.jupiter:junit-jupiter-params" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" + testRuntimeOnly "org.junit.vintage:junit-vintage-engine" + + testImplementation "org.objenesis:objenesis" + testImplementation "org.spockframework:spock-core" + testImplementation "ch.qos.logback:logback-classic" + testImplementation "org.slf4j:log4j-over-slf4j" + testImplementation "org.slf4j:jcl-over-slf4j" + testImplementation "org.slf4j:jul-to-slf4j" + testImplementation "info.solidsoft.spock:spock-global-unroll" + testImplementation "com.github.stefanbirkner:system-rules" } tasks.named('jar').configure { @@ -223,8 +243,8 @@ tasks.withType(AbstractArchiveTask).configureEach { plugins.withId('net.ltgt.errorprone') { dependencies { - annotationProcessor group: "com.uber.nullaway", name: "nullaway", version: versions.nullaway - errorprone group: "com.google.errorprone", name: "error_prone_core", version: versions.errorprone + annotationProcessor "com.uber.nullaway:nullaway" + errorprone "com.google.errorprone:error_prone_core" } tasks.withType(JavaCompile).configureEach { diff --git a/gradle/publish.gradle b/gradle/publish.gradle index 433ad8bb55..33470670f1 100644 --- a/gradle/publish.gradle +++ b/gradle/publish.gradle @@ -18,6 +18,12 @@ publishing { } } + versionMapping { + allVariants { + fromResolutionResult() + } + } + def stable = findProperty("otel.stable") ?: false if (!stable) { def versionParts = version.split('-') diff --git a/gradle/test-with-scala.gradle b/gradle/test-with-scala.gradle index e6ae9aa1ec..55bfc26fcc 100644 --- a/gradle/test-with-scala.gradle +++ b/gradle/test-with-scala.gradle @@ -3,7 +3,7 @@ apply plugin: 'scala' dependencies { - testImplementation deps.scala + testImplementation "org.scala-lang:scala-library" } tasks.named('compileTestGroovy').configure { diff --git a/instrumentation-api-caching/instrumentation-api-caching.gradle b/instrumentation-api-caching/instrumentation-api-caching.gradle index 6086b55d7b..69f86c7497 100644 --- a/instrumentation-api-caching/instrumentation-api-caching.gradle +++ b/instrumentation-api-caching/instrumentation-api-caching.gradle @@ -8,18 +8,21 @@ apply from: "$rootDir/gradle/java.gradle" apply from: "$rootDir/gradle/publish.gradle" configurations { - shadowInclude + shadowInclude { + canBeResolved = true + canBeConsumed = false + } } dependencies { - compileOnly deps.caffeine - shadowInclude(deps.caffeine) { + compileOnly "com.github.ben-manes.caffeine:caffeine" + shadowInclude("com.github.ben-manes.caffeine:caffeine") { exclude group: 'com.google.errorprone', module: 'error_prone_annotations' exclude group: 'org.checkerframework', module: 'checker-qual' } - compileOnly deps.weaklockfree - shadowInclude deps.weaklockfree + compileOnly "com.blogspot.mydailyjava:weak-lock-free" + shadowInclude "com.blogspot.mydailyjava:weak-lock-free" } shadowJar { diff --git a/instrumentation-api/instrumentation-api.gradle b/instrumentation-api/instrumentation-api.gradle index 6e7865bcb6..0c0d5aeb8d 100644 --- a/instrumentation-api/instrumentation-api.gradle +++ b/instrumentation-api/instrumentation-api.gradle @@ -33,20 +33,20 @@ sourceSets.main.java.srcDir(jflexTargetDir) dependencies { api project(":instrumentation-api-caching") - api deps.opentelemetryApi - api deps.opentelemetryContext - api deps.opentelemetrySemConv + api "io.opentelemetry:opentelemetry-api" + api "io.opentelemetry:opentelemetry-semconv" - implementation deps.opentelemetryApiMetrics - implementation deps.slf4j + implementation "io.opentelemetry:opentelemetry-api-metrics" + implementation "org.slf4j:slf4j-api" - compileOnly deps.autoValueAnnotations - annotationProcessor deps.autoValue + compileOnly "com.google.auto.value:auto-value-annotations" + annotationProcessor "com.google.auto.value:auto-value" testImplementation project(':testing-common') - testImplementation deps.mockito - testImplementation deps.assertj - testImplementation deps.awaitility - testImplementation deps.opentelemetrySdkMetrics - testImplementation deps.opentelemetrySdkTesting + testImplementation "org.mockito:mockito-core" + testImplementation "org.mockito:mockito-junit-jupiter" + testImplementation "org.assertj:assertj-core" + testImplementation "org.awaitility:awaitility" + testImplementation "io.opentelemetry:opentelemetry-sdk-metrics" + testImplementation "io.opentelemetry:opentelemetry-sdk-testing" } diff --git a/instrumentation/akka-actor-2.5/javaagent/akka-actor-2.5-javaagent.gradle b/instrumentation/akka-actor-2.5/javaagent/akka-actor-2.5-javaagent.gradle index b1bff11f8a..a05e59702c 100644 --- a/instrumentation/akka-actor-2.5/javaagent/akka-actor-2.5-javaagent.gradle +++ b/instrumentation/akka-actor-2.5/javaagent/akka-actor-2.5-javaagent.gradle @@ -13,7 +13,7 @@ dependencies { implementation project(':instrumentation:executors:javaagent') compileOnly "com.typesafe.akka:akka-actor_2.11:2.5.0" - testImplementation deps.scala + testImplementation "org.scala-lang:scala-library" testImplementation "com.typesafe.akka:akka-actor_2.11:2.5.0" } diff --git a/instrumentation/apache-camel-2.20/javaagent-unit-tests/apache-camel-2.20-javaagent-unit-tests.gradle b/instrumentation/apache-camel-2.20/javaagent-unit-tests/apache-camel-2.20-javaagent-unit-tests.gradle index e0420e2892..7709521786 100644 --- a/instrumentation/apache-camel-2.20/javaagent-unit-tests/apache-camel-2.20-javaagent-unit-tests.gradle +++ b/instrumentation/apache-camel-2.20/javaagent-unit-tests/apache-camel-2.20-javaagent-unit-tests.gradle @@ -6,7 +6,7 @@ dependencies { testImplementation "org.apache.camel:camel-aws:2.20.1" testImplementation "org.apache.camel:camel-http:2.20.1" - testImplementation deps.opentelemetryTraceProps - testImplementation deps.opentelemetryExtAws - testImplementation deps.assertj + testImplementation "io.opentelemetry:opentelemetry-extension-trace-propagators" + testImplementation "io.opentelemetry:opentelemetry-extension-aws" + testImplementation "org.assertj:assertj-core" } diff --git a/instrumentation/apache-camel-2.20/javaagent/apache-camel-2.20-javaagent.gradle b/instrumentation/apache-camel-2.20/javaagent/apache-camel-2.20-javaagent.gradle index f8f351d57e..29fbbd341e 100644 --- a/instrumentation/apache-camel-2.20/javaagent/apache-camel-2.20-javaagent.gradle +++ b/instrumentation/apache-camel-2.20/javaagent/apache-camel-2.20-javaagent.gradle @@ -14,7 +14,7 @@ ext { dependencies { library "org.apache.camel:camel-core:$camelversion" - implementation deps.opentelemetryExtAws + implementation "io.opentelemetry:opentelemetry-extension-aws" testInstrumentation project(':instrumentation:apache-httpclient:apache-httpclient-2.0:javaagent') testInstrumentation project(':instrumentation:servlet:servlet-3.0:javaagent') @@ -30,12 +30,11 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test:1.5.17.RELEASE" testImplementation "org.springframework.boot:spring-boot-starter:1.5.17.RELEASE" - testImplementation "org.spockframework:spock-spring:$versions.spock" + testImplementation "org.spockframework:spock-spring:${versions["org.spockframework"]}" testImplementation 'javax.xml.bind:jaxb-api:2.3.1' testImplementation "org.elasticmq:elasticmq-rest-sqs_2.12:1.0.0" - testImplementation deps.testcontainers - testImplementation "org.testcontainers:localstack:${versions.testcontainers}" + testImplementation "org.testcontainers:localstack:${versions["org.testcontainers"]}" latestDepTestLibrary "org.apache.camel:camel-core:2.+" latestDepTestLibrary "org.apache.camel:camel-spring-boot-starter:2.+" diff --git a/instrumentation/apache-dubbo/apache-dubbo-2.7/testing/apache-dubbo-2.7-testing.gradle b/instrumentation/apache-dubbo/apache-dubbo-2.7/testing/apache-dubbo-2.7-testing.gradle index dfd5a4bcad..3611f3c101 100644 --- a/instrumentation/apache-dubbo/apache-dubbo-2.7/testing/apache-dubbo-2.7-testing.gradle +++ b/instrumentation/apache-dubbo/apache-dubbo-2.7/testing/apache-dubbo-2.7-testing.gradle @@ -13,9 +13,9 @@ dependencies { api "org.apache.dubbo:dubbo-config-api:${apacheDubboVersion}" implementation "javax.annotation:javax.annotation-api:1.3.2" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/armeria-1.3/testing/armeria-1.3-testing.gradle b/instrumentation/armeria-1.3/testing/armeria-1.3-testing.gradle index 4c50455838..55276dff04 100644 --- a/instrumentation/armeria-1.3/testing/armeria-1.3-testing.gradle +++ b/instrumentation/armeria-1.3/testing/armeria-1.3-testing.gradle @@ -6,9 +6,9 @@ dependencies { api "com.linecorp.armeria:armeria:1.3.0" api "com.linecorp.armeria:armeria-junit4:1.3.0" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/aws-lambda-1.0/library/aws-lambda-1.0-library.gradle b/instrumentation/aws-lambda-1.0/library/aws-lambda-1.0-library.gradle index c0b7cc6152..37282ad669 100644 --- a/instrumentation/aws-lambda-1.0/library/aws-lambda-1.0-library.gradle +++ b/instrumentation/aws-lambda-1.0/library/aws-lambda-1.0-library.gradle @@ -16,8 +16,8 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - compileOnly deps.opentelemetrySdk - compileOnly deps.opentelemetrySdkAutoconfigure + compileOnly "io.opentelemetry:opentelemetry-sdk" + compileOnly "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure" library "com.amazonaws:aws-lambda-java-core:1.0.0" // First version to includes support for SQSEvent, currently the most popular message queue used @@ -27,24 +27,24 @@ dependencies { library "com.amazonaws:aws-lambda-java-events:2.2.1" compileOnly( - 'com.fasterxml.jackson.core:jackson-databind:2.10.5.1', + 'com.fasterxml.jackson.core:jackson-databind', 'commons-io:commons-io:2.2') - compileOnly deps.slf4j + compileOnly "org.slf4j:slf4j-api" - implementation deps.opentelemetryExtAws + implementation "io.opentelemetry:opentelemetry-extension-aws" // 1.2.0 allows to get the function ARN testLibrary "com.amazonaws:aws-lambda-java-core:1.2.0" testImplementation( - 'com.fasterxml.jackson.core:jackson-databind:2.10.5.1', + 'com.fasterxml.jackson.core:jackson-databind', 'commons-io:commons-io:2.2') - testImplementation deps.opentelemetrySdkAutoconfigure - testImplementation deps.opentelemetryTraceProps - testImplementation deps.guava + testImplementation "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure" + testImplementation "io.opentelemetry:opentelemetry-extension-trace-propagators" + testImplementation "com.google.guava:guava" testImplementation project(':instrumentation:aws-lambda-1.0:testing') - testImplementation deps.mockito - testImplementation deps.assertj + testImplementation "org.mockito:mockito-core" + testImplementation "org.assertj:assertj-core" } diff --git a/instrumentation/aws-lambda-1.0/testing/aws-lambda-1.0-testing.gradle b/instrumentation/aws-lambda-1.0/testing/aws-lambda-1.0-testing.gradle index 36e7579864..0df3cbf38e 100644 --- a/instrumentation/aws-lambda-1.0/testing/aws-lambda-1.0-testing.gradle +++ b/instrumentation/aws-lambda-1.0/testing/aws-lambda-1.0-testing.gradle @@ -22,10 +22,10 @@ dependencies { api "com.amazonaws:aws-lambda-java-core:1.0.0" api "com.amazonaws:aws-lambda-java-events:2.2.1" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock - implementation deps.systemLambda + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" + implementation "com.github.stefanbirkner:system-lambda" } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent-unit-tests/aws-sdk-1.11-javaagent-unit-tests.gradle b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent-unit-tests/aws-sdk-1.11-javaagent-unit-tests.gradle index d9cc6614af..d2b0c4fa43 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent-unit-tests/aws-sdk-1.11-javaagent-unit-tests.gradle +++ b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent-unit-tests/aws-sdk-1.11-javaagent-unit-tests.gradle @@ -7,5 +7,5 @@ dependencies { testImplementation "com.amazonaws:aws-java-sdk-core:1.11.0" testImplementation "com.amazonaws:aws-java-sdk-sqs:1.11.106" - testImplementation deps.assertj + testImplementation "org.assertj:assertj-core" } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/aws-sdk-1.11-javaagent.gradle b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/aws-sdk-1.11-javaagent.gradle index 7672fae39c..5d4f6f9318 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/aws-sdk-1.11-javaagent.gradle +++ b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/aws-sdk-1.11-javaagent.gradle @@ -51,7 +51,7 @@ configurations { } dependencies { - compileOnly deps.opentelemetryExtAws + compileOnly "io.opentelemetry:opentelemetry-extension-aws" implementation project(':instrumentation:aws-sdk:aws-sdk-1.11:library') @@ -72,11 +72,10 @@ dependencies { testInstrumentation project(':instrumentation:apache-httpclient:apache-httpclient-4.0:javaagent') // needed for kinesis: - testImplementation "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${versions.jackson}" + testImplementation "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" // needed for SNS - testImplementation deps.testcontainers - testImplementation "org.testcontainers:localstack:${versions.testcontainers}" + testImplementation "org.testcontainers:localstack:${versions["org.testcontainers"]}" // needed by S3 testImplementation 'javax.xml.bind:jaxb-api:2.3.1' diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/aws-sdk-1.11-library.gradle b/instrumentation/aws-sdk/aws-sdk-1.11/library/aws-sdk-1.11-library.gradle index 67edd68344..d96df29dde 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/library/aws-sdk-1.11-library.gradle +++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/aws-sdk-1.11-library.gradle @@ -1,7 +1,7 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - implementation deps.opentelemetryExtAws + implementation "io.opentelemetry:opentelemetry-extension-aws" library "com.amazonaws:aws-java-sdk-core:1.11.0" diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/aws-sdk-1.11-testing.gradle b/instrumentation/aws-sdk/aws-sdk-1.11/testing/aws-sdk-1.11-testing.gradle index 6727f7e3f2..2ae6bd1139 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/aws-sdk-1.11-testing.gradle +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/aws-sdk-1.11-testing.gradle @@ -16,9 +16,9 @@ dependencies { // needed for SQS - using emq directly as localstack references emq v0.15.7 ie WITHOUT AWS trace header propagation implementation "org.elasticmq:elasticmq-rest-sqs_2.12:1.0.0" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/aws-sdk-2.2-library.gradle b/instrumentation/aws-sdk/aws-sdk-2.2/library/aws-sdk-2.2-library.gradle index b7d9ee55ac..1ad78daf00 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/aws-sdk-2.2-library.gradle +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/aws-sdk-2.2-library.gradle @@ -1,15 +1,15 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - implementation deps.opentelemetryExtAws + implementation "io.opentelemetry:opentelemetry-extension-aws" library "software.amazon.awssdk:aws-core:2.2.0" library "software.amazon.awssdk:aws-json-protocol:2.2.0" testImplementation project(':instrumentation:aws-sdk:aws-sdk-2.2:testing') - testImplementation deps.assertj - testImplementation deps.mockito + testImplementation "org.assertj:assertj-core" + testImplementation "org.mockito:mockito-core" } test { diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/aws-sdk-2.2-testing.gradle b/instrumentation/aws-sdk/aws-sdk-2.2/testing/aws-sdk-2.2-testing.gradle index b736afceb9..184118337a 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/aws-sdk-2.2-testing.gradle +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/aws-sdk-2.2-testing.gradle @@ -11,9 +11,9 @@ dependencies { api "software.amazon.awssdk:dynamodb:2.2.0" api "software.amazon.awssdk:kinesis:2.2.0" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/cassandra-3.0-javaagent.gradle b/instrumentation/cassandra/cassandra-3.0/javaagent/cassandra-3.0-javaagent.gradle index 9fc0e03288..5bf02d15d6 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/cassandra-3.0-javaagent.gradle +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/cassandra-3.0-javaagent.gradle @@ -29,11 +29,14 @@ muzzle { dependencies { library "com.datastax.cassandra:cassandra-driver-core:3.0.0" - compileOnly deps.autoValueAnnotations - annotationProcessor deps.autoValue + compileOnly "com.google.auto.value:auto-value-annotations" + annotationProcessor "com.google.auto.value:auto-value" testLibrary "com.datastax.cassandra:cassandra-driver-core:3.2.0" testInstrumentation project(':instrumentation:guava-10.0:javaagent') latestDepTestLibrary "com.datastax.cassandra:cassandra-driver-core:3.+" } + +// Requires old Guava. Can't use enforcedPlatform since predates BOM +configurations.testRuntimeClasspath.resolutionStrategy.force "com.google.guava:guava:19.0" diff --git a/instrumentation/couchbase/couchbase-2.0/javaagent-unit-tests/couchbase-2.0-javaagent-unittests.gradle b/instrumentation/couchbase/couchbase-2.0/javaagent-unit-tests/couchbase-2.0-javaagent-unittests.gradle index 31e3ad4e95..a23cdc0863 100644 --- a/instrumentation/couchbase/couchbase-2.0/javaagent-unit-tests/couchbase-2.0-javaagent-unittests.gradle +++ b/instrumentation/couchbase/couchbase-2.0/javaagent-unit-tests/couchbase-2.0-javaagent-unittests.gradle @@ -1,8 +1,8 @@ apply from: "$rootDir/gradle/java.gradle" dependencies { - testImplementation deps.groovy - testImplementation deps.spock + testImplementation "org.codehaus.groovy:groovy-all" + testImplementation "org.spockframework:spock-core" testImplementation project(':instrumentation-api') testImplementation project(':instrumentation:couchbase:couchbase-2.0:javaagent') diff --git a/instrumentation/couchbase/couchbase-3.1/javaagent/couchbase-3.1-javaagent.gradle b/instrumentation/couchbase/couchbase-3.1/javaagent/couchbase-3.1-javaagent.gradle index 043c193965..6b9b72724a 100644 --- a/instrumentation/couchbase/couchbase-3.1/javaagent/couchbase-3.1-javaagent.gradle +++ b/instrumentation/couchbase/couchbase-3.1/javaagent/couchbase-3.1-javaagent.gradle @@ -20,5 +20,5 @@ dependencies { testLibrary "com.couchbase.client:java-client:3.1.0" - testImplementation group: "org.testcontainers", name: "couchbase", version: versions.testcontainers + testImplementation group: "org.testcontainers", name: "couchbase", version: versions["org.testcontainers"] } \ No newline at end of file diff --git a/instrumentation/couchbase/couchbase-testing/couchbase-testing.gradle b/instrumentation/couchbase/couchbase-testing/couchbase-testing.gradle index 3075517866..9fdf10bd14 100644 --- a/instrumentation/couchbase/couchbase-testing/couchbase-testing.gradle +++ b/instrumentation/couchbase/couchbase-testing/couchbase-testing.gradle @@ -8,7 +8,7 @@ dependencies { api "com.couchbase.client:java-client:2.5.0" api "org.springframework.data:spring-data-couchbase:2.0.0.RELEASE" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } \ No newline at end of file diff --git a/instrumentation/dropwizard-testing/dropwizard-testing.gradle b/instrumentation/dropwizard-testing/dropwizard-testing.gradle index c48e3b2b30..b5e5200235 100644 --- a/instrumentation/dropwizard-testing/dropwizard-testing.gradle +++ b/instrumentation/dropwizard-testing/dropwizard-testing.gradle @@ -10,5 +10,8 @@ dependencies { // First version with DropwizardTestSupport: testImplementation "io.dropwizard:dropwizard-testing:0.8.0" testImplementation "javax.xml.bind:jaxb-api:2.2.3" - testImplementation "com.fasterxml.jackson.module:jackson-module-afterburner:2.9.10" + testImplementation "com.fasterxml.jackson.module:jackson-module-afterburner" } + +// Requires old Guava. Can't use enforcedPlatform since predates BOM +configurations.testRuntimeClasspath.resolutionStrategy.force "com.google.guava:guava:19.0" diff --git a/instrumentation/external-annotations/javaagent-unit-tests/external-annotations-javaagent-unittests.gradle b/instrumentation/external-annotations/javaagent-unit-tests/external-annotations-javaagent-unittests.gradle index c4035195e6..21a2cc0a66 100644 --- a/instrumentation/external-annotations/javaagent-unit-tests/external-annotations-javaagent-unittests.gradle +++ b/instrumentation/external-annotations/javaagent-unit-tests/external-annotations-javaagent-unittests.gradle @@ -4,6 +4,6 @@ dependencies { testImplementation project(':instrumentation-api') testImplementation project(':javaagent-extension-api') testImplementation project(':javaagent-tooling') - testImplementation deps.bytebuddy + testImplementation "net.bytebuddy:byte-buddy" testImplementation project(':instrumentation:external-annotations:javaagent') } diff --git a/instrumentation/finatra-2.9/javaagent/finatra-2.9-javaagent.gradle b/instrumentation/finatra-2.9/javaagent/finatra-2.9-javaagent.gradle index 38baf1b5c0..b8db031d66 100644 --- a/instrumentation/finatra-2.9/javaagent/finatra-2.9-javaagent.gradle +++ b/instrumentation/finatra-2.9/javaagent/finatra-2.9-javaagent.gradle @@ -30,8 +30,11 @@ dependencies { testInstrumentation project(':instrumentation:netty:netty-4.1:javaagent') + if (!testLatestDeps) { + // Requires old version of Jackson + testImplementation enforcedPlatform("com.fasterxml.jackson:jackson-bom:2.9.10") + } testImplementation "com.twitter:finatra-http_2.11:19.12.0" - testImplementation "com.fasterxml.jackson.core:jackson-databind:2.9.10" // Required for older versions of finatra on JDKs >= 11 testImplementation "com.sun.activation:javax.activation:1.2.0" @@ -41,3 +44,8 @@ dependencies { compileLatestDepTestGroovy { classpath += files(sourceSets.latestDepTest.scala.classesDirectory) } + +if (testLatestDeps) { + // Separate task + test.enabled = false +} \ No newline at end of file diff --git a/instrumentation/geode-1.4/javaagent/geode-1.4-javaagent.gradle b/instrumentation/geode-1.4/javaagent/geode-1.4-javaagent.gradle index 1ac687c478..f944b1eac0 100644 --- a/instrumentation/geode-1.4/javaagent/geode-1.4-javaagent.gradle +++ b/instrumentation/geode-1.4/javaagent/geode-1.4-javaagent.gradle @@ -11,6 +11,6 @@ muzzle { dependencies { library "org.apache.geode:geode-core:1.4.0" - compileOnly deps.autoValueAnnotations - annotationProcessor deps.autoValue + compileOnly "com.google.auto.value:auto-value-annotations" + annotationProcessor "com.google.auto.value:auto-value" } diff --git a/instrumentation/grizzly-2.0/javaagent/grizzly-2.0-javaagent.gradle b/instrumentation/grizzly-2.0/javaagent/grizzly-2.0-javaagent.gradle index a378c512e2..2a2b02f2a5 100644 --- a/instrumentation/grizzly-2.0/javaagent/grizzly-2.0-javaagent.gradle +++ b/instrumentation/grizzly-2.0/javaagent/grizzly-2.0-javaagent.gradle @@ -27,4 +27,8 @@ tasks.withType(Test).configureEach { tasks.withType(Test).configureEach { // https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/2640 jvmArgs "-Dio.opentelemetry.javaagent.shaded.io.opentelemetry.context.enableStrictContext=false" -} \ No newline at end of file +} + + +// Requires old Guava. Can't use enforcedPlatform since predates BOM +configurations.testRuntimeClasspath.resolutionStrategy.force "com.google.guava:guava:19.0" diff --git a/instrumentation/grpc-1.6/library/grpc-1.6-library.gradle b/instrumentation/grpc-1.6/library/grpc-1.6-library.gradle index 5c0ac21806..1104fc7c25 100644 --- a/instrumentation/grpc-1.6/library/grpc-1.6-library.gradle +++ b/instrumentation/grpc-1.6/library/grpc-1.6-library.gradle @@ -10,6 +10,6 @@ dependencies { testLibrary "io.grpc:grpc-services:${grpcVersion}" testLibrary "io.grpc:grpc-stub:${grpcVersion}" - testImplementation deps.assertj + testImplementation "org.assertj:assertj-core" testImplementation project(':instrumentation:grpc-1.6:testing') } diff --git a/instrumentation/grpc-1.6/testing/grpc-1.6-testing.gradle b/instrumentation/grpc-1.6/testing/grpc-1.6-testing.gradle index e1e4c9362c..43a1a54b63 100644 --- a/instrumentation/grpc-1.6/testing/grpc-1.6-testing.gradle +++ b/instrumentation/grpc-1.6/testing/grpc-1.6-testing.gradle @@ -30,9 +30,9 @@ dependencies { implementation "javax.annotation:javax.annotation-api:1.3.2" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/guava-10.0/javaagent/guava-10.0-javaagent.gradle b/instrumentation/guava-10.0/javaagent/guava-10.0-javaagent.gradle index 9a2e485019..4ca182534f 100644 --- a/instrumentation/guava-10.0/javaagent/guava-10.0-javaagent.gradle +++ b/instrumentation/guava-10.0/javaagent/guava-10.0-javaagent.gradle @@ -14,5 +14,5 @@ dependencies { implementation project(':instrumentation:guava-10.0:library') - testImplementation deps.opentelemetryExtAnnotations + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" } diff --git a/instrumentation/gwt-2.0/javaagent/gwt-2.0-javaagent.gradle b/instrumentation/gwt-2.0/javaagent/gwt-2.0-javaagent.gradle index 6e19eab8f1..315dee379b 100644 --- a/instrumentation/gwt-2.0/javaagent/gwt-2.0-javaagent.gradle +++ b/instrumentation/gwt-2.0/javaagent/gwt-2.0-javaagent.gradle @@ -36,7 +36,7 @@ dependencies { testInstrumentation project(':instrumentation:servlet:servlet-javax-common:javaagent') testInstrumentation project(':instrumentation:jetty:jetty-8.0:javaagent') - testImplementation "org.testcontainers:selenium:${versions.testcontainers}" + testImplementation "org.testcontainers:selenium:${versions["org.testcontainers"]}" testImplementation 'org.seleniumhq.selenium:selenium-java:3.141.59' testImplementation(project(':testing-common')) { diff --git a/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/jaxrs-client-2.0-common-javaagent.gradle b/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/jaxrs-client-2.0-common-javaagent.gradle index 4aeab2a5a7..9180b54d30 100644 --- a/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/jaxrs-client-2.0-common-javaagent.gradle +++ b/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/jaxrs-client-2.0-common-javaagent.gradle @@ -40,3 +40,6 @@ dependencies { latestDepTestLibrary "org.glassfish.jersey.core:jersey-client:2.+" latestDepTestLibrary "org.jboss.resteasy:resteasy-client:3.0.26.Final" } + +// Requires old Guava. Can't use enforcedPlatform since predates BOM +configurations.testRuntimeClasspath.resolutionStrategy.force "com.google.guava:guava:19.0" diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-arquillian-testing/jaxrs-2.0-arquillian-testing.gradle b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-arquillian-testing/jaxrs-2.0-arquillian-testing.gradle index 27f905fffe..4f217aded4 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-arquillian-testing/jaxrs-2.0-arquillian-testing.gradle +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-arquillian-testing/jaxrs-2.0-arquillian-testing.gradle @@ -12,7 +12,7 @@ dependencies { compileOnly "javax:javaee-api:7.0" api project(':testing-common') - implementation deps.opentelemetryApi + implementation "io.opentelemetry:opentelemetry-api" def arquillianVersion = '1.4.0.Final' implementation "org.jboss.arquillian.junit:arquillian-junit-container:${arquillianVersion}" diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/jaxrs-2.0-jersey-2.0-javaagent.gradle b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/jaxrs-2.0-jersey-2.0-javaagent.gradle index d1d7b78f47..dfb6a55b23 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/jaxrs-2.0-jersey-2.0-javaagent.gradle +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/jaxrs-2.0-jersey-2.0-javaagent.gradle @@ -33,7 +33,7 @@ dependencies { // First version with DropwizardTestSupport: testLibrary "io.dropwizard:dropwizard-testing:0.8.0" testImplementation "javax.xml.bind:jaxb-api:2.2.3" - testImplementation "com.fasterxml.jackson.module:jackson-module-afterburner:2.9.10" + testImplementation "com.fasterxml.jackson.module:jackson-module-afterburner" latestDepTestLibrary "org.glassfish.jersey.core:jersey-server:2.+" latestDepTestLibrary "org.glassfish.jersey.containers:jersey-container-servlet:2.+" diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-testing/jaxrs-2.0-testing.gradle b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-testing/jaxrs-2.0-testing.gradle index 53ed214680..603ec4a7a7 100644 --- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-testing/jaxrs-2.0-testing.gradle +++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-testing/jaxrs-2.0-testing.gradle @@ -4,11 +4,14 @@ dependencies { api project(':testing-common') api "javax.ws.rs:javax.ws.rs-api:2.0" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock - implementation deps.slf4j - implementation deps.testLogging + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" + implementation "org.slf4j:slf4j-api" + implementation "ch.qos.logback:logback-classic" + implementation "org.slf4j:log4j-over-slf4j" + implementation "org.slf4j:jcl-over-slf4j" + implementation "org.slf4j:jul-to-slf4j" implementation project(':javaagent-api') implementation project(':instrumentation-api') diff --git a/instrumentation/jaxws/jaxws-2.0-testing/jaxws-2.0-testing.gradle b/instrumentation/jaxws/jaxws-2.0-testing/jaxws-2.0-testing.gradle index 06e41bd246..bca68587fc 100644 --- a/instrumentation/jaxws/jaxws-2.0-testing/jaxws-2.0-testing.gradle +++ b/instrumentation/jaxws/jaxws-2.0-testing/jaxws-2.0-testing.gradle @@ -13,7 +13,10 @@ dependencies { api "javax.xml.ws:jaxws-api:2.0" api "javax.jws:javax.jws-api:1.1" - api deps.testLogging + api "ch.qos.logback:logback-classic" + api "org.slf4j:log4j-over-slf4j" + api "org.slf4j:jcl-over-slf4j" + api "org.slf4j:jul-to-slf4j" api "org.eclipse.jetty:jetty-webapp:9.4.35.v20201120" api "org.springframework.ws:spring-ws-core:3.0.0.RELEASE" diff --git a/instrumentation/jdbc/javaagent/jdbc-javaagent.gradle b/instrumentation/jdbc/javaagent/jdbc-javaagent.gradle index f505a68279..de1eb6f587 100644 --- a/instrumentation/jdbc/javaagent/jdbc-javaagent.gradle +++ b/instrumentation/jdbc/javaagent/jdbc-javaagent.gradle @@ -8,8 +8,8 @@ muzzle { dependencies { - compileOnly deps.autoValueAnnotations - annotationProcessor deps.autoValue + compileOnly "com.google.auto.value:auto-value-annotations" + annotationProcessor "com.google.auto.value:auto-value" // jdbc unit testing testLibrary "com.h2database:h2:1.3.169" diff --git a/instrumentation/jedis/jedis-1.4/javaagent/jedis-1.4-javaagent.gradle b/instrumentation/jedis/jedis-1.4/javaagent/jedis-1.4-javaagent.gradle index a462c24caa..0cb31f460d 100644 --- a/instrumentation/jedis/jedis-1.4/javaagent/jedis-1.4-javaagent.gradle +++ b/instrumentation/jedis/jedis-1.4/javaagent/jedis-1.4-javaagent.gradle @@ -12,8 +12,8 @@ muzzle { dependencies { library "redis.clients:jedis:1.4.0" - compileOnly deps.autoValueAnnotations - annotationProcessor deps.autoValue + compileOnly "com.google.auto.value:auto-value-annotations" + annotationProcessor "com.google.auto.value:auto-value" // Jedis 3.0 has API changes that prevent instrumentation from applying latestDepTestLibrary "redis.clients:jedis:2.+" diff --git a/instrumentation/jms-1.1/javaagent-unit-tests/jms-1.1-javaagent-unit-tests.gradle b/instrumentation/jms-1.1/javaagent-unit-tests/jms-1.1-javaagent-unit-tests.gradle index 0877ce2576..df3a0ec130 100644 --- a/instrumentation/jms-1.1/javaagent-unit-tests/jms-1.1-javaagent-unit-tests.gradle +++ b/instrumentation/jms-1.1/javaagent-unit-tests/jms-1.1-javaagent-unit-tests.gradle @@ -5,5 +5,6 @@ dependencies { testImplementation project(':instrumentation:jms-1.1:javaagent') testImplementation project(':instrumentation-api') - testImplementation deps.mockito + testImplementation "org.mockito:mockito-core" + testImplementation "org.mockito:mockito-junit-jupiter" } diff --git a/instrumentation/jms-1.1/javaagent/jms-1.1-javaagent.gradle b/instrumentation/jms-1.1/javaagent/jms-1.1-javaagent.gradle index 23b5fc2a29..e61f331e73 100644 --- a/instrumentation/jms-1.1/javaagent/jms-1.1-javaagent.gradle +++ b/instrumentation/jms-1.1/javaagent/jms-1.1-javaagent.gradle @@ -36,8 +36,8 @@ dependencies { compileOnly "javax.jms:jms-api:1.1-rev-1" testImplementation "javax.annotation:javax.annotation-api:1.3.2" - testImplementation("org.springframework.boot:spring-boot-starter-activemq:${versions.springboot}") - testImplementation("org.springframework.boot:spring-boot-starter-test:${versions.springboot}") { + testImplementation("org.springframework.boot:spring-boot-starter-activemq:${versions["org.springframework.boot"]}") + testImplementation("org.springframework.boot:spring-boot-starter-test:${versions["org.springframework.boot"]}") { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } diff --git a/instrumentation/jsf/jsf-testing-common/jsf-testing-common.gradle b/instrumentation/jsf/jsf-testing-common/jsf-testing-common.gradle index d7f320fd19..af3c6b295d 100644 --- a/instrumentation/jsf/jsf-testing-common/jsf-testing-common.gradle +++ b/instrumentation/jsf/jsf-testing-common/jsf-testing-common.gradle @@ -1,7 +1,10 @@ apply from: "$rootDir/gradle/java.gradle" dependencies { - api deps.testLogging + api "ch.qos.logback:logback-classic" + api "org.slf4j:log4j-over-slf4j" + api "org.slf4j:jcl-over-slf4j" + api "org.slf4j:jul-to-slf4j" compileOnly "jakarta.faces:jakarta.faces-api:2.3.2" compileOnly "jakarta.el:jakarta.el-api:3.0.3" diff --git a/instrumentation/kafka-clients-0.11/javaagent/kafka-clients-0.11-javaagent.gradle b/instrumentation/kafka-clients-0.11/javaagent/kafka-clients-0.11-javaagent.gradle index 5fa47c2cb0..d233462ea2 100644 --- a/instrumentation/kafka-clients-0.11/javaagent/kafka-clients-0.11-javaagent.gradle +++ b/instrumentation/kafka-clients-0.11/javaagent/kafka-clients-0.11-javaagent.gradle @@ -15,8 +15,8 @@ dependencies { testLibrary "org.springframework.kafka:spring-kafka:1.3.3.RELEASE" testLibrary "org.springframework.kafka:spring-kafka-test:1.3.3.RELEASE" testImplementation "javax.xml.bind:jaxb-api:2.2.3" - testLibrary "org.assertj:assertj-core:2.9.+" - testImplementation deps.mockito + testLibrary "org.assertj:assertj-core" + testImplementation "org.mockito:mockito-core" // Include latest version of kafka itself along with latest version of client libs. // This seems to help with jar compatibility hell. @@ -26,7 +26,6 @@ dependencies { latestDepTestLibrary "org.apache.kafka:kafka-clients:2.3.+" latestDepTestLibrary "org.springframework.kafka:spring-kafka:2.2.+" latestDepTestLibrary "org.springframework.kafka:spring-kafka-test:2.2.+" - latestDepTestLibrary "org.assertj:assertj-core:3.+" } tasks.withType(Test).configureEach { @@ -44,3 +43,8 @@ test.finalizedBy(tasks.register("testPropagationDisabled", Test) { } jvmArgs "-Dotel.instrumentation.kafka.client-propagation.enabled=false" }) + +// Requires old version of AssertJ for baseline +if (!testLatestDeps) { + configurations.testRuntimeClasspath.resolutionStrategy.force "org.assertj:assertj-core:2.9.1" +} diff --git a/instrumentation/kafka-streams-0.11/javaagent/kafka-streams-0.11-javaagent.gradle b/instrumentation/kafka-streams-0.11/javaagent/kafka-streams-0.11-javaagent.gradle index 30272192c1..14812176f6 100644 --- a/instrumentation/kafka-streams-0.11/javaagent/kafka-streams-0.11-javaagent.gradle +++ b/instrumentation/kafka-streams-0.11/javaagent/kafka-streams-0.11-javaagent.gradle @@ -18,8 +18,8 @@ dependencies { testLibrary "org.springframework.kafka:spring-kafka:1.3.3.RELEASE" testLibrary "org.springframework.kafka:spring-kafka-test:1.3.3.RELEASE" testImplementation "javax.xml.bind:jaxb-api:2.2.3" - testLibrary "org.assertj:assertj-core:2.9.+" - testImplementation deps.mockito + testImplementation "org.mockito:mockito-core" + testLibrary "org.assertj:assertj-core" // Include latest version of kafka itself along with latest version of client libs. @@ -31,10 +31,14 @@ dependencies { latestDepTestLibrary "org.apache.kafka:kafka-streams:2.3.+" latestDepTestLibrary "org.springframework.kafka:spring-kafka:2.2.+" latestDepTestLibrary "org.springframework.kafka:spring-kafka-test:2.2.+" - latestDepTestLibrary "org.assertj:assertj-core:3.+" } tasks.withType(Test).configureEach { // TODO run tests both with and without experimental span attributes jvmArgs "-Dotel.instrumentation.kafka.experimental-span-attributes=true" } + +// Requires old version of AssertJ for baseline +if (!testLatestDeps) { + configurations.testRuntimeClasspath.resolutionStrategy.force "org.assertj:assertj-core:2.9.1" +} \ No newline at end of file diff --git a/instrumentation/kotlinx-coroutines/javaagent/kotlinx-coroutines-javaagent.gradle b/instrumentation/kotlinx-coroutines/javaagent/kotlinx-coroutines-javaagent.gradle index 11f58ab86a..000a0ff765 100644 --- a/instrumentation/kotlinx-coroutines/javaagent/kotlinx-coroutines-javaagent.gradle +++ b/instrumentation/kotlinx-coroutines/javaagent/kotlinx-coroutines-javaagent.gradle @@ -18,9 +18,9 @@ muzzle { } } dependencies { - compileOnly deps.opentelemetryKotlin + compileOnly "io.opentelemetry:opentelemetry-extension-kotlin" - testImplementation deps.opentelemetryKotlin + testImplementation "io.opentelemetry:opentelemetry-extension-kotlin" testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" // Use first version with flow support since we have tests for it. testLibrary "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0" diff --git a/instrumentation/lettuce/lettuce-5.1/testing/lettuce-5.1-testing.gradle b/instrumentation/lettuce/lettuce-5.1/testing/lettuce-5.1-testing.gradle index bf334a8268..78db061f5f 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/lettuce-5.1-testing.gradle +++ b/instrumentation/lettuce/lettuce-5.1/testing/lettuce-5.1-testing.gradle @@ -5,10 +5,10 @@ dependencies { api "io.lettuce:lettuce-core:5.1.0.RELEASE" - implementation deps.testcontainers - implementation deps.guava + implementation "org.testcontainers:testcontainers" + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/log4j/log4j-2-testing/log4j-2-testing.gradle b/instrumentation/log4j/log4j-2-testing/log4j-2-testing.gradle index 128481ef7e..5e779d15f7 100644 --- a/instrumentation/log4j/log4j-2-testing/log4j-2-testing.gradle +++ b/instrumentation/log4j/log4j-2-testing/log4j-2-testing.gradle @@ -5,11 +5,11 @@ dependencies { api "org.apache.logging.log4j:log4j-core:2.7" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" annotationProcessor "org.apache.logging.log4j:log4j-core:2.7" } diff --git a/instrumentation/logback/logback-1.0/testing/logback-1.0-testing.gradle b/instrumentation/logback/logback-1.0/testing/logback-1.0-testing.gradle index 838078e949..1c8d7e4742 100644 --- a/instrumentation/logback/logback-1.0/testing/logback-1.0-testing.gradle +++ b/instrumentation/logback/logback-1.0/testing/logback-1.0-testing.gradle @@ -23,9 +23,9 @@ dependencies { api "ch.qos.logback:logback-classic:1.0.0" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/mongo/mongo-3.1/testing/mongo-3.1-testing.gradle b/instrumentation/mongo/mongo-3.1/testing/mongo-3.1-testing.gradle index a2f910f228..f3a4edb293 100644 --- a/instrumentation/mongo/mongo-3.1/testing/mongo-3.1-testing.gradle +++ b/instrumentation/mongo/mongo-3.1/testing/mongo-3.1-testing.gradle @@ -5,7 +5,7 @@ dependencies { compileOnly "org.mongodb:mongo-java-driver:3.1.0" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/mongo/mongo-testing/mongo-testing.gradle b/instrumentation/mongo/mongo-testing/mongo-testing.gradle index 3f18ff389d..3361b40fb9 100644 --- a/instrumentation/mongo/mongo-testing/mongo-testing.gradle +++ b/instrumentation/mongo/mongo-testing/mongo-testing.gradle @@ -2,9 +2,9 @@ apply from: "$rootDir/gradle/java.gradle" dependencies { api project(':testing-common') - api "org.testcontainers:mongodb:${versions.testcontainers}" + api "org.testcontainers:mongodb:${versions["org.testcontainers"]}" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/okhttp/okhttp-3.0/testing/okhttp-3.0-testing.gradle b/instrumentation/okhttp/okhttp-3.0/testing/okhttp-3.0-testing.gradle index 5574a9a6e7..563ed6e59e 100644 --- a/instrumentation/okhttp/okhttp-3.0/testing/okhttp-3.0-testing.gradle +++ b/instrumentation/okhttp/okhttp-3.0/testing/okhttp-3.0-testing.gradle @@ -7,9 +7,9 @@ dependencies { api "com.squareup.okhttp3:okhttp:3.0.0" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/opentelemetry-annotations-1.0/javaagent/opentelemetry-annotations-1.0-javaagent.gradle b/instrumentation/opentelemetry-annotations-1.0/javaagent/opentelemetry-annotations-1.0-javaagent.gradle index 726974214f..e084a537da 100644 --- a/instrumentation/opentelemetry-annotations-1.0/javaagent/opentelemetry-annotations-1.0-javaagent.gradle +++ b/instrumentation/opentelemetry-annotations-1.0/javaagent/opentelemetry-annotations-1.0-javaagent.gradle @@ -9,8 +9,8 @@ dependencies { // see the comment in opentelemetry-api-1.0.gradle for more details compileOnly project(path: ':opentelemetry-ext-annotations-shaded-for-instrumenting', configuration: 'shadow') - testImplementation deps.opentelemetryExtAnnotations - testImplementation "net.bytebuddy:byte-buddy:${versions.bytebuddy}" + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" + testImplementation "net.bytebuddy:byte-buddy:${versions["net.bytebuddy"]}" } test { diff --git a/instrumentation/opentelemetry-api-1.0/javaagent/opentelemetry-api-1.0-javaagent.gradle b/instrumentation/opentelemetry-api-1.0/javaagent/opentelemetry-api-1.0-javaagent.gradle index 0aca024438..f0f6e4f7bf 100644 --- a/instrumentation/opentelemetry-api-1.0/javaagent/opentelemetry-api-1.0-javaagent.gradle +++ b/instrumentation/opentelemetry-api-1.0/javaagent/opentelemetry-api-1.0-javaagent.gradle @@ -23,9 +23,9 @@ dependencies { // using OpenTelemetry SDK to make sure that instrumentation doesn't cause // OpenTelemetrySdk.getTracerProvider() to throw ClassCastException - testImplementation deps.opentelemetrySdk + testImplementation "io.opentelemetry:opentelemetry-sdk" // @WithSpan annotation is used to generate spans in ContextBridgeTest - testImplementation deps.opentelemetryExtAnnotations + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" testInstrumentation project(':instrumentation:opentelemetry-annotations-1.0:javaagent') } diff --git a/instrumentation/opentelemetry-api-metrics-1.0/javaagent/opentelemetry-api-metrics-1.0-javaagent.gradle b/instrumentation/opentelemetry-api-metrics-1.0/javaagent/opentelemetry-api-metrics-1.0-javaagent.gradle index fb11f919e5..0f1c94ef65 100644 --- a/instrumentation/opentelemetry-api-metrics-1.0/javaagent/opentelemetry-api-metrics-1.0-javaagent.gradle +++ b/instrumentation/opentelemetry-api-metrics-1.0/javaagent/opentelemetry-api-metrics-1.0-javaagent.gradle @@ -20,8 +20,8 @@ dependencies { // and in the code "io.opentelemetry.*" refers to the (shaded) OpenTelemetry API that is used by // the agent (as those references will later be shaded) compileOnly project(path: ':opentelemetry-api-shaded-for-instrumenting', configuration: 'shadow') - compileOnly deps.opentelemetryApiMetrics + compileOnly "io.opentelemetry:opentelemetry-api-metrics" - testImplementation deps.guava - testImplementation deps.opentelemetrySdkMetrics + testImplementation "com.google.guava:guava" + testImplementation "io.opentelemetry:opentelemetry-sdk-metrics" } diff --git a/instrumentation/oshi/javaagent/oshi-javaagent.gradle b/instrumentation/oshi/javaagent/oshi-javaagent.gradle index f7931109e3..ca7c8b6bb0 100644 --- a/instrumentation/oshi/javaagent/oshi-javaagent.gradle +++ b/instrumentation/oshi/javaagent/oshi-javaagent.gradle @@ -13,5 +13,5 @@ dependencies { library "com.github.oshi:oshi-core:5.3.1" - testImplementation deps.guava + testImplementation "com.google.guava:guava" } diff --git a/instrumentation/oshi/library/oshi-library.gradle b/instrumentation/oshi/library/oshi-library.gradle index a81df89d41..58dd22e2b7 100644 --- a/instrumentation/oshi/library/oshi-library.gradle +++ b/instrumentation/oshi/library/oshi-library.gradle @@ -2,11 +2,11 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - implementation deps.opentelemetryApiMetrics + implementation "io.opentelemetry:opentelemetry-api-metrics" library "com.github.oshi:oshi-core:5.3.1" - testImplementation deps.opentelemetrySdkMetrics + testImplementation "io.opentelemetry:opentelemetry-sdk-metrics" testImplementation project(':testing-common') - testImplementation deps.assertj + testImplementation "org.assertj:assertj-core" } \ No newline at end of file diff --git a/instrumentation/play-ws/play-ws-testing/play-ws-testing.gradle b/instrumentation/play-ws/play-ws-testing/play-ws-testing.gradle index fabb3566d0..bd14136a83 100644 --- a/instrumentation/play-ws/play-ws-testing/play-ws-testing.gradle +++ b/instrumentation/play-ws/play-ws-testing/play-ws-testing.gradle @@ -6,7 +6,7 @@ dependencies { api project(':testing-common') api group: 'com.typesafe.play', name: "play-ahc-ws-standalone_$scalaVersion", version: '1.0.2' - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } \ No newline at end of file diff --git a/instrumentation/rabbitmq-2.7/javaagent/rabbitmq-2.7-javaagent.gradle b/instrumentation/rabbitmq-2.7/javaagent/rabbitmq-2.7-javaagent.gradle index 3835028fec..3e292b95c6 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/rabbitmq-2.7-javaagent.gradle +++ b/instrumentation/rabbitmq-2.7/javaagent/rabbitmq-2.7-javaagent.gradle @@ -15,8 +15,6 @@ dependencies { testLibrary ("org.springframework.amqp:spring-rabbit:1.1.0.RELEASE") { exclude group: 'com.rabbitmq', module: 'amqp-client' } - - testImplementation deps.testcontainers } tasks.withType(Test).configureEach { diff --git a/instrumentation/ratpack-1.4/javaagent/ratpack-1.4-javaagent.gradle b/instrumentation/ratpack-1.4/javaagent/ratpack-1.4-javaagent.gradle index 5e5514149b..75b3ef7b5f 100644 --- a/instrumentation/ratpack-1.4/javaagent/ratpack-1.4-javaagent.gradle +++ b/instrumentation/ratpack-1.4/javaagent/ratpack-1.4-javaagent.gradle @@ -24,3 +24,6 @@ tasks.withType(Test).configureEach { // https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/2648 jvmArgs "-Dio.opentelemetry.javaagent.shaded.io.opentelemetry.context.enableStrictContext=false" } + +// Requires old Guava. Can't use enforcedPlatform since predates BOM +configurations.testRuntimeClasspath.resolutionStrategy.force "com.google.guava:guava:19.0" diff --git a/instrumentation/reactor-3.1/javaagent/reactor-3.1-javaagent.gradle b/instrumentation/reactor-3.1/javaagent/reactor-3.1-javaagent.gradle index dbc36db27a..f4f55e428c 100644 --- a/instrumentation/reactor-3.1/javaagent/reactor-3.1-javaagent.gradle +++ b/instrumentation/reactor-3.1/javaagent/reactor-3.1-javaagent.gradle @@ -16,7 +16,7 @@ dependencies { testLibrary "io.projectreactor:reactor-test:3.1.0.RELEASE" testImplementation project(':instrumentation:reactor-3.1:testing') - testImplementation deps.opentelemetryExtAnnotations + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" latestDepTestLibrary "io.projectreactor:reactor-core:3.+" latestDepTestLibrary "io.projectreactor:reactor-test:3.+" diff --git a/instrumentation/reactor-3.1/testing/reactor-3.1-testing.gradle b/instrumentation/reactor-3.1/testing/reactor-3.1-testing.gradle index 273891498e..530ea0a09b 100644 --- a/instrumentation/reactor-3.1/testing/reactor-3.1-testing.gradle +++ b/instrumentation/reactor-3.1/testing/reactor-3.1-testing.gradle @@ -5,7 +5,7 @@ dependencies { api "io.projectreactor:reactor-core:3.1.0.RELEASE" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } \ No newline at end of file diff --git a/instrumentation/redisson-3.0/javaagent/redisson-3.0-javaagent.gradle b/instrumentation/redisson-3.0/javaagent/redisson-3.0-javaagent.gradle index da59198e38..6ea2df305c 100644 --- a/instrumentation/redisson-3.0/javaagent/redisson-3.0-javaagent.gradle +++ b/instrumentation/redisson-3.0/javaagent/redisson-3.0-javaagent.gradle @@ -11,8 +11,8 @@ muzzle { dependencies { library "org.redisson:redisson:3.0.0" - compileOnly deps.autoValueAnnotations - annotationProcessor deps.autoValue + compileOnly "com.google.auto.value:auto-value-annotations" + annotationProcessor "com.google.auto.value:auto-value" } test { diff --git a/instrumentation/rocketmq-client-4.8/testing/rocketmq-client-4.8-testing.gradle b/instrumentation/rocketmq-client-4.8/testing/rocketmq-client-4.8-testing.gradle index e267e5b125..bf19aef70d 100644 --- a/instrumentation/rocketmq-client-4.8/testing/rocketmq-client-4.8-testing.gradle +++ b/instrumentation/rocketmq-client-4.8/testing/rocketmq-client-4.8-testing.gradle @@ -4,8 +4,8 @@ dependencies { api project(':testing-common') api "org.apache.rocketmq:rocketmq-test:4.8.0" - implementation deps.guava - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "com.google.guava:guava" + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/runtime-metrics/library/runtime-metrics-library.gradle b/instrumentation/runtime-metrics/library/runtime-metrics-library.gradle index a7f4c1f611..d6ed5b504f 100644 --- a/instrumentation/runtime-metrics/library/runtime-metrics-library.gradle +++ b/instrumentation/runtime-metrics/library/runtime-metrics-library.gradle @@ -1,9 +1,9 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - implementation deps.opentelemetryApiMetrics + implementation "io.opentelemetry:opentelemetry-api-metrics" - testImplementation deps.opentelemetrySdkMetrics + testImplementation "io.opentelemetry:opentelemetry-sdk-metrics" testImplementation project(':testing-common') - testImplementation deps.mockito + testImplementation "org.mockito:mockito-core" } \ No newline at end of file diff --git a/instrumentation/rxjava/rxjava-2.0/javaagent/rxjava-2.0-javaagent.gradle b/instrumentation/rxjava/rxjava-2.0/javaagent/rxjava-2.0-javaagent.gradle index dca67855b8..ec79e2452b 100644 --- a/instrumentation/rxjava/rxjava-2.0/javaagent/rxjava-2.0-javaagent.gradle +++ b/instrumentation/rxjava/rxjava-2.0/javaagent/rxjava-2.0-javaagent.gradle @@ -14,6 +14,6 @@ dependencies { implementation project(":instrumentation:rxjava:rxjava-2.0:library") - testImplementation deps.opentelemetryExtAnnotations + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" testImplementation project(':instrumentation:rxjava:rxjava-2.0:testing') } diff --git a/instrumentation/rxjava/rxjava-2.0/testing/rxjava-2.0-testing.gradle b/instrumentation/rxjava/rxjava-2.0/testing/rxjava-2.0-testing.gradle index eb79ed708a..1e4f566478 100644 --- a/instrumentation/rxjava/rxjava-2.0/testing/rxjava-2.0-testing.gradle +++ b/instrumentation/rxjava/rxjava-2.0/testing/rxjava-2.0-testing.gradle @@ -5,9 +5,9 @@ dependencies { api "io.reactivex.rxjava2:rxjava:2.1.3" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/rxjava/rxjava-3.0/javaagent/rxjava-3.0-javaagent.gradle b/instrumentation/rxjava/rxjava-3.0/javaagent/rxjava-3.0-javaagent.gradle index 2f5d25e13f..3c681eb80c 100644 --- a/instrumentation/rxjava/rxjava-3.0/javaagent/rxjava-3.0-javaagent.gradle +++ b/instrumentation/rxjava/rxjava-3.0/javaagent/rxjava-3.0-javaagent.gradle @@ -14,6 +14,6 @@ dependencies { implementation project(":instrumentation:rxjava:rxjava-3.0:library") - testImplementation deps.opentelemetryExtAnnotations + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" testImplementation project(':instrumentation:rxjava:rxjava-3.0:testing') } diff --git a/instrumentation/rxjava/rxjava-3.0/testing/rxjava-3.0-testing.gradle b/instrumentation/rxjava/rxjava-3.0/testing/rxjava-3.0-testing.gradle index 959101cf64..ef071e0d3f 100644 --- a/instrumentation/rxjava/rxjava-3.0/testing/rxjava-3.0-testing.gradle +++ b/instrumentation/rxjava/rxjava-3.0/testing/rxjava-3.0-testing.gradle @@ -5,9 +5,9 @@ dependencies { api "io.reactivex.rxjava3:rxjava:3.0.12" - implementation deps.guava + implementation "com.google.guava:guava" - implementation deps.groovy - implementation deps.opentelemetryApi - implementation deps.spock + implementation "org.codehaus.groovy:groovy-all" + implementation "io.opentelemetry:opentelemetry-api" + implementation "org.spockframework:spock-core" } diff --git a/instrumentation/scala-executors/javaagent/scala-executors-javaagent.gradle b/instrumentation/scala-executors/javaagent/scala-executors-javaagent.gradle index bf18918827..15c6259098 100644 --- a/instrumentation/scala-executors/javaagent/scala-executors-javaagent.gradle +++ b/instrumentation/scala-executors/javaagent/scala-executors-javaagent.gradle @@ -33,7 +33,7 @@ dependencies { testInstrumentation project(':instrumentation:jdbc:javaagent') slickTestImplementation project(':testing-common') - slickTestImplementation deps.scala + slickTestImplementation "org.scala-lang:scala-library" slickTestImplementation "com.typesafe.slick:slick_2.11:3.2.0" slickTestImplementation "com.h2database:h2:1.4.197" } diff --git a/instrumentation/servlet/servlet-2.2/library/servlet-2.2-library.gradle b/instrumentation/servlet/servlet-2.2/library/servlet-2.2-library.gradle index 51ffdf9fa9..b6ef11765c 100644 --- a/instrumentation/servlet/servlet-2.2/library/servlet-2.2-library.gradle +++ b/instrumentation/servlet/servlet-2.2/library/servlet-2.2-library.gradle @@ -1,7 +1,7 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - implementation deps.slf4j + implementation "org.slf4j:slf4j-api" api(project(':instrumentation:servlet:servlet-javax-common:library')) diff --git a/instrumentation/servlet/servlet-5.0/library/servlet-5.0-library.gradle b/instrumentation/servlet/servlet-5.0/library/servlet-5.0-library.gradle index 9a94ae8497..28e2309bd0 100644 --- a/instrumentation/servlet/servlet-5.0/library/servlet-5.0-library.gradle +++ b/instrumentation/servlet/servlet-5.0/library/servlet-5.0-library.gradle @@ -7,5 +7,5 @@ dependencies { testImplementation "jakarta.servlet:jakarta.servlet-api:5.0.0" testImplementation "org.mockito:mockito-core:3.6.0" - testImplementation deps.assertj + testImplementation "org.assertj:assertj-core" } diff --git a/instrumentation/servlet/servlet-common/library/servlet-common-library.gradle b/instrumentation/servlet/servlet-common/library/servlet-common-library.gradle index 3c47259560..9f8de1a518 100644 --- a/instrumentation/servlet/servlet-common/library/servlet-common-library.gradle +++ b/instrumentation/servlet/servlet-common/library/servlet-common-library.gradle @@ -1,5 +1,5 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - implementation deps.slf4j + implementation "org.slf4j:slf4j-api" } diff --git a/instrumentation/servlet/servlet-javax-common/library/servlet-javax-common-library.gradle b/instrumentation/servlet/servlet-javax-common/library/servlet-javax-common-library.gradle index c51049ac38..b0cf5094ea 100644 --- a/instrumentation/servlet/servlet-javax-common/library/servlet-javax-common-library.gradle +++ b/instrumentation/servlet/servlet-javax-common/library/servlet-javax-common-library.gradle @@ -1,13 +1,13 @@ apply from: "$rootDir/gradle/instrumentation-library.gradle" dependencies { - implementation deps.slf4j + implementation "org.slf4j:slf4j-api" api(project(':instrumentation:servlet:servlet-common:library')) compileOnly "javax.servlet:servlet-api:2.2" testImplementation "javax.servlet:servlet-api:2.2" - testImplementation deps.mockito - testImplementation deps.assertj + testImplementation "org.mockito:mockito-core" + testImplementation "org.assertj:assertj-core" } diff --git a/instrumentation/spring/spring-boot-autoconfigure/spring-boot-autoconfigure.gradle b/instrumentation/spring/spring-boot-autoconfigure/spring-boot-autoconfigure.gradle index 61b0e27707..ff30bb8b5b 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/spring-boot-autoconfigure.gradle +++ b/instrumentation/spring/spring-boot-autoconfigure/spring-boot-autoconfigure.gradle @@ -6,41 +6,41 @@ apply from: "$rootDir/gradle/publish.gradle" sourceCompatibility = '8' dependencies { - implementation "org.springframework.boot:spring-boot-autoconfigure:${versions.springboot}" - annotationProcessor "org.springframework.boot:spring-boot-autoconfigure-processor:${versions.springboot}" + implementation "org.springframework.boot:spring-boot-autoconfigure:${versions["org.springframework.boot"]}" + annotationProcessor "org.springframework.boot:spring-boot-autoconfigure-processor:${versions["org.springframework.boot"]}" implementation "javax.validation:validation-api:2.0.1.Final" implementation project(':instrumentation:spring:spring-web-3.1:library') implementation project(':instrumentation:spring:spring-webmvc-3.1:library') implementation project(':instrumentation:spring:spring-webflux-5.0:library') - compileOnly "org.springframework.boot:spring-boot-starter-aop:${versions.springboot}" - compileOnly "org.springframework.boot:spring-boot-starter-web:${versions.springboot}" - compileOnly "org.springframework.boot:spring-boot-starter-webflux:${versions.springboot}" + compileOnly "org.springframework.boot:spring-boot-starter-aop:${versions["org.springframework.boot"]}" + compileOnly "org.springframework.boot:spring-boot-starter-web:${versions["org.springframework.boot"]}" + compileOnly "org.springframework.boot:spring-boot-starter-webflux:${versions["org.springframework.boot"]}" - compileOnly deps.opentelemetryExtAnnotations - compileOnly deps.opentelemetryLogging - compileOnly deps.opentelemetryJaeger - compileOnly deps.opentelemetryOtlp - compileOnly deps.opentelemetryZipkin + compileOnly "io.opentelemetry:opentelemetry-extension-annotations" + compileOnly "io.opentelemetry:opentelemetry-exporter-logging" + compileOnly "io.opentelemetry:opentelemetry-exporter-jaeger" + compileOnly "io.opentelemetry:opentelemetry-exporter-otlp" + compileOnly "io.opentelemetry:opentelemetry-exporter-zipkin" compileOnly "io.grpc:grpc-api:1.30.2" - testImplementation "org.springframework.boot:spring-boot-starter-aop:${versions.springboot}" - testImplementation "org.springframework.boot:spring-boot-starter-webflux:${versions.springboot}" - testImplementation "org.springframework.boot:spring-boot-starter-web:${versions.springboot}" - testImplementation("org.springframework.boot:spring-boot-starter-test:${versions.springboot}") { + testImplementation "org.springframework.boot:spring-boot-starter-aop:${versions["org.springframework.boot"]}" + testImplementation "org.springframework.boot:spring-boot-starter-webflux:${versions["org.springframework.boot"]}" + testImplementation "org.springframework.boot:spring-boot-starter-web:${versions["org.springframework.boot"]}" + testImplementation("org.springframework.boot:spring-boot-starter-test:${versions["org.springframework.boot"]}") { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } - testImplementation deps.assertj + testImplementation "org.assertj:assertj-core" testImplementation project(':testing-common') - testImplementation deps.opentelemetrySdk - testImplementation deps.opentelemetrySdkTesting - testImplementation deps.opentelemetryExtAnnotations - testImplementation deps.opentelemetryLogging - testImplementation deps.opentelemetryJaeger - testImplementation deps.opentelemetryOtlp - testImplementation deps.opentelemetryZipkin + testImplementation "io.opentelemetry:opentelemetry-sdk" + testImplementation "io.opentelemetry:opentelemetry-sdk-testing" + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" + testImplementation "io.opentelemetry:opentelemetry-exporter-logging" + testImplementation "io.opentelemetry:opentelemetry-exporter-jaeger" + testImplementation "io.opentelemetry:opentelemetry-exporter-otlp" + testImplementation "io.opentelemetry:opentelemetry-exporter-zipkin" testImplementation "io.grpc:grpc-api:1.30.2" testImplementation "io.grpc:grpc-netty-shaded:1.30.2" } diff --git a/instrumentation/spring/spring-data-1.8/javaagent/spring-data-1.8-javaagent.gradle b/instrumentation/spring/spring-data-1.8/javaagent/spring-data-1.8-javaagent.gradle index f643c5cea2..a0a83b0ea8 100644 --- a/instrumentation/spring/spring-data-1.8/javaagent/spring-data-1.8-javaagent.gradle +++ b/instrumentation/spring/spring-data-1.8/javaagent/spring-data-1.8-javaagent.gradle @@ -25,7 +25,7 @@ dependencies { library "org.springframework.data:spring-data-commons:1.8.0.RELEASE" compileOnly("org.springframework:spring-aop:1.2") - testImplementation "org.spockframework:spock-spring:$versions.spock" + testImplementation "org.spockframework:spock-spring:${versions["org.spockframework"]}" testLibrary "org.springframework:spring-test:3.0.0.RELEASE" testLibrary "org.springframework.data:spring-data-jpa:1.8.0.RELEASE" diff --git a/instrumentation/spring/spring-web-3.1/library/spring-web-3.1-library.gradle b/instrumentation/spring/spring-web-3.1/library/spring-web-3.1-library.gradle index 997437bad1..dd22f8411c 100644 --- a/instrumentation/spring/spring-web-3.1/library/spring-web-3.1-library.gradle +++ b/instrumentation/spring/spring-web-3.1/library/spring-web-3.1-library.gradle @@ -6,7 +6,8 @@ dependencies { testImplementation "org.springframework:spring-web:3.1.0.RELEASE" testImplementation project(':testing-common') - testImplementation deps.assertj - testImplementation deps.mockito - testImplementation deps.opentelemetrySdkTesting + testImplementation "org.assertj:assertj-core" + testImplementation "org.mockito:mockito-core" + testImplementation "org.mockito:mockito-junit-jupiter" + testImplementation "io.opentelemetry:opentelemetry-sdk-testing" } diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/spring-webflux-5.0-javaagent.gradle b/instrumentation/spring/spring-webflux-5.0/javaagent/spring-webflux-5.0-javaagent.gradle index e380609e99..d3a5abea00 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/spring-webflux-5.0-javaagent.gradle +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/spring-webflux-5.0-javaagent.gradle @@ -45,6 +45,11 @@ dependencies { testInstrumentation project(':instrumentation:reactor-3.1:javaagent') testInstrumentation project(':instrumentation:reactor-netty:reactor-netty-1.0:javaagent') + // Compile with both old and new netty packages since our test references both for old and + // latest dep tests. + testCompileOnly "io.projectreactor.ipc:reactor-netty:0.7.0.RELEASE" + testCompileOnly "io.projectreactor.netty:reactor-netty-http:1.0.7" + testLibrary "org.springframework.boot:spring-boot-starter-webflux:2.0.0.RELEASE" testLibrary "org.springframework.boot:spring-boot-starter-test:2.0.0.RELEASE" testLibrary "org.springframework.boot:spring-boot-starter-reactor-netty:2.0.0.RELEASE" diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/client/SpringWebFluxSingleConnection.groovy b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/client/SpringWebFluxSingleConnection.groovy index 09babd6355..9fc91c0aef 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/client/SpringWebFluxSingleConnection.groovy +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/client/SpringWebFluxSingleConnection.groovy @@ -13,6 +13,8 @@ import org.springframework.http.client.reactive.ReactorClientHttpConnector import org.springframework.web.reactive.function.client.WebClient import reactor.ipc.netty.http.client.HttpClientOptions import reactor.ipc.netty.resources.PoolResources +import reactor.netty.http.client.HttpClient +import reactor.netty.resources.LoopResources import java.util.concurrent.ExecutionException import java.util.concurrent.TimeoutException @@ -29,7 +31,8 @@ class SpringWebFluxSingleConnection implements SingleConnection { clientOptions.poolResources(PoolResources.fixed("pool", 1, HttpClientTest.CONNECT_TIMEOUT_MS)) }) } else { - def httpClient = reactor.netty.http.client.HttpClient.create(reactor.netty.resources.create("pool", 1)).tcpConfiguration({ tcpClient -> + def httpClient = HttpClient.create().tcpConfiguration({ tcpClient -> + tcpClient.runOn(LoopResources.create("pool", 1, true)) tcpClient.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, HttpClientTest.CONNECT_TIMEOUT_MS) }) connector = new ReactorClientHttpConnector(httpClient) diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/ControllerSpringWebFluxServerTest.groovy b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/ControllerSpringWebFluxServerTest.groovy index 01a5be8373..1369beaf34 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/ControllerSpringWebFluxServerTest.groovy +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/ControllerSpringWebFluxServerTest.groovy @@ -30,7 +30,11 @@ abstract class ControllerSpringWebFluxServerTest extends SpringWebFluxServerTest errorEvent(RuntimeException, EXCEPTION.body) } else if (endpoint == NOT_FOUND) { status StatusCode.ERROR - errorEvent(ResponseStatusException, "Response status 404") + if (Boolean.getBoolean("testLatestDeps")) { + errorEvent(ResponseStatusException, "404 NOT_FOUND") + } else { + errorEvent(ResponseStatusException, "Response status 404") + } } childOf((SpanData) parent) } diff --git a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/HandlerSpringWebFluxServerTest.groovy b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/HandlerSpringWebFluxServerTest.groovy index dbdc8abae2..cb702c8eba 100644 --- a/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/HandlerSpringWebFluxServerTest.groovy +++ b/instrumentation/spring/spring-webflux-5.0/javaagent/src/test/groovy/server/base/HandlerSpringWebFluxServerTest.groovy @@ -30,7 +30,11 @@ abstract class HandlerSpringWebFluxServerTest extends SpringWebFluxServerTest { errorEvent(RuntimeException, EXCEPTION.body) } else if (endpoint == NOT_FOUND) { status StatusCode.ERROR - errorEvent(ResponseStatusException, "Response status 404") + if (Boolean.getBoolean("testLatestDeps")) { + errorEvent(ResponseStatusException, "404 NOT_FOUND") + } else { + errorEvent(ResponseStatusException, "Response status 404") + } } childOf((SpanData) parent) } diff --git a/instrumentation/spring/spring-webmvc-3.1/javaagent/spring-webmvc-3.1-javaagent.gradle b/instrumentation/spring/spring-webmvc-3.1/javaagent/spring-webmvc-3.1-javaagent.gradle index 0c2d235692..2ecf26bd8c 100644 --- a/instrumentation/spring/spring-webmvc-3.1/javaagent/spring-webmvc-3.1-javaagent.gradle +++ b/instrumentation/spring/spring-webmvc-3.1/javaagent/spring-webmvc-3.1-javaagent.gradle @@ -44,7 +44,7 @@ dependencies { testImplementation "javax.validation:validation-api:1.1.0.Final" testImplementation "org.hibernate:hibernate-validator:5.4.2.Final" - testImplementation "org.spockframework:spock-spring:$versions.spock" + testImplementation "org.spockframework:spock-spring:${versions["org.spockframework"]}" testLibrary "org.springframework.boot:spring-boot-starter-test:1.5.17.RELEASE" testLibrary "org.springframework.boot:spring-boot-starter-web:1.5.17.RELEASE" diff --git a/instrumentation/spring/starters/jaeger-exporter-starter/jaeger-exporter-starter.gradle b/instrumentation/spring/starters/jaeger-exporter-starter/jaeger-exporter-starter.gradle index ff85e553cd..544fcd5dbd 100644 --- a/instrumentation/spring/starters/jaeger-exporter-starter/jaeger-exporter-starter.gradle +++ b/instrumentation/spring/starters/jaeger-exporter-starter/jaeger-exporter-starter.gradle @@ -10,9 +10,9 @@ apply from: "$rootDir/gradle/publish.gradle" sourceCompatibility = '8' dependencies { - api group: "org.springframework.boot", name: "spring-boot-starter", version: versions.springboot + api group: "org.springframework.boot", name: "spring-boot-starter", version: versions["org.springframework.boot"] api project(':instrumentation:spring:starters:spring-starter') - api deps.opentelemetryJaeger + api "io.opentelemetry:opentelemetry-exporter-jaeger" implementation "io.grpc:grpc-netty-shaded:1.30.2" } diff --git a/instrumentation/spring/starters/otlp-exporter-starter/otlp-exporter-starter.gradle b/instrumentation/spring/starters/otlp-exporter-starter/otlp-exporter-starter.gradle index 0a84ba8c24..dec812f674 100644 --- a/instrumentation/spring/starters/otlp-exporter-starter/otlp-exporter-starter.gradle +++ b/instrumentation/spring/starters/otlp-exporter-starter/otlp-exporter-starter.gradle @@ -6,9 +6,9 @@ apply from: "$rootDir/gradle/publish.gradle" sourceCompatibility = '8' dependencies { - api group: "org.springframework.boot", name: "spring-boot-starter", version: versions.springboot + api group: "org.springframework.boot", name: "spring-boot-starter", version: versions["org.springframework.boot"] api project(':instrumentation:spring:starters:spring-starter') - api deps.opentelemetryOtlp + api "io.opentelemetry:opentelemetry-exporter-otlp" implementation "io.grpc:grpc-netty-shaded:1.30.2" } diff --git a/instrumentation/spring/starters/spring-starter/spring-starter.gradle b/instrumentation/spring/starters/spring-starter/spring-starter.gradle index 00d442f682..a744787eca 100644 --- a/instrumentation/spring/starters/spring-starter/spring-starter.gradle +++ b/instrumentation/spring/starters/spring-starter/spring-starter.gradle @@ -6,11 +6,11 @@ apply from: "$rootDir/gradle/publish.gradle" sourceCompatibility = '8' dependencies { - api group: "org.springframework.boot", name: "spring-boot-starter", version: versions.springboot - api "org.springframework.boot:spring-boot-starter-aop:${versions.springboot}" + api group: "org.springframework.boot", name: "spring-boot-starter", version: versions["org.springframework.boot"] + api "org.springframework.boot:spring-boot-starter-aop:${versions["org.springframework.boot"]}" api project(':instrumentation:spring:spring-boot-autoconfigure') - api deps.opentelemetryExtAnnotations - api deps.opentelemetryApi - api deps.opentelemetryLogging - api deps.opentelemetrySdk + api "io.opentelemetry:opentelemetry-extension-annotations" + api "io.opentelemetry:opentelemetry-api" + api "io.opentelemetry:opentelemetry-exporter-logging" + api "io.opentelemetry:opentelemetry-sdk" } diff --git a/instrumentation/spring/starters/zipkin-exporter-starter/zipkin-exporter-starter.gradle b/instrumentation/spring/starters/zipkin-exporter-starter/zipkin-exporter-starter.gradle index 913257337d..9b5aaae5cf 100644 --- a/instrumentation/spring/starters/zipkin-exporter-starter/zipkin-exporter-starter.gradle +++ b/instrumentation/spring/starters/zipkin-exporter-starter/zipkin-exporter-starter.gradle @@ -6,8 +6,8 @@ apply from: "$rootDir/gradle/publish.gradle" sourceCompatibility = '8' dependencies { - api group: "org.springframework.boot", name: "spring-boot-starter", version: versions.springboot + api group: "org.springframework.boot", name: "spring-boot-starter", version: versions["org.springframework.boot"] api project(':instrumentation:spring:starters:spring-starter') - api deps.opentelemetryZipkin + api "io.opentelemetry:opentelemetry-exporter-zipkin" } diff --git a/instrumentation/spymemcached-2.12/javaagent/spymemcached-2.12-javaagent.gradle b/instrumentation/spymemcached-2.12/javaagent/spymemcached-2.12-javaagent.gradle index 4594ffefb1..064deaa468 100644 --- a/instrumentation/spymemcached-2.12/javaagent/spymemcached-2.12-javaagent.gradle +++ b/instrumentation/spymemcached-2.12/javaagent/spymemcached-2.12-javaagent.gradle @@ -12,8 +12,7 @@ muzzle { dependencies { library "net.spy:spymemcached:2.12.0" - testImplementation deps.guava - testImplementation deps.testcontainers + testImplementation "com.google.guava:guava" } tasks.withType(Test).configureEach { diff --git a/instrumentation/vaadin-14.2/testing/vaadin-14.2-testing.gradle b/instrumentation/vaadin-14.2/testing/vaadin-14.2-testing.gradle index 311bda9e80..07ef751db3 100644 --- a/instrumentation/vaadin-14.2/testing/vaadin-14.2-testing.gradle +++ b/instrumentation/vaadin-14.2/testing/vaadin-14.2-testing.gradle @@ -7,7 +7,7 @@ apply from: "$rootDir/gradle/java.gradle" dependencies { compileOnly 'com.vaadin:vaadin-spring-boot-starter:14.2.0' - api "org.testcontainers:selenium:${versions.testcontainers}" + api "org.testcontainers:selenium:${versions["org.testcontainers"]}" implementation(project(':testing-common')) { exclude(module: 'jetty-server') } diff --git a/javaagent-api/javaagent-api.gradle b/javaagent-api/javaagent-api.gradle index 9e86b3ac25..0689448730 100644 --- a/javaagent-api/javaagent-api.gradle +++ b/javaagent-api/javaagent-api.gradle @@ -7,14 +7,15 @@ project.ext.minimumBranchCoverage = 0.0 project.ext.minimumInstructionCoverage = 0.0 dependencies { - api deps.opentelemetryApi - compileOnly deps.opentelemetrySdk - implementation deps.slf4j + api "io.opentelemetry:opentelemetry-api" + compileOnly "io.opentelemetry:opentelemetry-sdk" + implementation "org.slf4j:slf4j-api" implementation project(':instrumentation-api') - compileOnly deps.autoValueAnnotations - annotationProcessor deps.autoValue + compileOnly "com.google.auto.value:auto-value-annotations" + annotationProcessor "com.google.auto.value:auto-value" testImplementation project(':testing-common') - testImplementation deps.mockito - testImplementation deps.assertj + testImplementation "org.mockito:mockito-core" + testImplementation "org.mockito:mockito-junit-jupiter" + testImplementation "org.assertj:assertj-core" } diff --git a/javaagent-bootstrap-tests/javaagent-bootstrap-tests.gradle b/javaagent-bootstrap-tests/javaagent-bootstrap-tests.gradle index 95baaade30..c1ca1ab6d0 100644 --- a/javaagent-bootstrap-tests/javaagent-bootstrap-tests.gradle +++ b/javaagent-bootstrap-tests/javaagent-bootstrap-tests.gradle @@ -6,5 +6,5 @@ dependencies { testCompileOnly project(':instrumentation-api-caching') testRuntimeOnly project(":javaagent-bootstrap") - testImplementation deps.assertj + testImplementation "org.assertj:assertj-core" } \ No newline at end of file diff --git a/javaagent-bootstrap/javaagent-bootstrap.gradle b/javaagent-bootstrap/javaagent-bootstrap.gradle index 533fba78f7..69f1b899ec 100644 --- a/javaagent-bootstrap/javaagent-bootstrap.gradle +++ b/javaagent-bootstrap/javaagent-bootstrap.gradle @@ -29,17 +29,17 @@ configurations { } dependencies { - api deps.opentelemetryApi - api deps.opentelemetryApiMetrics - compileOnly deps.opentelemetrySdk - implementation deps.slf4j - implementation "org.slf4j:slf4j-simple:${versions.slf4j}" + api "io.opentelemetry:opentelemetry-api" + api "io.opentelemetry:opentelemetry-api-metrics" + compileOnly "io.opentelemetry:opentelemetry-sdk" + implementation "org.slf4j:slf4j-api" + implementation "org.slf4j:slf4j-simple:${versions["org.slf4j"]}" // ^ Generally a bad idea for libraries, but we're shadowing. implementation project(':javaagent-api') implementation project(':instrumentation-api') testImplementation project(':testing-common') - testImplementation deps.mockito - testImplementation deps.assertj + testImplementation "org.mockito:mockito-core" + testImplementation "org.assertj:assertj-core" } diff --git a/javaagent-extension-api/javaagent-extension-api.gradle b/javaagent-extension-api/javaagent-extension-api.gradle index a5cf139615..ed6a1be6e9 100644 --- a/javaagent-extension-api/javaagent-extension-api.gradle +++ b/javaagent-extension-api/javaagent-extension-api.gradle @@ -17,11 +17,11 @@ configurations { } dependencies { - api deps.opentelemetrySdk + api "io.opentelemetry:opentelemetry-sdk" // metrics are unstable, do not expose as api - implementation deps.opentelemetrySdkMetrics - api deps.bytebuddy - api deps.slf4j + implementation "io.opentelemetry:opentelemetry-sdk-metrics" + api "net.bytebuddy:byte-buddy" + api "org.slf4j:slf4j-api" implementation project(":instrumentation-api") implementation project(":javaagent-api") diff --git a/javaagent-tooling/javaagent-tooling.gradle b/javaagent-tooling/javaagent-tooling.gradle index 47ef33b4c1..09747dfeb7 100644 --- a/javaagent-tooling/javaagent-tooling.gradle +++ b/javaagent-tooling/javaagent-tooling.gradle @@ -22,42 +22,42 @@ dependencies { implementation project(':javaagent-api') implementation project(':instrumentation-api') - implementation deps.opentelemetryApi - implementation deps.opentelemetryApiMetrics - implementation deps.opentelemetryContext - implementation deps.opentelemetrySdk - implementation deps.opentelemetrySdkAutoconfigure - implementation deps.opentelemetrySdkMetrics - implementation(deps.opentelemetryKotlin) - implementation deps.opentelemetryExtAws - implementation deps.opentelemetryTraceProps - implementation(deps.opentelemetryResources) { + implementation "io.opentelemetry:opentelemetry-api" + implementation "io.opentelemetry:opentelemetry-api-metrics" + implementation "io.opentelemetry:opentelemetry-sdk" + implementation "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure" + implementation "io.opentelemetry:opentelemetry-sdk-metrics" + implementation("io.opentelemetry:opentelemetry-extension-kotlin") + implementation "io.opentelemetry:opentelemetry-extension-aws" + implementation "io.opentelemetry:opentelemetry-extension-trace-propagators" + implementation("io.opentelemetry:opentelemetry-sdk-extension-resources") { // exclude sdk-common to avoid bumping guava version exclude group: 'io.opentelemetry', module: 'opentelemetry-sdk-common' } - implementation deps.opentelemetryJaeger - implementation deps.opentelemetryLogging - implementation deps.opentelemetryOtlp - implementation deps.opentelemetryOtlpMetrics + implementation "io.opentelemetry:opentelemetry-exporter-jaeger" + implementation "io.opentelemetry:opentelemetry-exporter-logging" + implementation "io.opentelemetry:opentelemetry-exporter-otlp" + implementation "io.opentelemetry:opentelemetry-exporter-otlp-metrics" - implementation deps.opentelemetryPrometheus - implementation deps.prometheus + implementation "io.opentelemetry:opentelemetry-exporter-prometheus" + implementation "io.prometheus:simpleclient" + implementation "io.prometheus:simpleclient_httpserver" - implementation deps.opentelemetryZipkin + implementation "io.opentelemetry:opentelemetry-exporter-zipkin" - api deps.bytebuddy - implementation deps.bytebuddyagent - annotationProcessor deps.autoservice - implementation deps.autoservice - implementation deps.slf4j - implementation deps.guava + api "net.bytebuddy:byte-buddy" + implementation "net.bytebuddy:byte-buddy-agent" + annotationProcessor "com.google.auto.service:auto-service" + implementation "com.google.auto.service:auto-service" + implementation "org.slf4j:slf4j-api" + implementation "com.google.guava:guava" implementation "io.grpc:grpc-netty-shaded:1.35.1" testImplementation project(':testing-common') - testImplementation deps.assertj - testImplementation deps.mockito + testImplementation "org.assertj:assertj-core" + testImplementation "org.mockito:mockito-core" instrumentationMuzzle sourceSets.main.output } diff --git a/javaagent/javaagent.gradle b/javaagent/javaagent.gradle index c85eac01c9..5e115a1621 100644 --- a/javaagent/javaagent.gradle +++ b/javaagent/javaagent.gradle @@ -15,7 +15,10 @@ apply from: "$rootDir/gradle/java.gradle" apply from: "$rootDir/gradle/publish.gradle" configurations { - shadowInclude + shadowInclude { + canBeResolved = true + canBeConsumed = false + } } processResources { @@ -110,17 +113,17 @@ dependencies { testCompileOnly project(':javaagent-bootstrap') testCompileOnly project(':javaagent-api') - testImplementation deps.guava + testImplementation "com.google.guava:guava" testImplementation 'io.opentracing.contrib.dropwizard:dropwizard-opentracing:0.2.2' shadowInclude project(path: ':javaagent-bootstrap') // We only have compileOnly dependencies on these to make sure they don't leak into POMs. - licenseReportDependencies(deps.caffeine) { + licenseReportDependencies("com.github.ben-manes.caffeine:caffeine") { transitive = false } - licenseReportDependencies deps.weaklockfree + licenseReportDependencies "com.blogspot.mydailyjava:weak-lock-free" // TODO ideally this would be :instrumentation instead of :javaagent-tooling // in case there are dependencies (accidentally) pulled in by instrumentation modules // but I couldn't get that to work diff --git a/load-generator/load-generator.gradle b/load-generator/load-generator.gradle index 4a2f075fb1..85ca2cb9a4 100644 --- a/load-generator/load-generator.gradle +++ b/load-generator/load-generator.gradle @@ -4,7 +4,7 @@ dependencies { implementation project(':javaagent-bootstrap') implementation 'info.picocli:picocli:4.0.4' - implementation deps.guava + implementation "com.google.guava:guava" } task launch(type: JavaExec) { diff --git a/opentelemetry-api-shaded-for-instrumenting/opentelemetry-api-shaded-for-instrumenting.gradle b/opentelemetry-api-shaded-for-instrumenting/opentelemetry-api-shaded-for-instrumenting.gradle index b5bef1c92a..dbbba856d8 100644 --- a/opentelemetry-api-shaded-for-instrumenting/opentelemetry-api-shaded-for-instrumenting.gradle +++ b/opentelemetry-api-shaded-for-instrumenting/opentelemetry-api-shaded-for-instrumenting.gradle @@ -5,9 +5,8 @@ plugins { apply from: "$rootDir/gradle/java.gradle" dependencies { - implementation deps.opentelemetryApi - implementation deps.opentelemetryApiMetrics - implementation deps.opentelemetryContext + implementation "io.opentelemetry:opentelemetry-api" + implementation "io.opentelemetry:opentelemetry-api-metrics" } // OpenTelemetry API shaded so that it can be used in instrumentation of OpenTelemetry API itself, diff --git a/opentelemetry-ext-annotations-shaded-for-instrumenting/opentelemetry-ext-annotations-shaded-for-instrumenting.gradle b/opentelemetry-ext-annotations-shaded-for-instrumenting/opentelemetry-ext-annotations-shaded-for-instrumenting.gradle index 89dde4ffbe..3058fbcf9a 100644 --- a/opentelemetry-ext-annotations-shaded-for-instrumenting/opentelemetry-ext-annotations-shaded-for-instrumenting.gradle +++ b/opentelemetry-ext-annotations-shaded-for-instrumenting/opentelemetry-ext-annotations-shaded-for-instrumenting.gradle @@ -5,8 +5,8 @@ plugins { apply from: "$rootDir/gradle/java.gradle" dependencies { - implementation deps.opentelemetryExtAnnotations - implementation deps.opentelemetryContext + implementation "io.opentelemetry:opentelemetry-extension-annotations" + implementation "io.opentelemetry:opentelemetry-context" } // OpenTelemetry API shaded so that it can be used in instrumentation of OpenTelemetry API itself, diff --git a/settings.gradle b/settings.gradle index e94d533f65..73e7ab9da9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -63,6 +63,7 @@ include ':instrumentation-api-caching' include ':javaagent-api' // misc +include ':dependencyManagement' include ':testing:agent-exporter' include ':testing:agent-for-testing' include ':testing-common' @@ -317,6 +318,9 @@ def setBuildFile(project) { } else { project.buildFileName = "${project.name}.gradle" } + if (!(project.buildFile.exists())) { + project.buildFileName += ".kts" + } project.children.each { setBuildFile(it) } diff --git a/smoke-tests/smoke-tests.gradle b/smoke-tests/smoke-tests.gradle index 369aa2a67e..017dd19796 100644 --- a/smoke-tests/smoke-tests.gradle +++ b/smoke-tests/smoke-tests.gradle @@ -14,15 +14,15 @@ description = 'smoke-tests' def dockerJavaVersion = "3.2.5" dependencies { - api deps.spock + api "org.spockframework:spock-core" api project(':testing-common') implementation platform("io.grpc:grpc-bom:1.33.1") - implementation deps.slf4j - implementation deps.opentelemetryProto - implementation deps.opentelemetryApi - implementation deps.testcontainers - implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.2' + implementation "org.slf4j:slf4j-api" + implementation "io.opentelemetry:opentelemetry-api" + implementation "io.opentelemetry:opentelemetry-proto" + implementation "org.testcontainers:testcontainers" + implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.protobuf:protobuf-java-util:3.12.4' implementation 'io.grpc:grpc-netty-shaded' implementation 'io.grpc:grpc-protobuf' diff --git a/testing-common/integration-tests/integration-tests.gradle b/testing-common/integration-tests/integration-tests.gradle index 57e49060de..a1f00ab3b7 100644 --- a/testing-common/integration-tests/integration-tests.gradle +++ b/testing-common/integration-tests/integration-tests.gradle @@ -10,11 +10,11 @@ dependencies { testCompileOnly project(':javaagent-tooling') testCompileOnly project(':javaagent-extension-api') - testImplementation deps.bytebuddy - testImplementation deps.bytebuddyagent + testImplementation "net.bytebuddy:byte-buddy" + testImplementation "net.bytebuddy:byte-buddy-agent" - testImplementation deps.guava - testImplementation deps.opentelemetryExtAnnotations + testImplementation "com.google.guava:guava" + testImplementation "io.opentelemetry:opentelemetry-extension-annotations" testImplementation "cglib:cglib:3.2.5" diff --git a/testing-common/testing-common.gradle b/testing-common/testing-common.gradle index 5a42b8ce5f..f34be8e6e2 100644 --- a/testing-common/testing-common.gradle +++ b/testing-common/testing-common.gradle @@ -5,26 +5,29 @@ apply from: "$rootDir/gradle/java.gradle" apply from: "$rootDir/gradle/publish.gradle" dependencies { - api deps.groovy - api deps.spock - implementation deps.junitApi + api "org.codehaus.groovy:groovy-all" + api "org.spockframework:spock-core" + implementation "org.junit.jupiter:junit-jupiter-api" - api deps.opentelemetryApi - api deps.opentelemetrySemConv - api deps.opentelemetrySdk - api deps.opentelemetrySdkMetrics - api deps.opentelemetrySdkTesting + api "io.opentelemetry:opentelemetry-api" + api "io.opentelemetry:opentelemetry-semconv" + api "io.opentelemetry:opentelemetry-sdk" + api "io.opentelemetry:opentelemetry-sdk-metrics" + api "io.opentelemetry:opentelemetry-sdk-testing" - implementation(deps.opentelemetryProto) { + implementation("io.opentelemetry:opentelemetry-proto") { // Only need the proto, not gRPC. exclude group: 'io.grpc' } - implementation deps.bytebuddy - implementation deps.bytebuddyagent - implementation deps.slf4j - implementation deps.testLogging - implementation deps.opentelemetryExtAnnotations + implementation "net.bytebuddy:byte-buddy" + implementation "net.bytebuddy:byte-buddy-agent" + implementation "org.slf4j:slf4j-api" + implementation "ch.qos.logback:logback-classic" + implementation "org.slf4j:log4j-over-slf4j" + implementation "org.slf4j:jcl-over-slf4j" + implementation "org.slf4j:jul-to-slf4j" + implementation "io.opentelemetry:opentelemetry-extension-annotations" implementation project(':instrumentation-api') api "com.squareup.okhttp3:okhttp:4.9.0" @@ -33,10 +36,10 @@ dependencies { //TODO replace with Servlet API? implementation "org.eclipse.jetty:jetty-server:8.0.0.v20110901" - annotationProcessor deps.autoservice - compileOnly deps.autoservice + annotationProcessor "com.google.auto.service:auto-service" + compileOnly "com.google.auto.service:auto-service" - testImplementation deps.assertj + testImplementation "org.assertj:assertj-core" testImplementation project(':javaagent-api') testImplementation project(':javaagent-tooling') @@ -45,8 +48,8 @@ dependencies { testImplementation project(':instrumentation:external-annotations:javaagent') // We have autoservices defined in test subtree, looks like we need this to be able to properly rebuild this - testAnnotationProcessor deps.autoservice - testCompileOnly deps.autoservice + testAnnotationProcessor "com.google.auto.service:auto-service" + testCompileOnly "com.google.auto.service:auto-service" } javadoc.enabled = false diff --git a/testing/agent-exporter/agent-exporter.gradle b/testing/agent-exporter/agent-exporter.gradle index ea735e4d5b..bdb4dd276c 100644 --- a/testing/agent-exporter/agent-exporter.gradle +++ b/testing/agent-exporter/agent-exporter.gradle @@ -5,19 +5,19 @@ plugins { apply from: "$rootDir/gradle/java.gradle" dependencies { - compileOnly(deps.bytebuddy) - compileOnly(deps.opentelemetrySdk) - compileOnly(deps.opentelemetrySdkAutoconfigure) - compileOnly(deps.slf4j) + compileOnly("net.bytebuddy:byte-buddy") + compileOnly("io.opentelemetry:opentelemetry-sdk") + compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") + compileOnly("org.slf4j:slf4j-api") - annotationProcessor deps.autoservice - compileOnly deps.autoservice + annotationProcessor "com.google.auto.service:auto-service" + compileOnly "com.google.auto.service:auto-service" implementation project(':javaagent-extension-api') implementation project(':javaagent-tooling') - implementation deps.opentelemetryProto - implementation deps.opentelemetryOtlp - implementation deps.opentelemetryOtlpMetrics + implementation "io.opentelemetry:opentelemetry-proto" + implementation "io.opentelemetry:opentelemetry-exporter-otlp" + implementation "io.opentelemetry:opentelemetry-exporter-otlp-metrics" implementation "io.grpc:grpc-testing:1.33.1" // Include instrumentations instrumenting core JDK classes tp ensure interoperability with other instrumentation diff --git a/testing/agent-for-testing/agent-for-testing.gradle b/testing/agent-for-testing/agent-for-testing.gradle index f9ce3f8006..ad78b91a91 100644 --- a/testing/agent-for-testing/agent-for-testing.gradle +++ b/testing/agent-for-testing/agent-for-testing.gradle @@ -33,7 +33,10 @@ CopySpec isolateSpec(Collection shadowJarTasks) { } configurations { - shadowInclude + shadowInclude { + canBeResolved = true + canBeConsumed = false + } } evaluationDependsOn(":testing:agent-exporter") @@ -80,7 +83,7 @@ dependencies { shadowInclude project(':javaagent-bootstrap') testImplementation project(':testing-common') - testImplementation deps.opentelemetryApi + testImplementation "io.opentelemetry:opentelemetry-api" } afterEvaluate {