lukaszlenart opened a new pull request, #309: URL: https://github.com/apache/struts-site/pull/309
Converts the shell-based `Struts-site-javadocs` freestyle Jenkins job into a version-controlled declarative pipeline, `Jenkinsfile.javadocs`, mirroring the conventions of the existing root `Jenkinsfile` (the `Struts-site` job). ## What's here - **`Jenkinsfile.javadocs`** — the new pipeline: manual trigger with a `STRUTS_TAG` param (a `STRUTS_X_X_X` tag or `main`), `git-websites` agent, matching `options`/`environment`/`post` blocks. Stage 1 clones + builds Struts and stages its Maven site under the gitignored `target/`; Stage 2 publishes it into `source/maven/` on `main` and pushes to the `asf` gitbox remote (the ASF Jekyll buildbot republishes `main → asf-site`). - **Design spec** and **implementation plan** under `docs/superpowers/`. ## Behavior parity Identical to the current shell script — same clone location (`target/struts`), tag/main selection, `MAVEN_OPTS`, publish target, commit message (`Updates Maven site by Jenkins`), and empty-commit guard. Two intended deviations: - `./mvnw` → `mvn` (use the agent's Maven; makes the `MAVEN_3_LATEST_HOME` PATH entry load-bearing). - `git push origin main` → `git push asf main` (explicit remote, matching the existing `Jenkinsfile`). ## Post-merge (operational, not in this repo) After merge, reconfigure the `Struts-site-javadocs` job as **Pipeline script from SCM** → `Jenkinsfile.javadocs` on `main`, then do a verification run with `STRUTS_TAG=main`. Steps are in the plan. ## Follow-up (separate repo) Delete `mvnw`/`.mvn/` from the **apache/struts** repo so the wrapper and CI don't drift now that CI uses plain `mvn`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
