diff options
-rw-r--r-- | cloud-tenant-base-dependencies-enforcer/pom.xml | 5 | ||||
-rw-r--r-- | configserver/pom.xml | 44 | ||||
-rw-r--r-- | configserver/src/main/java/com/fasterxml/jackson/jaxrs/json/package-info.java | 5 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/serviceview/StateRequestHandler.java | 2 | ||||
-rw-r--r-- | container-dependencies-enforcer/pom.xml | 4 | ||||
-rw-r--r-- | container-dependency-versions/pom.xml | 4 | ||||
-rw-r--r-- | container-disc/pom.xml | 4 | ||||
-rw-r--r-- | dist/vespa.spec | 1 | ||||
-rw-r--r-- | jaxrs_client_utils/pom.xml | 5 | ||||
-rw-r--r-- | jaxrs_client_utils/src/main/java/com/yahoo/vespa/jaxrs/client/VespaJerseyJaxRsClientFactory.java | 2 | ||||
-rw-r--r-- | orchestrator/pom.xml | 30 | ||||
-rw-r--r-- | vespa_jersey2/pom.xml | 42 |
12 files changed, 99 insertions, 49 deletions
diff --git a/cloud-tenant-base-dependencies-enforcer/pom.xml b/cloud-tenant-base-dependencies-enforcer/pom.xml index bb54509852a..77a3a9958ec 100644 --- a/cloud-tenant-base-dependencies-enforcer/pom.xml +++ b/cloud-tenant-base-dependencies-enforcer/pom.xml @@ -50,7 +50,6 @@ <javax.validation-api.version>1.1.0.Final</javax.validation-api.version> <javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version> <jersey2.version>2.25</jersey2.version> - <mimepull.version>1.9.6</mimepull.version> </properties> <build> @@ -123,13 +122,9 @@ <include>org.glassfish.jersey.core:jersey-client:[${jersey2.version}]:jar:provided</include> <include>org.glassfish.jersey.core:jersey-common:[${jersey2.version}]:jar:provided</include> <include>org.glassfish.jersey.core:jersey-server:[${jersey2.version}]:jar:provided</include> - <include>org.glassfish.jersey.ext:jersey-entity-filtering:[${jersey2.version}]:jar:provided</include> <include>org.glassfish.jersey.ext:jersey-proxy-client:[${jersey2.version}]:jar:provided</include> - <include>org.glassfish.jersey.media:jersey-media-json-jackson:[${jersey2.version}]:jar:provided</include> - <include>org.glassfish.jersey.media:jersey-media-multipart:[${jersey2.version}]:jar:provided</include> <include>org.javassist:javassist:[${javassist.version}]:jar:provided</include> <include>org.json:json:[${org.json.version}]:jar:provided</include> - <include>org.jvnet.mimepull:mimepull:[${mimepull.version}]:jar:provided</include> <include>org.slf4j:jcl-over-slf4j:[${slf4j.version}]:jar:provided</include> <include>org.slf4j:log4j-over-slf4j:[${slf4j.version}]:jar:provided</include> <include>org.slf4j:slf4j-api:[${slf4j.version}]:jar:provided</include> diff --git a/configserver/pom.xml b/configserver/pom.xml index 8e604b930f6..110099421d1 100644 --- a/configserver/pom.xml +++ b/configserver/pom.xml @@ -194,11 +194,39 @@ <scope>provided</scope> </dependency> <dependency> + <!-- Do not remove, as long as this is provided by jdisc and configserver uses jersey-client --> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <!-- Do not remove, as long as this is provided by jdisc and configserver uses jersey-client --> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + <scope>provided</scope> + </dependency> + <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <scope>provided</scope> </dependency> <dependency> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-json-provider</artifactId> + <exclusions> + <exclusion> + <!-- Conflicts with javax.activation:javax.activation-api:1.2.0, which is "exported" via jdisc_core. --> + <groupId>jakarta.activation</groupId> + <artifactId>jakarta.activation-api</artifactId> + </exclusion> + <exclusion> + <!-- Conflicts with javax.xml.bind:jaxb-api:2.3, which is "exported" via jdisc_core.--> + <groupId>jakarta.xml.bind</groupId> + <artifactId>jakarta.xml.bind-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> </dependency> @@ -245,6 +273,17 @@ <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> + <exclusions> + <!-- Prevent embedding deps provided by jdisc --> + <exclusion> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + </exclusion> + <exclusion> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <!-- Not needed by configserver, but by controller. Also pulls in mimepull. --> @@ -260,6 +299,11 @@ <groupId>com.yahoo.vespa</groupId> <artifactId>bundle-plugin</artifactId> <extensions>true</extensions> + <configuration> + <!-- TODO Vespa 8: remove importPackage when the jackson-jaxrs-json-provider bundle is no longer installed in jdisc --> + <!-- added to ensure using the same class as orchestrator, core-dump-reporter, provision-controller and controller-clients --> + <importPackage>com.fasterxml.jackson.jaxrs.json;version="[2.12.6,3)"</importPackage> + </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/configserver/src/main/java/com/fasterxml/jackson/jaxrs/json/package-info.java b/configserver/src/main/java/com/fasterxml/jackson/jaxrs/json/package-info.java new file mode 100644 index 00000000000..4ea1e169f0f --- /dev/null +++ b/configserver/src/main/java/com/fasterxml/jackson/jaxrs/json/package-info.java @@ -0,0 +1,5 @@ +@ExportPackage(version = @Version(major = 2, minor = 12, micro = 6)) +package com.fasterxml.jackson.jaxrs.json; + +import com.yahoo.osgi.annotation.ExportPackage; +import com.yahoo.osgi.annotation.Version; diff --git a/configserver/src/main/java/com/yahoo/vespa/serviceview/StateRequestHandler.java b/configserver/src/main/java/com/yahoo/vespa/serviceview/StateRequestHandler.java index d3c19bb0ba5..30975be61e2 100644 --- a/configserver/src/main/java/com/yahoo/vespa/serviceview/StateRequestHandler.java +++ b/configserver/src/main/java/com/yahoo/vespa/serviceview/StateRequestHandler.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.serviceview; +import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; import com.google.inject.Inject; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.container.jdisc.ThreadedHttpRequestHandler; @@ -41,6 +42,7 @@ public class StateRequestHandler extends RestApiRequestHandler<StateRequestHandl .newBuilder() .property(ClientProperties.CONNECT_TIMEOUT, 10000) .property(ClientProperties.READ_TIMEOUT, 10000) + .register(JacksonJsonProvider.class) .register((ClientRequestFilter) ctx -> ctx.getHeaders().put(HttpHeaders.USER_AGENT, List.of(USER_AGENT))) .build(); diff --git a/container-dependencies-enforcer/pom.xml b/container-dependencies-enforcer/pom.xml index 3ce00e5d08a..7465d486013 100644 --- a/container-dependencies-enforcer/pom.xml +++ b/container-dependencies-enforcer/pom.xml @@ -106,13 +106,9 @@ <include>org.glassfish.jersey.core:jersey-client:[${jersey2.version}]:jar:provided</include> <include>org.glassfish.jersey.core:jersey-common:[${jersey2.version}]:jar:provided</include> <include>org.glassfish.jersey.core:jersey-server:[${jersey2.version}]:jar:provided</include> - <include>org.glassfish.jersey.ext:jersey-entity-filtering:[${jersey2.version}]:jar:provided</include> <include>org.glassfish.jersey.ext:jersey-proxy-client:[${jersey2.version}]:jar:provided</include> - <include>org.glassfish.jersey.media:jersey-media-json-jackson:[${jersey2.version}]:jar:provided</include> - <include>org.glassfish.jersey.media:jersey-media-multipart:[${jersey2.version}]:jar:provided</include> <include>org.javassist:javassist:[${javassist.version}]:jar:provided</include> <include>org.json:json:[${org.json.version}]:jar:provided</include> - <include>org.jvnet.mimepull:mimepull:[${mimepull.version}]:jar:provided</include> <include>org.slf4j:jcl-over-slf4j:[${slf4j.version}]:jar:provided</include> <include>org.slf4j:log4j-over-slf4j:[${slf4j.version}]:jar:provided</include> <include>org.slf4j:slf4j-api:[${slf4j.version}]:jar:provided</include> diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml index 6e06791dc1c..451068763be 100644 --- a/container-dependency-versions/pom.xml +++ b/container-dependency-versions/pom.xml @@ -298,9 +298,10 @@ <version>${org.json.version}</version> </dependency> <dependency> + <!-- TODO Vespa 8: remove! No longer installed in jdisc --> <groupId>org.jvnet.mimepull</groupId> <artifactId>mimepull</artifactId> - <version>${mimepull.version}</version> + <version>1.9.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> @@ -431,7 +432,6 @@ <javax.validation-api.version>1.1.0.Final</javax.validation-api.version> <javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version> <jersey2.version>2.25</jersey2.version> - <mimepull.version>1.9.6</mimepull.version> <!-- Not a dependency. Only included to allow the versions-maven-plugin to check for updates of itself --> <versions-maven-plugin.version>2.8.1</versions-maven-plugin.version> diff --git a/container-disc/pom.xml b/container-disc/pom.xml index 1c3115900de..732f873d9a0 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -252,11 +252,7 @@ javax.ws.rs-api-${javax.ws.rs-api.version}.jar, jersey-client-${jersey2.version}.jar, jersey-common-${jersey2.version}.jar, - jersey-entity-filtering-${jersey2.version}.jar, <!-- needed by jersey-media-json-jackson --> jersey-guava-${jersey2.version}.jar, - jersey-media-json-jackson-${jersey2.version}.jar, - jersey-media-multipart-${jersey2.version}.jar, - mimepull-${mimepull.version}.jar, <!-- needed by media-multipart --> jersey-server-${jersey2.version}.jar, jersey-proxy-client-${jersey2.version}.jar, osgi-resource-locator-1.0.1.jar, diff --git a/dist/vespa.spec b/dist/vespa.spec index e4eb2ab7643..e13f06ed0f5 100644 --- a/dist/vespa.spec +++ b/dist/vespa.spec @@ -899,7 +899,6 @@ fi %{_prefix}/lib/jars/alpn-*.jar %{_prefix}/lib/jars/http2-*.jar %{_prefix}/lib/jars/jetty-*.jar -%{_prefix}/lib/jars/mimepull-*.jar %{_prefix}/lib/jars/model-evaluation-jar-with-dependencies.jar %{_prefix}/lib/jars/model-integration-jar-with-dependencies.jar %{_prefix}/lib/jars/org.apache.aries.spifly.dynamic.bundle-*.jar diff --git a/jaxrs_client_utils/pom.xml b/jaxrs_client_utils/pom.xml index cd83e4c8713..13f2237e088 100644 --- a/jaxrs_client_utils/pom.xml +++ b/jaxrs_client_utils/pom.xml @@ -18,6 +18,11 @@ <dependencies> <!-- provided --> <dependency> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-json-provider</artifactId> + <scope>provided</scope> + </dependency> + <dependency> <groupId>com.yahoo.vespa</groupId> <artifactId>vespajlib</artifactId> <version>${project.version}</version> diff --git a/jaxrs_client_utils/src/main/java/com/yahoo/vespa/jaxrs/client/VespaJerseyJaxRsClientFactory.java b/jaxrs_client_utils/src/main/java/com/yahoo/vespa/jaxrs/client/VespaJerseyJaxRsClientFactory.java index 36b5dd52adc..5ea390dc290 100644 --- a/jaxrs_client_utils/src/main/java/com/yahoo/vespa/jaxrs/client/VespaJerseyJaxRsClientFactory.java +++ b/jaxrs_client_utils/src/main/java/com/yahoo/vespa/jaxrs/client/VespaJerseyJaxRsClientFactory.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.jaxrs.client; import ai.vespa.util.http.VespaClientBuilderFactory; +import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; import com.yahoo.vespa.applicationmodel.HostName; import org.glassfish.jersey.client.ClientProperties; import org.glassfish.jersey.client.HttpUrlConnectorProvider; @@ -33,6 +34,7 @@ public class VespaJerseyJaxRsClientFactory implements JaxRsClientFactory, AutoCl .property(ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true) // Allow empty PUT .property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true) // Allow e.g. PATCH method. .property(ClientProperties.FOLLOW_REDIRECTS, true) + .register(JacksonJsonProvider.class) .register((ClientRequestFilter) context -> context.getHeaders().put(HttpHeaders.USER_AGENT, List.of(userAgent))) .build(); } diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml index d3af2d8f1d9..839342574d5 100644 --- a/orchestrator/pom.xml +++ b/orchestrator/pom.xml @@ -17,6 +17,24 @@ <name>${project.artifactId}</name> <dependencies> <dependency> + <!-- Provided by the configserver bundle --> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-json-provider</artifactId> + <scope>provided</scope> + <exclusions> + <exclusion> + <!-- Conflicts with javax.activation:javax.activation-api:1.2.0, which is "exported" via jdisc_core. --> + <groupId>jakarta.activation</groupId> + <artifactId>jakarta.activation-api</artifactId> + </exclusion> + <exclusion> + <!-- Conflicts with javax.xml.bind:jaxb-api:2.3, which is "exported" via jdisc_core.--> + <groupId>jakarta.xml.bind</groupId> + <artifactId>jakarta.xml.bind-api</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> <groupId>com.yahoo.vespa</groupId> <artifactId>container-dev</artifactId> <version>${project.version}</version> @@ -93,18 +111,10 @@ <scope>provided</scope> </dependency> <dependency> + <!-- Provided by the configserver bundle --> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-proxy-client</artifactId> - <exclusions> - <exclusion> - <groupId>org.glassfish.jersey.core</groupId> - <artifactId>jersey-common</artifactId> - </exclusion> - <exclusion> - <groupId>javax.ws.rs</groupId> - <artifactId>javax.ws.rs-api</artifactId> - </exclusion> - </exclusions> + <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> diff --git a/vespa_jersey2/pom.xml b/vespa_jersey2/pom.xml index c27555ab3d6..f8904378901 100644 --- a/vespa_jersey2/pom.xml +++ b/vespa_jersey2/pom.xml @@ -20,26 +20,6 @@ <artifactId>javax.ws.rs-api</artifactId> </dependency> <dependency> - <groupId>org.glassfish.jersey.media</groupId> - <artifactId>jersey-media-json-jackson</artifactId> - <exclusions> - <exclusion> - <!-- Conflicts with javax.activation:javax.activation-api:1.2.0, which is "exported" via jdisc_core. --> - <groupId>jakarta.activation</groupId> - <artifactId>jakarta.activation-api</artifactId> - </exclusion> - <exclusion> - <!-- Conflicts with javax.xml.bind:jaxb-api:2.3, which is "exported" via jdisc_core.--> - <groupId>jakarta.xml.bind</groupId> - <artifactId>jakarta.xml.bind-api</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.glassfish.jersey.media</groupId> - <artifactId>jersey-media-multipart</artifactId> - </dependency> - <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-proxy-client</artifactId> </dependency> @@ -57,9 +37,7 @@ </dependency> <dependency> - <!-- Previously pulled in by jersey-container-servlet-core. Contains packages imported by - jersey-entity-filtering, which is used by jersey-media-json-jackson, which is used by hosted Vespa - framework bundles, July 2021. --> + <!-- TODO Vespa 8: Remove, contains packages imported by only one user app (March 2022) --> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <exclusions> @@ -76,6 +54,24 @@ <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> </dependency> + + <dependency> + <!-- TODO: try to remove! Previously pulled in by jersey-media-json-jackson. --> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-json-provider</artifactId> + <exclusions> + <exclusion> + <!-- Conflicts with javax.activation:javax.activation-api:1.2.0, which is "exported" via jdisc_core. --> + <groupId>jakarta.activation</groupId> + <artifactId>jakarta.activation-api</artifactId> + </exclusion> + <exclusion> + <!-- Conflicts with javax.xml.bind:jaxb-api:2.3, which is "exported" via jdisc_core.--> + <groupId>jakarta.xml.bind</groupId> + <artifactId>jakarta.xml.bind-api</artifactId> + </exclusion> + </exclusions> + </dependency> </dependencies> <build> |