jakartaee / tags

Other
25 stars 28 forks source link

Needs update to ee11 dependencies like jakarta.el-api 6.0.0 #257

Open janbartel opened 7 months ago

pnicolucci commented 5 months ago

Hi @janbartel changes to Jakarta Tags 3.0 were made here: https://github.com/jakartaee/tags/pull/254 for Jakarta EE11. We're planning a service release soon.

pnicolucci commented 3 months ago

@janbartel We've release a 3.0.1 version of the Jakarta Tags API. See the following for details and maven coordinates: https://jakarta.ee/specifications/tags/3.0/

Are you ok if we close this issue? I'll wait a week for a response and then close if there is nothing else. Thank you!

arjantijms commented 3 months ago

@pnicolucci I'm afraid we need a 3.0.2 version still. We missed a single value for the update.

The MANIFEST.MF (printed using the bnd command for readability) now contains this:

Import-Package                          jakarta.el;version="[5.0,7)"
                                        jakarta.servlet.http;version="[6.0,7)"
                                        jakarta.servlet.jsp.jstl.core
                                        jakarta.servlet.jsp.tagext;version="[3.1,4)"
                                        jakarta.servlet.jsp;version="[3.1,5)"
                                        jakarta.servlet;version="[6.0,7)"
                                        javax.xml.parsers
                                        org.xml.sax
                                        org.xml.sax.helpers

jakarta.servlet.jsp.tagext was not updated and still required Pages/JSP 3.x. We all missed this :(

pnicolucci commented 3 months ago

@arjantijms thanks for finding that, I can't believe I missed that in the original PR. I'll get a PR up for the change and can stage a 3.0.2 for testing.

pnicolucci commented 3 months ago

@arjantijms https://github.com/jakartaee/tags/pull/263 if you could review that would be great :)

pnicolucci commented 3 months ago

@arjantijms Tags API 3.0.2 is staged! Can you take another look and verify we're all good this time around. It looked good to me. Thanks!

arjantijms commented 3 months ago

I just build GlassFish with it, and it seems fine. Inspecting the binary build with bnd reveals:

Bnd-LastModified                        1724345517089
Build-Jdk-Spec                          11
Bundle-Description                      Jakarta Standard Tag Library 3.0 Specification
Bundle-DocURL                           https://www.eclipse.org
Bundle-License                          http://www.eclipse.org/legal/epl-2.0
                                        https://www.gnu.org/software/classpath/license.html
Bundle-ManifestVersion                  2
Bundle-Name                             Jakarta Standard Tag Library API
Bundle-SymbolicName                     jakarta.servlet.jsp.jstl-api
Bundle-Vendor                           Eclipse Foundation
Bundle-Version                          3.0.2
Created-By                              Apache Maven Bundle Plugin
Export-Package                          jakarta.servlet.jsp.jstl.core;uses:="jakarta.el,jakarta.servlet,jakarta.servlet.http,jakarta.servlet.jsp,jakarta.servlet.jsp.tagext";version="3.0.2"
                                        jakarta.servlet.jsp.jstl.fmt;uses:="jakarta.servlet.jsp";version="3.0.2"
                                        jakarta.servlet.jsp.jstl.sql;version="3.0.2"
                                        jakarta.servlet.jsp.jstl.tlv;uses:="jakarta.servlet.jsp.tagext";version="3.0.2"
Extension-Name                          jakarta.servlet.jsp.jstl
Implementation-Vendor                   Eclipse Foundation
Implementation-Vendor-Id                org.glassfish
Implementation-Version                  3.0.2
Import-Package                          jakarta.el;version="[5.0,7)"
                                        jakarta.servlet.http;version="[6.0,7)"
                                        jakarta.servlet.jsp.jstl.core
                                        jakarta.servlet.jsp.tagext;version="[3.1,5)"
                                        jakarta.servlet.jsp;version="[3.1,5)"
                                        jakarta.servlet;version="[6.0,7)"
                                        javax.xml.parsers
                                        org.xml.sax
                                        org.xml.sax.helpers
Manifest-Version                        1.0
Require-Capability                      osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=11))"
Specification-Vendor                    Eclipse Foundation
Specification-Version                   3.0
Tool                                    Bnd-5.1.1.202006162103

I'll do a PR with the updated Tags jar and the patch we had in place removed, so the CI can check it for the final ok.

arjantijms commented 3 months ago

See: https://github.com/eclipse-ee4j/glassfish/pull/25112

CI passes without patches with the 3.0.2 jar

pnicolucci commented 3 months ago

@arjantijms I'll work to release 3.0.2 today / tomorrow.

pnicolucci commented 3 months ago

Released: https://repo1.maven.org/maven2/jakarta/servlet/jsp/jstl/jakarta.servlet.jsp.jstl-api/3.0.2/

janbartel commented 3 weeks ago

@arjantijms when can we expect a release of glassfish that supports the servlet 6.1 apis? I can't find anything in maven central.

arjantijms commented 3 weeks ago

@janbartel You can find the release here: https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/8.0.0-M8/

janbartel commented 3 weeks ago

@arjantijms thanks for that. Jetty uses the JSTL implementation from glassfish via maven central artifacts. We've been using this one: https://repo1.maven.org/maven2/org/glassfish/web/jakarta.servlet.jsp.jstl/ v3.0.1, but that still has a dependency on jakarta.el 6.0.0:

org.glassfish.web.jakarta.servlet.jsp.jstl failed to start
org.osgi.framework.BundleException: Could not resolve module: org.glassfish.web.jakarta.servlet.jsp.jstl [89]
  Unresolved requirement: Import-Package: jakarta.el; version="[5.0.0,6.0.0)"

I'm wondering are we using the wrong artifact?

arjantijms commented 3 weeks ago

I'm wondering are we using the wrong artifact?

Yes, I think so. The JSTL (Jakarta Tags) implementation moved to WaSP some time ago. It's in the readme of this project

See: https://github.com/jakartaee/tags/blob/master/README.md

janbartel commented 3 weeks ago

@arjantijms thank you! I see however that wasp doesn't support ee11/servlet 6.1 either:

Trying to start the bundle org.glassfish.wasp.wasp that was supposed to be active or resolved.
org.glassfish.wasp.wasp failed to start
org.osgi.framework.BundleException: Could not resolve module: org.glassfish.wasp.wasp [89]
  Unresolved requirement: Import-Package: jakarta.el; version="[5.0.0,6.0.0)"

Is there a timeline for this release?

arjantijms commented 3 weeks ago

@janbartel WaSP 4.0.0-M2 should support Servlet 6.1.

See

Since GlassFish also honours the OSGi constraints, it would not start if any of its OSGi modules had constraints that were limited to Expression Language 5 or Servlet 6.