This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5695-html5-constraint-validation in repository https://gitbox.apache.org/repos/asf/struts.git
commit 60dfbc7c2a28e59e454941b486f674195f61fba8 Author: Lukasz Lenart <[email protected]> AuthorDate: Mon Aug 24 20:00:13 2026 +0200 WW-5695 docs(validation): require the licence header on every new file in the plan The plan's code blocks omit the ASF header for brevity, and a task reviewer caught an implementer transcribing that omission into a real test file. apache-rat-plugin:check runs at prepare-package, so mvn test -DskipAssembly — the command every task in the plan uses to verify itself — never runs the licence check. A missing header passes every task-level gate and fails CI. Co-Authored-By: Claude Opus 5 <[email protected]> --- docs/superpowers/plans/2026-08-24-html5-constraint-validation.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/superpowers/plans/2026-08-24-html5-constraint-validation.md b/docs/superpowers/plans/2026-08-24-html5-constraint-validation.md index ecbad39f8..aa8619535 100644 --- a/docs/superpowers/plans/2026-08-24-html5-constraint-validation.md +++ b/docs/superpowers/plans/2026-08-24-html5-constraint-validation.md @@ -15,6 +15,12 @@ ## Global Constraints - Target version string in every `@Deprecated` annotation: `since = "7.4.0", forRemoval = true`. +- **Every new file — main source AND test source — must carry the Apache licence header**, copied verbatim + from a sibling file in the same directory. The code blocks in this plan omit it for brevity; that omission + is not permission to skip it. `apache-rat-plugin:check` is bound to the `prepare-package` phase + (`pom.xml:549-555`), so `mvn test -DskipAssembly` — the command every task below uses — **never runs the + licence check**. A missing header therefore passes every task-level verification in this plan and fails + the real build. Add it as you create each file. - **Tests are JUnit 4 or JUnit 3. There is no JUnit 5 in this repo.** New pure-unit test classes use `org.junit.Test`. Any test that renders a tag must extend `AbstractUITagTest` (JUnit 3 style: methods named `testXxx()`, no annotation). A Jupiter `@Test` on an `XWorkTestCase` subclass silently never runs. - Commit message format: `WW-XXXX <type>(<scope>): <description>`. Ticket prefix is mandatory. - Never commit to `main`. Work happens on `feature/WW-5695-html5-constraint-validation`.
