ugazelle

module
v0.0.0-...-31af21e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2022 License: Apache-2.0

README

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

Directories

Path Synopsis
internal
language
bzl
Package bzl generates a `bzl_library` target for every `.bzl` file in each package.
Package bzl generates a `bzl_library` target for every `.bzl` file in each package.
filegroup
Package filegroup generates an "all_files" filegroup target in each package.
Package filegroup generates an "all_files" filegroup target in each package.
go
Package golang provides support for Go and Go proto rules.
Package golang provides support for Go and Go proto rules.
go/gen_std_package_list
gen_std_package_list reads a text file containing a list of packages (one per line) and generates a .go file containing a set of package names.
gen_std_package_list reads a text file containing a list of packages (one per line) and generates a .go file containing a set of package names.
proto
Package proto provides support for protocol buffer rules.
Package proto provides support for protocol buffer rules.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL