-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jetty 12 - Relax JPMS dependencies #9293
Closed
Labels
Bug
For general bugs on Jetty side
Comments
sbordet
added a commit
that referenced
this issue
Feb 2, 2023
Relaxed jetty-client JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 2, 2023
Relaxed jetty-http2 and submodules JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 2, 2023
Relaxed jetty-http3 and submodules JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 3, 2023
Issue #9293 - Jetty 12 - Relax JPMS dependencies.
sbordet
added a commit
that referenced
this issue
Feb 3, 2023
Relaxed jetty-http3 and submodules JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 3, 2023
* Issue #9293 - Jetty 12 - Relax JPMS dependencies. Relaxed jetty-http3 and submodules JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 3, 2023
Relaxed jetty-http2 and submodules JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 3, 2023
Relaxed jetty-http2 and submodules JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 3, 2023
Relaxed jetty-fcgi JPMS dependencies. Packages generator and parser were not internal, was just matters of exporting them. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 3, 2023
Relaxed jetty-quic JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 4, 2023
Relaxed jetty-fcgi JPMS dependencies. Packages generator and parser were not internal, was just matters of exporting them. Signed-off-by: Simone Bordet <[email protected]>
sbordet
added a commit
that referenced
this issue
Feb 4, 2023
Relaxed jetty-quic JPMS dependencies. Signed-off-by: Simone Bordet <[email protected]>
What remains to fix are the WebSocket JPMS dependencies, tracked by #9233. |
gregpoulos
pushed a commit
to gregpoulos/jetty.project
that referenced
this issue
Feb 6, 2023
…x-documentation-operations-logging * upstream/jetty-12.0.x: (42 commits) fixed style cleanup TODOs for decoration Issue jetty#9300 - Rename RetainableByteBufferPool to ByteBufferPool Removed TODOs that will not be done. Rename Handler Nested & Collection (jetty#9305) fix surefire jpms configuration fix merge fix merge Bump maven.surefire.plugin.version from 3.0.0-M5 to 3.0.0-M8 (jetty#9255) Rename RetainableByteBufferPool to ByteBufferPool Fixed merge Fix jetty#9285 use possibly wrapper response for redirection (jetty#9286) Issue jetty#9293 - Jetty 12 - Relax JPMS dependencies (quic) (jetty#9307) Issue jetty#9293 - Jetty 12 - Relax JPMS dependencies (fcgi) (jetty#9306) Jetty 10 - Configurable Unsafe Host Header (jetty#9283) Issue jetty#9293 - Jetty 12 - Relax JPMS dependencies. (jetty#9296) Issue jetty#9293 - Jetty 12 - Relax JPMS dependencies. (jetty#9299) fix dependency add used dependency this dependency is used in test scope ...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Jetty version(s)
12+
Description
A few Jetty modules use the clause
export ... to ...
to export internal classes to other Jetty modules.For example,
jetty-client
exports internal classes to Jetty modules that implement specific transports such asjetty-http2-client-transport
(and same forfcgi
andhttp3
).Another example is
jetty-http2-common
exporting internal classes tojetty-http2-client
andjetty-http2-server
.This (strict) style has the pro that it does not impact users, who will be able to use the various Jetty client transports without problems, even with JPMS.
However, it has the con that it impacts implementers, those that want to extend Jetty (for example, write a custom
HttpClient
transport, or write an alternative HTTP/2 implementation that reuses thejetty-http2-common
classes).The impact is that they won't be able to see the internal classes unless they add additional JVM command-line options to export the Jetty internal classes to their own classes.
Given the history of Jetty being a very open project whose component are easily extensible for customizations (even without the Jetty developers being aware of these extensions/customizations), the current JPMS rules should be relaxed.
This will also benefit OSGi, because
internal
packages are special in OSGi and by default are not exported.Currently, we have to provide special directives to export those packages in order to have our own HTTP/2 modules work in OSGi.
The text was updated successfully, but these errors were encountered: