Skip to content

Universal Extension for Bazel Gazelle, multi-language BUILD files generation

License

Notifications You must be signed in to change notification settings

sluongng/ugazelle

Repository files navigation

ugazelle

Universal Gazelle is a collection of currated gazelle extensions.

Why

The goal here is to create an one-stop-shop entrypoint of all gazelle extensions and ease the cost of adopting Bazel: generating and maintaining BUILD files overtime.

How

  1. Currated all Gazelle extensions in one place. Limitted to open source, non-license restricted projects.

  2. Use tree-sitter for parsing source files for different languages

  3. Maintain/update the extensions overtime. Right now we are relying SourceGraph code monitoring manual curation to copy patches over. We may consider automating this process with CopyBara in the future.

Status

This is currently an on-going POC / personal research project of @sluongng.

If you are interested in using/developing this project further, please reach out to me [sluongng at gmail dot com]. PR contributions are always welcome.

For each extension will be copied over, then replace it's parser(native/regex...) with tree-sitter.

  • proto (source: rules_go)

    • Copied over
    • Use tree-sitter
  • Go (source: rules_go)

    • Copied over
    • Use tree-sitter
  • filegroup (source: rules_go)

    • Copied over
  • bzl (source: skylib)

    • Copied over
    • Use tree-sitter
  • Python (source: rules_python)

    • Copied over
    • Use tree-sitter
  • Java (source: bazel-contrib/rules_jvm)

    • Copied over
    • Use tree-sitter
  • TypeScript / NodeJS (source: benchsci/bazel_rules_nodejs_contrib)

    • Copied over
    • Use tree-sitter
  • R (source: grailbio/rules_r)

    • Copied over
    • Use tree-sitter
  • (new language here)

    • Copied over
    • Use tree-sitter

About

Universal Extension for Bazel Gazelle, multi-language BUILD files generation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published