The GitHub Actions job "Code Style" on grails-core.git/fix/ehcache-jaxb-dynamic-version has succeeded. Run started by GitHub user jdaugherty (triggered by jdaugherty).
Head commit for run: 8770755581a30adb3b6b48a3fa04dce2b6541434 / James Daugherty <[email protected]> Replace ehcache's jaxb-runtime version range with the BOM-managed version ehcache requires jaxb-runtime as the range [3,3.1), the only dynamic version in the dependency graph of a Grails application. A range makes every resolution list the module's versions on Maven Central once the listing cache expires, which is every CI build because the root build sets cacheDynamicVersionsFor to zero there. That listing is the one request a warm build still sends to Central at configuration time, and when it fails Gradle disables the repository for the rest of the build: the Functional Tests (Java 25) job of PR #16599 died that way while the CLI companion probe resolved grailsCliDetect, before any test ran. Exclude jaxb-runtime from the ehcache dependency in grails-spring-security and grails-spring-security-acl and declare the BOM-managed coordinate in its place, so the resolved classpath is unchanged (4.0.9 by constraint) but no version listing is needed. Make validateDependencyVersions reject any dependency of a BOM-bearing configuration that requests a dynamic version, reported as "from -> group:name:version". Gradle's failOnDynamicVersions() does not catch a range a BOM constraint overrides, which is exactly this shape, so the validator inspects the requested selectors of the resolved graph instead. The sweep over every module passes with the ehcache exclusion in place and fails without it. Document the rule in AGENTS.md and the gradle-developer skill. Report URL: https://github.com/apache/grails-core/actions/runs/38475107793 With regards, GitHub Actions via GitBox
