[ 
https://issues.apache.org/jira/browse/FELIX-6612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael H. Siemaszko updated FELIX-6612:
----------------------------------------
    Attachment: Upgrade Apache Felix to Jakarta Servlet API 6.x.20230731.pdf

Pending reviews and merges of opened pull requests, final milestone of 
migrating 30 Apache Felix modules to Jakarta Servlet API 6.0 
({color:#000080}+[https://jakarta.ee/specifications/servlet/6.0/|https://jakarta.ee/specifications/servlet/5.0/]+{color})
 and Whiteboard Specification for Jakarta™ Servlet 
({color:#000080}+[https://docs.osgi.org/specification/osgi.cmpn/8.1.0/service.servlet.html]+{color})
 is now complete.

Please refer to the following pull requests for more details: 
 * [https://github.com/apache/felix-dev/pull/218] (i.e. `jakarta-servlet-6-x` 
branch)

 * [https://github.com/apache/felix-dev/pull/217] (i.e. `jakarta-servlet-5-x` 
branch)

 * [https://github.com/osgi/osgi/pull/611] (i.e. Upgrade of 
`org.osgi.service.servlet` to support Jakarta Servlet API 6.x)

 * [https://github.com/apache/commons-fileupload/pull/232] (i.e. Upgrade of 
`commons-fileupload2-jakarta` to support Jakarta Servlet API 6.x)

Also attached is final update of Mikado Graph.

[~cziegeler]: As I do not have sufficient permissions, kindly please assign 
this issue to me, as it remains unassigned – all of the work was taken care of 
by me.

> 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
>            Priority: Major
>         Attachments: Upgrade Apache Felix to Jakarta Servlet API 
> 6.x.20230713.pdf, Upgrade Apache Felix to Jakarta Servlet API 
> 6.x.20230731.pdf, 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:#57d9a3}green icon{color}{*}). Code is shared via 
> [https://github.com/DataInMotion/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
> 1. Regarding modules affected, are there any additional modules which should 
> be taken into account?
> 2. 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)
> 3. 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.
> 4. Do you know of any ongoing effort to upgrade `org.osgi.service.servlet` to 
> support Jakarta Servlet API 6.x ?
> 5. 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 ?
> 6. 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 ?
> 7. Should `org.apache.felix.http.servlet-api` module be kept once dependency 
> on Java Servlet API is removed from it?
> 8. 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
> 1. Please provide answers to questions mentioned in previous section.
> 2. If you see any of the prerequisites missing from Mikado graph, please 
> mention those.
> 3. 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)

Reply via email to