fix(build): publish parent POMs required for dependency resolution - #76
Merged
Conversation
Consumers of core and hooks-api could not resolve the artifacts because their parent POM chain (BigDoors-parent, hooks) was never deployed: the root POM globally skipped maven-deploy-plugin and only core/hooks-api opted back in. Maven cannot read an artifact's descriptor without its full parent chain, so every published version was unusable. Move the publication allowlist into the Maven model itself: - root POM (BigDoors-parent) now deploys itself - nms subtree opts out via the maven.deploy.skip property - hooks subtree opts out likewise, but the hooks aggregator POM re-enables deployment for itself only (inherited=false), as it is the parent of the published hooks-api artifact Published set is now exactly: BigDoors-parent (pom), hooks (pom), core (jar), hooks-api (jar). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The missing-parent-POM defect shipped silently in five consecutive releases. Add a post-deploy verification step that fails the release run if any of the four expected artifacts is absent from the public repository, or if an internal module (nms-api, hooks-bundle, nms) was published by mistake. Runs before the git push so a broken publication pushes no commits or tags. The step only verifies; WHAT gets published remains defined solely by the maven-deploy-plugin configuration in the POMs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The top-of-README badge queried eldonexus for the pre-split nl.pim16aap2:BigDoors coordinates, which stopped receiving releases at 0.1.8.58; it could never show a current version again. Replace it with the GitHub latest-release badge (same label/color/style) linked to the releases page, so it tracks every release with no maintenance. Also bump the Maven/Gradle dependency snippets from 0.1.8.64 to the current 0.1.8.68. A follow-up commit automates this bump in the release pipeline; this brings the README current until the next release. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The post-release commit that clears the changelog now also rewrites the version in the README's Maven and Gradle dependency snippets to the version that was just released, so the copy-paste examples can no longer go stale (they were stuck at 0.1.8.64 while 0.1.8.68 was out). Guard greps after the seds fail the step loudly if a future README reformat stops the patterns from matching, instead of silently drifting again. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Why
core/hooks-apicannot resolve the artifacts (reported on Discord): the parent POM chain (BigDoors-parent,hooks) was never deployed, and Maven cannot read an artifact descriptor without it. Affects all published versions (0.1.8.64–.68).How
nms/hookssubtrees opt out viamaven.deploy.skip; thehooksaggregator re-enables deployment for itself only (inherited=false) since it ishooks-api's parent. Published set is now exactly:BigDoors-parent(pom),hooks(pom),core(jar),hooks-api(jar).Tests
mvn deploy -DaltDeploymentRepository=local-test::file:///tmp/...→ exactly 4 artifacts deployed, 47 modules skipped.coreandhooks-apiresolve (BUILD SUCCESS).🤖 Generated with Claude Code