build: deploy to maven.codelibs.org instead of Maven Central - #185
Merged
Conversation
Drop the central-publishing-maven-plugin declaration and declare the CodeLibs repositories in distributionManagement, matching what the Fess plugins already do. Removing the plugin declaration is the part that matters: its DeployLifecycleParticipant clears maven-deploy-plugin's executions whenever the plugin is present in build/plugins, so adding distributionManagement alone would have had no effect. The scpexe transport comes from the wagon-ssh-external build extension inherited from fess-parent. distributionManagement cannot be inherited from fess-parent either: it is inherited unconditionally and a POM cannot exempt itself from what it declares, so declaring it there would also redirect fess-parent's own deployments. fess-parent has to stay on Maven Central, because a parent POM is only resolvable from repositories the consuming project already knows about. The README is updated to match: the Maven Central badge is replaced and the installation instructions now show the repository consumers have to declare. Verified with mvn validate (the participant no longer reports "Installing Central Publishing features") and with a deploy to a local file repository, which the participant would have suppressed had it still been active.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Publish this project to
maven.codelibs.orginstead of Maven Central, matching the Fess plugins.Changes
central-publishing-maven-plugindeclaration frombuild/pluginsdistributionManagementREADME.md: replace the Maven Central badge and show consumers the repository they now have to declareWhy it is done this way
Removing the plugin declaration is the part that actually switches the destination.
central-publishing-maven-pluginregisters aDeployLifecycleParticipantthat clearsmaven-deploy-plugin's executions whenever the plugin is present inbuild/plugins, so addingdistributionManagementon its own would have had no effect at all.distributionManagementcannot be inherited fromfess-parent: it is inherited unconditionally and a POM cannot exempt itself from what it declares, so declaring it there would also redirectfess-parent's own deployments.fess-parenthas to stay on Maven Central, because a parent POM is only resolvable from repositories the consuming project already knows about — see codelibs/fess-parent#66.The
scpexetransport comes from thewagon-ssh-externalbuild extension inherited fromfess-parent.Verification
mvn -B validateno longer reportsInstalling Central Publishing features, so the lifecycle participant is inactivedistributionManagementsnapshot URL resolves to the CodeLibs snapshot repositorymvn deployto a local file repository writes the POM, jar, sources jar and metadata — the participant would have suppressed this had it still been activeNote
The
javadoc.iobadge is served from Maven Central, so it will stop tracking new releases after this change. Left as-is for now.