Skip to content

build(deps): update classgraph from 4.8.197 to 5.0.0 - #1425

Open
bestbeforetoday wants to merge 1 commit into
substrait-io:mainfrom
bestbeforetoday:classgraph
Open

bestbeforetoday wants to merge 1 commit into
substrait-io:mainfrom
bestbeforetoday:classgraph

Conversation

@bestbeforetoday

Copy link
Copy Markdown
Member

Classgraph 4.x is end-of-life. Classgraph 6.x supports only Java 25 and later. Classgraph 5.x is an interim version that continues support for Java 17 to 24.

This change adopts Classgraph 5.x to maintain compatibility with the current build, which uses Java 17.

Classgraph 4.x is end-of-life. Classgraph 6.x supports only Java 25 and
later. Classgraph 5.x is an interim version that continues support for
Java 17 to 24.

This change adopts Classgraph 5.x to maintain compatibility with the
current build, which uses Java 17.

Signed-off-by: Mark S. Lewis <Mark.S.Lewis@outlook.com>
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: substrait-io/substrait-java/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 73ff8326-9764-4cb3-ad16-0e578b595ea7
📥 Commits

Reviewing files that changed from the base of the PR and between d35cc52 and 298b768.

📒 Files selected for processing: 4
  • core/src/test/java/io/substrait/extension/DefaultExtensionCatalogTest.java
  • gradle/libs.versions.toml
  • isthmus-cli/build.gradle.kts
  • isthmus-cli/src/main/java/io/substrait/isthmus/cli/RegisterAtRuntime.java

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.

📝 Summary

Summary by CodeRabbit

  • Bug Fixes

    • Improved extension discovery so packaged and externally provided Substrait extensions are detected more reliably.
    • Enhanced native CLI startup to locate required classes and metadata consistently.
    • Resolved issues affecting classpath scanning in native-image builds.
  • Maintenance

    • Updated the underlying classpath scanning support for improved compatibility and reliability.

The change updates the ClassGraph dependency and adjusts extension catalog test scanning. Native-image package scanning now uses FeatureAccess to resolve discovered classes, with ClassGraph’s VfsFileSystemProvider initialized at build time.

Changes: ClassGraph scanning

Layer / File(s) Summary
ClassGraph version and catalog scan
gradle/libs.versions.toml, core/src/test/java/io/substrait/extension/DefaultExtensionCatalogTest.java
The ClassGraph version changes from 4.8.197 to 5.0.0. The extension catalog test enables classpath and non-system-module scanning before restricting the scan to substrait/extensions.
Native-image package scanning
isthmus-cli/src/main/java/io/substrait/isthmus/cli/RegisterAtRuntime.java, isthmus-cli/build.gradle.kts
PackageScanner receives FeatureAccess, scans the application classpath with selected class, annotation, and visibility metadata, and resolves discovered classes with findClassByName. The native-image configuration initializes ClassGraph’s VfsFileSystemProvider at build time.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Sequence Diagram(s)

sequenceDiagram
  participant RegisterAtRuntime
  participant PackageScanner
  participant ClassGraph
  participant FeatureAccess
  RegisterAtRuntime->>PackageScanner: Construct with FeatureAccess
  PackageScanner->>ClassGraph: Scan application classpath
  ClassGraph-->>PackageScanner: Return matching ClassInfo entries
  PackageScanner->>FeatureAccess: Resolve class names with findClassByName
  FeatureAccess-->>PackageScanner: Return resolved classes
Loading

Suggested reviewers: nielspardon

Merge Risk: ⚪ Minimal · up to 298b7

No concrete issue currently blocks merging. Run the normal native-image build checks before release.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 3 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly identifies the primary change: updating ClassGraph from 4.8.197 to 5.0.0. It uses a valid Conventional Commit format and matches the pull request objectives.
Description check Passed The description explains why ClassGraph 5.x is required and states the Java 17 compatibility constraint. It provides the rationale requested by the template.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 3 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@bestbeforetoday
bestbeforetoday marked this pull request as ready for review October 21, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant