gnodet opened a new pull request, #22510: URL: https://github.com/apache/camel/pull/22510
Supersedes #22509 (which used a SNAPSHOT with temporary extension injection). ## Summary - Adds [Maveniverse Scalpel](https://github.com/maveniverse/scalpel) 0.1.0 permanently to `.mvn/extensions.xml` - Adds Scalpel-based POM dependency detection in `incremental-build.sh` alongside the existing grep approach - On developer machines, Scalpel is a no-op (no `GITHUB_BASE_REF` → no base branch → returns immediately) ### Why The grep-based approach has 5 structural limitations. For example, when Dependabot bumps `azure-sdk-bom-version` (#21744), grep finds only `camel-azure/pom.xml` but misses all 12 child Azure modules that inherit via the BOM. Scalpel catches them via effective POM model comparison. ### How it works Scalpel is a Maven core extension that compares effective POM models between the base branch and the PR. In CI: 1. `incremental-build.sh` runs `mvn validate -Dscalpel.mode=report` (~60-90s, no compilation) 2. Scalpel writes `target/scalpel-report.json` with affected modules and reasons 3. Results are merged with grep detection (union, deduplicated) 4. `-Dscalpel.fullBuildTriggers=` overrides the default (`.mvn/**`) since Scalpel lives in `extensions.xml` ### vs #22509 The SNAPSHOT PR required ~50 lines of temporary injection (awk into extensions.xml, settings.xml with snapshot repo, backup/restore via trap). With the released 0.1.0 on Maven Central, the extension is permanent and the script is much simpler. ## Test plan - [ ] Verify Scalpel 0.1.0 resolves from Maven Central during CI build - [ ] Verify report generation on a PR that bumps a version in `parent/pom.xml` - [ ] Verify grep-only fallback when Scalpel fails - [ ] Verify no impact on local developer builds (no-op without CI env vars) - [ ] Compare grep vs Scalpel detection on Dependabot PRs (#22397, #21744) 🤖 Generated with [Claude Code](https://claude.com/claude-code) _Claude Code on behalf of Guillaume Nodet_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
