Skip to content

Expand Rust workspace and add shared Clippy configuration - #23053

Open
paldepind wants to merge 8 commits into
mainfrom
rust/lint
Open

paldepind wants to merge 8 commits into
mainfrom
rust/lint

Conversation

@paldepind

@paldepind paldepind commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

The goal of this PR is to have one Clippy configuration that is shared across all of our Rust code.

The standard Clippy way of doing this is to configure Clippy in a workspace Cargo.toml and let that config be inherited. We already have a workspace in the repo root, but it doesn't include all of our Rust code.

This PR:

  • Expands the root Rust workspace to include all Rust projects except the Python extractor. The Python extractor can not be included since it links with an old tree-sitter library, and libraries that are linked against must be off the same version.
  • Adds a Clippy configuration to the root Cargo.toml. For now I've just added two non-default rules, but we can (and I intent to) add more later.
  • Removes the custom Clippy setup for the C/C++ BMN extractor.
  • Carries out a bunch of setup and configuration tweaks needed by the above changes.
  • Fixes lint errors that where found by the expanded configuration.

This PR does not change how much linting we do during CI and not all Rust code is currently being linted by CI. We could improve on this, for instance by having one workflow that triggers on all Rust changes and lints the relevant Rust packages. However, I think that is out of this PRs scope.

paldepind and others added 8 commits November 9, 2026 13:01
Use the root workspace's vendored dependencies for BMN and remove its
separate vendor configuration. Update the dependency updater, BMN CI
paths, and documentation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f1ad1386-d80e-4379-8644-79e2de5f8518
Regenerate the shared vendor bindings against the root Cargo lockfile
and remove the obsolete separate BMN dependency bindings.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f1ad1386-d80e-4379-8644-79e2de5f8518
@paldepind paldepind changed the title Consolidate Rust workspace and Clippy configuration Expand Rust workspace and add shared Clippy configuration Nov 9, 2026
@paldepind
paldepind marked this pull request as ready for review November 9, 2026 12:24
@paldepind
paldepind requested review from a team as code owners November 9, 2026 12:24
Copilot AI auto review requested due to automatic review settings November 9, 2026 12:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are recorded that require resolution before approval.

No open issues 🎉

What changed in this PR

This PR expands the root Cargo workspace so Rust projects can inherit shared Clippy settings. The Python extractor remains separate because of its tree-sitter version requirements.

Changes:

  • Defines shared Clippy rules, enables lint inheritance, and applies lint-driven Rust cleanups.
  • Consolidates BMN’s Bazel dependencies and removes its custom lint wrapper.
  • Updates packaging scripts, CI triggers and caches, editor settings, and documentation.

This pull request is too complex or risky for automated approval. No review findings were recorded, but the cross-cutting workspace, dependency, and CI changes warrant final human review.

File Description
unified/​swift-syntax-rs/​Cargo.toml Inherits workspace lints.
unified/​swift-syntax-rs/​build.rs Reformats runtime-path construction.
unified/​extractor/​src/​languages/​swift/​adapter.rs Uses let-else in a test.
unified/​extractor/​Cargo.toml Inherits lints; updates dependency instructions.
unified/​extractor-unsupported-os/​Cargo.toml Inherits workspace lints.
shared/​yeast/​src/​dump.rs Applies lint fixes and a targeted allowance.
shared/​yeast/​Cargo.toml Inherits workspace lints.
shared/​yeast-schema/​src/​node_types_yaml.rs Simplifies optional-field checking.
shared/​yeast-schema/​Cargo.toml Inherits workspace lints.
shared/​yeast-macros/​Cargo.toml Inherits workspace lints.
shared/​tree-sitter-extractor/​src/​file_paths.rs Uses let-else for environment lookup.
shared/​tree-sitter-extractor/​src/​extractor/​mod.rs Simplifies collection iteration.
shared/​tree-sitter-extractor/​Cargo.toml Inherits lints; updates dependency instructions.
rust/​extractor/​src/​translate/​base.rs Uses let-else for attribute handling.
rust/​extractor/​src/​crate_graph.rs Simplifies crate-graph iteration.
rust/​extractor/​macros/​Cargo.toml Inherits workspace lints.
rust/​extractor/​Cargo.toml Inherits workspace lints.
rust/​autobuild/​Cargo.toml Inherits workspace lints.
rust/​ast-generator/​Cargo.toml Inherits workspace lints.
ruby/​extractor/​Cargo.toml Inherits lints; updates dependency instructions.
ql/​scripts/​create-extractor-pack.sh Selects QL packages and root build output.
ql/​scripts/​create-extractor-pack.ps1 Updates Windows packaging for root output.
ql/​README.md Documents package-specific builds.
ql/​extractor/​Cargo.toml Inherits workspace lints.
ql/​Cargo.toml Removes the nested workspace.
ql/​buramu/​tree-sitter-blame/​Cargo.toml Inherits workspace lints.
ql/​buramu/​src/​main.rs Simplifies collection iteration.
ql/​buramu/​README.md Updates the executable path.
ql/​buramu/​Cargo.toml Inherits workspace lints.
MODULE.bazel Registers consolidated Rust dependencies.
misc/​bazel/​3rdparty/​update_cpp_bmn_deps.sh Removes separate BMN vendoring.
misc/​bazel/​3rdparty/​update_cargo_deps.sh Removes the BMN-specific update step.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​zip/​BUILD.bazel Retargets the consolidated zip alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​zip-9.0.5/​BUILD.bazel Retargets the versioned zip alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​which/​BUILD.bazel Updates the consolidated which alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​which-8.0.6/​BUILD.bazel Defines the updated versioned alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​walkdir/​BUILD.bazel Retargets the consolidated walkdir alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​walkdir-2.5.0/​BUILD.bazel Retargets the versioned walkdir alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​tree-sitter-ql-dbscheme/​BUILD.bazel Adds the QL dbscheme grammar alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​tree-sitter-ql-dbscheme-0.23.0/​BUILD.bazel Adds the versioned grammar alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​tree-sitter-language/​BUILD.bazel Adds the language-binding alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​tree-sitter-language-0.1.7/​BUILD.bazel Adds the versioned language-binding alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​tree-sitter-json-0.23.0/​BUILD.bazel Defines the additional JSON grammar version.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​tempfile/​BUILD.bazel Updates the consolidated tempfile alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​tempfile-3.27.0/​BUILD.bazel Adds the updated versioned alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​serde_with-1.14.0/​BUILD.bazel Retargets the older serde_with alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​os_str_bytes/​BUILD.bazel Updates the consolidated path-string alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​os_str_bytes-7.2.1/​BUILD.bazel Adds the updated versioned alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​itertools-0.14.0/​BUILD.bazel Retargets BMN’s itertools version.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​cc/​BUILD.bazel Adds the C compiler helper alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​cc-1.4.6/​BUILD.bazel Adds the versioned compiler-helper alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​cached/​BUILD.bazel Defines the consolidated cached alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​cached-0.54.0/​BUILD.bazel Defines the versioned cached alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.zopfli-0.8.4.bazel Updates compression version and dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.zlib-rs-0.6.8.bazel Updates the compression library version.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.zeroize-1.9.1.bazel Updates version and Rust edition.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.zerocopy-derive-0.8.63.bazel Updates derive-macro dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.zerocopy-0.8.63.bazel Updates library and build-script versions.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.windows-sys-0.61.2.bazel Adjusts resolved Windows features.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.windows-sys-0.60.2.bazel Adds resolved Windows features.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.winapi-util-0.1.11.bazel Updates Windows dependency selection.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.web-time-1.1.0.bazel Retargets WebAssembly dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.typenum-1.20.1.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.typed-path-0.12.3.bazel Aligns the resolved package version.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.tree-sitter-ql-dbscheme-0.23.0.bazel Defines the grammar and build script.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.tree-sitter-json-0.23.0.bazel Defines the additional JSON grammar build.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.time-0.3.55.bazel Adds resolved WebAssembly configuration.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.thiserror-impl-1.0.69.bazel Retargets macro dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.thiserror-1.0.69.bazel Retargets the derive implementation.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.syn-1.0.109.bazel Retargets parser dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.strsim-0.10.0.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.simd-adler32-0.3.10.bazel Updates version and standard-library feature.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.serde_with-1.14.0.bazel Retargets serialization dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.serde_with_macros-1.5.2.bazel Retargets serialization macro dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.ppmd-rust-1.5.2.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.pbkdf2-0.13.0.bazel Retargets cryptographic dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.os_str_bytes-7.2.1.bazel Updates version and dependency reference.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.nu-ansi-term-0.50.3.bazel Updates Windows aliases and dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.nix-0.31.3.bazel Retargets platform and build dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.miow-0.6.1.bazel Updates its Windows dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.miniz_oxide-0.8.9.bazel Updates its checksum dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.lzma-rust2-0.22.0.bazel Retargets its hashing dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.linux-raw-sys-0.12.1.bazel Updates version and Linux features.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.libc-0.2.189.bazel Adds platform-specific trait features.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.libbz2-rs-sys-0.2.6.bazel Updates the compression library version.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.itertools-0.14.0.bazel Retargets its iterator dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.inout-0.2.6.bazel Updates version and array dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.hybrid-array-0.4.15.bazel Retargets its type-level dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.hmac-0.13.0.bazel Retargets its digest dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.hashbrown-0.14.5.bazel Adds resolved default features and dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.getrandom-0.4.3.bazel Adds resolved WebAssembly configuration.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.fnv-1.0.7.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.flate2-1.1.9.bazel Adds the resolved zlib-rs backend.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.fastrand-2.5.0.bazel Updates the random-generator version.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.digest-0.11.3.bazel Retargets cryptographic dependencies and aliases.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.deflate64-0.1.12.bazel Updates version and default feature.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.darling-0.20.11.bazel Retargets macro-support dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.darling-0.13.4.bazel Retargets older macro-support dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.darling_macro-0.20.11.bazel Retargets derive-macro dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.darling_macro-0.13.4.bazel Retargets older derive-macro dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.darling_core-0.20.11.bazel Retargets macro-parser dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.darling_core-0.13.4.bazel Retargets older macro-parser dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.ctutils-0.4.8.bazel Retargets its constant-time dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.crypto-common-0.2.2.bazel Retargets its array dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.crc32fast-1.5.4.bazel Updates library and build-script versions.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.cpubits-0.1.1.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.constant_time_eq-0.6.1.bazel Retargets its build-time macro.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.const-oid-0.10.2.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.cmov-0.5.4.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.cipher-0.5.2.bazel Retargets cryptographic dependencies and aliases.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.cached-0.54.0.bazel Retargets caching dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.cached_proc_macro-0.23.0.bazel Retargets caching macro dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.cached_proc_macro_types-0.1.1.bazel Updates regeneration instructions only.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.bzip2-0.6.1.bazel Updates its compression dependency.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.block-buffer-0.12.1.bazel Retargets array and zeroization dependencies.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.anstyle-wincon-3.0.11.bazel Updates Windows dependency selection.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.anstyle-query-1.1.5.bazel Updates Windows dependency selection.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​BUILD.all_asserts-2.3.4.bazel Updates the assertion-helper version.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​all_asserts/​BUILD.bazel Updates the consolidated assertion alias.
misc/​bazel/​3rdparty/​tree_sitter_extractors_deps/​all_asserts-2.3.4/​BUILD.bazel Adds the updated versioned alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​which-8.0.0/​BUILD.bazel Removes the superseded which alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​tempfile-3.20.0/​BUILD.bazel Removes the superseded tempfile alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​serde/​BUILD.bazel Removes the separate serde alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​serde-1.0.229/​BUILD.bazel Removes the separate versioned serde alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​serde_with/​BUILD.bazel Removes the separate serde_with alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​serde_json/​BUILD.bazel Removes the separate serde_json alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​serde_json-1.0.140/​BUILD.bazel Removes the superseded serialization alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​regex/​BUILD.bazel Removes the separate regex alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​regex-1.11.1/​BUILD.bazel Removes the superseded regex alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​rayon/​BUILD.bazel Removes the separate rayon alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​rayon-1.11.0/​BUILD.bazel Removes the superseded rayon alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​os_str_bytes-7.1.1/​BUILD.bazel Removes the superseded path-string alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​num_cpus/​BUILD.bazel Removes the separate CPU-count alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​num_cpus-1.17.0/​BUILD.bazel Removes the separate versioned CPU-count alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​itertools/​BUILD.bazel Removes the separate itertools alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​defs.bzl Removes separate dependency macro exports.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​chrono/​BUILD.bazel Removes the separate chrono alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​chrono-0.4.41/​BUILD.bazel Removes the superseded chrono alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​cached-0.54.0/​BUILD.bazel Removes the separate caching alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.windows-link-0.1.3.bazel Removes the separate Windows binding rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.version_check-0.9.5.bazel Removes the separate version-check rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.unicode-ident-1.0.18.bazel Removes the separate identifier rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.time-core-0.1.9.bazel Removes the separate time-core rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.strsim-0.11.1.bazel Removes the separate string-similarity rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.ryu-1.0.20.bazel Removes the separate number-formatting rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.r-efi-6.0.0.bazel Removes the separate EFI rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.powerfmt-0.2.0.bazel Removes the separate formatting rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.pkg-config-0.3.32.bazel Removes the separate pkg-config rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.num-conv-0.2.2.bazel Removes the separate numeric-conversion rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.log-0.4.28.bazel Removes the separate logging rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.itoa-1.0.15.bazel Removes the separate integer-formatting rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.ident_case-1.0.1.bazel Removes the separate identifier-case rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.hashbrown-0.16.1.bazel Removes the separate hash-table rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.equivalent-1.0.2.bazel Removes the separate equivalence rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.env_home-0.1.0.bazel Removes the separate home-directory rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​BUILD.cfg-if-1.0.1.bazel Removes the separate conditional-compilation rule.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​anyhow/​BUILD.bazel Removes the separate anyhow alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​anyhow-1.0.98/​BUILD.bazel Removes the superseded anyhow alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​all_asserts-2.3.3/​BUILD.bazel Removes the superseded assertion alias.
misc/​bazel/​3rdparty/​cpp_bmn_deps/​alias_rules.bzl Removes separate transition-alias helpers.
misc/​bazel/​3rdparty/​cpp_bmn_deps_extension.bzl Removes BMN’s dedicated module extension.
misc/​bazel/​3rdparty/​BUILD.bazel Removes the BMN-only vendoring target.
cpp/​extractor/​bmn/​README.md Updates lint and dependency-update commands.
cpp/​extractor/​bmn/​lint Removes the custom lint wrapper.
cpp/​extractor/​bmn/​Cargo.toml Joins the root workspace and inherits lints.
cpp/​extractor/​bmn/​BUILD.bazel Uses consolidated dependency macros.
Cargo.toml Expands membership and defines shared Clippy rules.
.vscode/​settings.json Enables Clippy checks for all targets.
.pre-commit-config.yaml Runs package-scoped BMN checks directly.
.github/​workflows/​update-rust-analyzer.md Expands permitted workspace-update paths.
.github/​workflows/​tree-sitter-extractor-test.yml Adds shared-config triggers; simplifies lint flags.
.github/​workflows/​rust.yml Adds root Rust configuration triggers.
.github/​workflows/​ql-for-ql-tests.yml Updates triggers, caches, and formatting scope.
.github/​workflows/​ql-for-ql-dataset_measure.yml Uses the root Cargo cache path.
.github/​workflows/​ql-for-ql-build.yml Updates executable paths and cache keys.
.github/​workflows/​cpp-bmn.yml Tracks shared dependencies and updates Clippy invocation.

Review effort: Balanced (auto)

@andersfugmann andersfugmann left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. A few minor questions, but nothing that would block merging.
Before merging, please make sure to verify that the create-extractor-pack scripts (Posix and windows) works as intended after the change.

Comment thread Cargo.toml
Comment on lines +33 to +36
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
explicit_iter_loop = "warn"
manual_let_else = "warn"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These rules seems different from the ones that was used for BMN), for example the pedantic flag is gone. Can you comment on the differences?

load("@rules_rust//rust:defs.bzl", "rust_test")
load("//misc/bazel:rust.bzl", "codeql_rust_binary")
load("//misc/bazel/3rdparty/cpp_bmn_deps:defs.bzl", "all_crate_deps")
load("//misc/bazel/3rdparty/tree_sitter_extractors_deps:defs.bzl", "all_crate_deps")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume that this change now shares dependencies across projects. If so, should we rename this so it does not carry the tree_sitter name (iirc bmn does not use tree_sitter).


```sh
misc/bazel/3rdparty/update_cpp_bmn_deps.sh
misc/bazel/3rdparty/update_tree_sitter_extractors_deps.sh

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above.

- "ql/**"
- codeql-workspace.yml
- .github/workflows/ql-for-ql-tests.yml
paths: *ql_paths

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants