aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-06-08 22:49:23 +0200
committerGitHub <noreply@github.com>2022-06-08 22:49:23 +0200
commite3b4dcf63e0afbb36d7861e4c7d57e0188a4ee9f (patch)
tree4b96aa249b4ba76a0bd6fcfbe7c3dd185bece608
parent583332f6acf5ac91c3cf3e8de23980c2818b5284 (diff)
parent79416c37c5d1f8712ad8fe5373a52007471762db (diff)
Merge pull request #22994 from vespa-engine/bjorncs/embed-jetty-spifly
Bjorncs/embed jetty spifly MERGEOK
-rw-r--r--CMakeLists.txt2
-rw-r--r--application/pom.xml58
-rw-r--r--cloud-tenant-base-dependencies-enforcer/pom.xml1
-rw-r--r--config-model/pom.xml7
-rw-r--r--configserver-flags/pom.xml13
-rw-r--r--configserver/pom.xml7
-rw-r--r--container-core/pom.xml45
-rw-r--r--container-dependency-versions/pom.xml3
-rw-r--r--container-dev/pom.xml39
-rw-r--r--container-disc/pom.xml51
-rw-r--r--container-search/pom.xml7
-rw-r--r--container-spifly/.gitignore1
-rw-r--r--container-spifly/CMakeLists.txt (renamed from jdisc_jetty/CMakeLists.txt)3
-rw-r--r--container-spifly/README.md1
-rw-r--r--container-spifly/pom.xml105
-rw-r--r--container-test/pom.xml39
-rw-r--r--dist/vespa.spec7
-rw-r--r--flags/pom.xml7
-rw-r--r--jdisc_jetty/.gitignore2
-rw-r--r--jdisc_jetty/OWNERS2
-rw-r--r--jdisc_jetty/README1
-rw-r--r--jdisc_jetty/pom.xml77
-rw-r--r--jdisc_jetty/src/main/javadoc/README1
-rw-r--r--metrics-proxy/pom.xml7
-rw-r--r--model-evaluation/pom.xml6
-rw-r--r--parent/pom.xml4
-rw-r--r--pom.xml2
-rw-r--r--routing-generator/pom.xml13
-rw-r--r--vespa-3party-bundles/pom.xml6
-rw-r--r--vespa-osgi-testrunner/pom.xml10
-rw-r--r--vespaclient-java/pom.xml7
31 files changed, 309 insertions, 225 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1172da5de1b..440ecb18024 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -69,6 +69,7 @@ add_subdirectory(container-messagebus)
add_subdirectory(container-search)
add_subdirectory(container-search-gui)
add_subdirectory(container-search-and-docproc)
+add_subdirectory(container-spifly)
add_subdirectory(cloud-tenant-cd)
add_subdirectory(clustercontroller-apps)
add_subdirectory(clustercontroller-core)
@@ -92,7 +93,6 @@ add_subdirectory(http-client)
add_subdirectory(jdisc-cloud-aws)
add_subdirectory(jdisc_core)
add_subdirectory(jdisc-security-filters)
-add_subdirectory(jdisc_jetty)
add_subdirectory(jrt_test)
add_subdirectory(linguistics)
add_subdirectory(linguistics-components)
diff --git a/application/pom.xml b/application/pom.xml
index b0036b3ca3e..51448502d1d 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -60,19 +60,6 @@
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
- <!-- Because these are provided in container-core and just preinstalled: -->
- <dependency>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>jdisc_jetty</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.aries.spifly</groupId>
- <artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -142,6 +129,51 @@
<scope>test</scope>
</dependency>
+ <!-- START JETTY embedded jars -->
+ <dependency>
+ <groupId>org.eclipse.jetty.alpn</groupId>
+ <artifactId>alpn-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.http2</groupId>
+ <artifactId>http2-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-alpn-java-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-continuation</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-jmx</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlets</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!-- END JETTY embedded jars -->
+
</dependencies>
<build>
diff --git a/cloud-tenant-base-dependencies-enforcer/pom.xml b/cloud-tenant-base-dependencies-enforcer/pom.xml
index 116ba1ba403..84ebba80584 100644
--- a/cloud-tenant-base-dependencies-enforcer/pom.xml
+++ b/cloud-tenant-base-dependencies-enforcer/pom.xml
@@ -155,7 +155,6 @@
<include>com.yahoo.vespa:container-test:*:jar:test</include>
<include>com.yahoo.vespa:hosted-api:*:jar:test</include>
<include>com.yahoo.vespa:indexinglanguage:*:jar:test</include>
- <include>com.yahoo.vespa:jdisc_jetty:*:jar:test</include>
<include>com.yahoo.vespa:logd:*:jar:test</include>
<include>com.yahoo.vespa:metrics-proxy:*:jar:test</include>
<include>com.yahoo.vespa:metrics:*:jar:test</include>
diff --git a/config-model/pom.xml b/config-model/pom.xml
index 13af9d38263..b08ff7f7f2e 100644
--- a/config-model/pom.xml
+++ b/config-model/pom.xml
@@ -294,13 +294,6 @@
</exclusions>
</dependency>
<dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <scope>test</scope>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
</dependency>
diff --git a/configserver-flags/pom.xml b/configserver-flags/pom.xml
index a2a90483e75..43263885371 100644
--- a/configserver-flags/pom.xml
+++ b/configserver-flags/pom.xml
@@ -26,6 +26,12 @@
</dependency>
<dependency>
<groupId>com.yahoo.vespa</groupId>
+ <artifactId>container-core</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.yahoo.vespa</groupId>
<artifactId>zkfacade</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
@@ -68,13 +74,6 @@
<!-- test -->
<dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <scope>test</scope>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
<groupId>com.yahoo.vespa</groupId>
<artifactId>defaults</artifactId>
<version>${project.version}</version>
diff --git a/configserver/pom.xml b/configserver/pom.xml
index 86289a46d19..d66dad8bb9d 100644
--- a/configserver/pom.xml
+++ b/configserver/pom.xml
@@ -283,13 +283,6 @@
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
</dependency>
- <dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <version>${jetty.version}</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
diff --git a/container-core/pom.xml b/container-core/pom.xml
index 2689d2794b3..ed1ec8adca2 100644
--- a/container-core/pom.xml
+++ b/container-core/pom.xml
@@ -112,6 +112,45 @@
<artifactId>HdrHistogram</artifactId>
</dependency>
+ <!-- START JETTY embedded jars -->
+ <dependency>
+ <groupId>org.eclipse.jetty.alpn</groupId>
+ <artifactId>alpn-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.http2</groupId>
+ <artifactId>http2-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-alpn-java-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-continuation</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-jmx</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlets</artifactId>
+ </dependency>
+ <!-- END JETTY embedded jars -->
+
<!-- PROVIDED scope -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -200,12 +239,6 @@
</dependency>
<dependency>
<groupId>com.yahoo.vespa</groupId>
- <artifactId>jdisc_jetty</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.yahoo.vespa</groupId>
<artifactId>vespajlib</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml
index dc41a68eb48..709f9dc333a 100644
--- a/container-dependency-versions/pom.xml
+++ b/container-dependency-versions/pom.xml
@@ -88,6 +88,7 @@
<version>${javax.inject.version}</version>
</dependency>
<dependency>
+ <!-- TODO Vespa 9 Stop providing servlet-api 3.x -->
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet-api.version}</version>
@@ -241,8 +242,6 @@
<javax.servlet-api.version>3.1.0</javax.servlet-api.version>
<javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version>
<jaxb.version>2.3.0</jaxb.version>
- <jetty.version>9.4.46.v20220331</jetty.version>
- <jetty-alpn.version>1.1.3.v20160715</jetty-alpn.version>
<org.json.version>20090211</org.json.version>
<slf4j.version>1.7.32</slf4j.version> <!-- WARNING: when updated, also update c.y.v.tenant:base pom -->
<xml-apis.version>1.4.01</xml-apis.version>
diff --git a/container-dev/pom.xml b/container-dev/pom.xml
index 346371e0477..715340c4913 100644
--- a/container-dev/pom.xml
+++ b/container-dev/pom.xml
@@ -102,6 +102,45 @@
<groupId>org.hdrhistogram</groupId>
<artifactId>HdrHistogram</artifactId>
</exclusion>
+
+ <!-- START JETTY embedded jars -->
+ <exclusion>
+ <groupId>org.eclipse.jetty.alpn</groupId>
+ <artifactId>alpn-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty.http2</groupId>
+ <artifactId>http2-server</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-alpn-java-server</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-continuation</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-jmx</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlets</artifactId>
+ </exclusion>
+ <!-- END JETTY embedded jars -->
</exclusions>
</dependency>
<dependency>
diff --git a/container-disc/pom.xml b/container-disc/pom.xml
index ad6092ad05a..95f54e5d932 100644
--- a/container-disc/pom.xml
+++ b/container-disc/pom.xml
@@ -144,17 +144,6 @@
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>jdisc_jetty</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <scope>provided</scope>
- </dependency>
<!-- end WARNING -->
<!-- ensure that transitive Jackson dependencies are not included in compile scope -->
@@ -207,44 +196,20 @@
linguistics-components-jar-with-dependencies.jar,
vespaclient-container-plugin-jar-with-dependencies.jar,
vespa-athenz-jar-with-dependencies.jar,
- container-apache-http-client-bundle-jar-with-dependencies.jar, <!-- Apache http client repackaged as bundle -->
+
+ <!-- Apache http client repackaged as bundle -->
+ container-apache-http-client-bundle-jar-with-dependencies.jar,
<!-- Vespa security utils with necessary 3rd party bundles -->
security-utils.jar,
bcpkix-jdk15on-${bouncycastle.version}.jar,
bcprov-jdk15on-${bouncycastle.version}.jar,
- <!-- Jetty -->
- <!-- TODO Vespa 8: embed these in container-core/disc, saving a lot of dep management. -->
- <!-- Check if those listed in container-dep-versions are not used by hosted apps! -->
- alpn-api-${jetty-alpn.version}.jar,
- http2-server-${jetty.version}.jar,
- http2-common-${jetty.version}.jar,
- http2-hpack-${jetty.version}.jar,
- jetty-alpn-java-server-${jetty.version}.jar,
- jetty-alpn-server-${jetty.version}.jar,
- jetty-client-${jetty.version}.jar,
- jetty-continuation-${jetty.version}.jar,
- jetty-http-${jetty.version}.jar,
- jetty-io-${jetty.version}.jar,
- jetty-jmx-${jetty.version}.jar,
- jetty-security-${jetty.version}.jar,
- jetty-server-${jetty.version}.jar,
- jetty-servlet-${jetty.version}.jar,
- jetty-servlets-${jetty.version}.jar,
- jetty-util-${jetty.version}.jar,
- jetty-util-ajax-${jetty.version}.jar,
+ <!-- TODO Vespa 9 Stop providing servlet-api 3.x -->
javax.servlet-api-3.1.0.jar,
- <!-- Spifly (required for OSGi service loader used by Jetty) -->
- <!-- TODO: embed these in container-core/disc, not used across bundles -->
- org.apache.aries.spifly.dynamic.bundle-${spifly.version}.jar,
- asm-${asm.version}.jar,
- asm-analysis-${asm.version}.jar,
- asm-commons-${asm.version}.jar,
- asm-tree-${asm.version}.jar,
- asm-util-${asm.version}.jar,
- <!-- Spifly end -->
+ <!-- Aries SPIFly repackaged -->
+ container-spifly.jar,
jackson-annotations-${jackson2.version}.jar,
jackson-core-${jackson2.version}.jar,
@@ -255,6 +220,10 @@
<!-- Only one instance of javax.ws.rs.client.ClientBuilder can be loaded by the JVM -->
javax.ws.rs-api-${javax.ws.rs-api.version}.jar
</discPreInstallBundle>
+
+ <!-- Enable Spifly ServiceLoader weaving. Required for Jetty ALPN/HTTP2 -->
+ <SPI-Provider>*</SPI-Provider>
+ <SPI-Consumer>*</SPI-Consumer>
</configuration>
</plugin>
<plugin>
diff --git a/container-search/pom.xml b/container-search/pom.xml
index e29445f5564..ccec1330d68 100644
--- a/container-search/pom.xml
+++ b/container-search/pom.xml
@@ -152,13 +152,6 @@
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <scope>test</scope>
- <version>${jetty.version}</version>
- </dependency>
</dependencies>
<build>
<plugins>
diff --git a/container-spifly/.gitignore b/container-spifly/.gitignore
new file mode 100644
index 00000000000..916e17c097a
--- /dev/null
+++ b/container-spifly/.gitignore
@@ -0,0 +1 @@
+dependency-reduced-pom.xml
diff --git a/jdisc_jetty/CMakeLists.txt b/container-spifly/CMakeLists.txt
index 7f72c61be20..cd4b4a43488 100644
--- a/jdisc_jetty/CMakeLists.txt
+++ b/container-spifly/CMakeLists.txt
@@ -1,3 +1,2 @@
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-install_jar(jdisc_jetty.jar)
-install_jar_dependencies(jdisc_jetty)
+install_jar(container-spifly.jar)
diff --git a/container-spifly/README.md b/container-spifly/README.md
new file mode 100644
index 00000000000..4477c6dabb9
--- /dev/null
+++ b/container-spifly/README.md
@@ -0,0 +1 @@
+Repackaging of SPIFly with ASM embedded
diff --git a/container-spifly/pom.xml b/container-spifly/pom.xml
new file mode 100644
index 00000000000..19051999aaf
--- /dev/null
+++ b/container-spifly/pom.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<!-- Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>container-spifly</artifactId>
+ <packaging>jar</packaging>
+ <parent>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>parent</artifactId>
+ <version>7-SNAPSHOT</version>
+ <relativePath>../parent/pom.xml</relativePath>
+ </parent>
+
+ <properties>
+ <relocation-pkg-prefix>com.yahoo.vespa.spifly.repackaged</relocation-pkg-prefix>
+ </properties>
+
+ <dependencies>
+ <!-- Required for ServiceLoader to function in OSGi environment. ServiceLoader is used by Jetty -->
+ <dependency>
+ <groupId>org.apache.aries.spifly</groupId>
+ <artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <minimizeJar>false</minimizeJar>
+ <filters>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>module-info.class</exclude>
+ <exclude>META-INF/*</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <relocations>
+ <relocation>
+ <pattern>org.apache.aries.spifly</pattern>
+ <shadedPattern>${relocation-pkg-prefix}.spifly</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>aQute</pattern>
+ <shadedPattern>${relocation-pkg-prefix}.aQute</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>org.objectweb.asm</pattern>
+ <shadedPattern>${relocation-pkg-prefix}.asm</shadedPattern>
+ </relocation>
+ </relocations>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <manifestEntries>
+ <Bundle-Name>container-spifly</Bundle-Name>
+ <Bundle-SymbolicName>container-spifly</Bundle-SymbolicName>
+ <Bundle-Version>${spifly.version}</Bundle-Version>
+ <Export-Package>
+ ${relocation-pkg-prefix}.spifly;version="${spifly.version}",
+ ${relocation-pkg-prefix}.spifly.dynamic;version="${spifly.version}",
+ ${relocation-pkg-prefix}.spifly.weaver;version="${spifly.version}"
+ </Export-Package>
+ <Import-Package>
+ org.osgi.framework;version="[1.7,2)",
+ org.osgi.framework.hooks.weaving;version="[1.0,2)",
+ org.osgi.framework.wiring;version="[1.1,2)",
+ org.osgi.util.tracker;version="[1.5,2)"
+ </Import-Package>
+ <Require-Capability>osgi.ee</Require-Capability>
+ <Provide-Capability>
+ osgi.extender;osgi.extender="osgi.serviceloader.registrar";version:Version="1.0",
+ osgi.extender;osgi.extender="osgi.serviceloader.processor";version:Version="1.0";uses:="${relocation-pkg-prefix}.spifly"
+ </Provide-Capability>
+ <Bundle-Activator>
+ ${relocation-pkg-prefix}.spifly.dynamic.DynamicWeavingActivator
+ </Bundle-Activator>
+ </manifestEntries>
+ </transformer>
+ </transformers>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/container-test/pom.xml b/container-test/pom.xml
index 91519da6dd3..a938329dd72 100644
--- a/container-test/pom.xml
+++ b/container-test/pom.xml
@@ -116,5 +116,44 @@
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
</dependency>
+
+ <!-- START JETTY embedded jars -->
+ <dependency>
+ <groupId>org.eclipse.jetty.alpn</groupId>
+ <artifactId>alpn-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.http2</groupId>
+ <artifactId>http2-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-alpn-java-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-continuation</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-jmx</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlets</artifactId>
+ </dependency>
+ <!-- END JETTY embedded jars -->
</dependencies>
</project>
diff --git a/dist/vespa.spec b/dist/vespa.spec
index 6902adcb079..d278204be2e 100644
--- a/dist/vespa.spec
+++ b/dist/vespa.spec
@@ -757,7 +757,6 @@ fi
%{_prefix}/lib/jars/document.jar
%{_prefix}/lib/jars/filedistribution-jar-with-dependencies.jar
%{_prefix}/lib/jars/http-client-jar-with-dependencies.jar
-%{_prefix}/lib/jars/jdisc_jetty.jar
%{_prefix}/lib/jars/logserver-jar-with-dependencies.jar
%{_prefix}/lib/jars/metrics-proxy-jar-with-dependencies.jar
%{_prefix}/lib/jars/node-repository-jar-with-dependencies.jar
@@ -896,7 +895,6 @@ fi
%dir %{_prefix}
%dir %{_prefix}/lib
%dir %{_prefix}/lib/jars
-%{_prefix}/lib/jars/asm-*.jar
%{_prefix}/lib/jars/application-model-jar-with-dependencies.jar
%{_prefix}/lib/jars/bcpkix-jdk15on-*.jar
%{_prefix}/lib/jars/bcprov-jdk15on-*.jar
@@ -909,6 +907,7 @@ fi
%{_prefix}/lib/jars/container-disc-jar-with-dependencies.jar
%{_prefix}/lib/jars/container-search-and-docproc-jar-with-dependencies.jar
%{_prefix}/lib/jars/container-search-gui-jar-with-dependencies.jar
+%{_prefix}/lib/jars/container-spifly.jar
%{_prefix}/lib/jars/docprocs-jar-with-dependencies.jar
%{_prefix}/lib/jars/flags-jar-with-dependencies.jar
%{_prefix}/lib/jars/hosted-zone-api-jar-with-dependencies.jar
@@ -918,12 +917,8 @@ fi
%{_prefix}/lib/jars/jdisc_core-jar-with-dependencies.jar
%{_prefix}/lib/jars/jdisc-security-filters-jar-with-dependencies.jar
%{_prefix}/lib/jars/linguistics-components-jar-with-dependencies.jar
-%{_prefix}/lib/jars/alpn-*.jar
-%{_prefix}/lib/jars/http2-*.jar
-%{_prefix}/lib/jars/jetty-*.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
%{_prefix}/lib/jars/security-utils.jar
%{_prefix}/lib/jars/standalone-container-jar-with-dependencies.jar
%{_prefix}/lib/jars/vespa-athenz-jar-with-dependencies.jar
diff --git a/flags/pom.xml b/flags/pom.xml
index 6eaecc35c47..cf230c1b7a9 100644
--- a/flags/pom.xml
+++ b/flags/pom.xml
@@ -93,13 +93,6 @@
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <scope>test</scope>
- <version>${jetty.version}</version>
- </dependency>
</dependencies>
<build>
<plugins>
diff --git a/jdisc_jetty/.gitignore b/jdisc_jetty/.gitignore
deleted file mode 100644
index 016c6f704f0..00000000000
--- a/jdisc_jetty/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-pom.xml.build
-/target
diff --git a/jdisc_jetty/OWNERS b/jdisc_jetty/OWNERS
deleted file mode 100644
index 78b92e411b4..00000000000
--- a/jdisc_jetty/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-gjoranv
-bjorncs
diff --git a/jdisc_jetty/README b/jdisc_jetty/README
deleted file mode 100644
index a09ee05e471..00000000000
--- a/jdisc_jetty/README
+++ /dev/null
@@ -1 +0,0 @@
-Jetty dependencies for JDisc Container.
diff --git a/jdisc_jetty/pom.xml b/jdisc_jetty/pom.xml
deleted file mode 100644
index dc3976098fa..00000000000
--- a/jdisc_jetty/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
- http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>parent</artifactId>
- <version>8-SNAPSHOT</version>
- <relativePath>../parent/pom.xml</relativePath>
- </parent>
- <artifactId>jdisc_jetty</artifactId>
- <version>8-SNAPSHOT</version>
- <packaging>jar</packaging>
- <dependencies>
- <dependency>
- <groupId>org.eclipse.jetty.alpn</groupId>
- <artifactId>alpn-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty.http2</groupId>
- <artifactId>http2-server</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-alpn-java-server</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-client</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-continuation</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-jmx</artifactId>
- </dependency>
- <dependency>
- <!-- Required for ServiceLoader to function in OSGi environment. ServiceLoader is used by Jetty -->
- <groupId>org.apache.aries.spifly</groupId>
- <artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/jdisc_jetty/src/main/javadoc/README b/jdisc_jetty/src/main/javadoc/README
deleted file mode 100644
index 6695538e308..00000000000
--- a/jdisc_jetty/src/main/javadoc/README
+++ /dev/null
@@ -1 +0,0 @@
-No javadoc available for module \ No newline at end of file
diff --git a/metrics-proxy/pom.xml b/metrics-proxy/pom.xml
index bbb1c14dfe7..fc63d453738 100644
--- a/metrics-proxy/pom.xml
+++ b/metrics-proxy/pom.xml
@@ -142,13 +142,6 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <scope>test</scope>
- <version>${jetty.version}</version>
- </dependency>
</dependencies>
<build>
<plugins>
diff --git a/model-evaluation/pom.xml b/model-evaluation/pom.xml
index 9188ff9af80..caf28199c3d 100644
--- a/model-evaluation/pom.xml
+++ b/model-evaluation/pom.xml
@@ -79,12 +79,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>jdisc_jetty</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
</dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index 9709c55d8c6..58daca2fe57 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1004,6 +1004,8 @@
<findbugs.version>3.0.2</findbugs.version> <!-- Should be kept in sync with guava -->
<gson.version>2.8.9</gson.version>
<hdrhistogram.version>2.1.12</hdrhistogram.version>
+ <jetty.version>9.4.46.v20220331</jetty.version>
+ <jetty-alpn.version>1.1.3.v20160715</jetty-alpn.version>
<jna.version>5.11.0</jna.version>
<junit.version>5.8.1</junit.version>
<maven-archiver.version>3.5.2</maven-archiver.version>
@@ -1029,7 +1031,7 @@
<org.lz4.version>1.8.0</org.lz4.version>
<prometheus.client.version>0.6.0</prometheus.client.version>
<protobuf.version>3.19.2</protobuf.version>
- <spifly.version>1.3.3</spifly.version>
+ <spifly.version>1.3.5</spifly.version>
<surefire.version>2.22.2</surefire.version>
<zookeeper.client.version>3.7.0</zookeeper.client.version>
diff --git a/pom.xml b/pom.xml
index 3a41ee3b1ec..6cd49656180 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,6 +64,7 @@
<module>container-search-and-docproc</module>
<module>container-search</module>
<module>container-search-gui</module>
+ <module>container-spifly</module>
<module>container-test</module>
<module>controller-api</module>
<module>controller-server</module>
@@ -91,7 +92,6 @@
<module>jdisc-security-filters</module>
<module>jdisc_core</module>
<module>jdisc_core_test</module>
- <module>jdisc_jetty</module>
<module>jrt</module>
<module>linguistics</module>
<module>linguistics-components</module>
diff --git a/routing-generator/pom.xml b/routing-generator/pom.xml
index ee5e511c045..032d58acb51 100644
--- a/routing-generator/pom.xml
+++ b/routing-generator/pom.xml
@@ -34,13 +34,6 @@
<version>${project.version}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <scope>test</scope>
- <version>${jetty.version}</version>
- </dependency>
<!-- provided -->
<dependency>
@@ -69,6 +62,12 @@
</dependency>
<dependency>
<groupId>com.yahoo.vespa</groupId>
+ <artifactId>container-core</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.yahoo.vespa</groupId>
<artifactId>container-dev</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
diff --git a/vespa-3party-bundles/pom.xml b/vespa-3party-bundles/pom.xml
index b1ed6457c94..a286f4bedb8 100644
--- a/vespa-3party-bundles/pom.xml
+++ b/vespa-3party-bundles/pom.xml
@@ -28,7 +28,11 @@
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
-
+ <dependency>
+ <!-- TODO Vespa 9 Stop providing servlet-api 3.x -->
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ </dependency>
</dependencies>
<build>
diff --git a/vespa-osgi-testrunner/pom.xml b/vespa-osgi-testrunner/pom.xml
index c79a8ca7de7..ebb1240a198 100644
--- a/vespa-osgi-testrunner/pom.xml
+++ b/vespa-osgi-testrunner/pom.xml
@@ -22,12 +22,12 @@
<scope>provided</scope>
</dependency>
<dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <scope>test</scope>
- <version>${jetty.version}</version>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>container-core</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
</dependency>
+
<dependency>
<groupId>com.yahoo.vespa</groupId>
<artifactId>hosted-api</artifactId>
diff --git a/vespaclient-java/pom.xml b/vespaclient-java/pom.xml
index 8323890ca2b..d0e04d1e692 100644
--- a/vespaclient-java/pom.xml
+++ b/vespaclient-java/pom.xml
@@ -39,13 +39,6 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <!-- TODO Remove when Jetty is embedded inside container-core -->
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <version>${jetty.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
<!-- TODO: remove dependency on container-dev, and instead depend directly on what this module needs! -->
<groupId>com.yahoo.vespa</groupId>
<artifactId>container-dev</artifactId>