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 <trask.stalnaker@gmail.com>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
This commit is contained in:
Anuraag Agrawal 2021-05-28 11:32:08 +09:00 committed by GitHub
parent 98b566959a
commit c358a35414
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
108 changed files with 587 additions and 461 deletions

View File

@ -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'

View File

@ -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 }

View File

@ -52,7 +52,6 @@ nexusPublishing {
// tasks.release.finalizedBy tasks.closeAndReleaseRepository
allprojects {
apply from: "$rootDir/gradle/dependencies.gradle"
apply from: "$rootDir/gradle/util.gradle"
}

View File

@ -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<String>)
val dependencyVersions = hashMapOf<String, String>()
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<DependencyUpdatesTask>("dependencyUpdates") {
revision = "release"
checkConstraints = true
rejectVersionIf {
isNonStable(candidate.version)
}
}
}

View File

@ -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}"
]
]
}

View File

@ -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')
}

View File

@ -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 {

View File

@ -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 {

View File

@ -18,6 +18,12 @@ publishing {
}
}
versionMapping {
allVariants {
fromResolutionResult()
}
}
def stable = findProperty("otel.stable") ?: false
if (!stable) {
def versionParts = version.split('-')

View File

@ -3,7 +3,7 @@
apply plugin: 'scala'
dependencies {
testImplementation deps.scala
testImplementation "org.scala-lang:scala-library"
}
tasks.named('compileTestGroovy').configure {

View File

@ -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 {

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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.+"

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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'

View File

@ -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"

View File

@ -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"
}

View File

@ -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 {

View File

@ -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"
}

View File

@ -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"

View File

@ -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')

View File

@ -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"]
}

View File

@ -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"
}

View File

@ -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"

View File

@ -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')
}

View File

@ -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
}

View File

@ -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"
}

View File

@ -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"
}
}
// Requires old Guava. Can't use enforcedPlatform since predates BOM
configurations.testRuntimeClasspath.resolutionStrategy.force "com.google.guava:guava:19.0"

View File

@ -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')
}

View File

@ -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"
}

View File

@ -14,5 +14,5 @@ dependencies {
implementation project(':instrumentation:guava-10.0:library')
testImplementation deps.opentelemetryExtAnnotations
testImplementation "io.opentelemetry:opentelemetry-extension-annotations"
}

View File

@ -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')) {

View File

@ -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"

View File

@ -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}"

View File

@ -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.+"

View File

@ -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')

View File

@ -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"

View File

@ -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"

View File

@ -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.+"

View File

@ -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"
}

View File

@ -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'
}

View File

@ -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"

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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 {

View File

@ -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')
}

View File

@ -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"
}

View File

@ -13,5 +13,5 @@ dependencies {
library "com.github.oshi:oshi-core:5.3.1"
testImplementation deps.guava
testImplementation "com.google.guava:guava"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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 {

View File

@ -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"

View File

@ -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.+"

View File

@ -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"
}

View File

@ -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 {

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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')
}

View File

@ -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"
}

View File

@ -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')
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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'))

View File

@ -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"
}

View File

@ -1,5 +1,5 @@
apply from: "$rootDir/gradle/instrumentation-library.gradle"
dependencies {
implementation deps.slf4j
implementation "org.slf4j:slf4j-api"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"

View File

@ -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"
}

View File

@ -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"

View File

@ -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)

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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"

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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 {

View File

@ -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')
}

View File

@ -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"
}

View File

@ -6,5 +6,5 @@ dependencies {
testCompileOnly project(':instrumentation-api-caching')
testRuntimeOnly project(":javaagent-bootstrap")
testImplementation deps.assertj
testImplementation "org.assertj:assertj-core"
}

View File

@ -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"
}

View File

@ -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")

View File

@ -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
}

View File

@ -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

View File

@ -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) {

Some files were not shown because too many files have changed in this diff Show More