diff --git a/.github/scripts/check-latest-dep-test-overrides.sh b/.github/scripts/check-latest-dep-test-overrides.sh
new file mode 100755
index 000000000000..1a765540c65a
--- /dev/null
+++ b/.github/scripts/check-latest-dep-test-overrides.sh
@@ -0,0 +1,21 @@
+#!/bin/bash -e
+
+# all missing version coverage should be documented in supported-libraries.md
+
+if grep -r --include build.gradle.kts latestDepTestLibrary instrumentation \
+ | grep -v :+\" \
+ | grep -v "// see .* module" \
+ | grep -v "// see test suite below" \
+ | grep -v "// no longer applicable" \
+ | grep -v "// related dependency" \
+ | grep -v "// native on-by-default instrumentation after this version" \
+ | grep -v "// documented limitation" \
+ | grep -v "instrumentation/jaxrs-client/jaxrs-client-2.0-testing/build.gradle.kts"; then
+
+ echo
+ echo "Found an undocumented latestDepTestLibrary (see above)."
+ echo
+ echo "See .gith/scripts/check-latest-dep-test-overrides.sh in this repository"
+ echo "and add one of the required comments."
+ exit 1
+fi
diff --git a/.github/scripts/find-instrumentation-with-upper-version-limits.sh b/.github/scripts/find-instrumentation-with-upper-version-limits.sh
deleted file mode 100755
index a1072992cb7b..000000000000
--- a/.github/scripts/find-instrumentation-with-upper-version-limits.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash -e
-
-grep -r --include build.gradle.kts latestDepTestLibrary instrumentation \
- | grep -v :+\" \
- | grep -v "// see .* module" \
- | grep -v "// documented limitation"
diff --git a/.github/workflows/build-common.yml b/.github/workflows/build-common.yml
index 62890396ea43..5c3456bcb2b2 100644
--- a/.github/workflows/build-common.yml
+++ b/.github/workflows/build-common.yml
@@ -119,6 +119,13 @@ jobs:
exit 1
fi
+ check-latest-dep-test-overrides:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+
+ - run: .github/scripts/check-latest-dep-test-overrides.sh
+
build:
runs-on: ubuntu-latest
steps:
diff --git a/docs/supported-libraries.md b/docs/supported-libraries.md
index 12ebadfb9b5d..6cddd284af7d 100644
--- a/docs/supported-libraries.md
+++ b/docs/supported-libraries.md
@@ -23,9 +23,9 @@ These are the supported libraries and frameworks:
| [Akka HTTP](https://doc.akka.io/docs/akka-http/current/index.html) | 10.0+ | N/A | [HTTP Client Spans], [HTTP Client Metrics], [HTTP Server Spans], [HTTP Server Metrics], Provides `http.route` [2] |
| [Alibaba Druid](https://github.com/alibaba/druid) | 1.0+ | [opentelemetry-alibaba-druid-1.0](../instrumentation/alibaba-druid-1.0/library) | [Database Pool Metrics] |
| [Apache Axis2](https://axis.apache.org/axis2/java/core/) | 1.6+ | N/A | Provides `http.route` [2], Controller Spans [3] |
-| [Apache Camel](https://camel.apache.org/) | 2.20+ (not including 3.x yet) | N/A | Dependent on components in use |
-| [Apache CXF JAX-RS](https://cxf.apache.org/) | 3.2+ | N/A | Provides `http.route` [2], Controller Spans [3] |
-| [Apache CXF JAX-WS](https://cxf.apache.org/) | 3.0+ | N/A | Provides `http.route` [2], Controller Spans [3] |
+| [Apache Camel](https://camel.apache.org/) | 2.20+ (not including 3.0+ yet) | N/A | Dependent on components in use |
+| [Apache CXF JAX-RS](https://cxf.apache.org/) | 3.2+ (not including 4.0+ yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
+| [Apache CXF JAX-WS](https://cxf.apache.org/) | 3.0+ (not including 4.0+ yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
| [Apache DBCP](https://commons.apache.org/proper/commons-dbcp/) | 2.0+ | [opentelemetry-apache-dbcp-2.0](../instrumentation/apache-dbcp-2.0/library) | [Database Pool Metrics] |
| [Apache Dubbo](https://github.com/apache/dubbo/) | 2.7+ | [opentelemetry-apache-dubbo-2.7](../instrumentation/apache-dubbo-2.7/library-autoconfigure) | [RPC Client Spans], [RPC Server Spans] |
| [Apache HttpAsyncClient](https://hc.apache.org/index.html) | 4.1+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] |
@@ -33,7 +33,7 @@ These are the supported libraries and frameworks:
| [Apache ShenYu](https://shenyu.apache.org/) | 2.4+ | N/A | Provides `http.route` [2] |
| [Apache Kafka Producer/Consumer API](https://kafka.apache.org/documentation/#producerapi) | 0.11+ | [opentelemetry-kafka-clients-2.6](../instrumentation/kafka/kafka-clients/kafka-clients-2.6/library) | [Messaging Spans] |
| [Apache Kafka Streams API](https://kafka.apache.org/documentation/streams/) | 0.11+ | N/A | [Messaging Spans] |
-| [Apache MyFaces](https://myfaces.apache.org/) | 1.2+ (not including 3.x yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
+| [Apache MyFaces](https://myfaces.apache.org/) | 1.2+ (not including 4.0+ yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
| [Apache Pekko Actors](https://pekko.apache.org/) | 1.0+ | N/A | Context propagation |
| [Apache Pekko HTTP](https://pekko.apache.org/) | 1.0+ | N/A | [HTTP Client Spans], [HTTP Client Metrics], [HTTP Server Spans], [HTTP Server Metrics], Provides `http.route` [2] |
| [Apache Pulsar](https://pulsar.apache.org/) | 2.8+ | N/A | [Messaging Spans] |
@@ -46,11 +46,11 @@ These are the supported libraries and frameworks:
| [Armeria gRPC](https://armeria.dev) | 1.14+ | | [RPC Client Spans], [RPC Client Metrics], [RPC Server Spans], [RPC Server Metrics] |
| [AsyncHttpClient](https://github.com/AsyncHttpClient/async-http-client) | 1.9+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] |
| [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/java-handler.html) | 1.0+ | [opentelemetry-aws-lambda-core-1.0](../instrumentation/aws-lambda/aws-lambda-core-1.0/library),
[opentelemetry-aws-lambda-events-2.2](../instrumentation/aws-lambda/aws-lambda-events-2.2/library) | [FaaS Server Spans] |
-| [AWS SDK](https://aws.amazon.com/sdk-for-java/) | 1.11.x and 2.2+ | [opentelemetry-aws-sdk-1.11](../instrumentation/aws-sdk/aws-sdk-1.11/library),
[opentelemetry-aws-sdk-1.11-autoconfigure](../instrumentation/aws-sdk/aws-sdk-1.11/library-autoconfigure),
[opentelemetry-aws-sdk-2.2](../instrumentation/aws-sdk/aws-sdk-2.2/library),
[opentelemetry-aws-sdk-2.2-autoconfigure](../instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure) | [Messaging Spans], [Database Client Spans], [HTTP Client Spans] |
+| [AWS SDK](https://aws.amazon.com/sdk-for-java/) | 1.11 - 1.12.583,
2.2+ | [opentelemetry-aws-sdk-1.11](../instrumentation/aws-sdk/aws-sdk-1.11/library),
[opentelemetry-aws-sdk-1.11-autoconfigure](../instrumentation/aws-sdk/aws-sdk-1.11/library-autoconfigure),
[opentelemetry-aws-sdk-2.2](../instrumentation/aws-sdk/aws-sdk-2.2/library),
[opentelemetry-aws-sdk-2.2-autoconfigure](../instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure) | [Messaging Spans], [Database Client Spans], [HTTP Client Spans] |
| [Azure Core](https://docs.microsoft.com/en-us/java/api/overview/azure/core-readme) | 1.14+ | N/A | Context propagation |
| [Cassandra Driver](https://github.com/datastax/java-driver) | 3.0+ | [opentelemetry-cassandra-4.4](../instrumentation/cassandra/cassandra-4.4/library) | [Database Client Spans] |
| [Clickhouse Client](https://github.com/ClickHouse/clickhouse-java) | 0.5+ | N/A | [Database Client Spans] |
-| [Couchbase Client](https://github.com/couchbase/couchbase-java-client) | 2.0+ and 3.1+ | N/A | [Database Client Spans] |
+| [Couchbase Client](https://github.com/couchbase/couchbase-java-client) | 2.0 - 2.7.x,
3.1+ | N/A | [Database Client Spans] |
| [c3p0](https://github.com/swaldman/c3p0) | 0.9.2+ | [opentelemetry-c3p0-0.9](../instrumentation/c3p0-0.9/library) | [Database Pool Metrics] |
| [Dropwizard Metrics](https://metrics.dropwizard.io/) | 4.0+ (disabled by default) | N/A | none |
| [Dropwizard Views](https://www.dropwizard.io/en/latest/manual/views.html) | 0.7+ | N/A | Controller Spans [3] |
@@ -58,7 +58,7 @@ These are the supported libraries and frameworks:
| [Eclipse Jersey](https://eclipse-ee4j.github.io/jersey/) | 2.0+ | N/A | Provides `http.route` [2], Controller Spans [3] |
| [Eclipse Jetty HTTP Client](https://www.eclipse.org/jetty/javadoc/jetty-9/org/eclipse/jetty/client/HttpClient.html) | 9.2 - 9.4.x,
12.0+ | [opentelemetry-jetty-httpclient-9.2](../instrumentation/jetty-httpclient/jetty-httpclient-9.2/library)
[opentelemetry-jetty-httpclient-12.0](../instrumentation/jetty-httpclient/jetty-httpclient-12.0/library) | [HTTP Client Spans], [HTTP Client Metrics] |
| [Eclipse Metro](https://projects.eclipse.org/projects/ee4j.metro) | 2.2+ | N/A | Provides `http.route` [2], Controller Spans [3] |
-| [Eclipse Mojarra](https://projects.eclipse.org/projects/ee4j.mojarra) | 1.2+ | N/A | Provides `http.route` [2], Controller Spans [3] |
+| [Eclipse Mojarra](https://projects.eclipse.org/projects/ee4j.mojarra) | 1.2+ (not including 4.0+ yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
| [Elasticsearch API Client](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html) | 7.16 - 7.17.19,
8.0 - 8.9.+ [4] | N/A | [Elasticsearch Client Spans] |
| [Elasticsearch REST Client](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/index.html) | 5.0+ | N/A | [Database Client Spans] |
| [Elasticsearch Transport Client](https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html) | 5.0+ | N/A | [Database Client Spans] |
@@ -84,13 +84,13 @@ These are the supported libraries and frameworks:
| [Javalin](https://javalin.io/) | 5.0+ | N/A | Provides `http.route` [2] |
| [JAX-RS](https://javaee.github.io/javaee-spec/javadocs/javax/ws/rs/package-summary.html) | 0.5+ | N/A | Provides `http.route` [2], Controller Spans [3] |
| [JAX-RS Client](https://javaee.github.io/javaee-spec/javadocs/javax/ws/rs/client/package-summary.html) | 1.1+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] |
-| [JAX-WS](https://jakarta.ee/specifications/xml-web-services/2.3/apidocs/javax/xml/ws/package-summary.html) | 2.0+ (not including 3.x yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
+| [JAX-WS](https://jakarta.ee/specifications/xml-web-services/2.3/apidocs/javax/xml/ws/package-summary.html) | 2.0+ (not including 3.0+ yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
| [JBoss Log Manager](https://github.com/jboss-logging/jboss-logmanager) | 1.1+ | N/A | none |
| [JDBC](https://docs.oracle.com/javase/8/docs/api/java/sql/package-summary.html) | Java 8+ | [opentelemetry-jdbc](../instrumentation/jdbc/library) | [Database Client Spans] |
| [Jedis](https://github.com/xetorthio/jedis) | 1.4+ | N/A | [Database Client Spans] |
| [JMS](https://javaee.github.io/javaee-spec/javadocs/javax/jms/package-summary.html) | 1.1+ | N/A | [Messaging Spans] |
| [Jodd Http](https://http.jodd.org/) | 4.2+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] |
-| [JSP](https://javaee.github.io/javaee-spec/javadocs/javax/servlet/jsp/package-summary.html) | 2.3+ | N/A | Controller Spans [3] |
+| [JSP](https://javaee.github.io/javaee-spec/javadocs/javax/servlet/jsp/package-summary.html) | 2.3.x only | N/A | Controller Spans [3] |
| [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) | 1.0+ | N/A | Context propagation |
| [Ktor](https://github.com/ktorio/ktor) | 1.0+ | [opentelemetry-ktor-1.0](../instrumentation/ktor/ktor-1.0/library),
[opentelemetry-ktor-2.0](../instrumentation/ktor/ktor-2.0/library),
[opentelemetry-ktor-3.0](../instrumentation/ktor/ktor-3.0/library) | [HTTP Client Spans], [HTTP Client Metrics], [HTTP Server Spans], [HTTP Server Metrics] |
| [Kubernetes Client](https://github.com/kubernetes-client/java) | 7.0+ | N/A | [HTTP Client Spans] |
@@ -117,7 +117,8 @@ These are the supported libraries and frameworks:
| [Reactor Netty](https://github.com/reactor/reactor-netty) | 0.9+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] |
| [Rediscala](https://github.com/etaty/rediscala) | 1.8+ | N/A | [Database Client Spans] |
| [Redisson](https://github.com/redisson/redisson) | 3.0+ | N/A | [Database Client Spans] |
-| [RESTEasy](https://resteasy.dev/) | 3.0+ | N/A | Provides `http.route` [2], Controller Spans [3] |
+| [RESTEasy](https://resteasy.dev/) | 3.0+ (not including 6.0+ yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
+| [RESTEasy](https://resteasy.dev/) | 3.0+ (not including 6.0+ yet) | N/A | Provides `http.route` [2], Controller Spans [3] |
| [Restlet](https://restlet.github.io/) | 1.0+ | [opentelemetry-restlet-1.1](../instrumentation/restlet/restlet-1.1/library),
[opentelemetry-restlet-2.0](../instrumentation/restlet/restlet-2.0/library) | [HTTP Server Spans], [HTTP Server Metrics] |
| [RMI](https://docs.oracle.com/en/java/javase/11/docs/api/java.rmi/java/rmi/package-summary.html) | Java 8+ | | [RPC Client Spans], [RPC Server Spans] |
| [RxJava](https://github.com/ReactiveX/RxJava) | 1.0+ | [opentelemetry-rxjava-1.0](../instrumentation/rxjava/rxjava-1.0/library),
[opentelemetry-rxjava-2.0](../instrumentation/rxjava/rxjava-2.0/library),
[opentelemetry-rxjava-3.0](../instrumentation/rxjava/rxjava-3.0/library),
[opentelemetry-rxjava-3.1.1](../instrumentation/rxjava/rxjava-3.1.1/library) | Context propagation |
@@ -138,11 +139,11 @@ These are the supported libraries and frameworks:
| [Spring RMI](https://docs.spring.io/spring-framework/docs/4.0.x/javadoc-api/org/springframework/remoting/rmi/package-summary.html) | 4.0+ | N/A | [RPC Client Spans], [RPC Server Spans] |
| [Spring Scheduling](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/package-summary.html) | 3.1+ | N/A | none |
| [Spring Web MVC](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/package-summary.html) | 3.1+ | [opentelemetry-spring-webmvc-5.3](../instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library),
[opentelemetry-spring-webmvc-6.0](../instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library) | [HTTP Server Spans], [HTTP Server Metrics], Provides `http.route` [2], Controller Spans [3] |
-| [Spring Web Services](https://spring.io/projects/spring-ws) | 2.0+ | N/A | none |
+| [Spring Web Services](https://spring.io/projects/spring-ws) | 2.0+ (not including 4.0+ yet) | N/A | none |
| [Spring WebFlux](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/reactive/package-summary.html) | 5.3+ | [opentelemetry-spring-webflux-5.3](../instrumentation/spring/spring-webflux/spring-webflux-5.3/library) | [HTTP Client Spans], [HTTP Client Metrics], [HTTP Server Spans], [HTTP Server Metrics], Provides `http.route` [2], Controller Spans [3] |
| [Spymemcached](https://github.com/couchbase/spymemcached) | 2.12+ | N/A | [Database Client Spans] |
| [Tomcat JDBC Pool](https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html) | 8.5+ | N/A | [Database Pool Metrics] |
-| [Twilio](https://github.com/twilio/twilio-java) | 6.6+ (not including 8.x yet) | N/A | none |
+| [Twilio](https://github.com/twilio/twilio-java) | 6.6+ (not including 8.0+ yet) | N/A | none |
| [Undertow](https://undertow.io/) | 1.4+ | N/A | [HTTP Server Spans], [HTTP Server Metrics] |
| [Vaadin](https://vaadin.com/) | 14.2+ | N/A | Provides `http.route` [2], Controller Spans [3] |
| [Vert.x HttpClient](https://vertx.io/docs/apidocs/io/vertx/core/http/HttpClient.html) | 3.0+ | N/A | [HTTP Client Spans], [HTTP Client Metrics] |
diff --git a/instrumentation/apache-shenyu-2.4/javaagent/build.gradle.kts b/instrumentation/apache-shenyu-2.4/javaagent/build.gradle.kts
index c80be7addd0a..4bc674ecee3f 100644
--- a/instrumentation/apache-shenyu-2.4/javaagent/build.gradle.kts
+++ b/instrumentation/apache-shenyu-2.4/javaagent/build.gradle.kts
@@ -12,7 +12,7 @@ muzzle {
}
dependencies {
- compileOnly("org.apache.shenyu:shenyu-web:2.4.0")
+ library("org.apache.shenyu:shenyu-web:2.4.0")
compileOnly("com.google.auto.value:auto-value-annotations")
annotationProcessor("com.google.auto.value:auto-value")
@@ -27,7 +27,7 @@ dependencies {
}
// the latest version of apache shenyu uses spring-boot 2.7
- latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.7.+")
+ latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.7.+") // related dependency
testInstrumentation(project(":instrumentation:netty:netty-4.1:javaagent"))
}
diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/build.gradle.kts
index f357a19f885d..a550982611a2 100644
--- a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/build.gradle.kts
+++ b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/build.gradle.kts
@@ -63,7 +63,7 @@ dependencies {
testImplementation("javax.xml.bind:jaxb-api:2.3.1")
// last version that does not use json protocol
- latestDepTestLibrary("com.amazonaws:aws-java-sdk-sqs:1.12.583")
+ latestDepTestLibrary("com.amazonaws:aws-java-sdk-sqs:1.12.583") // documented limitation
}
testing {
diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library-autoconfigure/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-1.11/library-autoconfigure/build.gradle.kts
index 6cf49a21c49a..d2e3ff87d5ee 100644
--- a/instrumentation/aws-sdk/aws-sdk-1.11/library-autoconfigure/build.gradle.kts
+++ b/instrumentation/aws-sdk/aws-sdk-1.11/library-autoconfigure/build.gradle.kts
@@ -20,7 +20,7 @@ dependencies {
testLibrary("com.amazonaws:aws-java-sdk-sqs:1.11.106")
// last version that does not use json protocol
- latestDepTestLibrary("com.amazonaws:aws-java-sdk-sqs:1.12.583")
+ latestDepTestLibrary("com.amazonaws:aws-java-sdk-sqs:1.12.583") // documented limitation
}
tasks {
diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/library/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-1.11/library/build.gradle.kts
index bfe844e413c4..37329705b800 100644
--- a/instrumentation/aws-sdk/aws-sdk-1.11/library/build.gradle.kts
+++ b/instrumentation/aws-sdk/aws-sdk-1.11/library/build.gradle.kts
@@ -19,7 +19,7 @@ dependencies {
testLibrary("com.amazonaws:aws-java-sdk-sns:1.11.106")
// last version that does not use json protocol
- latestDepTestLibrary("com.amazonaws:aws-java-sdk-sqs:1.12.583")
+ latestDepTestLibrary("com.amazonaws:aws-java-sdk-sqs:1.12.583") // documented limitation
}
if (!(findProperty("testLatestDeps") as Boolean)) {
diff --git a/instrumentation/couchbase/couchbase-2.0/javaagent/build.gradle.kts b/instrumentation/couchbase/couchbase-2.0/javaagent/build.gradle.kts
index be9254a911c2..3f6ce16b21e7 100644
--- a/instrumentation/couchbase/couchbase-2.0/javaagent/build.gradle.kts
+++ b/instrumentation/couchbase/couchbase-2.0/javaagent/build.gradle.kts
@@ -26,9 +26,8 @@ dependencies {
testImplementation(project(":instrumentation:couchbase:couchbase-common:testing"))
- // later versions are tested with couchbase-2.6 instrumentation
- latestDepTestLibrary("org.springframework.data:spring-data-couchbase:2.+")
- latestDepTestLibrary("com.couchbase.client:java-client:2.5.+")
+ latestDepTestLibrary("org.springframework.data:spring-data-couchbase:2.+") // see couchbase-2.6 module
+ latestDepTestLibrary("com.couchbase.client:java-client:2.5.+") // see couchbase-2.6 module
}
tasks {
diff --git a/instrumentation/couchbase/couchbase-2.6/javaagent/build.gradle.kts b/instrumentation/couchbase/couchbase-2.6/javaagent/build.gradle.kts
index 6de9e2639be8..891771afade8 100644
--- a/instrumentation/couchbase/couchbase-2.6/javaagent/build.gradle.kts
+++ b/instrumentation/couchbase/couchbase-2.6/javaagent/build.gradle.kts
@@ -29,8 +29,8 @@ dependencies {
testLibrary("org.springframework.data:spring-data-couchbase:3.1.0.RELEASE")
testLibrary("com.couchbase.client:encryption:1.0.0")
- latestDepTestLibrary("org.springframework.data:spring-data-couchbase:3.1.+")
- latestDepTestLibrary("com.couchbase.client:java-client:2.+")
+ latestDepTestLibrary("org.springframework.data:spring-data-couchbase:3.1.+") // see couchbase-3.1 module
+ latestDepTestLibrary("com.couchbase.client:java-client:2.+") // see couchbase-3.1 module
}
tasks {
diff --git a/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/build.gradle.kts b/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/build.gradle.kts
index aa65867a4f1c..8a1c1351a310 100644
--- a/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/build.gradle.kts
+++ b/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/build.gradle.kts
@@ -42,7 +42,7 @@ dependencies {
testImplementation("com.fasterxml.jackson.core:jackson-databind:2.14.2")
testImplementation("org.testcontainers:elasticsearch")
- latestDepTestLibrary("co.elastic.clients:elasticsearch-java:7.17.19")
+ latestDepTestLibrary("co.elastic.clients:elasticsearch-java:7.17.19") // native on-by-default instrumentation after this version
}
val latestDepTest = findProperty("testLatestDeps") as Boolean
diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/build.gradle.kts b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/build.gradle.kts
index 175bd3bd6ab9..dae88209c248 100644
--- a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/build.gradle.kts
+++ b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/build.gradle.kts
@@ -45,8 +45,8 @@ dependencies {
testLibrary("org.elasticsearch.plugin:transport-netty3-client:5.0.0")
testLibrary("org.elasticsearch.client:transport:5.0.0")
- latestDepTestLibrary("org.elasticsearch.plugin:transport-netty3-client:5.0.0")
- latestDepTestLibrary("org.elasticsearch.client:transport:5.0.0")
+ latestDepTestLibrary("org.elasticsearch.plugin:transport-netty3-client:5.2.+") // see elasticsearch-transport-5.3 module
+ latestDepTestLibrary("org.elasticsearch.client:transport:5.2.+") // see elasticsearch-transport-5.3 module
}
tasks {
diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5NodeClientTest.java b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5NodeClientTest.java
index b4b350c908cf..0bd700ef2383 100644
--- a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5NodeClientTest.java
+++ b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5NodeClientTest.java
@@ -43,7 +43,6 @@ static void setUp(@TempDir File esWorkingDir) {
.put("transport.type", "netty3")
.put("http.type", "netty3")
.put(CLUSTER_NAME_SETTING.getKey(), clusterName)
- .put("discovery.type", "local")
.build();
testNode =
new Node(
diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5TransportClientTest.java b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5TransportClientTest.java
index 7283c2989625..c6ce31ca9d96 100644
--- a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5TransportClientTest.java
+++ b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/transport/v5_0/Elasticsearch5TransportClientTest.java
@@ -45,7 +45,6 @@ static void setUp(@TempDir File esWorkingDir) {
.put("transport.type", "netty3")
.put("http.type", "netty3")
.put(CLUSTER_NAME_SETTING.getKey(), clusterName)
- .put("discovery.type", "local")
.build();
testNode =
new Node(
diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/build.gradle.kts b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/build.gradle.kts
index 508429dd1b42..28d86d6375d1 100644
--- a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/build.gradle.kts
+++ b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/build.gradle.kts
@@ -62,7 +62,7 @@ dependencies {
latestDepTestLibrary("org.elasticsearch.plugin:transport-netty3-client:5.+") // see elasticsearch-transport-6.0 module
latestDepTestLibrary("org.elasticsearch.client:transport:5.+") // see elasticsearch-transport-6.0 module
- latestDepTestLibrary("org.springframework.data:spring-data-elasticsearch:3.0.+")
+ latestDepTestLibrary("org.springframework.data:spring-data-elasticsearch:3.0.+") // see elasticsearch-transport-6.0 module
}
tasks {
diff --git a/instrumentation/grails-3.0/javaagent/build.gradle.kts b/instrumentation/grails-3.0/javaagent/build.gradle.kts
index 5e8fbd2e824f..f21870dbf652 100644
--- a/instrumentation/grails-3.0/javaagent/build.gradle.kts
+++ b/instrumentation/grails-3.0/javaagent/build.gradle.kts
@@ -38,8 +38,8 @@ dependencies {
testLibrary("org.springframework.boot:spring-boot-autoconfigure:$springBootVersion")
testLibrary("org.springframework.boot:spring-boot-starter-tomcat:$springBootVersion")
- latestDepTestLibrary("org.springframework.boot:spring-boot-autoconfigure:2.+")
- latestDepTestLibrary("org.springframework.boot:spring-boot-starter-tomcat:2.+")
+ latestDepTestLibrary("org.springframework.boot:spring-boot-autoconfigure:2.+") // related dependency
+ latestDepTestLibrary("org.springframework.boot:spring-boot-starter-tomcat:2.+") // related dependency
}
// testing-common pulls in groovy 4 and spock as dependencies, exclude them
diff --git a/instrumentation/graphql-java/graphql-java-12.0/javaagent/build.gradle.kts b/instrumentation/graphql-java/graphql-java-12.0/javaagent/build.gradle.kts
index c7e0cff0920a..4c21d72dea8e 100644
--- a/instrumentation/graphql-java/graphql-java-12.0/javaagent/build.gradle.kts
+++ b/instrumentation/graphql-java/graphql-java-12.0/javaagent/build.gradle.kts
@@ -22,5 +22,5 @@ dependencies {
testImplementation(project(":instrumentation:graphql-java:graphql-java-common:testing"))
- latestDepTestLibrary("com.graphql-java:graphql-java:19.+")
+ latestDepTestLibrary("com.graphql-java:graphql-java:19.+") // see graphql-java-20.0 module
}
diff --git a/instrumentation/graphql-java/graphql-java-12.0/library/build.gradle.kts b/instrumentation/graphql-java/graphql-java-12.0/library/build.gradle.kts
index 052455bdda7a..920da09c2500 100644
--- a/instrumentation/graphql-java/graphql-java-12.0/library/build.gradle.kts
+++ b/instrumentation/graphql-java/graphql-java-12.0/library/build.gradle.kts
@@ -8,5 +8,5 @@ dependencies {
testImplementation(project(":instrumentation:graphql-java:graphql-java-common:testing"))
- latestDepTestLibrary("com.graphql-java:graphql-java:19.+")
+ latestDepTestLibrary("com.graphql-java:graphql-java:19.+") // see graphql-java-20.0 module
}
diff --git a/instrumentation/hibernate/hibernate-6.0/spring-testing/build.gradle.kts b/instrumentation/hibernate/hibernate-6.0/spring-testing/build.gradle.kts
index 723a297a859d..91152bd509b9 100644
--- a/instrumentation/hibernate/hibernate-6.0/spring-testing/build.gradle.kts
+++ b/instrumentation/hibernate/hibernate-6.0/spring-testing/build.gradle.kts
@@ -18,8 +18,6 @@ dependencies {
testImplementation("org.springframework.data:spring-data-jpa:3.0.0")
springAgent("org.springframework:spring-instrument:6.0.7")
-
- latestDepTestLibrary("org.hibernate:hibernate-core:6.2.+")
}
otelJava {
diff --git a/instrumentation/jaxrs-client/jaxrs-client-2.0-testing/build.gradle.kts b/instrumentation/jaxrs-client/jaxrs-client-2.0-testing/build.gradle.kts
index d9e0504cd17a..03f14d5b8628 100644
--- a/instrumentation/jaxrs-client/jaxrs-client-2.0-testing/build.gradle.kts
+++ b/instrumentation/jaxrs-client/jaxrs-client-2.0-testing/build.gradle.kts
@@ -18,6 +18,9 @@ dependencies {
testInstrumentation(project(":instrumentation:http-url-connection:javaagent"))
testInstrumentation(project(":instrumentation:java-http-client:javaagent"))
+ // there's no test coverage beyond this, but there's no reason to believe it wouldn't work
+ // also note that this isn't really documented on supported-libraries.md because there's not
+ // really any instrumentation for it, as it just relies on other http client instrumentations
latestDepTestLibrary("org.glassfish.jersey.inject:jersey-hk2:2.+")
latestDepTestLibrary("org.glassfish.jersey.core:jersey-client:2.+")
latestDepTestLibrary("org.jboss.resteasy:resteasy-client:3.0.26.Final")
diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts
index ae7efabc72df..d7deace26eee 100644
--- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts
+++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/build.gradle.kts
@@ -46,10 +46,10 @@ dependencies {
testLibrary("org.apache.cxf:cxf-rt-transports-http-jetty:3.2.0")
testLibrary("org.apache.cxf:cxf-rt-ws-policy:3.2.0")
- latestDepTestLibrary("org.eclipse.jetty:jetty-webapp:10.+")
- latestDepTestLibrary("org.apache.cxf:cxf-rt-frontend-jaxrs:3.+")
- latestDepTestLibrary("org.apache.cxf:cxf-rt-transports-http-jetty:3.+")
- latestDepTestLibrary("org.apache.cxf:cxf-rt-ws-policy:3.+")
+ latestDepTestLibrary("org.eclipse.jetty:jetty-webapp:10.+") // documented limitation
+ latestDepTestLibrary("org.apache.cxf:cxf-rt-frontend-jaxrs:3.+") // documented limitation
+ latestDepTestLibrary("org.apache.cxf:cxf-rt-transports-http-jetty:3.+") // documented limitation
+ latestDepTestLibrary("org.apache.cxf:cxf-rt-ws-policy:3.+") // documented limitation
}
tasks.withType().configureEach {
diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts
index bc024e6d2b40..0bec377acc2d 100644
--- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts
+++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/build.gradle.kts
@@ -67,7 +67,7 @@ dependencies {
latestDepTestLibrary("org.jboss.resteasy:resteasy-undertow:3.0.+") { // see jaxrs-3.0-resteasy-3.1 module
exclude("org.jboss.resteasy", "resteasy-client")
}
- latestDepTestLibrary("io.undertow:undertow-servlet:2.2.24.Final") // 2.3 switches to Servlet 5 / Jakarta namespace
+ latestDepTestLibrary("io.undertow:undertow-servlet:2.2.24.Final") // see jaxrs-3.0-resteasy-3.1 module
}
tasks {
diff --git a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/build.gradle.kts b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/build.gradle.kts
index 569ff6dd661b..67436b728b59 100644
--- a/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/build.gradle.kts
+++ b/instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/build.gradle.kts
@@ -60,9 +60,9 @@ dependencies {
testLibrary("org.jboss.resteasy:resteasy-servlet-initializer:3.1.0.Final")
// artifact name changed from 'resteasy-jaxrs' to 'resteasy-core' starting from version 4.0.0
- latestDepTestLibrary("org.jboss.resteasy:resteasy-core:5.+")
- latestDepTestLibrary("org.jboss.resteasy:resteasy-servlet-initializer:5.+")
- latestDepTestLibrary("org.jboss.resteasy:resteasy-undertow:5.+") {
+ latestDepTestLibrary("org.jboss.resteasy:resteasy-core:5.+") // documented limitation
+ latestDepTestLibrary("org.jboss.resteasy:resteasy-servlet-initializer:5.+") // documented limitation
+ latestDepTestLibrary("org.jboss.resteasy:resteasy-undertow:5.+") { // documented limitation
exclude("org.jboss.resteasy", "resteasy-client")
}
}
diff --git a/instrumentation/jaxws/jaxws-2.0-metro-2.2-testing/build.gradle.kts b/instrumentation/jaxws/jaxws-2.0-metro-2.2-testing/build.gradle.kts
index f1673472b00e..95d3124c6c7c 100644
--- a/instrumentation/jaxws/jaxws-2.0-metro-2.2-testing/build.gradle.kts
+++ b/instrumentation/jaxws/jaxws-2.0-metro-2.2-testing/build.gradle.kts
@@ -18,8 +18,8 @@ dependencies {
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
testInstrumentation(project(":instrumentation:jetty:jetty-8.0:javaagent"))
- latestDepTestLibrary("com.sun.xml.ws:jaxws-rt:2.+")
- latestDepTestLibrary("com.sun.xml.stream.buffer:streambuffer:1.+")
+ latestDepTestLibrary("com.sun.xml.ws:jaxws-rt:2.+") // see jaxws-3.0-metro-2.2-testing module
+ latestDepTestLibrary("com.sun.xml.stream.buffer:streambuffer:1.+") // see jaxws-3.0-metro-2.2-testing module
}
tasks.withType().configureEach {
diff --git a/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/build.gradle.kts b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/build.gradle.kts
index 5ed3ec89bbcf..41bf1d5bfe1c 100644
--- a/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/build.gradle.kts
+++ b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/build.gradle.kts
@@ -40,8 +40,8 @@ dependencies {
testImplementation("javax.annotation:javax.annotation-api:1.2")
testImplementation("com.sun.xml.messaging.saaj:saaj-impl:1.5.2")
- latestDepTestLibrary("org.apache.cxf:cxf-rt-frontend-jaxws:3.+")
- latestDepTestLibrary("org.apache.cxf:cxf-rt-transports-http:3.+")
+ latestDepTestLibrary("org.apache.cxf:cxf-rt-frontend-jaxws:3.+") // documented limitation
+ latestDepTestLibrary("org.apache.cxf:cxf-rt-transports-http:3.+") // documented limitation
}
tasks.withType().configureEach {
diff --git a/instrumentation/jdbc/javaagent/build.gradle.kts b/instrumentation/jdbc/javaagent/build.gradle.kts
index 07bdea12d3ed..32234d8386d8 100644
--- a/instrumentation/jdbc/javaagent/build.gradle.kts
+++ b/instrumentation/jdbc/javaagent/build.gradle.kts
@@ -32,7 +32,8 @@ dependencies {
testLibrary("com.zaxxer:HikariCP:2.4.0")
testLibrary("com.mchange:c3p0:0.9.5")
- latestDepTestLibrary("org.apache.derby:derby:10.14.+")
+ // some classes in earlier versions of derby were split out into derbytools in later versions
+ latestDepTestLibrary("org.apache.derby:derbytools:+")
testImplementation(project(":instrumentation:jdbc:testing"))
diff --git a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/build.gradle.kts b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/build.gradle.kts
index 16a485cd4b1d..03531fb9cac4 100644
--- a/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/build.gradle.kts
+++ b/instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/build.gradle.kts
@@ -10,5 +10,5 @@ dependencies {
testImplementation(project(":instrumentation:jetty-httpclient::jetty-httpclient-9.2:testing"))
- latestDepTestLibrary("org.eclipse.jetty:jetty-client:9.+")
+ latestDepTestLibrary("org.eclipse.jetty:jetty-client:9.+") // documented limitation
}
diff --git a/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts b/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts
index 6e133bb309de..6cbda57bb535 100644
--- a/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts
+++ b/instrumentation/jetty/jetty-11.0/javaagent/build.gradle.kts
@@ -22,7 +22,7 @@ dependencies {
// jetty-servlet does not exist in jetty 12, so we don't need to explicitly pin it to 11.+
testLibrary("org.eclipse.jetty:jetty-servlet:11.0.0")
- latestDepTestLibrary("org.eclipse.jetty:jetty-server:11.+")
+ latestDepTestLibrary("org.eclipse.jetty:jetty-server:11.+") // see jetty-12.0 module
}
otelJava {
diff --git a/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts b/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts
index dfdbac3417e7..2985fd0046c5 100644
--- a/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts
+++ b/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts
@@ -27,11 +27,10 @@ dependencies {
testInstrumentation(project(":instrumentation:servlet:servlet-5.0:javaagent"))
testInstrumentation(project(":instrumentation:servlet:servlet-common:javaagent"))
- latestDepTestLibrary("jakarta.el:jakarta.el-api:4.+")
- latestDepTestLibrary("jakarta.faces:jakarta.faces-api:3.+")
- latestDepTestLibrary("org.glassfish:jakarta.faces:3.+")
// JSF 4+ requires CDI instead of BeanManager, the test should be upgraded first
- // latestDepTestLibrary("org.glassfish:jakarta.faces:4.+")
+ latestDepTestLibrary("jakarta.el:jakarta.el-api:4.+") // documented limitation
+ latestDepTestLibrary("jakarta.faces:jakarta.faces-api:3.+") // documented limitation
+ latestDepTestLibrary("org.glassfish:jakarta.faces:3.+") // documented limitation
}
tasks {
diff --git a/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts b/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts
index e1da9bfd350e..ff215c68b8f4 100644
--- a/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts
+++ b/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts
@@ -27,11 +27,10 @@ dependencies {
testInstrumentation(project(":instrumentation:servlet:servlet-5.0:javaagent"))
testInstrumentation(project(":instrumentation:servlet:servlet-common:javaagent"))
- latestDepTestLibrary("jakarta.el:jakarta.el-api:4.+")
- latestDepTestLibrary("org.apache.myfaces.core:myfaces-api:3.+")
- latestDepTestLibrary("org.apache.myfaces.core:myfaces-impl:3.+")
// JSF 4+ requires CDI instead of BeanManager, the test should be upgraded first
- // latestDepTestLibrary("org.apache.myfaces.core:myfaces-impl:4.+")
+ latestDepTestLibrary("jakarta.el:jakarta.el-api:4.+") // documented limitation
+ latestDepTestLibrary("org.apache.myfaces.core:myfaces-api:3.+") // documented limitation
+ latestDepTestLibrary("org.apache.myfaces.core:myfaces-impl:3.+") // documented limitation
}
tasks {
diff --git a/instrumentation/jsp-2.3/javaagent/build.gradle.kts b/instrumentation/jsp-2.3/javaagent/build.gradle.kts
index fc36f60a5036..4e9539b44317 100644
--- a/instrumentation/jsp-2.3/javaagent/build.gradle.kts
+++ b/instrumentation/jsp-2.3/javaagent/build.gradle.kts
@@ -28,8 +28,8 @@ muzzle {
dependencies {
// compiling against tomcat 7.0.20 because there seems to be some issues with Tomcat's dependency < 7.0.20
compileOnly("org.apache.tomcat:tomcat-jasper:7.0.20")
- compileOnly("javax.servlet.jsp:javax.servlet.jsp-api:2.3.0")
- compileOnly("javax.servlet:javax.servlet-api:3.1.0")
+ library("javax.servlet.jsp:javax.servlet.jsp-api:2.3.0")
+ library("javax.servlet:javax.servlet-api:3.1.0")
testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent"))
testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent"))
@@ -40,11 +40,9 @@ dependencies {
testLibrary("org.apache.tomcat.embed:tomcat-embed-logging-juli:7.0.37")
testLibrary("org.apache.tomcat.embed:tomcat-embed-jasper:7.0.37")
- latestDepTestLibrary("javax.servlet.jsp:javax.servlet.jsp-api:+")
- latestDepTestLibrary("javax.servlet:javax.servlet-api:+")
- latestDepTestLibrary("org.apache.tomcat.embed:tomcat-embed-core:9.+")
- latestDepTestLibrary("org.apache.tomcat.embed:tomcat-embed-jasper:9.+")
- latestDepTestLibrary("org.apache.tomcat.embed:tomcat-embed-logging-juli:9.+")
+ latestDepTestLibrary("org.apache.tomcat.embed:tomcat-embed-core:9.+") // documented limitation
+ latestDepTestLibrary("org.apache.tomcat.embed:tomcat-embed-jasper:9.+") // documented limitation
+ latestDepTestLibrary("org.apache.tomcat.embed:tomcat-embed-logging-juli:9.+") // documented limitation
}
tasks.withType().configureEach {
diff --git a/instrumentation/ktor/ktor-2.0/javaagent/build.gradle.kts b/instrumentation/ktor/ktor-2.0/javaagent/build.gradle.kts
index 2c0398e73b8f..d2a8b8880ad7 100644
--- a/instrumentation/ktor/ktor-2.0/javaagent/build.gradle.kts
+++ b/instrumentation/ktor/ktor-2.0/javaagent/build.gradle.kts
@@ -46,10 +46,10 @@ dependencies {
testLibrary("io.ktor:ktor-server-netty:$ktorVersion")
testLibrary("io.ktor:ktor-client-cio:$ktorVersion")
- latestDepTestLibrary("io.ktor:ktor-client-core:2.+")
- latestDepTestLibrary("io.ktor:ktor-server-core:2.+")
- latestDepTestLibrary("io.ktor:ktor-server-netty:2.+")
- latestDepTestLibrary("io.ktor:ktor-client-cio:2.+")
+ latestDepTestLibrary("io.ktor:ktor-client-core:2.+") // see ktor-3.0 module
+ latestDepTestLibrary("io.ktor:ktor-server-core:2.+") // see ktor-3.0 module
+ latestDepTestLibrary("io.ktor:ktor-server-netty:2.+") // see ktor-3.0 module
+ latestDepTestLibrary("io.ktor:ktor-client-cio:2.+") // see ktor-3.0 module
}
kotlin {
diff --git a/instrumentation/ktor/ktor-2.0/library/build.gradle.kts b/instrumentation/ktor/ktor-2.0/library/build.gradle.kts
index 45f9669717f4..a7cf033ab8fb 100644
--- a/instrumentation/ktor/ktor-2.0/library/build.gradle.kts
+++ b/instrumentation/ktor/ktor-2.0/library/build.gradle.kts
@@ -24,10 +24,10 @@ dependencies {
testLibrary("io.ktor:ktor-server-netty:$ktorVersion")
testLibrary("io.ktor:ktor-client-cio:$ktorVersion")
- latestDepTestLibrary("io.ktor:ktor-client-core:2.+")
- latestDepTestLibrary("io.ktor:ktor-server-core:2.+")
- latestDepTestLibrary("io.ktor:ktor-server-netty:2.+")
- latestDepTestLibrary("io.ktor:ktor-client-cio:2.+")
+ latestDepTestLibrary("io.ktor:ktor-client-core:2.+") // see ktor-3.0 module
+ latestDepTestLibrary("io.ktor:ktor-server-core:2.+") // see ktor-3.0 module
+ latestDepTestLibrary("io.ktor:ktor-server-netty:2.+") // see ktor-3.0 module
+ latestDepTestLibrary("io.ktor:ktor-client-cio:2.+") // see ktor-3.0 module
}
kotlin {
diff --git a/instrumentation/kubernetes-client-7.0/javaagent/build.gradle.kts b/instrumentation/kubernetes-client-7.0/javaagent/build.gradle.kts
index d3d085e6dfbe..0a707eea1eca 100644
--- a/instrumentation/kubernetes-client-7.0/javaagent/build.gradle.kts
+++ b/instrumentation/kubernetes-client-7.0/javaagent/build.gradle.kts
@@ -16,7 +16,7 @@ dependencies {
testInstrumentation(project(":instrumentation:okhttp:okhttp-3.0:javaagent"))
- latestDepTestLibrary("io.kubernetes:client-java-api:19.+")
+ latestDepTestLibrary("io.kubernetes:client-java-api:19.+") // see test suite below
}
testing {
diff --git a/instrumentation/netty/netty-3.8/javaagent/build.gradle.kts b/instrumentation/netty/netty-3.8/javaagent/build.gradle.kts
index 2d1f7745aeb5..c04a51c62b75 100644
--- a/instrumentation/netty/netty-3.8/javaagent/build.gradle.kts
+++ b/instrumentation/netty/netty-3.8/javaagent/build.gradle.kts
@@ -32,7 +32,7 @@ dependencies {
testLibrary("com.ning:async-http-client:1.8.0")
latestDepTestLibrary("io.netty:netty:3.+") // see netty-4.0 module
- latestDepTestLibrary("com.ning:async-http-client:1.9.+")
+ latestDepTestLibrary("com.ning:async-http-client:1.9.+") // see netty-4.0 module
}
// We need to force the dependency to the earliest supported version because other libraries declare newer versions.
diff --git a/instrumentation/play/play-mvc/play-mvc-2.4/javaagent/build.gradle.kts b/instrumentation/play/play-mvc/play-mvc-2.4/javaagent/build.gradle.kts
index 0d046f74fbdf..f6ae9370241c 100644
--- a/instrumentation/play/play-mvc/play-mvc-2.4/javaagent/build.gradle.kts
+++ b/instrumentation/play/play-mvc/play-mvc-2.4/javaagent/build.gradle.kts
@@ -45,7 +45,7 @@ dependencies {
latestDepTestLibrary("com.typesafe.play:play-java_2.11:2.5.+") // see play-2.6 module
latestDepTestLibrary("com.typesafe.play:play-java-ws_2.11:2.5.+") // see play-2.6 module
- latestDepTestLibrary("com.typesafe.play:play-test_2.11:2.5.+")
+ latestDepTestLibrary("com.typesafe.play:play-test_2.11:2.5.+") // see play-2.6 module
}
testing {
diff --git a/instrumentation/play/play-ws/play-ws-1.0/javaagent/build.gradle.kts b/instrumentation/play/play-ws/play-ws-1.0/javaagent/build.gradle.kts
index f3861210cba2..d43ca9dd5e28 100644
--- a/instrumentation/play/play-ws/play-ws-1.0/javaagent/build.gradle.kts
+++ b/instrumentation/play/play-ws/play-ws-1.0/javaagent/build.gradle.kts
@@ -37,5 +37,5 @@ dependencies {
testInstrumentation(project(":instrumentation:akka:akka-http-10.0:javaagent"))
testInstrumentation(project(":instrumentation:akka:akka-actor-2.3:javaagent"))
- latestDepTestLibrary("com.typesafe.play:play-ahc-ws-standalone_$scalaVersion:1.+")
+ latestDepTestLibrary("com.typesafe.play:play-ahc-ws-standalone_$scalaVersion:1.+") // see play-ws-2.0 module
}
diff --git a/instrumentation/play/play-ws/play-ws-2.0/javaagent/build.gradle.kts b/instrumentation/play/play-ws/play-ws-2.0/javaagent/build.gradle.kts
index 6ead5f1cf68b..b1330c2b710b 100644
--- a/instrumentation/play/play-ws/play-ws-2.0/javaagent/build.gradle.kts
+++ b/instrumentation/play/play-ws/play-ws-2.0/javaagent/build.gradle.kts
@@ -43,5 +43,5 @@ dependencies {
testInstrumentation(project(":instrumentation:akka:akka-http-10.0:javaagent"))
testInstrumentation(project(":instrumentation:akka:akka-actor-2.3:javaagent"))
- latestDepTestLibrary("com.typesafe.play:play-ahc-ws-standalone_$scalaVersion:2.0.+")
+ latestDepTestLibrary("com.typesafe.play:play-ahc-ws-standalone_$scalaVersion:2.0.+") // see play-ws-2.1 module
}
diff --git a/instrumentation/reactor/reactor-kafka-1.0/javaagent/build.gradle.kts b/instrumentation/reactor/reactor-kafka-1.0/javaagent/build.gradle.kts
index 5f6e527c4897..58274f0ef66b 100644
--- a/instrumentation/reactor/reactor-kafka-1.0/javaagent/build.gradle.kts
+++ b/instrumentation/reactor/reactor-kafka-1.0/javaagent/build.gradle.kts
@@ -28,12 +28,11 @@ dependencies {
testInstrumentation(project(":instrumentation:kafka:kafka-clients:kafka-clients-0.11:javaagent"))
testInstrumentation(project(":instrumentation:reactor:reactor-3.1:javaagent"))
+ testInstrumentation(project(":instrumentation:reactor:reactor-3.4:javaagent"))
testImplementation(project(":instrumentation:reactor:reactor-kafka-1.0:testing"))
testLibrary("io.projectreactor.kafka:reactor-kafka:1.0.0.RELEASE")
-
- latestDepTestLibrary("io.projectreactor:reactor-core:3.4.+")
}
val testLatestDeps = findProperty("testLatestDeps") as Boolean
diff --git a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts
index d2c002fdac9c..19f00680ec9d 100644
--- a/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts
+++ b/instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/build.gradle.kts
@@ -34,15 +34,13 @@ dependencies {
testInstrumentation(project(":instrumentation:reactor:reactor-netty:reactor-netty-0.9:javaagent"))
testInstrumentation(project(":instrumentation:netty:netty-4.1:javaagent"))
testInstrumentation(project(":instrumentation:reactor:reactor-3.1:javaagent"))
+ testInstrumentation(project(":instrumentation:reactor:reactor-3.4:javaagent"))
// using 3.4.3 to avoid the "Spec. Rule 1.3" issue in reactor-core during tests
// https://github.com/reactor/reactor-core/issues/2579
testLibrary("io.projectreactor:reactor-test:3.4.3")
testLibrary("io.projectreactor:reactor-core:3.4.3")
testImplementation(project(":instrumentation-annotations"))
-
- latestDepTestLibrary("io.projectreactor:reactor-core:3.4.+")
- latestDepTestLibrary("io.projectreactor.netty:reactor-netty-http:1.0.+")
}
tasks {
diff --git a/instrumentation/scala-fork-join-2.8/javaagent/build.gradle.kts b/instrumentation/scala-fork-join-2.8/javaagent/build.gradle.kts
index 8b529e6ce901..69d3fcbeb342 100644
--- a/instrumentation/scala-fork-join-2.8/javaagent/build.gradle.kts
+++ b/instrumentation/scala-fork-join-2.8/javaagent/build.gradle.kts
@@ -1,5 +1,6 @@
plugins {
id("otel.javaagent-instrumentation")
+ id("otel.scala-conventions")
}
muzzle {
@@ -16,7 +17,9 @@ dependencies {
library("org.scala-lang:scala-library:2.8.0")
- latestDepTestLibrary("org.scala-lang:scala-library:2.11.+")
+ // scala's ForkJoinPool was turned into an alias in scala 2.12 (which is why muzzle doesn't pass
+ // on that version) and was removed completely in scala 2.13
+ latestDepTestLibrary("org.scala-lang:scala-library:2.12.+") // no longer applicable
testImplementation(project(":instrumentation:executors:testing"))
}
diff --git a/instrumentation/scala-fork-join-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ForkJoinPoolBridge.java b/instrumentation/scala-fork-join-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ForkJoinPoolBridge.java
deleted file mode 100644
index b472beec343e..000000000000
--- a/instrumentation/scala-fork-join-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ForkJoinPoolBridge.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.instrumentation.scalaexecutors;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import org.jetbrains.annotations.NotNull;
-import scala.concurrent.forkjoin.ForkJoinPool;
-import scala.concurrent.forkjoin.ForkJoinTask;
-
-public class ForkJoinPoolBridge implements ExecutorService {
-
- private final ForkJoinPool delegate;
-
- public ForkJoinPoolBridge(ForkJoinPool delegate) {
- this.delegate = delegate;
- }
-
- @Override
- public void shutdown() {
- delegate.shutdown();
- }
-
- @NotNull
- @Override
- public List shutdownNow() {
- return delegate.shutdownNow();
- }
-
- @Override
- public boolean isShutdown() {
- return delegate.isShutdown();
- }
-
- @Override
- public boolean isTerminated() {
- return delegate.isTerminated();
- }
-
- @Override
- public boolean awaitTermination(long timeout, @NotNull TimeUnit unit)
- throws InterruptedException {
- return delegate.awaitTermination(timeout, unit);
- }
-
- @NotNull
- @Override
- public Future submit(@NotNull Callable task) {
- return delegate.submit(task);
- }
-
- @NotNull
- @Override
- public Future submit(@NotNull Runnable task, T result) {
- return delegate.submit(task, result);
- }
-
- @NotNull
- @Override
- public Future> submit(@NotNull Runnable task) {
- return delegate.submit(task);
- }
-
- @NotNull
- @Override
- public List> invokeAll(@NotNull Collection extends Callable> tasks) {
- return delegate.invokeAll(tasks);
- }
-
- @NotNull
- @Override
- public List> invokeAll(
- @NotNull Collection extends Callable> tasks, long timeout, @NotNull TimeUnit unit) {
- // Scala 2.8's ForkJoinPool doesn't have corresponding method
- return delegate.invokeAll(tasks);
- }
-
- @NotNull
- @Override
- public T invokeAny(@NotNull Collection extends Callable> tasks)
- throws InterruptedException, ExecutionException {
- // Scala 2.8's ForkJoinPool doesn't have corresponding method
- return delegate.submit(tasks.iterator().next()).get();
- }
-
- @Override
- public T invokeAny(
- @NotNull Collection extends Callable> tasks, long timeout, @NotNull TimeUnit unit)
- throws InterruptedException, ExecutionException {
- // Scala 2.8's ForkJoinPool doesn't have corresponding method
- return delegate.submit(tasks.iterator().next()).get();
- }
-
- public T invoke(ForkJoinTask task) {
- return delegate.invoke(task);
- }
-
- @Override
- public void execute(@NotNull Runnable command) {
- delegate.execute(command);
- }
-
- public void execute(ForkJoinTask task) {
- delegate.execute(task);
- }
-}
diff --git a/instrumentation/scala-fork-join-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ScalaAsyncChild.java b/instrumentation/scala-fork-join-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ScalaAsyncChild.java
deleted file mode 100644
index c6f0f1554568..000000000000
--- a/instrumentation/scala-fork-join-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/scalaexecutors/ScalaAsyncChild.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.instrumentation.scalaexecutors;
-
-import io.opentelemetry.api.GlobalOpenTelemetry;
-import io.opentelemetry.api.trace.Tracer;
-import io.opentelemetry.javaagent.instrumentation.executors.TestTask;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicBoolean;
-import scala.concurrent.forkjoin.ForkJoinTask;
-
-final class ScalaAsyncChild extends ForkJoinTask