svn commit: r1916593 - /tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt
Author: markt Date: Thu Mar 28 10:31:25 2024 New Revision: 1916593 URL: http://svn.apache.org/viewvc?rev=1916593&view=rev Log: Servlet 6.1.0 TCK with Tomcat 11.0.0-19-SNAPSHOT Added: tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt Added: tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt?rev=1916593&view=auto == --- tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt (added) +++ tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt Thu Mar 28 10:31:25 2024 @@ -0,0 +1,51 @@ +TCK Certification Summary += + +License: + The terms of the EFTL are acceptable. + +Product Name, Version and download URL: + Apache Tomcat + 11.0.0-M19-SNAPSHOT (build 20240326.151401-23) + https://repository.apache.org/content/groups/snapshots/org/apache/tomcat/tomcat/11.0.0-M19-SNAPSHOT/tomcat-11.0.0-M19-20240326.151401-23.tar.gz + +Specification Name, Version and download URL: + Jakarta Servlet + 6.1.0 + https://github.com/jakartaee/specifications/pull/***TBD*** + +TCK Version, digital SHA-256 fingerprint and download URL + TCK + 6.1.0 + https://jakarta.oss.sonatype.org/content/repositories/jakartaservlet-1021/jakarta/servlet/ + SHA512: pom 92b32cf5e18ef4a45b274ef15a9a340aab4c8b132dcce8f8b1f5d8e61862be2cb786dc483243f96d96c1fab5677430da58c8436cb755fee401bc7a18b534812b + util ab24e6efd9125416d4ad644ad940c81e61deba0901b6f06937317dd4b004c4bdcc8d0d38fe9626e8878fac52d89ec40a5ecc260cbc0ca7f5a9f8af3eff17608e + runtime 79b2ea482b0b093d50ad9e594989f4e418aeae5a8fb7e38d2b20d5c07105bc53c9253fab3052b186794b4047d88d3eab932eacc7e9677416dc0e3eaa3aa2a5c6 + +Implementation runtime Version(s) tested: + Apache Tomcat + 11.0.0-M19-SNAPSHOT (build 20240326.151401-23) + +Public URL of TCK Results Summary: + https://tomcat.apache.org/tck/servlet-6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt + +Any Additional Specification Certification Requirements: + None + +Java runtime used to run the implementation: + Java 17 - Temurin 17.0.10 + Java 21 - Temurin 21.0.2 + +Summary of the information for the certification environment: + Ubuntu 22.04.4 LTS +â https://github.com/apache/tomcat-tck + hash 4e0f9067ae6d2ffac2559c8206361654dc1b02d5 + +A statement attesting that all TCK requirements have been met, including any compatibility rules: + Confirmed + +Test results: + Java 17: Tests run: 1716, Failures: 0, Errors: 0, Skipped: 7 + Java 21: Tests run: 1716, Failures: 0, Errors: 0, Skipped: 7 + +The 7 skipped tests were the optional HTTP/2 server push tests \ No newline at end of file - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1916595 - /tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt
Author: markt Date: Thu Mar 28 10:33:15 2024 New Revision: 1916595 URL: http://svn.apache.org/viewvc?rev=1916595&view=rev Log: Updfate URL to TCK Modified: tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt Modified: tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt?rev=1916595&r1=1916594&r2=1916595&view=diff == --- tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt (original) +++ tomcat/site/trunk/docs/tck/servlet6.1.0-tomcat-11.0.0-M19-SNAPSHOT.txt Thu Mar 28 10:33:15 2024 @@ -12,7 +12,7 @@ Product Name, Version and download URL: Specification Name, Version and download URL: Jakarta Servlet 6.1.0 - https://github.com/jakartaee/specifications/pull/***TBD*** + https://github.com/jakartaee/specifications/pull/717 TCK Version, digital SHA-256 fingerprint and download URL TCK - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated (7d19b0f92c -> 6ae057c994)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git from 7d19b0f92c Update CXF new 236e403177 Add the Jakarta EE 11 schema and required license file updates new f599ac7269 Add Jakarta EE 11 schema to the digester new 43b88dbf18 Fix tabs and spaces new 2f5fa34566 Add/update tests for the Jakarta EE 11 schema new 6ae057c994 Update to use Jakarta 11 Schemas The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: LICENSE| 6 + conf/web.xml | 4 +- .../{jakartaee_10.xsd => jakartaee_11.xsd} | 583 - .../servlet/resources/{jsp_3_1.xsd => jsp_4_0.xsd} | 10 +- .../resources/{web-app_6_0.xsd => web-app_6_1.xsd} | 10 +- .../{web-common_6_0.xsd => web-common_6_1.xsd} | 20 +- .../{web-fragment_6_0.xsd => web-fragment_6_1.xsd} | 10 +- ...aglibrary_3_0.xsd => web-jsptaglibrary_4_0.xsd} | 46 +- .../jasper/resources/LocalStrings.properties | 8 +- .../jasper/resources/LocalStrings_cs.properties| 8 +- .../jasper/resources/LocalStrings_de.properties| 8 +- .../jasper/resources/LocalStrings_es.properties| 8 +- .../jasper/resources/LocalStrings_fr.properties| 8 +- .../jasper/resources/LocalStrings_ja.properties| 8 +- .../jasper/resources/LocalStrings_ko.properties| 8 +- .../jasper/resources/LocalStrings_pt_BR.properties | 8 +- .../jasper/resources/LocalStrings_ru.properties| 4 +- .../jasper/resources/LocalStrings_zh_CN.properties | 8 +- .../tomcat/util/descriptor/DigesterFactory.java| 8 + .../tomcat/util/descriptor/XmlIdentifiers.java | 6 + .../apache/tomcat/util/descriptor/web/WebXml.java | 7 + res/META-INF/jasper-el.jar/web-fragment.xml| 4 +- res/META-INF/jasper.jar/web-fragment.xml | 4 +- res/META-INF/servlet-api.jar.license | 6 + res/META-INF/tomcat-websocket.jar/web-fragment.xml | 4 +- res/install-win/INSTALLLICENSE | 6 + res/maven/tomcat-servlet-api.pom | 10 +- res/rat/rat-excludes.txt | 6 + .../servlet/resources/TestSchemaValidation.java| 17 +- test/org/apache/jasper/TestJspC.java | 8 + test/org/apache/jasper/compiler/TestJspConfig.java | 17 + test/org/apache/jasper/compiler/TestValidator.java | 26 + .../jasper/servlet/TestJspCServletContext.java | 12 +- test/{tld => webapp-6.1/WEB-INF}/tags11.tld| 0 test/{tld => webapp-6.1/WEB-INF}/tags12.tld| 0 test/{tld => webapp-6.1/WEB-INF}/tags20.tld| 0 test/{tld => webapp-6.1/WEB-INF}/tags21.tld| 0 test/{webapp-5.0 => webapp-6.1}/WEB-INF/tags30.tld | 0 test/{webapp-6.0 => webapp-6.1}/WEB-INF/tags31.tld | 0 .../tags21.tld => webapp-6.1/WEB-INF/tags40.tld} | 8 +- test/{webapp-6.0 => webapp-6.1}/WEB-INF/web.xml| 10 +- test/{webapp-2.5 => webapp-6.1}/el-as-literal.jsp | 0 test/{webapp-6.0 => webapp-6.1}/tld-versions.jsp | 2 + test/webapp/WEB-INF/web.xml| 4 +- webapps/ROOT/WEB-INF/web.xml | 4 +- webapps/docs/WEB-INF/web.xml | 4 +- webapps/docs/appdev/sample/web/WEB-INF/web.xml | 4 +- webapps/docs/appdev/web.xml.txt| 4 +- webapps/docs/changelog.xml | 4 + webapps/docs/jndi-datasource-examples-howto.xml| 4 +- webapps/examples/WEB-INF/web.xml | 4 +- webapps/host-manager/WEB-INF/web.xml | 4 +- webapps/manager/WEB-INF/web.xml| 4 +- 53 files changed, 837 insertions(+), 129 deletions(-) copy java/jakarta/servlet/resources/{jakartaee_10.xsd => jakartaee_11.xsd} (82%) copy java/jakarta/servlet/resources/{jsp_3_1.xsd => jsp_4_0.xsd} (98%) copy java/jakarta/servlet/resources/{web-app_6_0.xsd => web-app_6_1.xsd} (98%) copy java/jakarta/servlet/resources/{web-common_6_0.xsd => web-common_6_1.xsd} (99%) copy java/jakarta/servlet/resources/{web-fragment_6_0.xsd => web-fragment_6_1.xsd} (98%) copy java/jakarta/servlet/resources/{web-jsptaglibrary_3_0.xsd => web-jsptaglibrary_4_0.xsd} (96%) copy test/{tld => webapp-6.1/WEB-INF}/tags11.tld (100%) copy test/{tld => webapp-6.1/WEB-INF}/tags12.tld (100%) copy test/{tld => webapp-6.1/WEB-INF}/tags20.tld (100%) copy test/{tld => webapp-6.1/WEB-INF}/tags21.tld (100%) copy test/{webapp-5.0 => webapp-6.1}/WEB-INF/tags30.tld (100%) copy test/{webapp-6.0 => webapp-6.1}/WEB-INF/tags31.tld (100%) copy test/{webapp-2.3/WEB-INF/tags21.tld => webapp-6.1/WEB-INF/tags40.tld} (88%) copy test/{we
(tomcat) 05/05: Update to use Jakarta 11 Schemas
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 6ae057c994f9be026e9edc4a1a75784e98997ea1 Author: Mark Thomas AuthorDate: Thu Mar 28 11:09:17 2024 + Update to use Jakarta 11 Schemas --- conf/web.xml | 4 ++-- java/org/apache/jasper/resources/LocalStrings.properties | 8 java/org/apache/jasper/resources/LocalStrings_cs.properties| 8 java/org/apache/jasper/resources/LocalStrings_de.properties| 8 java/org/apache/jasper/resources/LocalStrings_es.properties| 8 java/org/apache/jasper/resources/LocalStrings_fr.properties| 8 java/org/apache/jasper/resources/LocalStrings_ja.properties| 8 java/org/apache/jasper/resources/LocalStrings_ko.properties| 8 java/org/apache/jasper/resources/LocalStrings_pt_BR.properties | 8 java/org/apache/jasper/resources/LocalStrings_ru.properties| 4 ++-- java/org/apache/jasper/resources/LocalStrings_zh_CN.properties | 8 res/META-INF/jasper-el.jar/web-fragment.xml| 4 ++-- res/META-INF/jasper.jar/web-fragment.xml | 4 ++-- res/META-INF/tomcat-websocket.jar/web-fragment.xml | 4 ++-- webapps/ROOT/WEB-INF/web.xml | 4 ++-- webapps/docs/WEB-INF/web.xml | 4 ++-- webapps/docs/appdev/sample/web/WEB-INF/web.xml | 4 ++-- webapps/docs/appdev/web.xml.txt| 4 ++-- webapps/docs/changelog.xml | 4 webapps/docs/jndi-datasource-examples-howto.xml| 4 ++-- webapps/examples/WEB-INF/web.xml | 4 ++-- webapps/host-manager/WEB-INF/web.xml | 4 ++-- webapps/manager/WEB-INF/web.xml| 4 ++-- 23 files changed, 66 insertions(+), 62 deletions(-) diff --git a/conf/web.xml b/conf/web.xml index 788f411d48..aa2292c336 100644 --- a/conf/web.xml +++ b/conf/web.xml @@ -18,8 +18,8 @@ https://jakarta.ee/xml/ns/jakartaee"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee - https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"; - version="6.0"> + https://jakarta.ee/xml/ns/jakartaee/web-app_6_1.xsd"; + version="6.1"> diff --git a/java/org/apache/jasper/resources/LocalStrings.properties b/java/org/apache/jasper/resources/LocalStrings.properties index 67f4b9e405..8fec3e4fa9 100644 --- a/java/org/apache/jasper/resources/LocalStrings.properties +++ b/java/org/apache/jasper/resources/LocalStrings.properties @@ -375,8 +375,8 @@ jspc.webfrg.header=\n\ https://jakarta.ee/xml/ns/jakartaee"\n\ \ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\ \ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee\n\ -\ https://jakarta.ee/xml/ns/jakartaee/web-fragment_6_0.xsd"\n\ -\ version="6.0"\n\ +\ https://jakarta.ee/xml/ns/jakartaee/web-fragment_6_1.xsd"\n\ +\ version="6.1"\n\ \ metadata-complete="true">\n\ \ org_apache_jasper.jspc\n\ \ \n\ @@ -403,8 +403,8 @@ jspc.webxml.header=\n\ https://jakarta.ee/xml/ns/jakartaee"\n\ \ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\ \ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee\n\ -\ https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"\n\ -\ version="6.0"\n\ +\ https://jakarta.ee/xml/ns/jakartaee/web-app_6_1.xsd"\n\ +\ version="6.1"\n\ \ metadata-complete="false">\n\ diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 0eca891322..86243c6a61 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -128,6 +128,10 @@ Add a default implementation for HttpSession.getAccessor() to align with the Servlet 6.1 API. (markt) + +Add the Jakarta EE 11 XML schemas and update Tomcat and included web +applications to use them. (markt) + diff --git a/webapps/docs/jndi-datasource-examples-howto.xml b/webapps/docs/jndi-datasource-examples-howto.xml index 981543578b..eadd626b8f 100644 --- a/webapps/docs/jndi-datasource-examples-howto.xml +++ b/webapps/docs/jndi-datasource-examples-howto.xml @@ -298,8 +298,8 @@ resource to your Context. https://jakarta.ee/xml/ns/jakartaee"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee - https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"; - version="6.0"> + https://jakarta.ee/xml/ns/jakartaee/web-app_6_1.xsd"; + version="6.
(tomcat) 02/05: Add Jakarta EE 11 schema to the digester
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git commit f599ac7269349bdcb1458b80b72fc8bcff50e2f3 Author: Mark Thomas AuthorDate: Wed Mar 27 18:04:11 2024 + Add Jakarta EE 11 schema to the digester --- java/org/apache/tomcat/util/descriptor/DigesterFactory.java | 8 java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java | 6 ++ java/org/apache/tomcat/util/descriptor/web/WebXml.java | 3 +++ 3 files changed, 17 insertions(+) diff --git a/java/org/apache/tomcat/util/descriptor/DigesterFactory.java b/java/org/apache/tomcat/util/descriptor/DigesterFactory.java index 823b4fee9f..4d67ec2ac9 100644 --- a/java/org/apache/tomcat/util/descriptor/DigesterFactory.java +++ b/java/org/apache/tomcat/util/descriptor/DigesterFactory.java @@ -145,6 +145,14 @@ public class DigesterFactory { addSelf(systemIds, "jakartaee_web_services_2_0.xsd"); addSelf(systemIds, "jakartaee_web_services_client_2_0.xsd"); +// from JakartaEE 11 +add(systemIds, XmlIdentifiers.WEB_61_XSD, locationFor("web-app_6_1.xsd")); +add(systemIds, XmlIdentifiers.WEB_FRAGMENT_61_XSD, locationFor("web-fragment_6_1.xsd")); +add(systemIds, XmlIdentifiers.TLD_40_XSD, locationFor("web-jsptaglibrary_4_0.xsd")); +addSelf(systemIds, "web-common_6_1.xsd"); +addSelf(systemIds, "jakartaee_11.xsd"); +addSelf(systemIds, "jsp_4_0.xsd"); + SERVLET_API_PUBLIC_IDS = Collections.unmodifiableMap(publicIds); SERVLET_API_SYSTEM_IDS = Collections.unmodifiableMap(systemIds); } diff --git a/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java b/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java index 1f492a7b27..6335417b10 100644 --- a/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java +++ b/java/org/apache/tomcat/util/descriptor/XmlIdentifiers.java @@ -91,6 +91,12 @@ public final class XmlIdentifiers { public static final String WEB_FRAGMENT_60_XSD = JAKARTAEE_10_NS + "/web-fragment_6_0.xsd"; public static final String TLD_31_XSD = JAKARTAEE_10_NS + "/web-jsptaglibrary_3_1.xsd"; +// from Jakarta EE 11 +public static final String JAKARTAEE_11_NS = JAKARTAEE_10_NS; +public static final String WEB_61_XSD = JAKARTAEE_11_NS + "/web-app_6_1.xsd"; +public static final String WEB_FRAGMENT_61_XSD = JAKARTAEE_11_NS + "/web-fragment_6_1.xsd"; +public static final String TLD_40_XSD = JAKARTAEE_11_NS + "/web-jsptaglibrary_4_0.xsd"; + private XmlIdentifiers() { } } \ No newline at end of file diff --git a/java/org/apache/tomcat/util/descriptor/web/WebXml.java b/java/org/apache/tomcat/util/descriptor/web/WebXml.java index 94c883623c..47f45ced36 100644 --- a/java/org/apache/tomcat/util/descriptor/web/WebXml.java +++ b/java/org/apache/tomcat/util/descriptor/web/WebXml.java @@ -766,6 +766,9 @@ public class WebXml extends XmlEncodingBase implements DocumentProperties.Charse } else if ("6.0".equals(version)) { javaeeNamespace = XmlIdentifiers.JAKARTAEE_10_NS; webXmlSchemaLocation = XmlIdentifiers.WEB_60_XSD; +} else if ("6.1".equals(version)) { +javaeeNamespace = XmlIdentifiers.JAKARTAEE_11_NS; +webXmlSchemaLocation = XmlIdentifiers.WEB_61_XSD; } sb.append("
(tomcat) 04/05: Add/update tests for the Jakarta EE 11 schema
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 2f5fa345668ef8beb972027b72e33ae496bd4a07 Author: Mark Thomas AuthorDate: Thu Mar 28 08:42:47 2024 + Add/update tests for the Jakarta EE 11 schema --- .../apache/tomcat/util/descriptor/web/WebXml.java | 4 +++ .../servlet/resources/TestSchemaValidation.java| 17 +- test/org/apache/jasper/TestJspC.java | 8 + test/org/apache/jasper/compiler/TestJspConfig.java | 17 ++ test/org/apache/jasper/compiler/TestValidator.java | 26 +++ .../jasper/servlet/TestJspCServletContext.java | 12 ++- test/webapp-6.1/WEB-INF/tags11.tld | 37 ++ test/webapp-6.1/WEB-INF/tags12.tld | 37 ++ test/webapp-6.1/WEB-INF/tags20.tld | 37 ++ test/webapp-6.1/WEB-INF/tags21.tld | 37 ++ test/webapp-6.1/WEB-INF/tags30.tld | 37 ++ test/webapp-6.1/WEB-INF/tags31.tld | 37 ++ test/webapp-6.1/WEB-INF/tags40.tld | 37 ++ test/webapp-6.1/WEB-INF/web.xml| 36 + test/webapp-6.1/el-as-literal.jsp | 21 test/webapp-6.1/tld-versions.jsp | 35 test/webapp/WEB-INF/web.xml| 4 +-- 17 files changed, 435 insertions(+), 4 deletions(-) diff --git a/java/org/apache/tomcat/util/descriptor/web/WebXml.java b/java/org/apache/tomcat/util/descriptor/web/WebXml.java index 47f45ced36..99dfe8890e 100644 --- a/java/org/apache/tomcat/util/descriptor/web/WebXml.java +++ b/java/org/apache/tomcat/util/descriptor/web/WebXml.java @@ -194,6 +194,10 @@ public class WebXml extends XmlEncodingBase implements DocumentProperties.Charse majorVersion = 6; minorVersion = 0; break; +case "6.1": +majorVersion = 6; +minorVersion = 1; +break; default: log.warn(sm.getString("webXml.version.unknown", version)); } diff --git a/test/jakarta/servlet/resources/TestSchemaValidation.java b/test/jakarta/servlet/resources/TestSchemaValidation.java index dd070fbc75..146ad5cbcd 100644 --- a/test/jakarta/servlet/resources/TestSchemaValidation.java +++ b/test/jakarta/servlet/resources/TestSchemaValidation.java @@ -39,7 +39,7 @@ public class TestSchemaValidation { digester.push(new WebXml()); WebXml desc = (WebXml) digester.parse( new File("test/webapp/WEB-INF/web.xml")); -Assert.assertEquals("6.0", desc.getVersion()); +Assert.assertEquals("6.1", desc.getVersion()); Assert.assertEquals(0, handler.getErrors().size()); Assert.assertEquals(0, handler.getWarnings().size()); } @@ -172,4 +172,19 @@ public class TestSchemaValidation { Assert.assertEquals(0, handler.getErrors().size()); Assert.assertEquals(0, handler.getWarnings().size()); } + + +@Test +public void testWebapp_6_1() throws Exception { +XmlErrorHandler handler = new XmlErrorHandler(); +Digester digester = DigesterFactory.newDigester( +true, true, new WebRuleSet(false), true); +digester.setErrorHandler(handler); +digester.push(new WebXml()); +WebXml desc = (WebXml) digester.parse( +new File("test/webapp-6.1/WEB-INF/web.xml")); +Assert.assertEquals("6.1", desc.getVersion()); +Assert.assertEquals(0, handler.getErrors().size()); +Assert.assertEquals(0, handler.getWarnings().size()); +} } diff --git a/test/org/apache/jasper/TestJspC.java b/test/org/apache/jasper/TestJspC.java index b544c7bf19..82ed163c74 100644 --- a/test/org/apache/jasper/TestJspC.java +++ b/test/org/apache/jasper/TestJspC.java @@ -119,6 +119,14 @@ public class TestJspC { verify(webappOut); } +@Test +public void precompileWebapp_6_1() throws IOException { +File appDir = new File("test/webapp-6.1"); +File webappOut = new File(outputDir, appDir.getName()); +precompile(appDir, webappOut); +verify(webappOut); +} + private void verify(File webappOut) { // for now, just check some expected files exist Assert.assertTrue(new File(webappOut, "generated_web.xml").exists()); diff --git a/test/org/apache/jasper/compiler/TestJspConfig.java b/test/org/apache/jasper/compiler/TestJspConfig.java index 4f9cf26cd9..2583a632f6 100644 --- a/test/org/apache/jasper/compiler/TestJspConfig.java +++ b/test/org/apache/jasper/compiler/TestJspConfig.java @@ -185,6 +185,23 @@ public class TestJspConfig extends TomcatBaseTest { Assert.assertTrue
Re: Stop releasing Tomcat 9 or adding back Tomcat 10.0?
Romain, On 3/27/24 08:26, Romain Manni-Bucau wrote: Hi Chris, Le mer. 27 mars 2024 à 13:13, Christopher Schultz < ch...@christopherschultz.net> a écrit : Romain, On 3/27/24 06:13, Romain Manni-Bucau wrote: Le mer. 27 mars 2024 à 10:58, Rémy Maucherat a écrit : On Wed, Mar 27, 2024 at 9:49 AM Romain Manni-Bucau wrote: Hi all, Checkout out TomEE's notifications I realized Tomcat is in a weirdish situation where Tomcat 9 is Servlet 4 and "+1" version is Tomcat 10.1 which is Servlet 6. It means Tomcat is no more a Servlet 5 friendly option. I wonder if it means Tomcat < 10.1 should be stopped too or if Tomcat 10.0 should be maintained and released again - pretty sure we can find help if desired for that not that far. Another option is to restore the deleted methods between servlet 5-6 in the code base to be able to run Tomcat 10.1 with Servlet 5 API instead of Servlet 6 - to pass signature TCK. Wdyt? Nothing. The Tomcat developers (= the committers) determined that the EE 9 release was useless since the only change is the javax -> jakarta package renaming. A big task for sure, but that seemed to us this was more a developer oriented armaggeddon and not something that benefits our users. For reasons that elude my understanding, some other projects like TomEE thought this was still useful and decided to release full support for EE 9 rather than go to EE 10 like we did. Our plan about EE was public. So I guess this is still our problem obviously, but I don't feel like doing anything about it. From what I saw on other AsfEE projects, users requested it, nothing more and then you have CVE game. BTW, about the last item. Recently, I tried to run CXF on the new EE 10 APIs (since OWB moved to that). It doesn't work as it uses deprecated APIs, while IMO it should have moved away from them long ago. And it's an ASF project, not some hack project somewhere. This is fixed AFAIK on master (maybe last release, didnt check) so should be fine soon. Basically unless there's a cut somewhere, nothing will ever change :D As a result, I don't think an API restoration in Tomcat 10.1 is a good idea ... Ok, so last option is TomEE community taking the lead on 10.0 branch, is that an option if all the PR work is done? Is the problem that you have customers actually using these APIs? https://tomcat.apache.org/tomcat-10.0-doc/servletapi/deprecated-list.html Or is the problem that you can't pass a TCK unless you have support for these ancient methods? A bit both, have to admit I lost a bit track of original user request and if they adopted it or not but TCK point is important and justifies today a complete tomcat fork which is quite not understandable for me from an ASF standpoint. It sounds like you are saying "we over at TomEE need something and because we are both ASF projects, Tomcat really ought to do this work for us". That doesn't sound very nice to me. You asked us, and we told you we don't care to scratch that particular itch. *shrug* Most of that stuff was deprecated ages ago and just finally removed. Why is it super important for you to get certified for Servlet 5 specifically? Why not just get Jakarta EE 10 certified and move on? Any applications that would actually fail on Tomcat 10.1 + Migration Tool really really _really_ need to be updated to work properly. People have had 15 years to stop using that stuff. This is the plan, but for the same reason you don't want to release 10.0, certification is not a one week fork, tomee 10m1 is planned but in the meantime having tomee 9 (servlet 5) certified would be very welcomed. That said should I read it as you are proposing yourself to help? (trying ;)). Yeah... no. I was just suggesting that maybe the patch set isn't really that big. And that you shouldn't bother yourself with 10.0 because nobody should use it. It's probably riddled with unfixed CVEs that actually-supported versions of Tomcat have fixed and released. Honestly, I think it would be much more worth you while to fork Tomcat 10.1 and add-back the methods you need rather than trying to resurrect the 10.0 branch. There have been no commits on that branch for 2 years, and we've had something like ~24 releases of each other branch in the meantime. That includes performance improvements, security fixes, feature and stability improvements, etc. Would it be as simple as providing your own replacements for deprecated classes/methods to pass the TCK? That seems far less onerous than bringing back zombie Tomcat 10.0. Asked this morning the same question but it is still being investigated if possible but still means forking at some point so gain is not really huge for the project - can be for end users, agree. You don't really need to fork. You just need a patch-set which is hopefully small. I suppose you could maintain a fork, but I don't think it would be that onerous. I would like to see what your investigation reveals. -chris ---
Re: Stop releasing Tomcat 9 or adding back Tomcat 10.0?
Romain, On 3/27/24 15:29, Romain Manni-Bucau wrote: FYI here is the diff between servlet 5 and 6 API jars: New API: - jakarta.servlet.ServletConnection Deleted API: - jakarta.servlet.SingleThreadModel - jakarta.servlet.http.HttpSessionContext - jakarta.servlet.http.HttpUtils Changed API: jakarta.servlet.ServletContext Deleted methods: - public abstract jakarta.servlet.Servlet jakarta.servlet.ServletContext.getServlet(java.lang.String) throws jakarta.servlet.ServletException - public abstract java.util.Enumeration jakarta.servlet.ServletContext.getServletNames() - public abstract java.util.Enumeration jakarta.servlet.ServletContext.getServlets() - public abstract void jakarta.servlet.ServletContext.log(java.lang.Exception,java.lang.String) jakarta.servlet.ServletRequest Added methods: - public abstract jakarta.servlet.ServletConnection jakarta.servlet.ServletRequest.getServletConnection() - public abstract java.lang.String jakarta.servlet.ServletRequest.getProtocolRequestId() - public abstract java.lang.String jakarta.servlet.ServletRequest.getRequestId() Deleted methods: - public abstract java.lang.String jakarta.servlet.ServletRequest.getRealPath(java.lang.String) jakarta.servlet.ServletRequestWrapper Added methods: - public jakarta.servlet.ServletConnection jakarta.servlet.ServletRequestWrapper.getServletConnection() - public java.lang.String jakarta.servlet.ServletRequestWrapper.getProtocolRequestId() - public java.lang.String jakarta.servlet.ServletRequestWrapper.getRequestId() Deleted methods: - public java.lang.String jakarta.servlet.ServletRequestWrapper.getRealPath(java.lang.String) jakarta.servlet.SessionCookieConfig Added methods: - public abstract java.lang.String jakarta.servlet.SessionCookieConfig.getAttribute(java.lang.String) - public abstract java.util.Map jakarta.servlet.SessionCookieConfig.getAttributes() - public abstract void jakarta.servlet.SessionCookieConfig.setAttribute(java.lang.String,java.lang.String) jakarta.servlet.UnavailableException Deleted methods: - public jakarta.servlet.Servlet jakarta.servlet.UnavailableException.getServlet() jakarta.servlet.descriptor.JspPropertyGroupDescriptor Added methods: - public abstract java.lang.String jakarta.servlet.descriptor.JspPropertyGroupDescriptor.getErrorOnELNotFound() jakarta.servlet.http.Cookie Added methods: - public boolean jakarta.servlet.http.Cookie.equals(java.lang.Object) - public int jakarta.servlet.http.Cookie.hashCode() - public java.lang.String jakarta.servlet.http.Cookie.getAttribute(java.lang.String) - public java.lang.String jakarta.servlet.http.Cookie.toString() - public java.util.Map jakarta.servlet.http.Cookie.getAttributes() - public void jakarta.servlet.http.Cookie.setAttribute(java.lang.String,java.lang.String) jakarta.servlet.http.HttpServlet Added fields: - public static final java.lang.String jakarta.servlet.http.HttpServlet.LEGACY_DO_HEAD Added methods: - public void jakarta.servlet.http.HttpServlet.init(jakarta.servlet.ServletConfig) throws jakarta.servlet.ServletException jakarta.servlet.http.HttpServletRequest Deleted methods: - public abstract boolean jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromUrl() jakarta.servlet.http.HttpServletRequestWrapper Deleted methods: - public boolean jakarta.servlet.http.HttpServletRequestWrapper.isRequestedSessionIdFromUrl() jakarta.servlet.http.HttpServletResponse Deleted methods: - public abstract java.lang.String jakarta.servlet.http.HttpServletResponse.encodeRedirectUrl(java.lang.String) - public abstract java.lang.String jakarta.servlet.http.HttpServletResponse.encodeUrl(java.lang.String) - public abstract void jakarta.servlet.http.HttpServletResponse.setStatus(int,java.lang.String) jakarta.servlet.http.HttpServletResponseWrapper Deleted methods: - public java.lang.String jakarta.servlet.http.HttpServletResponseWrapper.encodeRedirectUrl(java.lang.String) - public java.lang.String jakarta.servlet.http.HttpServletResponseWrapper.encodeUrl(java.lang.String) - public void jakarta.servlet.http.HttpServletResponseWrapper.setStatus(int,java.lang.String) jakarta.servlet.http.HttpSession Deleted methods: - public abstract jakarta.servlet.http.HttpSessionContext jakarta.servlet.http.HttpSession.getSessionContext() - public abstract java.lang.Object jakarta.servlet.http.HttpSession.getValue(java.lang.String) - public abstract java.lang.String[] jakarta.servlet.http.HttpSession.getValueNames() - public abstract void jakarta.servlet.http.HttpSession.putValue(java.lang.String,java.lang.Object) - public abstract void jakarta.servlet.http.HttpSession.removeValue(java.lang.String) It does not look crazy to get back (without @Override) deleted methods in Tomcat - most of them are just either "return null" or a delegation to another method so cost for tomcat is almost 0 for that side. What I'm not yet sure - didn't have time to check yet - is if the new API are used directly from jakarta package (if so it would fail running with servlet 5 api else it will run smooth