build: pin boot plugins, drop jar build-info, add maven dependabot lane - #207
Open
shihyuho wants to merge 1 commit into
Open
build: pin boot plugins, drop jar build-info, add maven dependabot lane#207shihyuho wants to merge 1 commit into
shihyuho wants to merge 1 commit into
Conversation
DEP-03: spring-boot-maven-plugin and native-maven-plugin had no version, so Maven floated them to the latest release (4.1.0 and 1.1.5) against the 3.5.16 BOM. Pin both via pluginManagement so the tooling tracks the same Boot line as the BOM. native-maven-plugin is pinned to 0.10.6, the version spring-boot-dependencies:3.5.16 manages as native-build-tools-plugin.version. COR-03: drop the build-info execution from mapper/pom.xml. Nothing in the library reads it, and shipping META-INF/build-info.properties in a library jar hijacks a consumer's BuildProperties and /actuator/info. DEP-01: add a maven ecosystem entry to dependabot covering the root and both module POMs. Spring Boot is ignored there because bump-spring.yml already owns that lane. DEP-04 (Boot-line strategy) is a maintainer decision and is not addressed here. Co-authored-by: Opus 4.8 (1M context) <[email protected]>
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.
Closes #200
Delivers plan steps 1–3 of WP11. Step 4 (DEP-04) is deliberately out of scope — see below.
What changed
DEP-03 — plugins floating to Boot 4.x (
pom.xml)spring-boot-maven-pluginandnative-maven-pluginwere declared with no version, so Maven resolved them to the latest release regardless of the 3.5.16 BOM. Both are now pinned in the rootpluginManagement.native-maven-pluginis pinned to 0.10.6 rather than${spring-boot.version}: GraalVM's plugin does not share Boot's version scheme (there is nonative-maven-plugin:3.5.16), so pinning it literally to${spring-boot.version}would break thenativeTestprofile. 0.10.6 is exactly whatspring-boot-dependencies:3.5.16manages asnative-build-tools-plugin.version, so it tracks the Boot line as the plan intended. A comment on the new property records that coupling.COR-03 — jar shipped
build-info.properties(mapper/pom.xml)Removed the
build-infoexecution. Nothing in the library reads it, and shipping it in a library jar hijacks a consumer'sBuildProperties//actuator/info. The bare plugin declaration is kept, matchingstarter/pom.xmland leaving thenativeTestprofile'sprocess-test-aotexecution intact.DEP-01 — no Maven update lane (
.github/dependabot.yml)Added a
mavenecosystem entry covering/,/mapper, and/starter.Spring Boot is excluded via
ignore. It already has a dedicated lane in.github/workflows/bump-spring.yml(capped at~3.x), and letting Dependabot also manage it would produce competing Boot 4.x PRs that pre-empt the DEP-04 decision below. Everything else — including the ~5-year-stale gpg plugin that the finding cites as evidence — now has an update lane.starter/pom.xmlneeded no change; it inherits the pin.Verification
All builds run on JDK 17 (the project's
maven.compiler.release). The machine default is JDK 25, on which spotless/google-java-format fails to load — no POM versions were altered to work around it.1. Plugins resolve to the Boot line, not 4.x
mvn -pl mapper -PnativeTest help:effective-pomBefore:
After:
mvn -pl starter help:effective-pomlikewise reportsspring-boot-maven-pluginat3.5.16(was4.1.0).For reference,
spring-boot-dependencies-3.5.16.pomline 151:2. Jar no longer carries
META-INF/build-info.propertiesmvn -q -pl mapper package -DskipTests && unzip -l mapper/target/*.jar | grep -i build-infoBefore — present:
After — no matches (grep exit 1). Full
META-INFlisting confirms the jandex index and AOT factories survive:3.
dependabot.ymlis valid YAMLParsed with
yaml.safe_load; ecosystems resolve to['github-actions', 'maven'].4.
make testgreenNot in this PR
DEP-04 — Boot-line strategy is the maintainer's decision. Whether to stay on a supported 3.x line or move to Boot 4, and the matching update to the
~3.xcap inbump-spring.yml, is deferred. This PR does not changespring-boot.version(still 3.5.16) or that cap. Once the strategy is set it is a one-line follow-up — and the Dependabotignoreadded here keeps that lane the workflow's alone in the meantime.🤖 Generated with Claude Code