[ https://issues.apache.org/jira/browse/FELIX-6612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17730712#comment-17730712 ]
Michael H. Siemaszko commented on FELIX-6612: --------------------------------------------- [~cziegeler] One of the action points mentioned in description for this issue is to create a dedicated branch (e.g. `{_}jakarta-servlet-6-x{_}`) - my assumption was changes pertaining to Jakarta Servlet API *6.x* upgrade *SHOULD NOT* be merged to `{_}master{_}` branch, hence separate branch. Regardless, upgrading to Jakarta Servlet API 6.x *REQUIRES* to first lift existing code to Jakarta Servlet API *5.x* compatibility. Perhaps we can agree on a compromise, so we can move forward, and address questions mentioned in issue description. {+}I suggest the following{+}: {*}a{*}) upgrading to Jakarta Servlet API {*}5.x{*}, without use of any deprecated methods - this way code will be ready for Jakarta Servlet API {*}6.x{*}, where deprecated methods were removed; such upgraded version would be merged to `{_}master{_}` branch, unless in this case as well a dedicated branch should be used, i.e. `{_}jakarta-servlet-5-x{_}`; {*}b{*}) once all code is lifted to Jakarta Servlet API {*}5.x{*}, without use of any deprecated methods, upgrading to Jakarta Servlet API *6.x* is as simple as changing dependency in `{_}pom.xml{_}` of each affected module, in addition to prerequisites listed on the graph attached to issue description (i.e. "{_}Upgrade org.osgi.service.servlet dependency to support Jakarta Servlet API 6.x{_}", "{_}Upgrade commons-fileupload dependency to support Jakarta Servlet API 6.x{_}", "{_}Upgrade to Java 17{_}", "{_}Upgrade to Jetty 12{_}"); this should most likely definitely not be merged to `{_}master{_}`, but kept on a separate branch, i.e. `{_}jakarta-servlet-6-x{_}`; Would that be an acceptable solution? > 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.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/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 > 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)