From 1ee0ae0299bb61459c2a0654f22d49950a5ab731 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Nov 2025 09:03:30 +0100 Subject: [PATCH] Bump org.apache.rat:apache-rat-plugin from 0.16.1 to 0.17 (#1406) * Bump org.apache.rat:apache-rat-plugin from 0.16.1 to 0.17 Bumps org.apache.rat:apache-rat-plugin from 0.16.1 to 0.17. --- updated-dependencies: - dependency-name: org.apache.rat:apache-rat-plugin dependency-version: '0.17' dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Updates exclusions * Removes includes to include all the files --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lukasz Lenart --- Jenkinsfile | 18 +++++++++++++ plugins/convention/README.md | 44 ++++++++++++++++++++++++++++++++ plugins/convention/design.txt | 39 ---------------------------- pom.xml | 34 ++++++++++-------------- src/main/groovy/Jenkinsfile.gdsl | 18 +++++++++++++ 5 files changed, 94 insertions(+), 59 deletions(-) delete mode 100644 plugins/convention/design.txt diff --git a/Jenkinsfile b/Jenkinsfile index 1c2028fd2..5dc1e2e13 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/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/pom.xml b/pom.xml index 53237001d..f9bcd47a3 100644 --- a/pom.xml +++ b/pom.xml @@ -289,38 +289,32 @@ org.apache.rat apache-rat-plugin - 0.16.1 + 0.17 - true - true - true - false - - AL - - - 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/** + diff --git a/src/main/groovy/Jenkinsfile.gdsl b/src/main/groovy/Jenkinsfile.gdsl index 005f7b155..723309c2a 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())