lukaszlenart opened a new pull request, #1857: URL: https://github.com/apache/struts/pull/1857
Found while auditing my local project memory for drift; the same three facts had drifted in `CLAUDE.md`. ### Testing section said JUnit 5 (the one that actually bites) There is no JUnit 5 in this repository: | check | result | |---|---| | `org.junit.jupiter` imports | **0** | | `import org.junit.Test` (JUnit 4) | ~210 files | | `extends XWorkTestCase` (JUnit 3 style) | ~114 files | | `parent/pom.xml` | `junit:junit:4.13.2` | This is not cosmetic. `XWorkTestCase` extends `junit.framework.TestCase`, so a Jupiter `@Test` added to one of its ~114 subclasses is **silently never collected** — it does not error, the suite just stays green while the new test never runs. Guidance that says "tests use JUnit 5" leads straight into that. The section now states the two coexisting styles, the `testXxx()` naming requirement, and that introducing Jupiter is a build-infrastructure change deserving its own `WW-` ticket. ### Version was pinned to 7.2.0-SNAPSHOT The pom is on `7.4.0-SNAPSHOT`. Rather than swap one hardcoded number for another that will drift again, the file now points at the pom and notes that `-SNAPSHOT` is a placeholder — the release version is picked at release time from the semver impact of the accumulated changes. ### PR title rule was absolute It said a Jira ticket ID is required, full stop. Doc/build/CI changes take no ticket and use conventional-commit form — as recent history does consistently (`docs:`, `build(ci):`, `chore:`). This PR is itself an example. Also mentions `.claude/skills/` alongside `.claude/agents/` and `.claude/commands/`. No ticket: documentation-only change. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
