The GitHub Actions job "CI" on grails-core.git/build/bom-parent-property-validation has succeeded. Run started by GitHub user jdaugherty (triggered by jdaugherty).
Head commit for run: d199bb475b6ca98304f213067574ed7c308d1b90 / James Daugherty <[email protected]> Validate Grails BOM version properties against the Spring Boot BOM Several Grails BOM overrides of Spring Boot managed versions were declared under Grails-specific property names: jackson2.version, jackson3.version and neo4j-driver.version, where Spring Boot controls the same modules with jackson-2-bom.version, jackson-bom.version and neo4j-java-driver.version. Setting the property Spring Boot documents moved only the modules Grails does not pin, silently leaving a mixed Jackson or Neo4j driver classpath; the Spring Dependency Management end-to-end build had to copy the Jackson 3 version across by hand. The new bom-property-validator build plugin registers validateBomProperties on every BOM. It reads the POM the BOM publishes, walks spring-boot-dependencies and the BOMs it imports with Maven's own model, and fails when: - a version property the BOM owns is used by no published entry, - an override of a Spring Boot managed version uses a different property name than Spring Boot does (for a module Spring Boot manages through an imported BOM, the property that import uses), or - a pin repeats the version Spring Boot already manages. Fixing what it found: - rename jackson2.version -> jackson-2-bom.version, jackson3.version -> jackson-bom.version and neo4j-driver.version -> neo4j-java-driver.version - publish the platform BOMs the derived BOMs re-declare as constraints (groovy-bom, spock-bom, asset-pipeline-bom) with their property instead of a literal version, so overriding groovy.version moves them too - remove version keys no published entry used: kotlin.version, mockito.version, liquibase-hibernate5.version and the Gradle BOM's jquery.version - document the deliberate exceptions, each with its reason, in bomUnusedVersionExemptions, bomPropertyNameExemptions and bomRedundantVersionExemptions The task has its own opt-out, skipBomPropertyValidation, and runs in its own CI job like validateDependencyVersions. A -P opt-out given without a value now actually skips: Gradle passes it as an empty string, which the shared check parsed as false, so a bare -PskipDependencyValidation never took effect. The upgrade guide and the Grails 8 upgrade skill state that Grails BOMs now follow the upstream property names, and list the renames. Fixes #15737 Report URL: https://github.com/apache/grails-core/actions/runs/36571932770 With regards, GitHub Actions via GitBox
