chore(build): inherit module versions via aggregator reactor#69
Merged
Conversation
examples and benchmarks inherit their version from a new, non-published
graphcompose-build aggregator (pom packaging) instead of hardcoding it.
Removes the benchmarks graphcompose.version literal that caused drift
after a bump; the dependency now tracks ${project.version}. The library
root pom.xml is unchanged so JitPack coordinates are unaffected. A single
`mvn -f aggregator/pom.xml versions:set -DnewVersion=X` bumps every
module atomically.
3 tasks
4 tasks
DemchaAV
added a commit
that referenced
this pull request
May 29, 2026
…cut (#71) After the aggregator-reactor change (#69) the version lives in the library pom, the aggregator, and the children's inherited <parent> refs — but cut-release.ps1 bumped only three POMs (skipping the aggregator) and never touched the README JitPack snippets. A cut would have failed the new version guard (#70) and shipped a stale README install snippet. cut-release.ps1 now also bumps aggregator/pom.xml and rewrites the README Maven + Gradle install snippets to the release tag in the same release commit (Phase 2.3: README version flips at release-execution time), and stages both files.
2 tasks
DemchaAV
added a commit
that referenced
this pull request
May 29, 2026
…ase.yml (#74) Updates the release runbook to match the v1.6.5 plumbing (#69 #70 #71 #72 #73): - README install snippets now flip in the release commit (cut-release.ps1), enforced by VersionConsistencyGuardTest — replaces the old "stay pinned to the previous tag, flip post-release" model that contradicted the guard. - Version lives in four sites (library pom, aggregator, inherited examples/benchmarks parents); the script bumps all four + README in one pass. - GitHub Release is created automatically by release.yml on tag push; the manual gh release create is now the documented fallback. - Adds VersionConsistencyGuardTest to the pre-release guard-suite gate, and a v1.6.5 lesson that supersedes the v1.6.0 graphcompose.version property note. The graphcompose-release-engineer skill (local config, Claude + Codex copies) was aligned in lockstep.
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
examplesandbenchmarksnow inherit their version from a new, non-publishedgraphcompose-buildaggregator (aggregator/pom.xml,packaging=pom) instead of pinning a literal.<graphcompose.version>inbenchmarks/pom.xmlthat caused version drift after a bump — the benchmark dependency now tracks${project.version}.pom.xmlis unchanged, so JitPack coordinates and consumers are unaffected.mvn -f aggregator/pom.xml versions:set -DnewVersion=Xnow bumps every module atomically.Why
After a version bump,
benchmarkskept building against the previous GraphCompose release because its version was an independent literal. Maven forbids ajar-packaging POM as a<parent>, so the parent is the aggregator (packaging=pom); the library stays a standalone module in the reactor (..).Test plan
mvnw -DskipTests install(JitPack-faithful, root unchanged) — BUILD SUCCESSmvnw -f aggregator/pom.xml -DskipTests install— library + examples + benchmarks build with inherited versionsmvnw -f aggregator/pom.xml versions:set -DnewVersion=1.6.5-TESTpropagated to all 4 POMs, 0 stale (reverted)mvnw clean verify -pl .— 990 tests green