Skip to content
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

Insufficient pluggables #5

Open
joakime opened this issue Nov 18, 2013 · 2 comments
Open

Insufficient pluggables #5

joakime opened this issue Nov 18, 2013 · 2 comments

Comments

@joakime
Copy link
Contributor

joakime commented Nov 18, 2013

Everything in Jetty is pluggable. Everything.

The current assumption that all you want is jetty-webapp + jetty-plus assumes/forces configurations that are not needed by many.

Even assumptions such as "jetty will always perform annotation scanning" is false in many valid configurations.

If you take even high-level "concepts" and list them out, as a set of modules that can be "enabled" you have the following.

// from Jetty 9.1.0
// pruned to only show modules relevant to arquillian test suite
// (things stripped: logging / jmx / resource monitoring / network controls / etc)

$ java -jar start.jar --list-modules

Module: annotations
LIB: lib/jetty-annotations-${jetty.version}.jar
LIB: lib/annotations/*.jar
XML: etc/jetty-annotations.xml
depends: [plus]

Module: client
LIB: lib/jetty-client-${jetty.version}.jar
depends: []

Module: continuation
LIB: lib/jetty-continuation-${jetty.version}.jar
depends: []

Module: deploy
LIB: lib/jetty-deploy-${jetty.version}.jar
XML: etc/jetty-deploy.xml
depends: [webapp]

Module: http
XML: etc/jetty-http.xml
depends: [server]

Module: https
XML: etc/jetty-https.xml
depends: [ssl]

Module: jaas
LIB: lib/jetty-jaas-${jetty.version}.jar
XML: etc/jetty-jaas.xml
depends: [server]

Module: jaspi
LIB: lib/jetty-jaspi-${jetty.version}.jar
LIB: lib/jaspi/*.jar
depends: [security]

Module: jndi
LIB: lib/jetty-jndi-${jetty.version}.jar
LIB: lib/jndi/*.jar
depends: [server]

Module: jsp
LIB: lib/jsp/*.jar
depends: [servlet]

Module: npn
depends: []

Module: plus
LIB: lib/jetty-plus-${jetty.version}.jar
XML: etc/jetty-plus.xml
depends: [server, security, jndi]

Module: proxy
LIB: lib/jetty-proxy-${jetty.version}.jar
XML: etc/jetty-proxy.xml
depends: [client, servlet]

Module: rewrite
LIB: lib/jetty-rewrite-${jetty.version}.jar
XML: etc/jetty-rewrite.xml
depends: [server]

Module: security
LIB: lib/jetty-security-${jetty.version}.jar
depends: [server]

Module: server
LIB: lib/servlet-api-3.1.jar
LIB: lib/jetty-schemas-3.1.jar
LIB: lib/jetty-http-${jetty.version}.jar
LIB: lib/jetty-server-${jetty.version}.jar
LIB: lib/jetty-xml-${jetty.version}.jar
LIB: lib/jetty-util-${jetty.version}.jar
LIB: lib/jetty-io-${jetty.version}.jar
XML: etc/jetty.xml
depends: []

Module: servlet
LIB: lib/jetty-servlet-${jetty.version}.jar
depends: [server]

Module: servlets
LIB: lib/jetty-servlets-${jetty.version}.jar
depends: [servlet]

Module: spdy
LIB: lib/spdy/*.jar
XML: etc/jetty-ssl.xml
XML: etc/jetty-spdy.xml
depends: [ssl, npn]

Module: ssl
XML: etc/jetty-ssl.xml
depends: [server]

Module: webapp
LIB: lib/jetty-webapp-${jetty.version}.jar
depends: [security, servlet]

Module: websocket
LIB: lib/websocket/*.jar
depends: [annotations]

--(snip)--

this list merely makes things available on the server side, each webapp can choose to use the feature or not, even having a mix of features expose to the webapps. (such as 2 webapps with websocket support, one with it available, another with it disabled)

Aquillian seems to make assumptions on what is "default" or "baseline" for a container, but makes no statement on what that means.

Referencing:
http://arquillian.org/guides/developing_a_container_adapter/

@joakime
Copy link
Contributor Author

joakime commented Feb 17, 2022

@starksm64 this is still a valid issue that requires arquillian to address.

@starksm64
Copy link
Member

@joakime Ok, so I have asked that you and @olamy be added to a new container-jetty team to have access to this repo to help maintain it. In the interim, if you have a PR that address this issue, submit it and I'll merge it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants