The parent POM inherited by every project in the Codehaus Plexus organisation. It pins plugin versions, the Java and Maven baselines, formatting, reporting and the release setup, so the individual projects carry almost no build configuration of their own.
Maintained. Released whenever plugin or dependency updates accumulate, roughly every couple of months.
This is infrastructure for the Plexus projects rather than a general-purpose parent — it assumes Sonatype Central Portal publishing, GitHub Pages site hosting and the organisation's shared CI workflow. You are welcome to use it, but it is not designed to be neutral.
<parent>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus</artifactId>
<version>25</version>
</parent>Check the badge above for the current version.
Projects must override distributionManagement/site to point at their own gh-pages branch; everything
else is inherited.
- Baselines — Java 8 (
javaVersion), Maven 3.6.3 minimum, UTF-8 sources - Enforcer — Maven and JDK minimums, plus a rule rejecting dependencies whose bytecode is newer than your compiler target
- Formatting — Spotless with palantir-java-format, sorted POMs, flexmark for Markdown. Applies locally, checks in CI
- Reproducible builds —
project.build.outputTimestampis set and the results are verified by Reproducible Central - Reporting — the
reportingprofile adds Javadoc, JXR, surefire, PMD/CPD and taglist - Releasing — the
plexus-releaseprofile adds GPG signing, sources and a source-release assembly, and enables Njord to publish to Central
The project site explains each of these, and lists every managed plugin version.
Java 8 or later to build a consuming project; Maven 3.6.3 or later (3.9.0 when releasing).
See CONTRIBUTING.md. Changes here affect every project in the organisation, so a version bump that looks routine can break a downstream build — please say in the PR description what you have checked.
Please report security vulnerabilities privately — see SECURITY.md, not a public issue.