Michael H. Siemaszko created FELIX-6612: -------------------------------------------
Summary: Upgrade Apache Felix to Jakarta Servlet API 6.x Key: FELIX-6612 URL: https://issues.apache.org/jira/browse/FELIX-6612 Project: Felix Issue Type: New Feature Components: Health Checks, HTTP Service, Inventory, iPOJO, JAAS, System Ready, Web Console Reporter: Michael H. Siemaszko Attachments: Upgrade Apache Felix to Jakarta Servlet API 6.x.pdf Goal is to upgrade all relevant Apache Felix modules, which currently are using either +Jakarta Servlet API 5.x+ or J{+}ava Servlet{+}, to {+}Jakarta Servlet API 6.x{+}. Attached Mikado graph ({color:#000080}+[https://mikadomethod.info/]+{color}) has all so far identified prerequisites listed, as well as progress on path to main goal – i.e. items already completed are checked off ({color:#FF0000}green icon{color}). Code is shared via [https://github.com/ideas-into-software/felix-dev/tree/jakarta-servlet-6-x] (no pull request for now – please see sections ‘Questions’ and ‘Next steps’ below). Before starting, I asked on Apache Felix Users list ({color:#000080}+[https://www.mail-archive.com/users@felix.apache.org/msg18693.html]+{color}), as well as researched if there is any ongoing effort to upgrade Apache Felix to Jakarta Servlet 6.x (issues / pull requests, etc.). Besides {color:#000080}+https://issues.apache.org/jira/browse/FELIX-6389+{color}, which resembles this effort, I did not find anything. However, that issue is open since 22/02/2021 and there has been no updates since 09/01/2022, as well as no code shared as part of it. If any progress was made as part of {color:#000080}+https://issues.apache.org/jira/browse/FELIX-6389+{color}, kindly please provide status update and perhaps these efforts can be merged. h1. Modules affected Modules with dependency on Java Servlet or Jakarta Servlet. h2. org.apache.felix.http * org.apache.felix.http.parent * org.apache.felix.http.base * org.apache.felix.http.bridge * org.apache.felix.http.inventoryprinter * org.apache.felix.http.itest * org.apache.felix.http.jetty * org.apache.felix.http.proxy * org.apache.felix.http.samples.whiteboard * org.apache.felix.http.servlet-api * org.apache.felix.http.sslfilter * org.apache.felix.http.webconsoleplugin h2. org.apache.felix.webconsole * org.apache.felix.webconsole * org.apache.felix.webconsole.plugins.deppack * org.apache.felix.webconsole.plugins.ds * org.apache.felix.webconsole.plugins.event * org.apache.felix.webconsole.plugins.gogo * org.apache.felix.webconsole.plugins.memoryusage * org.apache.felix.webconsole.plugins.metatype * org.apache.felix.webconsole.plugins.obr * org.apache.felix.webconsole.plugins.packageadmin * org.apache.felix.webconsole.plugins.scriptconsole * org.apache.felix.webconsole.plugins.shell * org.apache.felix.webconsole.plugins.subsystems * org.apache.felix.webconsole.plugins.upnp * org.apache.felix.webconsole.plugins.useradmin h2. org.apache.felix.healthcheck * org.apache.felix.healthcheck.core * org.apache.felix.healthcheck.webconsoleplugin h2. Other * org.apache.felix.jaas * org.apache.felix.example.jaas.app * org.apache.felix.example.jaas.jdbc-h2 * org.apache.felix.ipojo.webconsole * org.apache.felix.systemready * org.apache.felix.servicediagnostics.plugin * org.apache.felix.inventory h1. Questions # Regarding modules affected, are there any additional modules which should be taken into account? # Regarding modules affected, should any of the modules listed be dropped from that list ? (e.g. some may be out of date / replaced by other already) # Do you know of any ongoing effort to migrate `org.osgi.service.http` specification to Jakarta ? How otherwise should modules currently using `org.osgi.service.http` specification API classes and methods be refactored ? I am aware of {color:#000080}+[https://github.com/eclipse-equinox/equinox/issues/183]+{color} but it is not clear to me from that discussion if any such effort will be actually made. # Do you know of any ongoing effort to upgrade `org.osgi.service.servlet` to support Jakarta Servlet API 6.x ? # If `javax.servlet` dependency is removed from `org.apache.felix.http.base`, wouldn't the wrappers become obsolete ? I.e. shouldn't `org.apache.felix.http.base.internal.jakartawrappers` and `org.apache.felix.http.base.internal.javaxwrappers` be dropped then and Jakarta Servlet API used directly ? # Should Jakarta Servlet API 5.x be supported in parallel with Jakarta Servlet API 6.x (as hinted at in {color:#000080}+[https://www.mail-archive.com/users@felix.apache.org/msg18694.html]+{color}), or only Jakarta Servlet API 6.x ? # Should `org.apache.felix.http.servlet-api` module be kept once dependency on Java Servlet API is removed from it? # Should this be merged to `master` branch @ {color:#000080}+[https://github.com/apache/felix-dev]+{color} once ready, or dedicated branch should be used (e.g. `jakarta-servlet-6-x`) h1. Next steps # Please provide answers to questions mentioned in previous section. # If you see any of the prerequisites missing from Mikado graph, please mention those. # Please create a dedicated branch @ {color:#000080}+[https://github.com/apache/felix-dev]+{color} (e.g. `jakarta-servlet-6-x`) unless this should be merged to `master` once ready. -- This message was sent by Atlassian Jira (v8.20.10#820010)