Skip to content

feat(gradle): add Gradle ecosystem support#64

Merged
bug-ops merged 4 commits intomainfrom
feature/gradle-ecosystem
Feb 22, 2026
Merged

feat(gradle): add Gradle ecosystem support#64
bug-ops merged 4 commits intomainfrom
feature/gradle-ecosystem

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Feb 22, 2026

Summary

  • New deps-gradle crate with three manifest parsers:
    • Version Catalog (gradle/libs.versions.toml) via toml_edit with position tracking
    • Kotlin DSL (build.gradle.kts) via regex
    • Groovy DSL (build.gradle) via regex
  • Reuses MavenCentralRegistry from deps-maven (no registry duplication)
  • Extract LineOffsetTable, position_in_range, complete_package_names_generic to deps-core for cross-ecosystem reuse
  • Feature-gated registration (gradle, enabled by default)

Test plan

  • 1120 tests pass (cargo nextest run --workspace)
  • clippy clean (cargo clippy --workspace --all-targets --all-features -- -D warnings)
  • fmt clean (cargo +nightly fmt --check)
  • Manual test: open libs.versions.toml in Zed
  • Manual test: open build.gradle.kts in Zed
  • Manual test: open build.gradle in Zed

Three parsers: Version Catalog (libs.versions.toml via toml_edit),
Kotlin DSL (build.gradle.kts via regex), Groovy DSL (build.gradle
via regex). Reuses MavenCentralRegistry from deps-maven.

Extract LineOffsetTable, position_in_range, and
complete_package_names_generic to deps-core for cross-ecosystem reuse.
@github-actions github-actions Bot added documentation Improvements or additions to documentation rust Rust code changes parser Parser changes needs-review Needs review tests Test changes size: XXL >1000 lines changed labels Feb 22, 2026
…rser

toml_edit 0.22 returns None for all span() calls on inline table
values. Add text-search fallback (find_value_range_in_content) that
locates quoted values by key within the document content, fixing inlay
hints and diagnostics stacking on line 1 instead of their actual lines.
Use line-constrained text search for version range fallback: pass the
name_range line as hint so each dependency finds its own version.ref
occurrence instead of all mapping to the first one. Add line_start_offset
and line_end_offset helpers to LineOffsetTable.
@bug-ops bug-ops merged commit 7a18ee6 into main Feb 22, 2026
20 checks passed
@bug-ops bug-ops deleted the feature/gradle-ecosystem branch February 22, 2026 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation needs-review Needs review parser Parser changes rust Rust code changes size: XXL >1000 lines changed tests Test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant