diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 000000000..c9364f124 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,2 @@ +# code reformat after spotless enabled +bacaf1cc15b1dc5e13b52c7d82c0058464d9e676 \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..b76b89570 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "daily" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 000000000..652bd55d1 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,5 @@ +_extends: .github +# plexus-pom uses a single version number +version-template: '$MAJOR' +name-template: '$NEXT_MAJOR_VERSION' +tag-template: 'plexus-$NEXT_MAJOR_VERSION' diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 000000000..09feae474 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,31 @@ +# 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. + +name: GitHub CI + +on: [push, pull_request] + +jobs: + build: + name: Build it + uses: codehaus-plexus/.github/.github/workflows/maven.yml@master + + deploy: + name: Deploy + needs: build + uses: codehaus-plexus/.github/.github/workflows/maven-deploy.yml@master + secrets: inherit diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 000000000..4c09c8a70 --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,12 @@ +name: Release Drafter +on: + push: + branches: + - master +jobs: + update_release_draft: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v6 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index de172e9ec..50281e7c7 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,4 @@ target/ bin *.iml .idea - +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 000000000..fe3c96bdc --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +Plexus Parent POM +================= + +[![Maven Central](https://img.shields.io/maven-central/v/org.codehaus.plexus/plexus.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.codehaus.plexus/plexus) + +The current master is now at https://github.com/codehaus-plexus/plexus-pom diff --git a/pom.xml b/pom.xml index c918f5558..6b7487da9 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,4 @@ - - 4.0.0 - - org.sonatype.forge - forge-parent - 10 - - - org.codehaus.plexus plexus + 24-SNAPSHOT pom - 4.1-SNAPSHOT Plexus The Plexus project provides a full software stack for creating and executing software projects. - http://codehaus-plexus.github.io/ + https://codehaus-plexus.github.io/plexus-pom/ 2001 Codehaus Plexus - http://codehaus-plexus.github.io/ + https://codehaus-plexus.github.io/ - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt + Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt repo @@ -127,287 +118,439 @@ limitations under the License. - Trygve Laugstøl trygvis + Trygve Laugstøl trygvis@codehaus.org Developer - Kenney Westerhof kenney + Kenney Westerhof kenney@codehaus.org Developer - Carlos Sanchez carlos + Carlos Sanchez carlos@codehaus.org Developer - Brett Porter brett + Brett Porter brett@codehaus.org Developer - John Casey jdcasey + John Casey jdcasey@codehaus.org Developer - Andrew Williams handyande + Andrew Williams andy@handyande.co.uk Developer - Rahul Thakur rahul + Rahul Thakur rahul.thakur.xdev@gmail.com Developer - Joakim Erdfelt joakime + Joakim Erdfelt joakim@erdfelt.com Developer - Olivier Lamy olamy + Olivier Lamy olamy@codehaus.org Developer - Hervé Boutemy hboutemy + Hervé Boutemy hboutemy@apache.org Developer - Oleg Gusakov oleg + Oleg Gusakov olegy@codehaus.org Developer - Vincent Siveton vsiveton + Vincent Siveton vsiveton@codehaus.org Developer - Kristian Rosenvold krosenvold + Kristian Rosenvold krosenvold@apache.org Developer - Andreas Gudian agudian + Andreas Gudian agudian@apache.org Developer - Karl Heinz Marbaise khmarbaise + Karl Heinz Marbaise khmarbaise@apache.org Developer + + michael-o + Michael Osipov + 1983-01-06@gmx.net + + Developer + + + + belingueres + Gabriel Belingueres + belingueres@gmail.com + + Developer + + + + kwin + Konrad Windszus + kwin@apache.org + + Developer + + + + sjaranowski + Slawomir Jaranowski + sjaranowski@apache.org + + Developer + + + + slachiewicz + Sylwester Lachiewicz + slachiewicz@apache.org + ASF + + Developer + + + + gnodet + Guillaume Nodet + gnodet@apache.org + ASF + + Developer + + - + - Plexus User List - http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org - http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org - http://archive.plexus.codehaus.org/user - user@plexus.codehaus.org - - - Plexus Developer List - http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org - http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org - http://archive.plexus.codehaus.org/dev - dev@plexus.codehaus.org - - - Plexus Announce List - http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org - http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org - http://archive.plexus.codehaus.org/announce - - - Plexus Commit List - http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org - http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org - http://archive.plexus.codehaus.org/scm + Plexus and MojoHaus Development List + mojohaus-dev+subscribe@googlegroups.com + mojohaus-dev+unsubscribe@googlegroups.com + mojohaus-dev@googlegroups.com + https://groups.google.com/forum/#!forum/mojohaus-dev - scm:git:git@github.com:codehaus-plexus/plexus-pom.git - scm:git:git@github.com:codehaus-plexus/plexus-pom.git - http://github.com/codehaus-plexus/plexus-pom/tree/${project.scm.tag}/ + scm:git:https://github.com/codehaus-plexus/plexus-pom.git + ${project.scm.connection} master + https://github.com/codehaus-plexus/plexus-pom/tree/${project.scm.tag}/ + github - http://github.com/codehaus-plexus/plexus-pom/issues + https://github.com/codehaus-plexus/plexus-pom/issues + - plexus-releases - Plexus Release Repository - https://oss.sonatype.org/service/local/staging/deploy/maven2/ + sonatype-central-portal + Sonatype Central Portal + https://repo.maven.apache.org/maven2 - plexus-snapshots - Plexus Snapshot Repository + ${plexusDistMgmtSnapshotsId} + ${plexusDistMgmtSnapshotsName} ${plexusDistMgmtSnapshotsUrl} + github:gh-pages - scm:git:git@github.com:codehaus-plexus + ${project.scm.developerConnection} - - 3.0 - - - 5 - 1.${javaVersion} - 1.${javaVersion} + 8 + 3.6.3 + ${javaVersion} + ${javaVersion} + ${javaVersion} + ${javaVersion} + + none + true UTF-8 - https://oss.sonatype.org/content/repositories/plexus-snapshots + + sonatype-central-portal + Sonatype Central Snapshots + https://central.sonatype.com/repository/maven-snapshots + + 2025-08-17T17:02:51Z + true + 3.0.0 + 3.15.1 + 2.1.0 + 3.5.4 + 5.13.4 + 0.7.5 + apply + 0.9.0.M4 + true + + + true + automatic + true + false + - org.codehaus.plexus - plexus-component-annotations - 1.6 - compile + org.junit + junit-bom + ${junit5Version} + pom + import - - - junit - junit - 4.12 - test - - - + + eu.maveniverse.maven.plugins + njord + ${njord.version} + + + org.apache.maven.plugins + maven-assembly-plugin + 3.7.1 + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.6.0 + + config/maven_checks.xml + + https://raw.githubusercontent.com/codehaus-plexus/plexus-pom/plexus-11/src/main/resources/config/plexus-header.txt + + + + + org.apache.maven.shared + maven-shared-resources + 6 + + + org.apache.maven.plugins maven-clean-plugin - 2.6.1 + 3.5.0 org.apache.maven.plugins maven-compiler-plugin - 3.3 + 3.14.1 - ${maven.compiler.source} - ${maven.compiler.target} + ${maven.compiler.proc} + ${maven.compiler.showDeprecation} + + org.apache.maven.plugins + maven-dependency-plugin + 3.9.0 + org.apache.maven.plugins maven-deploy-plugin - 2.8.2 + 3.1.4 + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.6.2 org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.2.8 + + true + org.apache.maven.plugins maven-install-plugin - 2.5.2 + 3.1.4 org.apache.maven.plugins maven-jar-plugin - 2.5 + 3.4.2 + + + + true + true + + + + + + org.apache.maven.plugins + maven-invoker-plugin + 3.9.1 + + ${invoker.streamLogsOnFailures} + org.apache.maven.plugins maven-javadoc-plugin - 2.10.1 + 3.12.0 + + true + en + + true + + + + org.apache.maven.plugins + maven-jxr-plugin + 3.6.0 org.apache.maven.plugins maven-plugin-plugin - 3.4 + ${mavenPluginToolsVersion} + + + default-descriptor + process-classes + + ./apidocs/ + + + + generate-helpmojo + + helpmojo + + + + + + org.apache.maven.plugins + maven-plugin-report-plugin + ${mavenPluginToolsVersion} + + + org.apache.maven.plugins + maven-pmd-plugin + 3.27.0 + + ${maven.compiler.source} + + rulesets/maven.xml + + + ${project.build.directory}/generated-sources/modello + ${project.build.directory}/generated-sources/plugin + + org.apache.maven.plugins maven-project-info-reports-plugin - 2.8.1 + 3.9.0 org.apache.maven.plugins maven-release-plugin - 2.5.1 + 3.1.1 deploy - false - -Pplexus-release + plexus-release org.apache.maven.plugins maven-resources-plugin - 2.7 + 3.3.1 org.apache.maven.plugins maven-scm-publish-plugin - 1.1 + 3.3.0 ${project.scm.developerConnection} @@ -417,42 +560,154 @@ limitations under the License. org.apache.maven.plugins maven-site-plugin - 3.4 + 3.21.0 - true + + true org.apache.maven.plugins maven-source-plugin - 2.4 + 3.3.1 org.apache.maven.plugins maven-surefire-plugin - 2.18.1 + ${mavenSurefireVersion} + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${mavenSurefireVersion} - org.codehaus.plexus - plexus-component-metadata - 1.6 + org.apache.maven.plugins + maven-failsafe-plugin + ${mavenSurefireVersion} + + + org.codehaus.mojo + taglist-maven-plugin + 3.2.1 + + + org.eclipse.sisu + sisu-maven-plugin + ${sisuMavenPluginVersion} - process-classes + generate-index - generate-metadata + main-index + test-index + + + + com.diffplug.spotless + spotless-maven-plugin + ${spotless-maven-plugin.version} + + + + + + + + javax,java,,\# + + + + PRESERVE + + + false + + true + true + + + + + **/*.md + + + target/** + + + + + true + + + - process-test-classes + spotless-check - generate-test-metadata + ${spotless.action} + process-sources + + + org.apache.maven.plugins + maven-enforcer-plugin + + + org.codehaus.mojo + extra-enforcer-rules + 1.10.0 + + + + + enforce-maven-and-java-bytecode + + enforce + + + + + ${minimalMavenBuildVersion} + This project requires at least Maven ${minimalMavenBuildVersion} + + + ${maven.compiler.target} + + + ${minimalJavaBuildVersion} + + + + + + + + maven-site-plugin + + + attach-descriptor + + attach-descriptor + + false + + + + + + + eu.maveniverse.maven.njord + extension + ${njord.version} + + @@ -460,7 +715,6 @@ limitations under the License. org.apache.maven.plugins maven-project-info-reports-plugin - 2.8.1 @@ -468,15 +722,15 @@ limitations under the License. summary dependency-info modules - license - project-team + licenses + team scm - issue-tracking - mailing-list + issue-management + mailing-lists dependency-management dependencies dependency-convergence - cim + ci-management plugin-management plugins distribution-management @@ -499,54 +753,37 @@ limitations under the License. org.apache.maven.plugins maven-surefire-report-plugin - 2.18.1 + + false + false + org.apache.maven.plugins - maven-checkstyle-plugin - 2.13 + maven-pmd-plugin - config/maven_checks.xml - https://raw.github.com/codehaus-plexus/plexus-pom/master/src/main/resources/config/plexus-header.txt + true default - checkstyle + cpd + pmd - - org.apache.maven.plugins - maven-pmd-plugin - 3.2 - - ${maven.compiler.source} - - rulesets/maven.xml - - - ${project.build.directory}/generated-sources/modello - ${project.build.directory}/generated-sources/plugin - - - - - org.codehaus.mojo - findbugs-maven-plugin - 3.0.2 - org.codehaus.mojo taglist-maven-plugin - 2.4 + + true + org.apache.maven.plugins maven-jxr-plugin - 2.5 default @@ -560,40 +797,64 @@ limitations under the License. org.apache.maven.plugins maven-javadoc-plugin - - true - - http://junit.sourceforge.net/javadoc/ - - default javadoc - test-javadoc - org.codehaus.mojo - cobertura-maven-plugin - 2.6 + org.apache.maven.plugins + maven-artifact-plugin + 3.6.1 plexus-release + + 3.9.0 + + true + + + + org.apache.maven.plugins + maven-assembly-plugin + + + org.apache.apache.resources + apache-source-release-assembly-descriptor + 1.7 + + + + + source-release-assembly + + single + + package + + true + + source-release + + posix + + + + org.apache.maven.plugins maven-gpg-plugin - - ${gpg.passphrase} - sign-artifacts @@ -630,31 +891,56 @@ limitations under the License. + - maven-3 + java17+ - - - ${basedir} - + [17,) + + + + config/maven_checks_nocodestyle.xml + + + + + com.diffplug.spotless + spotless-maven-plugin + org.apache.maven.plugins - maven-site-plugin - - - attach-descriptor - - attach-descriptor - - - + maven-checkstyle-plugin + + ${checkstyle.spotless.config} + - + + format-check + + + env.CI + + + + check + + + + format + + + !env.CI + + + + apply + + diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md new file mode 100644 index 000000000..4570112ef --- /dev/null +++ b/src/site/markdown/index.md @@ -0,0 +1,27 @@ +# Plexus Parent POM + +Plexus Parent POM defines common [plugins](./plugin-management.html), reporting and release configuration. + +## Preparing the environment for publishing vie the Central Portal + +Release manager should include the following sections in your personal `settings.xml`: + +```xml + + + + sonatype-central-portal + jqhacker + SeCrEt + + sonatype-cp + njord:template:release-sca + + + + +``` + +Tokens can be obtained from https://central.sonatype.com/account + diff --git a/src/site/resources/images/plexus-logo-trans.png b/src/site/resources/images/plexus-logo-trans.png new file mode 100644 index 000000000..9e7214628 Binary files /dev/null and b/src/site/resources/images/plexus-logo-trans.png differ diff --git a/src/site/site.xml b/src/site/site.xml index 4ae742244..59edeea41 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -1,61 +1,69 @@ - - - Plexus - http://codehaus-plexus.github.io/ - /images/plexus-logo-trans.png + + + + Plexus org.apache.maven.skins maven-fluido-skin - 1.4 + ${mavenFluidoSkinVersion} + ${project.scm.url} + + + 18 + https://analytics.apache.org/ + + + + + + true - - http://codehaus-plexus.github.io/ + https://codehaus-plexus.github.io/ - + - + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - +