dependabot[bot] opened a new pull request, #25257: URL: https://github.com/apache/camel/pull/25257
Bumps [eu.maveniverse.maven.scalpel:extension3](https://github.com/maveniverse/scalpel) from 0.3.7 to 0.3.9. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/maveniverse/scalpel/releases">eu.maveniverse.maven.scalpel:extension3's releases</a>.</em></p> <blockquote> <h2>Scalpel 0.3.9</h2> <h3>Bug Fixes</h3> <p><strong>failSafe now catches JGitInternalException on shallow clones</strong> (<a href="https://redirect.github.com/maveniverse/scalpel/issues/46">#46</a>, fixes <a href="https://redirect.github.com/maveniverse/scalpel/issues/45">#45</a>)</p> <p><code>scalpel.failSafe=true</code> is documented to fall back to a full build on any Scalpel error. However, JGit's porcelain APIs (<code>StatusCommand.call()</code>, <code>FetchCommand.call()</code>) wrap <code>MissingObjectException</code> in <code>JGitInternalException</code> — a <code>RuntimeException</code> that bypassed Scalpel's <code>IOException</code>-based error handler, crashing Maven instead of degrading gracefully.</p> <p>This affected CI environments using shallow clones (e.g., GitHub Actions with <code>fetch-depth: 1</code>).</p> <p><strong>Fix:</strong> defense-in-depth at two layers:</p> <ul> <li><code>GitChangeDetector</code>: catches <code>JGitInternalException</code> alongside <code>GitAPIException</code> in <code>getStatusFiles()</code> and <code>fetchBranch()</code>, honoring the declared <code>throws IOException</code> contract</li> <li><code>ScalpelCore</code>: widens the inner <code>fetchBranch</code> catch to preserve the specific "Failed to fetch" diagnostic, and keeps the outer catch widened as a safety net</li> </ul> <p>Thanks to <a href="https://github.com/paoloantinori"><code>@paoloantinori</code></a> for reporting and contributing the initial fix.</p> <p>Co-authored-by: Paolo Antinori <a href="mailto:[email protected]">[email protected]</a> Co-authored-by: Claude Opus 4.6 <a href="mailto:[email protected]">[email protected]</a></p> <h2>Scalpel 0.3.8</h2> <p>Add includePaths option to complement excludePaths for module filtering (<a href="https://redirect.github.com/maveniverse/scalpel/issues/44">#44</a>)</p> <p>New <code>scalpel.includePaths</code> property that restricts affected modules by their path after all change detection and impact analysis is complete. Unlike <code>excludePaths</code> (which filters changed files before analysis), <code>includePaths</code> preserves full diff visibility — POM changes, managed dependency propagation, and full-build triggers outside the include scope still work correctly.</p> <p>Useful for CI workflows where module builds are split across concurrent jobs:</p> <pre lang="shell"><code># Build only extension modules affected by changes mvn test -Dscalpel.includePaths=extensions/** <h1>Multiple comma-separated patterns</h1> <p>mvn test -Dscalpel.includePaths=extensions/<strong>,extensions-core/</strong>,tooling/**<br /> </code></pre></p> <p>When not set, all affected modules are included (preserving existing behavior). Works across all three modes: trim, skip-tests, and report.</p> <p>Closes <a href="https://redirect.github.com/maveniverse/scalpel/issues/43">#43</a></p> <p>Co-authored-by: Claude Opus 4.6 <a href="mailto:[email protected]">[email protected]</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/maveniverse/scalpel/commit/24805d2d5f669fada39f37e75211fd265bb46e17"><code>24805d2</code></a> Fix <a href="https://redirect.github.com/maveniverse/scalpel/issues/45">#45</a>: catch JGitInternalException in failSafe error handler</li> <li><a href="https://github.com/maveniverse/scalpel/commit/34533e69fe37291b22a391b239c924edaac929ec"><code>34533e6</code></a> Fix <a href="https://redirect.github.com/maveniverse/scalpel/issues/43">#43</a>: Add includePaths option to complement excludePaths</li> <li>See full diff in <a href="https://github.com/maveniverse/scalpel/compare/0.3.7...0.3.9">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- 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]
