diff --git a/.github/scripts/find-instrumentation-with-upper-version-limits.sh b/.github/scripts/find-instrumentation-with-upper-version-limits.sh index a1072992cb7b..f12bc3cd02e8 100755 --- a/.github/scripts/find-instrumentation-with-upper-version-limits.sh +++ b/.github/scripts/find-instrumentation-with-upper-version-limits.sh @@ -3,4 +3,8 @@ grep -r --include build.gradle.kts latestDepTestLibrary instrumentation \ | grep -v :+\" \ | grep -v "// see .* module" \ - | grep -v "// documented limitation" + | grep -v "// see test suite below" \ + | grep -v "// documented limitation" \ + | grep -v "// related dependency" \ + | grep -v "// native on-by-default instrumentation after this version" \ + | grep -vF ":+\"\)" diff --git a/docs/supported-libraries.md b/docs/supported-libraries.md index 12ebadfb9b5d..97daa9086d1f 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 | @@ -142,7 +143,7 @@ These are the supported libraries and frameworks: | [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 aa93476f592b..fcb54630be2d 100644 --- a/instrumentation/couchbase/couchbase-2.6/javaagent/build.gradle.kts +++ b/instrumentation/couchbase/couchbase-2.6/javaagent/build.gradle.kts @@ -30,8 +30,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..b94a335f8861 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 @@ -9,7 +9,7 @@ dependencies { testLibrary("org.jboss.resteasy:resteasy-client:3.0.5.Final") // ^ This version has timeouts https://issues.redhat.com/browse/RESTEASY-975 testLibrary("org.apache.cxf:cxf-rt-rs-client:3.1.0") - // Doesn't work with CXF 3.0.x because their context is wrong: + // Doesn't work with CXF 3.0.x because its context is wrong: // https://github.com/apache/cxf/commit/335c7bad2436f08d6d54180212df5a52157c9f21 testImplementation("javax.xml.bind:jaxb-api:2.2.3") @@ -17,11 +17,6 @@ dependencies { testInstrumentation(project(":instrumentation:apache-httpclient:apache-httpclient-4.0:javaagent")) testInstrumentation(project(":instrumentation:http-url-connection:javaagent")) testInstrumentation(project(":instrumentation:java-http-client:javaagent")) - - 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") - latestDepTestLibrary("org.apache.cxf:cxf-rt-rs-client:3.+") } // Requires old Guava. Can't use enforcedPlatform since predates BOM 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..758213202cde 100644 --- a/instrumentation/jsp-2.3/javaagent/build.gradle.kts +++ b/instrumentation/jsp-2.3/javaagent/build.gradle.kts @@ -40,11 +40,11 @@ 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("javax.servlet.jsp:javax.servlet.jsp-api:+") // documented limitation + latestDepTestLibrary("javax.servlet:javax.servlet-api:+") // documented limitation + 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..c06ffe153ad5 100644 --- a/instrumentation/scala-fork-join-2.8/javaagent/build.gradle.kts +++ b/instrumentation/scala-fork-join-2.8/javaagent/build.gradle.kts @@ -16,7 +16,8 @@ dependencies { library("org.scala-lang:scala-library:2.8.0") - latestDepTestLibrary("org.scala-lang:scala-library:2.11.+") + // pinning the version for testLatestDeps isn't needed because scala's ForkJoinPool + // is just an alias to java.util.concurrent.ForkJoinPool starting in scala 2.12 testImplementation(project(":instrumentation:executors:testing")) } diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts index 81c3352b56ce..0cdd9c4f595d 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-batch-3.0/javaagent/build.gradle.kts @@ -19,7 +19,7 @@ dependencies { testInstrumentation(project(":instrumentation:spring:spring-core-2.0:javaagent")) // spring batch 5.0 uses spring framework 6.0 - latestDepTestLibrary("org.springframework.batch:spring-batch-core:4.+") + latestDepTestLibrary("org.springframework.batch:spring-batch-core:4.+") // documented limitation } tasks { diff --git a/instrumentation/spring/spring-cloud-aws-3.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-cloud-aws-3.0/javaagent/build.gradle.kts index 67ceebcfbfd4..43d9aab933b3 100644 --- a/instrumentation/spring/spring-cloud-aws-3.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-cloud-aws-3.0/javaagent/build.gradle.kts @@ -25,9 +25,6 @@ dependencies { testImplementation("io.awspring.cloud:spring-cloud-aws-starter-sqs:3.0.0") testLibrary("org.springframework.boot:spring-boot-starter-test:3.0.0") testLibrary("org.springframework.boot:spring-boot-starter-web:3.0.0") - - // current latest release 3.3.0-M1 has parent that is from central - latestDepTestLibrary("io.awspring.cloud:spring-cloud-aws-starter-sqs:3.2.1") } otelJava { diff --git a/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.0/javaagent/build.gradle.kts index 358acd68f184..f07a178ba39e 100644 --- a/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.0/javaagent/build.gradle.kts @@ -23,8 +23,8 @@ dependencies { testLibrary("org.springframework.boot:spring-boot-starter-test:2.0.0.RELEASE") - latestDepTestLibrary("org.springframework.cloud:spring-cloud-starter-gateway:2.1.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.1.+") + latestDepTestLibrary("org.springframework.cloud:spring-cloud-starter-gateway:2.1.+") // see spring-cloud-gateway-2.2:testing module + latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.1.+") // see spring-cloud-gateway-2.2:testing module } tasks.withType().configureEach { diff --git a/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.2/testing/build.gradle.kts b/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.2/testing/build.gradle.kts index a1732e4b468c..bf0a90a3cdbd 100644 --- a/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.2/testing/build.gradle.kts +++ b/instrumentation/spring/spring-cloud-gateway/spring-cloud-gateway-2.2/testing/build.gradle.kts @@ -13,9 +13,6 @@ dependencies { testLibrary("org.springframework.cloud:spring-cloud-starter-gateway:2.2.0.RELEASE") testLibrary("org.springframework.boot:spring-boot-starter-test:2.2.0.RELEASE") - - // current latest spring cloud is not compatible with spring boot 3.4.0 - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:3.3.+") } tasks.withType().configureEach { diff --git a/instrumentation/spring/spring-data/spring-data-1.8/javaagent/build.gradle.kts b/instrumentation/spring/spring-data/spring-data-1.8/javaagent/build.gradle.kts index 666568cfcc12..6222c25ee933 100644 --- a/instrumentation/spring/spring-data/spring-data-1.8/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-data/spring-data-1.8/javaagent/build.gradle.kts @@ -39,10 +39,10 @@ dependencies { testImplementation("org.hsqldb:hsqldb:2.0.0") // limit to spring 5; spring 6 is tested in its separate module - latestDepTestLibrary("org.hibernate:hibernate-entitymanager:5.+") - latestDepTestLibrary("org.springframework.data:spring-data-commons:2.+") - latestDepTestLibrary("org.springframework.data:spring-data-jpa:2.+") - latestDepTestLibrary("org.springframework:spring-test:5.+") + latestDepTestLibrary("org.hibernate:hibernate-entitymanager:5.+") // see spring-data-3.0:testing module + latestDepTestLibrary("org.springframework.data:spring-data-commons:2.+") // see spring-data-3.0:testing module + latestDepTestLibrary("org.springframework.data:spring-data-jpa:2.+") // see spring-data-3.0:testing module + latestDepTestLibrary("org.springframework:spring-test:5.+") // see spring-data-3.0:testing module } tasks { diff --git a/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts b/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts index ea8f4549deb6..ae7755f0fca2 100644 --- a/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts +++ b/instrumentation/spring/spring-data/spring-data-3.0/testing/build.gradle.kts @@ -20,8 +20,6 @@ dependencies { testImplementation("org.hsqldb:hsqldb:2.0.0") testImplementation("com.h2database:h2:1.4.197") testImplementation("io.r2dbc:r2dbc-h2:1.0.0.RELEASE") - - latestDepTestLibrary("org.hibernate.orm:hibernate-core:6.2.+") } otelJava { diff --git a/instrumentation/spring/spring-integration-4.1/javaagent/build.gradle.kts b/instrumentation/spring/spring-integration-4.1/javaagent/build.gradle.kts index b88657d39d20..aba0ea05a7e0 100644 --- a/instrumentation/spring/spring-integration-4.1/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-integration-4.1/javaagent/build.gradle.kts @@ -33,11 +33,11 @@ dependencies { testImplementation("javax.servlet:javax.servlet-api:3.1.0") - latestDepTestLibrary("org.springframework.integration:spring-integration-core:5.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter:2.+") - latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream:3.+") - latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream-binder-rabbit:3.+") + latestDepTestLibrary("org.springframework.integration:spring-integration-core:5.+") // documented limitation + latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.+") // documented limitation + latestDepTestLibrary("org.springframework.boot:spring-boot-starter:2.+") // documented limitation + latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream:3.+") // documented limitation + latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream-binder-rabbit:3.+") // documented limitation } tasks { diff --git a/instrumentation/spring/spring-integration-4.1/library/build.gradle.kts b/instrumentation/spring/spring-integration-4.1/library/build.gradle.kts index 37a6a07138e1..f32dcf2c61d5 100644 --- a/instrumentation/spring/spring-integration-4.1/library/build.gradle.kts +++ b/instrumentation/spring/spring-integration-4.1/library/build.gradle.kts @@ -15,11 +15,11 @@ dependencies { testLibrary("org.springframework.cloud:spring-cloud-stream:2.2.1.RELEASE") testLibrary("org.springframework.cloud:spring-cloud-stream-binder-rabbit:2.2.1.RELEASE") - latestDepTestLibrary("org.springframework.integration:spring-integration-core:5.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter:2.+") - latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream:3.+") - latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream-binder-rabbit:3.+") + latestDepTestLibrary("org.springframework.integration:spring-integration-core:5.+") // documented limitation + latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.+") // documented limitation + latestDepTestLibrary("org.springframework.boot:spring-boot-starter:2.+") // documented limitation + latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream:3.+") // documented limitation + latestDepTestLibrary("org.springframework.cloud:spring-cloud-stream-binder-rabbit:3.+") // documented limitation } tasks { diff --git a/instrumentation/spring/spring-jms/spring-jms-2.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-jms/spring-jms-2.0/javaagent/build.gradle.kts index dc7b41c7fdf5..5b74d91f8fd3 100644 --- a/instrumentation/spring/spring-jms/spring-jms-2.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-jms/spring-jms-2.0/javaagent/build.gradle.kts @@ -37,7 +37,7 @@ dependencies { exclude("org.jboss.naming", "jnpserver") } - latestDepTestLibrary("org.springframework:spring-jms:5.+") + latestDepTestLibrary("org.springframework:spring-jms:5.+") // see spring-jms-6.0 module } testing { diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts b/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts index 5b5818e627ad..7cdd7bbe514c 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-3.1/javaagent/build.gradle.kts @@ -37,9 +37,9 @@ dependencies { testLibrary("org.springframework.boot:spring-boot-starter-web:1.5.17.RELEASE") testLibrary("org.springframework.boot:spring-boot-starter-security:1.5.17.RELEASE") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-web:2.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-security:2.+") + latestDepTestLibrary("org.springframework.boot:spring-boot-starter-test:2.+") // see spring-webmvc-6.0 module + latestDepTestLibrary("org.springframework.boot:spring-boot-starter-web:2.+") // see spring-webmvc-6.0 module + latestDepTestLibrary("org.springframework.boot:spring-boot-starter-security:2.+") // see spring-webmvc-6.0 module } tasks.withType().configureEach { diff --git a/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts b/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts index b89aa92c3042..99ef818ea7e3 100644 --- a/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts +++ b/instrumentation/spring/spring-ws-2.0/javaagent/build.gradle.kts @@ -14,6 +14,15 @@ muzzle { } } +val latestDepTest = findProperty("testLatestDeps") as Boolean + +// spring-ws 4 (spring 6) requires java 17 +if (latestDepTest) { + otelJava { + minJavaVersionSupported.set(JavaVersion.VERSION_17) + } +} + sourceSets { test { resources { @@ -38,9 +47,6 @@ dependencies { testLibrary("org.springframework.boot:spring-boot-starter-web-services:2.0.0.RELEASE") testLibrary("org.springframework.boot:spring-boot-starter-web:2.0.0.RELEASE") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-web-services:2.+") - latestDepTestLibrary("org.springframework.boot:spring-boot-starter-web:2.+") - testImplementation("wsdl4j:wsdl4j:1.6.3") testImplementation("com.sun.xml.messaging.saaj:saaj-impl:1.5.2") testImplementation("javax.xml.bind:jaxb-api:2.2.11") diff --git a/instrumentation/struts/struts-2.3/javaagent/build.gradle.kts b/instrumentation/struts/struts-2.3/javaagent/build.gradle.kts index 4dabe129d9a3..dadc6354085f 100644 --- a/instrumentation/struts/struts-2.3/javaagent/build.gradle.kts +++ b/instrumentation/struts/struts-2.3/javaagent/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { testInstrumentation(project(":instrumentation:jetty:jetty-8.0:javaagent")) testInstrumentation(project(":instrumentation:struts:struts-7.0:javaagent")) - latestDepTestLibrary("org.apache.struts:struts2-core:6.0.+") + latestDepTestLibrary("org.apache.struts:struts2-core:6.0.+") // see struts2-7.0 module } tasks.withType().configureEach { diff --git a/instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/javaagent/build.gradle.kts b/instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/javaagent/build.gradle.kts index b35cab840bd8..ea99b7ca9e28 100644 --- a/instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/javaagent/build.gradle.kts +++ b/instrumentation/vertx/vertx-http-client/vertx-http-client-3.0/javaagent/build.gradle.kts @@ -27,9 +27,8 @@ dependencies { testInstrumentation(project(":instrumentation:netty:netty-4.0:javaagent")) testInstrumentation(project(":instrumentation:netty:netty-4.1:javaagent")) - // Vert.x 4.0 is incompatible with our tests. // 3.9.7 Requires Netty 4.1.60, no other version works with it. - latestDepTestLibrary(enforcedPlatform("io.netty:netty-bom:4.1.60.Final")) + latestDepTestLibrary(enforcedPlatform("io.netty:netty-bom:4.1.60.Final")) // see vertx-http-client-4.0 module latestDepTestLibrary("io.vertx:vertx-core:3.+") // see vertx-http-client-4.0 module latestDepTestLibrary("io.vertx:vertx-codegen:3.+") // see vertx-http-client-4.0 module latestDepTestLibrary("io.vertx:vertx-docgen:3.+") // see vertx-http-client-4.0 module diff --git a/instrumentation/wicket-8.0/wicket8-testing/build.gradle.kts b/instrumentation/wicket-8.0/wicket8-testing/build.gradle.kts index 635199f93a25..1550b8037029 100644 --- a/instrumentation/wicket-8.0/wicket8-testing/build.gradle.kts +++ b/instrumentation/wicket-8.0/wicket8-testing/build.gradle.kts @@ -14,7 +14,7 @@ dependencies { testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent")) testInstrumentation(project(":instrumentation:servlet:servlet-javax-common:javaagent")) - latestDepTestLibrary("org.apache.wicket:wicket:9.+") + latestDepTestLibrary("org.apache.wicket:wicket:9.+") // see wicket10-testing module } val latestDepTest = findProperty("testLatestDeps") as Boolean diff --git a/instrumentation/xxl-job/xxl-job-1.9.2/javaagent/build.gradle.kts b/instrumentation/xxl-job/xxl-job-1.9.2/javaagent/build.gradle.kts index 57cbcd6c422f..3d2789c10a14 100644 --- a/instrumentation/xxl-job/xxl-job-1.9.2/javaagent/build.gradle.kts +++ b/instrumentation/xxl-job/xxl-job-1.9.2/javaagent/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { // It needs the javax.annotation-api in xxl-job-core 1.9.2. testImplementation("javax.annotation:javax.annotation-api:1.3.2") testImplementation(project(":instrumentation:xxl-job:xxl-job-common:testing")) - latestDepTestLibrary("com.xuxueli:xxl-job-core:2.1.1") { + latestDepTestLibrary("com.xuxueli:xxl-job-core:2.1.1") { // see xxl-job-2.1.2 module exclude("org.codehaus.groovy", "groovy") } } diff --git a/instrumentation/xxl-job/xxl-job-2.1.2/javaagent/build.gradle.kts b/instrumentation/xxl-job/xxl-job-2.1.2/javaagent/build.gradle.kts index 513d981448a0..28e84d040cf7 100644 --- a/instrumentation/xxl-job/xxl-job-2.1.2/javaagent/build.gradle.kts +++ b/instrumentation/xxl-job/xxl-job-2.1.2/javaagent/build.gradle.kts @@ -21,7 +21,7 @@ dependencies { testInstrumentation(project(":instrumentation:xxl-job:xxl-job-2.3.0:javaagent")) testImplementation(project(":instrumentation:xxl-job:xxl-job-common:testing")) - latestDepTestLibrary("com.xuxueli:xxl-job-core:2.2.+") { + latestDepTestLibrary("com.xuxueli:xxl-job-core:2.2.+") { // see xxl-job-2.3.0 module exclude("org.codehaus.groovy", "groovy") } }