[ 
https://issues.apache.org/jira/browse/GROOVY-11922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18072846#comment-18072846
 ] 

ASF GitHub Bot commented on GROOVY-11922:
-----------------------------------------

utafrali commented on code in PR #2461:
URL: https://github.com/apache/groovy/pull/2461#discussion_r3067957066


##########
gradle/verification-metadata.xml:
##########
@@ -963,12 +963,22 @@
             <sha512 
value="b810ce040ed0671a3161fb197845f3ae750cd38c474ef54c351b7b127ff3b4d624a26c33450c62474f42c1cde21c65324cda63b1b3ea0515a286e0bcb0c0c9d5"
 origin="Generated by Gradle" reason="A key couldn't be downloaded"/>
          </artifact>
       </component>
+      <component group="jakarta.servlet" name="jakarta.servlet-api" 
version="6.1.0">

Review Comment:
   The new `jakarta.servlet-api-6.1.0.jar` entry relies only on SHA-512 for 
verification. Older entries (e.g. `jakarta.servlet.jsp-api-3.1.1.jar`) include 
both a `<pgp>` value and a SHA-512, even when the key couldn't be downloaded. 
It would be worth adding PGP verification here as well (even with `reason="A 
key couldn't be downloaded"` if necessary) to stay consistent with the 
project's existing artifact verification approach.



##########
subprojects/groovy-servlet/src/spec/doc/servlet-userguide.adoc:
##########
@@ -29,7 +29,7 @@ rather than Java code.
 * An `AbstractHttpServlet` class for defining traditional Servlets.
 * Helper classes like `ServletBinding` and `ServletCategory` which let you 
access some of the features offered by the `groovy-servlet` module in 
additional contexts.
 
-From Groovy 5, `groovy-servlet` supports Jakarta EE Servlet specifications. 
Javax EE servlet specifications are supported in version before Groovy 5 or 
with Groovy 5 by using the `javax` classifier when specifying your dependency.
+From Groovy 6, `groovy-servlet` targets Jakarta EE 11 (Servlet 6.1). It 
remains compatible with Jakarta EE 10 (Servlet 6.0) containers. The `javax` 
classifier is available for pre-Jakarta containers (e.g. Tomcat 9, Jetty 9).

Review Comment:
   The claim "It remains compatible with Jakarta EE 10 (Servlet 6.0) 
containers" is asserted without qualification, but it depends entirely on 
whether any Servlet 6.1-exclusive API is called by groovy-servlet at runtime. 
Since the dependency is `compileOnlyApi`, the container provides the Servlet 
implementation at runtime. If any method or class added in 6.1 is invoked, 
users running on Tomcat 10.1 or Jetty 12.0.x (Servlet 6.0 containers) will get 
a `NoSuchMethodError` or `NoClassDefFoundError`.
   
   Consider either: (a) auditing that only Servlet 6.0 APIs are used and adding 
a note about this constraint, or (b) changing the wording to something more 
conservative like "It may be compatible with Jakarta EE 10 (Servlet 6.0) 
containers provided no Servlet 6.1-exclusive APIs are used."





> Jakarta EE 11 compatibility for groovy-servlet
> ----------------------------------------------
>
>                 Key: GROOVY-11922
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11922
>             Project: Groovy
>          Issue Type: Improvement
>    Affects Versions: 5.0.5
>            Reporter: Oleg K.
>            Assignee: Paul King
>            Priority: Major
>             Fix For: 6.0.0-alpha-1
>
>
> Same as GROOVY-1190 but for EE11



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to