fix: prevent stale published grails-bom snapshot from downgrading sit…#15766
Open
borinquenkid wants to merge 1 commit into
Open
fix: prevent stale published grails-bom snapshot from downgrading sit…#15766borinquenkid wants to merge 1 commit into
borinquenkid wants to merge 1 commit into
Conversation
…emesh The gsp-spring-boot test app imports grails-bom via io.spring.dependency-management, which downloads the PUBLISHED snapshot from Nexus rather than the local project. When a CI run publishes the BOM before the sitemesh version bump lands (or when a prior run publishes with the old version), the managed-version rule applies 3.2.2 — a version that has never been published for the spring-webmvc-sitemesh standalone artifact, which only exists starting at 3.3.0-M1. This creates a circular deadlock: build fails → publish skipped → stale BOM stays on Nexus → next build fails. Fix: add a resolutionStrategy.eachDependency rule in functional-test-config.gradle that reads sitemesh version keys from the local grails-bom project ext (set after evaluationDependsOn completes) and applies them. Because eachDependency rules are applied in registration order and this rule is registered after the spring plugin's rule, it takes precedence (last useVersion wins). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adjusts the functional-test Gradle resolution rules so functional test apps don’t get their Sitemesh dependencies silently downgraded by a stale published grails-bom snapshot, which can lead to unresolvable coordinates (notably for spring-webmvc-sitemesh).
Changes:
- Reads
bomDependencyVersionsfrom the locally-evaluated:grails-bomproject. - Adds a
resolutionStrategy.eachDependencyrule to forceorg.sitemeshmodule versions to the locally-defined BOM values when applicable.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 8.0.x #15766 +/- ##
==================================================
- Coverage 49.2583% 49.2572% -0.0011%
+ Complexity 16506 16505 -1
==================================================
Files 1941 1941
Lines 92023 92023
Branches 16062 16062
==================================================
- Hits 45329 45328 -1
- Misses 39649 39651 +2
+ Partials 7045 7044 -1 🚀 New features to boost your workflow:
|
✅ All tests passed ✅🏷️ Commit: fc2100a Learn more about TestLens at testlens.app. |
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.
Description
Contributor Checklist
Please review the following checklist before submitting your pull request. Pull requests that do not meet these requirements may be closed without review.
Issue and Scope
7.0.x): Bug fixes only. No new features or API changes.7.1.x): New features are welcome, but breaking existing APIs must be avoided.8.0.x): Reserved for major changes. Breaking API changes are permitted.Code Quality
./gradlew build --rerun-tasks../gradlew codeStyleand resolved any violations. See Code Style for details.Licensing and Attribution
Documentation