JPMS core,containers,connectors,inject,media,ext
Signed-off-by: Maxim Nesen <maxim.nesen@oracle.com>
diff --git a/connectors/apache-connector/pom.xml b/connectors/apache-connector/pom.xml
index 229b72a..cdabe09 100644
--- a/connectors/apache-connector/pom.xml
+++ b/connectors/apache-connector/pom.xml
@@ -72,6 +72,19 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.apache.connector=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
diff --git a/connectors/apache-connector/src/main/java/module-info.java b/connectors/apache-connector/src/main/java/module-info.java
new file mode 100644
index 0000000..74873e4
--- /dev/null
+++ b/connectors/apache-connector/src/main/java/module-info.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.apache.connector {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+
+ exports org.glassfish.jersey.apache.connector;
+
+ opens org.glassfish.jersey.apache.connector;
+}
\ No newline at end of file
diff --git a/connectors/grizzly-connector/pom.xml b/connectors/grizzly-connector/pom.xml
index 3d16f8f..e86c880 100644
--- a/connectors/grizzly-connector/pom.xml
+++ b/connectors/grizzly-connector/pom.xml
@@ -93,6 +93,19 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.grizzly.connector=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>
diff --git a/connectors/grizzly-connector/src/main/java/module-info.java b/connectors/grizzly-connector/src/main/java/module-info.java
new file mode 100644
index 0000000..d6ca828
--- /dev/null
+++ b/connectors/grizzly-connector/src/main/java/module-info.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.grizzly.connector {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+
+ exports org.glassfish.jersey.grizzly.connector;
+ opens org.glassfish.jersey.grizzly.connector;
+}
\ No newline at end of file
diff --git a/connectors/jdk-connector/src/main/java/module-info.java b/connectors/jdk-connector/src/main/java/module-info.java
new file mode 100644
index 0000000..23edf00
--- /dev/null
+++ b/connectors/jdk-connector/src/main/java/module-info.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.jdk.connector {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+ requires static jakarta.activation;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+
+ exports org.glassfish.jersey.jdk.connector;
+}
\ No newline at end of file
diff --git a/connectors/jetty-connector/src/main/java/module-info.java b/connectors/jetty-connector/src/main/java/module-info.java
new file mode 100644
index 0000000..1c9c76f
--- /dev/null
+++ b/connectors/jetty-connector/src/main/java/module-info.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.jetty.connector {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+
+ requires org.eclipse.jetty.client;
+ requires org.eclipse.jetty.http;
+ requires org.eclipse.jetty.io;
+ requires org.eclipse.jetty.util;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+
+ exports org.glassfish.jersey.jetty.connector;
+ opens org.glassfish.jersey.jetty.connector;
+}
\ No newline at end of file
diff --git a/connectors/netty-connector/src/main/java/module-info.java b/connectors/netty-connector/src/main/java/module-info.java
new file mode 100644
index 0000000..f148da5
--- /dev/null
+++ b/connectors/netty-connector/src/main/java/module-info.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.netty.connector {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+ requires jakarta.inject;
+
+ requires io.netty.all;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+
+ exports org.glassfish.jersey.netty.connector;
+ exports org.glassfish.jersey.netty.connector.internal;
+// opens org.glassfish.jersey.netty.connector;
+}
\ No newline at end of file
diff --git a/containers/glassfish/jersey-gf-ejb/pom.xml b/containers/glassfish/jersey-gf-ejb/pom.xml
index 0189bdb..f835cbe 100644
--- a/containers/glassfish/jersey-gf-ejb/pom.xml
+++ b/containers/glassfish/jersey-gf-ejb/pom.xml
@@ -63,6 +63,12 @@
</dependency>
<!-- TODO remove versions when org.glassfish.exousia:exousia:jar in central-->
<dependency>
+ <groupId>org.glassfish.jersey.inject</groupId>
+ <artifactId>jersey-hk2</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish.main.ejb</groupId>
<artifactId>ejb-container</artifactId>
<version>6.0.0</version>
@@ -129,6 +135,23 @@
</instructions>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.gf.ejb=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/containers/glassfish/jersey-gf-ejb/src/main/java/module-info.java b/containers/glassfish/jersey-gf-ejb/src/main/java/module-info.java
new file mode 100644
index 0000000..bdfd515
--- /dev/null
+++ b/containers/glassfish/jersey-gf-ejb/src/main/java/module-info.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glasfish.jersey.gf.ejb {
+ requires java.logging;
+ requires java.naming;
+
+ requires jakarta.ws.rs;
+ requires static jakarta.activation;
+ requires jakarta.annotation;
+ requires jakarta.ejb.api;
+ requires jakarta.inject;
+ requires jakarta.interceptor.api;
+
+ requires ejb.container;
+ requires internal.api;
+ requires config.api;
+
+ requires org.glassfish.hk2.api;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+ requires org.glassfish.jersey.ext.cdi1x;
+ requires org.glassfish.jersey.inject.hk2;
+
+
+ exports org.glassfish.jersey.gf.ejb.internal;
+ opens org.glassfish.jersey.gf.ejb.internal;
+}
\ No newline at end of file
diff --git a/containers/grizzly2-http/src/main/java/module-info.java b/containers/grizzly2-http/src/main/java/module-info.java
new file mode 100644
index 0000000..f134f4e
--- /dev/null
+++ b/containers/grizzly2-http/src/main/java/module-info.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.grizzly2.http {
+ requires transitive java.logging;
+ requires transitive java.net.http;
+
+ requires transitive jakarta.ws.rs;
+ requires transitive jakarta.inject;
+ requires static jakarta.xml.bind;
+
+ requires grizzly.framework;
+ requires grizzly.http.server;
+ requires grizzly.http;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+
+ exports org.glassfish.jersey.grizzly2.httpserver;
+ opens org.glassfish.jersey.grizzly2.httpserver;
+
+}
\ No newline at end of file
diff --git a/containers/grizzly2-http/src/test/java/module-info.java b/containers/grizzly2-http/src/test/java/module-info.java
new file mode 100644
index 0000000..eaf2836
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/module-info.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+open module org.glassfish.jersey.container.grizzly2.http {
+
+ requires java.net.http;
+ requires java.logging;
+
+ requires org.eclipse.jetty.http2.client;
+ requires org.eclipse.jetty.http2.http.client.transport;
+
+ requires org.bouncycastle.provider;
+ requires org.bouncycastle.pkix;
+ requires org.eclipse.jetty.client;
+
+ requires grizzly.http.server;
+ requires grizzly.http2;
+ requires grizzly.framework;
+
+ requires org.glassfish.hk2.api;
+ requires org.glassfish.hk2.locator;
+
+ requires org.glassfish.jersey.core.server;
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+ requires org.glassfish.jersey.inject.hk2;
+
+ exports org.glassfish.jersey.grizzly2.httpserver.test.application
+ to org.glassfish.jersey.core.server;
+}
\ No newline at end of file
diff --git a/containers/grizzly2-servlet/pom.xml b/containers/grizzly2-servlet/pom.xml
index f45013e..ac5bc9b 100644
--- a/containers/grizzly2-servlet/pom.xml
+++ b/containers/grizzly2-servlet/pom.xml
@@ -78,6 +78,6 @@
<unpackBundle>true</unpackBundle>
</configuration>
</plugin>
- </plugins>
+ </plugins>
</build>
</project>
diff --git a/containers/grizzly2-servlet/src/main/java/module-info.java b/containers/grizzly2-servlet/src/main/java/module-info.java
new file mode 100644
index 0000000..005b3eb
--- /dev/null
+++ b/containers/grizzly2-servlet/src/main/java/module-info.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.grizzly2.servlet {
+ requires jakarta.ws.rs;
+ requires transitive jakarta.servlet;
+
+ requires grizzly.http.servlet;
+ requires grizzly.http.server;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.container.servlet.core;
+ requires org.glassfish.jersey.container.grizzly2.http;
+
+ exports org.glassfish.jersey.grizzly2.servlet;
+}
\ No newline at end of file
diff --git a/containers/jdk-http/pom.xml b/containers/jdk-http/pom.xml
index a9547d7..c5ebfa3 100644
--- a/containers/jdk-http/pom.xml
+++ b/containers/jdk-http/pom.xml
@@ -70,6 +70,23 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.container.jdk.http=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<resources>
@@ -83,5 +100,6 @@
<properties>
<!-- https://bugs.openjdk.java.net/browse/JDK-8211426 -->
<surefire.security.argline>-Djdk.tls.client.protocols=TLSv1.2</surefire.security.argline>
+ <surefire.coverage.argline>--add-opens org.glassfish.jersey.container.jdk.http/org.glassfish.jersey.jdkhttp=ALL-UNNAMED --illegal-access=permit</surefire.coverage.argline>
</properties>
</project>
diff --git a/containers/jdk-http/src/main/java/module-info.java b/containers/jdk-http/src/main/java/module-info.java
new file mode 100644
index 0000000..cccbf13
--- /dev/null
+++ b/containers/jdk-http/src/main/java/module-info.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.jdk.http {
+ requires java.logging;
+
+ requires jdk.httpserver;
+
+ requires jakarta.ws.rs;
+ requires static jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+
+ exports org.glassfish.jersey.jdkhttp;
+ opens org.glassfish.jersey.jdkhttp;
+ opens org.glassfish.jersey.jdkhttp.internal;
+}
\ No newline at end of file
diff --git a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java
index 2b912d8..7c2473e 100644
--- a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java
+++ b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java
@@ -55,14 +55,14 @@
*/
public class JdkHttpsServerTest extends AbstractJdkHttpServerTester {
- private static final String TRUSTSTORE_CLIENT_FILE = "./truststore_client";
+ private static final String TRUSTSTORE_CLIENT_FILE = "truststore_client";
private static final String TRUSTSTORE_CLIENT_PWD = "asdfgh";
- private static final String KEYSTORE_CLIENT_FILE = "./keystore_client";
+ private static final String KEYSTORE_CLIENT_FILE = "keystore_client";
private static final String KEYSTORE_CLIENT_PWD = "asdfgh";
- private static final String KEYSTORE_SERVER_FILE = "./keystore_server";
+ private static final String KEYSTORE_SERVER_FILE = "keystore_server";
private static final String KEYSTORE_SERVER_PWD = "asdfgh";
- private static final String TRUSTSTORE_SERVER_FILE = "./truststore_server";
+ private static final String TRUSTSTORE_SERVER_FILE = "truststore_server";
private static final String TRUSTSTORE_SERVER_PWD = "asdfgh";
private HttpServer server;
diff --git a/containers/jersey-servlet-core/pom.xml b/containers/jersey-servlet-core/pom.xml
index 57fa115..4725255 100644
--- a/containers/jersey-servlet-core/pom.xml
+++ b/containers/jersey-servlet-core/pom.xml
@@ -36,7 +36,7 @@
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
- <version>${servlet6.version}</version>
+<!-- <version>${servlet6.version}</version>-->
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/containers/jersey-servlet-core/src/main/java/module-info.java b/containers/jersey-servlet-core/src/main/java/module-info.java
new file mode 100644
index 0000000..ec6d02c
--- /dev/null
+++ b/containers/jersey-servlet-core/src/main/java/module-info.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.servlet.core {
+ requires java.logging;
+ requires java.naming;
+
+ requires jakarta.ws.rs;
+ requires jakarta.inject;
+ requires jakarta.persistence;
+ requires static jakarta.servlet;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+
+ exports org.glassfish.jersey.servlet;
+ exports org.glassfish.jersey.servlet.internal;
+ exports org.glassfish.jersey.servlet.internal.spi;
+ exports org.glassfish.jersey.servlet.spi;
+}
\ No newline at end of file
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java
index 5059c30..cec55cc 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java
@@ -219,7 +219,7 @@
//noinspection deprecation
response.setStatus(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
} else {
- response.sendError(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Request failed.");
+ response.sendError(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()/*, "Request failed."*/);
}
} catch (final IllegalStateException ex) {
// a race condition externally committing the response can still occur...
diff --git a/containers/jersey-servlet/src/main/java/module-info.java b/containers/jersey-servlet/src/main/java/module-info.java
new file mode 100644
index 0000000..39ece48
--- /dev/null
+++ b/containers/jersey-servlet/src/main/java/module-info.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.servlet {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+ requires jakarta.servlet;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+ requires org.glassfish.jersey.container.servlet.core;
+
+ exports org.glassfish.jersey.servlet.async;
+ exports org.glassfish.jersey.servlet.init;
+}
\ No newline at end of file
diff --git a/containers/jetty-http/src/main/java/module-info.txt b/containers/jetty-http/src/main/java/module-info.txt
new file mode 100644
index 0000000..577ae4c
--- /dev/null
+++ b/containers/jetty-http/src/main/java/module-info.txt
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.jetty.http {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+ requires jakarta.inject;
+ requires jakarta.servlet;
+ requires static jakarta.xml.bind;
+
+ requires org.eclipse.jetty.http;
+ requires org.eclipse.jetty.server;
+ requires org.eclipse.jetty.util;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+
+ exports org.glassfish.jersey.jetty;
+ opens org.glassfish.jersey.jetty;
+}
\ No newline at end of file
diff --git a/containers/jetty-servlet/src/main/java/module-info.txt b/containers/jetty-servlet/src/main/java/module-info.txt
new file mode 100644
index 0000000..271084c
--- /dev/null
+++ b/containers/jetty-servlet/src/main/java/module-info.txt
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.jetty.servlet {
+
+ requires jakarta.ws.rs;
+// requires jakarta.servlet; //taken from jetty.servlet.api which is part of jetty server
+
+ requires org.eclipse.jetty.http;
+ requires org.eclipse.jetty.server;
+ requires org.eclipse.jetty.util;
+ requires org.eclipse.jetty.webapp;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.container.jetty.http;
+ requires static org.glassfish.jersey.container.servlet.core;
+
+ exports org.glassfish.jersey.jetty.servlet;
+}
\ No newline at end of file
diff --git a/containers/netty-http/src/main/java/module-info.java b/containers/netty-http/src/main/java/module-info.java
new file mode 100644
index 0000000..1206d4e
--- /dev/null
+++ b/containers/netty-http/src/main/java/module-info.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.netty.servlet {
+ requires java.logging;
+ requires jakarta.ws.rs;
+ requires io.netty.all;
+
+ requires static jakarta.xml.bind;
+
+ requires org.glassfish.jersey.netty.connector;
+ requires org.glassfish.jersey.core.server;
+ requires org.glassfish.jersey.core.common;
+
+ exports org.glassfish.jersey.netty.httpserver;
+ opens org.glassfish.jersey.netty.httpserver;
+}
\ No newline at end of file
diff --git a/containers/simple-http/pom.xml b/containers/simple-http/pom.xml
index 6f94d79..7051bfe 100644
--- a/containers/simple-http/pom.xml
+++ b/containers/simple-http/pom.xml
@@ -73,6 +73,23 @@
<artifactId>maven-bundle-plugin</artifactId>
<inherited>true</inherited>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.container.simple.http=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<resources>
diff --git a/containers/simple-http/src/main/java/module-info.java b/containers/simple-http/src/main/java/module-info.java
new file mode 100644
index 0000000..ce9f100
--- /dev/null
+++ b/containers/simple-http/src/main/java/module-info.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.container.simple.http {
+ requires java.logging;
+
+ requires jakarta.inject;
+ requires jakarta.ws.rs;
+
+ requires static jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+
+ exports org.glassfish.jersey.simple;
+ opens org.glassfish.jersey.simple;
+}
\ No newline at end of file
diff --git a/core-client/src/main/java/module-info.java b/core-client/src/main/java/module-info.java
index cc806c0..a217f44 100644
--- a/core-client/src/main/java/module-info.java
+++ b/core-client/src/main/java/module-info.java
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-module org.glassfish.jersey.client {
+module org.glassfish.jersey.core.client {
requires jakarta.annotation;
requires jakarta.inject;
requires java.logging;
diff --git a/core-common/src/main/java/module-info.java b/core-common/src/main/java/module-info.java
index a1d7a1d..1a608e7 100644
--- a/core-common/src/main/java/module-info.java
+++ b/core-common/src/main/java/module-info.java
@@ -33,7 +33,7 @@
exports org.glassfish.jersey.internal.config;
exports org.glassfish.jersey.internal.guava;
exports org.glassfish.jersey.internal.inject;
- exports org.glassfish.jersey.internal.jsr166 to org.glassfish.jersey.core.server;
+ exports org.glassfish.jersey.internal.jsr166;
exports org.glassfish.jersey.internal.l10n;
exports org.glassfish.jersey.internal.sonar;
exports org.glassfish.jersey.internal.spi;
@@ -52,9 +52,12 @@
exports org.glassfish.jersey.uri;
exports org.glassfish.jersey.uri.internal;
+ exports org.glassfish.jersey.innate.spi to org.glassfish.jersey.media.multipart;
+
opens org.glassfish.jersey.innate.spi to org.glassfish.jersey.media.multipart;
opens org.glassfish.jersey.internal;
opens org.glassfish.jersey.message.internal;
+ opens org.glassfish.jersey.spi;
uses jakarta.ws.rs.core.Feature;
uses jakarta.ws.rs.container.DynamicFeature;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java
index 324b9a7..6383095 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java
@@ -57,7 +57,6 @@
import org.glassfish.jersey.internal.LocalizationMessages;
import org.glassfish.jersey.internal.OsgiRegistry;
import org.glassfish.jersey.internal.util.collection.ClassTypePair;
-
import org.glassfish.jersey.internal.util.collection.LazyValue;
import org.glassfish.jersey.internal.util.collection.Value;
import org.glassfish.jersey.internal.util.collection.Values;
diff --git a/core-server/pom.xml b/core-server/pom.xml
index 43b94fe..a2c8817 100644
--- a/core-server/pom.xml
+++ b/core-server/pom.xml
@@ -175,8 +175,6 @@
<compilerArgs>
<arg>--add-reads</arg>
<arg>org.glassfish.jersey.core.server=ALL-UNNAMED</arg>
- <arg>--add-opens</arg>
- <arg>jakarta.xml.bind/jakarta.xml.bind=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</execution>
diff --git a/core-server/src/main/java/module-info.java b/core-server/src/main/java/module-info.java
index c443c29..89fc8b8 100644
--- a/core-server/src/main/java/module-info.java
+++ b/core-server/src/main/java/module-info.java
@@ -29,12 +29,14 @@
// jersey common modules
requires org.glassfish.jersey.core.common;
- requires org.glassfish.jersey.client;
+ requires org.glassfish.jersey.core.client;
// Exports rather all, which corresponds to previous state without module-info
exports org.glassfish.jersey.server;
exports org.glassfish.jersey.server.spi;
+ exports org.glassfish.jersey.server.spi.internal;
exports org.glassfish.jersey.server.model;
+ exports org.glassfish.jersey.server.model.internal;
exports org.glassfish.jersey.server.wadl;
exports org.glassfish.jersey.server.wadl.config;
exports org.glassfish.jersey.server.wadl.processor;
@@ -46,6 +48,7 @@
exports org.glassfish.jersey.server.internal.inject;
exports org.glassfish.jersey.server.internal.monitoring;
exports org.glassfish.jersey.server.internal.process;
+ exports org.glassfish.jersey.server.internal.scanning;
uses org.glassfish.jersey.server.spi.ComponentProvider;
uses org.glassfish.jersey.server.spi.ExternalRequestScope;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/AbstractFinderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/AbstractFinderTest.java
index 575aa8e..42417f3 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/AbstractFinderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/AbstractFinderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,14 +18,31 @@
public abstract class AbstractFinderTest {
- String setUpJaxRsApiPath() {
- final String classPath = System.getProperty("surefire.test.class.path");
+ private static final String SEPARATOR = System.getProperty("path.separator");
- return parseEntries(classPath);
+ String setUpJaxRsApiPath() {
+
+ final String oldClassPath = System.getProperty("java.class.path");
+ final String sureFireClassPath = System.getProperty("surefire.test.class.path");
+ final String modulePath = System.getProperty("jdk.module.path");
+ final StringBuilder classPath = new StringBuilder();
+ if (oldClassPath != null) {
+ classPath.append(oldClassPath);
+ classPath.append(SEPARATOR);
+ }
+ if (sureFireClassPath != null) {
+ classPath.append(sureFireClassPath);
+ classPath.append(SEPARATOR);
+ }
+ if (modulePath != null) {
+ classPath.append(modulePath);
+ }
+
+ return parseEntries(classPath.toString());
}
private static String parseEntries(String fullPath) {
- final String[] entries = fullPath.split(System.getProperty("path.separator"));
+ final String[] entries = fullPath.split(SEPARATOR);
for (final String entry : entries) {
if (entry.contains("jakarta.ws.rs-api")) {
return entry;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java
index 4f1f8b8..d2ee89c 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java
@@ -43,25 +43,6 @@
@BeforeEach
public void setUp() throws Exception {
- final String separator = System.getProperty("path.separator");
- final String oldClassPath = System.getProperty("java.class.path");
- final String sureFireClassPath = System.getProperty("surefire.test.class.path");
- final String modulePath = System.getProperty("jdk.module.path");
- final StringBuilder classPath = new StringBuilder();
- if (oldClassPath != null) {
- classPath.append(oldClassPath);
- classPath.append(separator);
- }
- if (sureFireClassPath != null) {
- classPath.append(sureFireClassPath);
- classPath.append(separator);
- }
- if (modulePath != null) {
- classPath.append(modulePath);
- }
-
- final String[] entries = classPath.toString().split(separator);
-
jaxRsApiPath = setUpJaxRsApiPath();
if (jaxRsApiPath == null) {
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java
index b7a420b..8beb6f7 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java
@@ -46,25 +46,6 @@
@BeforeEach
public void setUp() throws Exception {
- final String separator = System.getProperty("path.separator");
- final String oldClassPath = System.getProperty("java.class.path");
- final String sureFireClassPath = System.getProperty("surefire.test.class.path");
- final String modulePath = System.getProperty("jdk.module.path");
- final StringBuilder classPath = new StringBuilder();
- if (oldClassPath != null) {
- classPath.append(oldClassPath);
- classPath.append(separator);
- }
- if (sureFireClassPath != null) {
- classPath.append(sureFireClassPath);
- classPath.append(separator);
- }
- if (modulePath != null) {
- classPath.append(modulePath);
- }
-
- final String[] entries = classPath.toString().split(separator);
-
jaxRsApiPath = setUpJaxRsApiPath();
if (jaxRsApiPath == null) {
diff --git a/ext/bean-validation/pom.xml b/ext/bean-validation/pom.xml
index 17ff4f3..408cafc 100644
--- a/ext/bean-validation/pom.xml
+++ b/ext/bean-validation/pom.xml
@@ -66,6 +66,23 @@
<unpackBundle>true</unpackBundle>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.ext.bean.validation=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
@@ -128,6 +145,12 @@
<version>${project.version}</version>
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.inject</groupId>
+ <artifactId>jersey-hk2</artifactId>
+ <version>${project.version}</version>
+ <optional>true</optional>
+ </dependency>
<!-- java-el related dependencies are in scope "provided" in hibernate-validator -->
diff --git a/ext/bean-validation/src/main/java/module-info.txt b/ext/bean-validation/src/main/java/module-info.txt
new file mode 100644
index 0000000..cb27c51
--- /dev/null
+++ b/ext/bean-validation/src/main/java/module-info.txt
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.ext.bean.validation {
+
+ requires java.logging;
+
+ requires jakarta.annotation;
+ requires jakarta.validation;
+ requires jakarta.ws.rs;
+ requires static jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+
+ requires org.glassfish.jersey.ext.cdi1x;
+
+ exports org.glassfish.jersey.server.validation;
+ exports org.glassfish.jersey.server.validation.internal.hibernate;
+ opens org.glassfish.jersey.server.validation.internal.hibernate;
+}
\ No newline at end of file
diff --git a/ext/cdi/jersey-cdi1x-transaction/pom.xml b/ext/cdi/jersey-cdi1x-transaction/pom.xml
index 7dff641..5182102 100644
--- a/ext/cdi/jersey-cdi1x-transaction/pom.xml
+++ b/ext/cdi/jersey-cdi1x-transaction/pom.xml
@@ -54,6 +54,21 @@
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>jakarta.enterprise</groupId>
+ <artifactId>jakarta.enterprise.cdi-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.inject</groupId>
+ <artifactId>jakarta.inject-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.transaction</groupId>
+ <artifactId>jakarta.transaction-api</artifactId>
+ </dependency>
</dependencies>
<build>
diff --git a/ext/cdi/jersey-cdi1x-transaction/src/main/java/module-info.java b/ext/cdi/jersey-cdi1x-transaction/src/main/java/module-info.java
deleted file mode 100644
index 0c04ef3..0000000
--- a/ext/cdi/jersey-cdi1x-transaction/src/main/java/module-info.java
+++ /dev/null
@@ -1,5 +0,0 @@
-module org.glassfish.jersey.ext.cdi1x {
- requires jakarta.annotation;
- requires jakarta.inject;
- requires org.glassfish.jersey.core.server;
-}
\ No newline at end of file
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/module-info.java b/ext/cdi/jersey-cdi1x/src/main/java/module-info.java
index 287d6e6..ebc038c 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/module-info.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/module-info.java
@@ -1,8 +1,29 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
module org.glassfish.jersey.ext.cdi1x {
requires java.naming;
+ requires java.logging;
requires transitive org.glassfish.jersey.core.server;
+ requires transitive org.glassfish.jersey.core.common;
requires transitive org.glassfish.jersey.inject.hk2;
+ exports org.glassfish.jersey.ext.cdi1x.internal;
+ opens org.glassfish.jersey.ext.cdi1x.internal;
+
}
\ No newline at end of file
diff --git a/ext/entity-filtering/src/main/java/module-info.java b/ext/entity-filtering/src/main/java/module-info.java
new file mode 100644
index 0000000..fee8173
--- /dev/null
+++ b/ext/entity-filtering/src/main/java/module-info.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.ext.entity.filtering {
+ requires java.logging;
+
+ requires jakarta.annotation;
+ requires jakarta.inject;
+ requires jakarta.ws.rs;
+ requires jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+
+ exports org.glassfish.jersey.message.filtering;
+ exports org.glassfish.jersey.message.filtering.spi;
+
+}
\ No newline at end of file
diff --git a/inject/cdi2-se/pom.xml b/inject/cdi2-se/pom.xml
index 44d5eed..71b987b 100644
--- a/inject/cdi2-se/pom.xml
+++ b/inject/cdi2-se/pom.xml
@@ -130,6 +130,24 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>false</inherited>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.inject.cdi2.se=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
\ No newline at end of file
diff --git a/inject/cdi2-se/src/main/java/module-info.java b/inject/cdi2-se/src/main/java/module-info.java
new file mode 100644
index 0000000..db7bc80
--- /dev/null
+++ b/inject/cdi2-se/src/main/java/module-info.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.inject.cdi2.se {
+ requires java.logging;
+
+ requires jakarta.annotation;
+ requires jakarta.inject;
+ requires jakarta.interceptor.api;
+ requires jakarta.ws.rs;
+
+ requires org.glassfish.jersey.core.common;
+
+ exports org.glassfish.jersey.inject.cdi.se;
+ exports org.glassfish.jersey.inject.cdi.se.injector;
+ exports org.glassfish.jersey.inject.cdi.se.bean;
+
+ opens org.glassfish.jersey.inject.cdi.se;
+}
\ No newline at end of file
diff --git a/inject/hk2/pom.xml b/inject/hk2/pom.xml
index 7178c5e..5663d57 100644
--- a/inject/hk2/pom.xml
+++ b/inject/hk2/pom.xml
@@ -74,6 +74,18 @@
<artifactId>hamcrest</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ </dependency>
</dependencies>
<build>
@@ -129,62 +141,23 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.inject.hk2=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
- <profiles>
- <profile>
- <id>jdk11+</id>
- <!--
- JDK 9 & 10 is unsupported (as well as <release>9</release>)
- module-info for java.xml.bind is taken from JDK (lib/ct.sym/9-modules)
- and it depends on java.activation which clashes with javax.activation
- -->
- <activation>
- <jdk>[11,)</jdk>
- </activation>
- <dependencies>
- <dependency>
- <groupId>jakarta.xml.bind</groupId>
- <artifactId>jakarta.xml.bind-api</artifactId>
- </dependency>
- <dependency>
- <groupId>jakarta.annotation</groupId>
- <artifactId>jakarta.annotation-api</artifactId>
- </dependency>
- <dependency>
- <groupId>jakarta.activation</groupId>
- <artifactId>jakarta.activation-api</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <executions>
- <execution>
- <id>default-compile</id>
- <configuration>
- <!-- compile everything to ensure module-info contains right entries -->
- <release>11</release>
- <compilerArgs>
- <arg>--add-reads</arg>
- <arg>org.glassfish.jersey.inject.hk2=ALL-UNNAMED</arg>
- </compilerArgs>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <forkMode>never</forkMode>
- <argLine>--add-reads org.glassfish.jersey.inject.hk2=ALL-UNNAMED --add-opens org.glassfish.jersey.inject.hk2=ALL-UNNAMED --illegal-access=permit</argLine>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
</project>
diff --git a/inject/hk2/src/main/java/module-info.java b/inject/hk2/src/main/java/module-info.java
index 200d786..ee8cdcb 100644
--- a/inject/hk2/src/main/java/module-info.java
+++ b/inject/hk2/src/main/java/module-info.java
@@ -14,12 +14,16 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
+import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
+import org.glassfish.jersey.internal.inject.InjectionManagerFactory;
+
module org.glassfish.jersey.inject.hk2 {
requires jakarta.annotation;
requires jakarta.inject;
requires java.logging;
+ //HK2 is not yet modularized
requires org.glassfish.hk2.api;
requires org.glassfish.hk2.locator;
requires org.glassfish.hk2.utilities;
@@ -29,6 +33,6 @@
exports org.glassfish.jersey.inject.hk2;
opens org.glassfish.jersey.inject.hk2;
- provides org.glassfish.jersey.internal.inject.InjectionManagerFactory
- with org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
+ provides InjectionManagerFactory
+ with Hk2InjectionManagerFactory;
}
\ No newline at end of file
diff --git a/media/json-binding/src/main/java/module-info.java b/media/json-binding/src/main/java/module-info.java
new file mode 100644
index 0000000..c754b27
--- /dev/null
+++ b/media/json-binding/src/main/java/module-info.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.media.jsonb {
+ requires jakarta.annotation;
+ requires jakarta.ws.rs;
+ requires jakarta.json.bind;
+
+ requires org.glassfish.jersey.core.common;
+
+ exports org.glassfish.jersey.jsonb;
+
+}
\ No newline at end of file
diff --git a/media/json-jackson/src/main/java/module-info.txt b/media/json-jackson/src/main/java/module-info.txt
new file mode 100644
index 0000000..a4d66bc
--- /dev/null
+++ b/media/json-jackson/src/main/java/module-info.txt
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.media.json.jackson {
+ requires jakarta.annotation;
+ requires jakarta.inject;
+ requires jakarta.ws.rs;
+
+ requires com.fasterxml.jackson.core;
+ requires com.fasterxml.jackson.annotation;
+ requires com.fasterxml.jackson.databind;
+ requires com.fasterxml.jackson.module.jaxb;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+ requires org.glassfish.jersey.ext.entity.filtering;
+
+ exports org.glassfish.jersey.jackson;
+}
\ No newline at end of file
diff --git a/media/json-jettison/pom.xml b/media/json-jettison/pom.xml
index 93c6b79..4bc01d4 100644
--- a/media/json-jettison/pom.xml
+++ b/media/json-jettison/pom.xml
@@ -68,6 +68,24 @@
<unpackBundle>true</unpackBundle>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>false</inherited>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.media.json.jettison=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
diff --git a/media/json-jettison/src/main/java/module-info.java b/media/json-jettison/src/main/java/module-info.java
new file mode 100644
index 0000000..5b14ab1
--- /dev/null
+++ b/media/json-jettison/src/main/java/module-info.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.media.json.jettison {
+ requires java.logging;
+ requires java.xml;
+
+ requires jakarta.ws.rs;
+ requires static jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.media.jaxb;
+
+ exports org.glassfish.jersey.jettison;
+}
\ No newline at end of file
diff --git a/media/json-processing/pom.xml b/media/json-processing/pom.xml
index a57ab6d..48b4a51 100644
--- a/media/json-processing/pom.xml
+++ b/media/json-processing/pom.xml
@@ -64,6 +64,24 @@
<unpackBundle>true</unpackBundle>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>false</inherited>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.media.json.processing=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
diff --git a/media/json-processing/src/main/java/module-info.java b/media/json-processing/src/main/java/module-info.java
new file mode 100644
index 0000000..c786c91
--- /dev/null
+++ b/media/json-processing/src/main/java/module-info.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.media.json.processing {
+ requires jakarta.annotation;
+ requires jakarta.ws.rs;
+
+ requires org.glassfish.jersey.core.common;
+
+ exports org.glassfish.jersey.jsonp;
+ exports org.glassfish.jersey.jsonp.internal;
+}
\ No newline at end of file
diff --git a/media/moxy/src/main/java/module-info.java b/media/moxy/src/main/java/module-info.java
new file mode 100644
index 0000000..a17a256
--- /dev/null
+++ b/media/moxy/src/main/java/module-info.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.media.moxy {
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+ requires jakarta.annotation;
+ requires jakarta.inject;
+
+ requires static jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.ext.entity.filtering;
+
+ requires org.eclipse.persistence.core;
+ requires org.eclipse.persistence.moxy;
+
+ exports org.glassfish.jersey.moxy.xml;
+ exports org.glassfish.jersey.moxy.json;
+}
\ No newline at end of file
diff --git a/media/multipart/pom.xml b/media/multipart/pom.xml
index 79d4d86..bc81e6c 100644
--- a/media/multipart/pom.xml
+++ b/media/multipart/pom.xml
@@ -51,6 +51,24 @@
<artifactId>maven-bundle-plugin</artifactId>
<inherited>true</inherited>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>false</inherited>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <!-- compile everything to ensure module-info contains right entries -->
+ <release>11</release>
+ <compilerArgs>
+ <arg>--add-reads</arg>
+ <arg>org.glassfish.jersey.media.multipart=ALL-UNNAMED</arg>
+ </compilerArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
diff --git a/media/multipart/src/main/java/module-info.java b/media/multipart/src/main/java/module-info.java
new file mode 100644
index 0000000..35ae57e
--- /dev/null
+++ b/media/multipart/src/main/java/module-info.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+module org.glassfish.jersey.media.multipart {
+
+ requires java.logging;
+
+ requires jakarta.ws.rs;
+ requires jakarta.inject;
+
+ requires jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.server;
+ requires org.glassfish.jersey.core.client;
+
+ exports org.glassfish.jersey.media.multipart;
+ exports org.glassfish.jersey.media.multipart.internal;
+
+ opens org.glassfish.jersey.media.multipart.internal;
+}
\ No newline at end of file
diff --git a/media/sse/src/main/java/module-info.java b/media/sse/src/main/java/module-info.java
new file mode 100644
index 0000000..6f69e5f
--- /dev/null
+++ b/media/sse/src/main/java/module-info.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+import org.glassfish.jersey.media.sse.internal.JerseySseEventSource;
+
+module org.glassfish.jersey.media.sse {
+ requires java.logging;
+
+ requires jakarta.annotation;
+ requires jakarta.inject;
+ requires jakarta.ws.rs;
+
+ requires jakarta.xml.bind;
+
+ requires org.glassfish.jersey.core.common;
+ requires org.glassfish.jersey.core.client;
+ requires org.glassfish.jersey.core.server;
+
+ exports org.glassfish.jersey.media.sse;
+ exports org.glassfish.jersey.media.sse.internal;
+
+ opens org.glassfish.jersey.media.sse;
+ opens org.glassfish.jersey.media.sse.internal;
+
+ provides jakarta.ws.rs.sse.SseEventSource.Builder with
+ JerseySseEventSource.Builder;
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 08b5cad..2e73038 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2090,6 +2090,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest</artifactId>
+ <version>${hamcrest.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit.version}</version>