diff --git a/Jenkinsfile b/Jenkinsfile index d35283582..6c8efef0e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,4 +1,22 @@ #!groovy +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ pipeline { agent none diff --git a/apps/pom.xml b/apps/pom.xml index 0f6494923..16c9d556a 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-parent - 6.8.0 + 6.8.1-SNAPSHOT struts2-apps pom diff --git a/apps/rest-showcase/pom.xml b/apps/rest-showcase/pom.xml index 0e047f0ea..bb0e1e373 100644 --- a/apps/rest-showcase/pom.xml +++ b/apps/rest-showcase/pom.xml @@ -24,12 +24,12 @@ org.apache.struts struts2-apps - 6.8.0 + 6.8.1-SNAPSHOT struts2-rest-showcase war - 6.8.0 + 6.8.1-SNAPSHOT Struts 2 Rest Showcase Webapp Struts 2 Rest Showcase Example diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml index 6e3648700..fad0cbce5 100644 --- a/apps/showcase/pom.xml +++ b/apps/showcase/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-apps - 6.8.0 + 6.8.1-SNAPSHOT struts2-showcase @@ -163,7 +163,7 @@ org.apache.maven.plugins maven-failsafe-plugin - 3.5.1 + 3.5.4 it.org.apache.struts2.showcase.*Test diff --git a/assembly/pom.xml b/assembly/pom.xml index b5a5c0ab7..b2a415f00 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-parent - 6.8.0 + 6.8.1-SNAPSHOT struts2-assembly diff --git a/bom/pom.xml b/bom/pom.xml index b907e7df7..f38632200 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -25,11 +25,11 @@ org.apache.struts struts2-parent - 6.8.0 + 6.8.1-SNAPSHOT struts2-bom - 6.8.0 + 6.8.1-SNAPSHOT pom Struts 2 Bill of Materials @@ -44,7 +44,7 @@ - 6.8.0 + 6.8.1-SNAPSHOT true true @@ -190,7 +190,7 @@ - STRUTS_6_8_0 + STRUTS_6_7_0 scm:git:https://gitbox.apache.org/repos/asf/struts.git scm:git:https://gitbox.apache.org/repos/asf/struts.git https://github.com/apache/struts/ diff --git a/bundles/admin/pom.xml b/bundles/admin/pom.xml index d7bf679f8..d9b73681d 100644 --- a/bundles/admin/pom.xml +++ b/bundles/admin/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-osgi-bundles - 6.8.0 + 6.8.1-SNAPSHOT struts2-osgi-admin-bundle diff --git a/bundles/demo/pom.xml b/bundles/demo/pom.xml index 6ada10406..ed8d464bf 100644 --- a/bundles/demo/pom.xml +++ b/bundles/demo/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-osgi-bundles - 6.8.0 + 6.8.1-SNAPSHOT struts2-osgi-demo-bundle diff --git a/bundles/pom.xml b/bundles/pom.xml index c230ce8b9..22f4ba080 100755 --- a/bundles/pom.xml +++ b/bundles/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-parent - 6.8.0 + 6.8.1-SNAPSHOT struts2-osgi-bundles diff --git a/core/pom.xml b/core/pom.xml index e5c62d10c..3d4442b5c 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-parent - 6.8.0 + 6.8.1-SNAPSHOT struts2-core jar diff --git a/plugins/async/pom.xml b/plugins/async/pom.xml index b8a13fe2d..1540bd896 100644 --- a/plugins/async/pom.xml +++ b/plugins/async/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-async-plugin diff --git a/plugins/bean-validation/pom.xml b/plugins/bean-validation/pom.xml index a14603166..d56086df8 100644 --- a/plugins/bean-validation/pom.xml +++ b/plugins/bean-validation/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT 4.0.0 @@ -68,12 +68,6 @@ 2.3.1 test - - com.sun.xml.bind - jaxb-core - 2.3.0.1 - test - com.sun.xml.bind jaxb-impl diff --git a/plugins/cdi/pom.xml b/plugins/cdi/pom.xml index b15c44f40..4ce4c45a8 100644 --- a/plugins/cdi/pom.xml +++ b/plugins/cdi/pom.xml @@ -25,7 +25,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-cdi-plugin diff --git a/plugins/config-browser/pom.xml b/plugins/config-browser/pom.xml index b908e7a26..38e9e470b 100644 --- a/plugins/config-browser/pom.xml +++ b/plugins/config-browser/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-config-browser-plugin diff --git a/plugins/convention/README.md b/plugins/convention/README.md index b9a6a7c19..68aee4c80 100644 --- a/plugins/convention/README.md +++ b/plugins/convention/README.md @@ -4,3 +4,47 @@ You will find more details in [documentation](https://struts.apache.org/plugins/ ## Installation Just drop this plugin JAR into `WEB-INF/lib` folder or add it as a Maven dependency. + +## Design + +### Action with no annotations (all the default handlings) + +Action name is class name. + +Action package is based on the either any Namespace annotations on the class or Java package the +action class is defined in or the Java package name and the root Java package, which is determined +based on the package locators or the action package list. In either case, a root package is +identified and the namespace is the packages below the root up to and including the package that +contains the action class. + +Action method is execute in all cases. + +Results are built first from the Result annotations at the class level. Next, they are built from +the resources available in the web application and in the classpath based on the result location, +namespace of the action and action name (not anything to do with the code element names). Results +are found for common result codes including, success, error, input, failure, etc. If a specific +result doesn't exist using the result code then just the action namespace and action name are used to +locate results. If there are still no results found, than a redirect is added back to the index +action for the namespace, if one exists. + +### Action with Action(s) annotations + +If the annotation is located on any method other than execute, than the action configuration built +from the annotation is in addition to the action configuration built using the default. Unless there +is an annotation that contains no value, in which case, the method that annotation is defined for +becomes the default action method. If the annotation is defined on the execute method, regardless of +the value of the annotation, no default configuration is built for the class. + +If multiple annotations have no value, an error should occur. +If multiple annotations have the same value, an error should occur. + +Action name is taken from the annotation value. If the value is empty, the default action name +is used. + +Action package is taken from the annotation value. If the annotation value doesn't start with a slash +character, the default action namespace is used. + +Action method is always the method that the annotation is defined on. +Results are built first from the array of Results on the Action annotation. Next, they are built +from the class level Result annotations. Lastly, all default results are created. All Results already +created during this process should not be overridden later in the process. diff --git a/plugins/convention/design.txt b/plugins/convention/design.txt deleted file mode 100644 index 397956e45..000000000 --- a/plugins/convention/design.txt +++ /dev/null @@ -1,39 +0,0 @@ -Design - -Action with no annotations (all the default handlings) --------------------------- - -Action name is class name. -Action package is based on the either any Namespace annotations on the class or Java package the - action class is defined in or the Java package name and the root Java package, which is determined - based on the package locators or the action package list. In either case, a root package is - identified and the namespace is the packages below the root up to and including the package that - contains the action class. -Action method is execute in all cases. -Results are built first from the Result annotations at the class level. Next, they are built from - the resources available in the web application and in the classpath based on the result location, - namespace of the action and action name (not anything to do with the code element names). Results - are found for common result codes including, success, error, input, failure, etc. If a specific - result doesn't exist using the result code then just the action namespace and action name are used to - locate results. If there are still no results found, than a redirect is added back to the index - action for the namespace, if one exists. - -Action with Action(s) annotations ---------------------------------- - -If the annotation is located on any method other than execute, than the action configuration built - from the annotation is in addition to the action configuration built using the default. Unless there - is an annotation that contains no value, in which case, the method that annotation is defined for - becomes the default action method. If the annotation is defined on the execute method, regardless of - the value of the annotation, no default configuration is built for the class. -If multiple annotations have no value, an error should occur. -If multiple annotations have the same value, an error should occur. - -Action name is taken from the annotation value. If the value is empty, the default action name - is used. -Action package is taken from the annotation value. If the annotation value doesn't start with a slash - character, the default action namespace is used. -Action method is always the method that the annotation is defined on. -Results are built first from the array of Results on the Action annotation. Next, they are built - from the class level Result annotations. Lastly, all default results are created. All Results already - created during this process should not be overridden later in the process. diff --git a/plugins/convention/pom.xml b/plugins/convention/pom.xml index 4acd96071..2fb001643 100644 --- a/plugins/convention/pom.xml +++ b/plugins/convention/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-convention-plugin diff --git a/plugins/dwr/pom.xml b/plugins/dwr/pom.xml index 27846a44b..14a8da00d 100644 --- a/plugins/dwr/pom.xml +++ b/plugins/dwr/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-dwr-plugin diff --git a/plugins/embeddedjsp/pom.xml b/plugins/embeddedjsp/pom.xml index 0094c74ae..9174eafb2 100644 --- a/plugins/embeddedjsp/pom.xml +++ b/plugins/embeddedjsp/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-embeddedjsp-plugin diff --git a/plugins/gxp/pom.xml b/plugins/gxp/pom.xml index 725bc3c16..932f6d67d 100644 --- a/plugins/gxp/pom.xml +++ b/plugins/gxp/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-gxp-plugin diff --git a/plugins/jasperreports/pom.xml b/plugins/jasperreports/pom.xml index ec50d0562..656121266 100644 --- a/plugins/jasperreports/pom.xml +++ b/plugins/jasperreports/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-jasperreports-plugin diff --git a/plugins/javatemplates/pom.xml b/plugins/javatemplates/pom.xml index fa8f21df8..1300f0df1 100644 --- a/plugins/javatemplates/pom.xml +++ b/plugins/javatemplates/pom.xml @@ -25,7 +25,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-javatemplates-plugin diff --git a/plugins/jfreechart/pom.xml b/plugins/jfreechart/pom.xml index 229e13297..c84576c93 100644 --- a/plugins/jfreechart/pom.xml +++ b/plugins/jfreechart/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-jfreechart-plugin @@ -47,7 +47,7 @@ org.jfree jfreechart - 1.5.5 + 1.5.6 provided diff --git a/plugins/json/pom.xml b/plugins/json/pom.xml index a0d789998..70d973122 100644 --- a/plugins/json/pom.xml +++ b/plugins/json/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-json-plugin diff --git a/plugins/junit/pom.xml b/plugins/junit/pom.xml index a2bc75649..4ad1987df 100644 --- a/plugins/junit/pom.xml +++ b/plugins/junit/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-junit-plugin diff --git a/plugins/osgi/pom.xml b/plugins/osgi/pom.xml index dfd1f0e85..50777f825 100644 --- a/plugins/osgi/pom.xml +++ b/plugins/osgi/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-osgi-plugin diff --git a/plugins/oval/pom.xml b/plugins/oval/pom.xml index 8af904a9f..40d3ac962 100644 --- a/plugins/oval/pom.xml +++ b/plugins/oval/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-oval-plugin diff --git a/plugins/pell-multipart/pom.xml b/plugins/pell-multipart/pom.xml index 8fb32dbd5..f7bd7ed68 100644 --- a/plugins/pell-multipart/pom.xml +++ b/plugins/pell-multipart/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-pell-multipart-plugin diff --git a/plugins/plexus/pom.xml b/plugins/plexus/pom.xml index 03bab49ac..15e1de2a2 100644 --- a/plugins/plexus/pom.xml +++ b/plugins/plexus/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-plexus-plugin diff --git a/plugins/pom.xml b/plugins/pom.xml index afa979f95..dc879db33 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-parent - 6.8.0 + 6.8.1-SNAPSHOT struts2-plugins diff --git a/plugins/portlet-junit/pom.xml b/plugins/portlet-junit/pom.xml index d3d788caa..33bae686d 100644 --- a/plugins/portlet-junit/pom.xml +++ b/plugins/portlet-junit/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-portlet-junit-plugin diff --git a/plugins/portlet-mocks/pom.xml b/plugins/portlet-mocks/pom.xml index 0f393039a..a3bba86ab 100644 --- a/plugins/portlet-mocks/pom.xml +++ b/plugins/portlet-mocks/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-portlet-mocks-plugin diff --git a/plugins/portlet-tiles/pom.xml b/plugins/portlet-tiles/pom.xml index 98d89f805..a9d4eb8fc 100644 --- a/plugins/portlet-tiles/pom.xml +++ b/plugins/portlet-tiles/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-portlet-tiles-plugin diff --git a/plugins/portlet/pom.xml b/plugins/portlet/pom.xml index 6463a0c7b..c1f2d1994 100644 --- a/plugins/portlet/pom.xml +++ b/plugins/portlet/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-portlet-plugin diff --git a/plugins/rest/pom.xml b/plugins/rest/pom.xml index 595512439..c106dbb62 100644 --- a/plugins/rest/pom.xml +++ b/plugins/rest/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-rest-plugin diff --git a/plugins/sitemesh/pom.xml b/plugins/sitemesh/pom.xml index 346ec5e56..db098283c 100644 --- a/plugins/sitemesh/pom.xml +++ b/plugins/sitemesh/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-sitemesh-plugin diff --git a/plugins/spring/pom.xml b/plugins/spring/pom.xml index 6cd1f0944..ec1a7cfca 100644 --- a/plugins/spring/pom.xml +++ b/plugins/spring/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-spring-plugin diff --git a/plugins/testng/pom.xml b/plugins/testng/pom.xml index 410dc2ee1..50ed69c83 100644 --- a/plugins/testng/pom.xml +++ b/plugins/testng/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-testng-plugin diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml index be9255755..b69db1f6a 100644 --- a/plugins/tiles/pom.xml +++ b/plugins/tiles/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-tiles-plugin @@ -40,7 +40,7 @@ org.codehaus.mojo exec-maven-plugin - 3.4.1 + 3.6.2 compile diff --git a/plugins/velocity/pom.xml b/plugins/velocity/pom.xml index d07339ff4..86aa105d6 100644 --- a/plugins/velocity/pom.xml +++ b/plugins/velocity/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-velocity-plugin diff --git a/plugins/xslt/pom.xml b/plugins/xslt/pom.xml index 007fe01b2..af8944423 100644 --- a/plugins/xslt/pom.xml +++ b/plugins/xslt/pom.xml @@ -24,7 +24,7 @@ org.apache.struts struts2-plugins - 6.8.0 + 6.8.1-SNAPSHOT struts2-xslt-plugin diff --git a/pom.xml b/pom.xml index ae575d260..8b43c3035 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ 4.0.0 struts2-parent - 6.8.0 + 6.8.1-SNAPSHOT pom Struts 2 https://struts.apache.org/ @@ -51,7 +51,7 @@ scm:git:https://gitbox.apache.org/repos/asf/struts.git scm:git:https://gitbox.apache.org/repos/asf/struts.git https://github.com/apache/struts/ - STRUTS_6_8_0 + STRUTS_6_7_0 @@ -104,22 +104,22 @@ UTF-8 - 2025-09-15T05:41:00Z + 2025-09-15T05:46:27Z 1.8 1.8 - 9.7.1 - 2.20.0 - 2.25.1 + 9.9 + 2.20.1 + 2.25.2 3.3.5 2.0.17 5.3.39 3.0.8 1.0.7 - 3.5.1 + 3.5.4 6.2.4.Final - 2.3.33 + 2.3.34 1.9 @@ -224,7 +224,7 @@ org.jacoco jacoco-maven-plugin - 0.8.12 + 0.8.14 prepare-agent @@ -300,7 +300,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.8.0 + 3.9.0 org.apache.maven.plugins @@ -310,41 +310,32 @@ org.apache.rat apache-rat-plugin - 0.15 + 0.17 - true - true - true - false - - - - - - - - pom.xml - src/** - - - Jenkinsfile - src/main/groovy/Jenkinsfile.gdsl - src/main/resources/org/apache/struts2/static/domTT.js + ALL + + CLAUDE.md + CODEOWNERS + SECURITY.md + **/README.md + src/main/resources/*-LICENSE.txt src/site/resources/tags/**/*.html - src/main/resources/*LICENSE.txt src/test/resources/**/*.txt + src/main/resources/org/apache/struts2/static/domTT.js src/main/webapp/**/*.css src/main/webapp/**/*.map src/main/webapp/**/*.js src/main/webapp/**/*.svg src/main/webapp/**/*.txt - src/main/resources/**/docs-urls.txt + **/src/main/resources/**/docs-urls.txt src/etc/header.txt src/main/resources/static/css/**/*.css src/main/resources/static/js/**/*.js - src/main/resources/docs.cfg + **/src/main/resources/docs.cfg src/main/webapp/fonts/**/* - + thoughts/**/*.md + test-output/** + @@ -363,7 +354,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.5.0 + 3.6.2 enforce @@ -390,7 +381,7 @@ org.apache.maven.plugins maven-release-plugin - 3.1.1 + 3.3.0 maven-jar-plugin @@ -429,7 +420,7 @@ org.apache.maven.doxia doxia-module-markdown - 1.12.0 + 2.0.0 @@ -875,7 +866,7 @@ org.apache.commons commons-lang3 - 3.17.0 + 3.20.0 org.apache.commons @@ -901,7 +892,7 @@ commons-validator commons-validator - 1.9.0 + 1.10.0 @@ -994,7 +985,7 @@ org.assertj assertj-core - 3.27.4 + 3.27.6 test @@ -1064,7 +1055,7 @@ com.thoughtworks.xstream xstream - 1.4.20 + 1.4.21 io.github.x-stream diff --git a/src/main/groovy/Jenkinsfile.gdsl b/src/main/groovy/Jenkinsfile.gdsl index 005f7b155..210bb1e41 100644 --- a/src/main/groovy/Jenkinsfile.gdsl +++ b/src/main/groovy/Jenkinsfile.gdsl @@ -1,3 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ //The global script scope def ctx = context(scope: scriptScope())