Gazelle: Difference between revisions
Jump to navigation
Jump to search
Line 23: | Line 23: | ||
=Generating <tt>BUILD</tt> Files= | =Generating <tt>BUILD</tt> Files= | ||
{{External|https://github.com/bazel-contrib/bazel-gazelle#gazelle-build-file-generator}} | {{External|https://github.com/bazel-contrib/bazel-gazelle#gazelle-build-file-generator}} | ||
=Repository Rules= | |||
{{External|https://github.com/bazel-contrib/bazel-gazelle/blob/master/repository.md#repository-rules}} | |||
=Use Cases= | =Use Cases= |
Revision as of 07:24, 23 November 2024
External
- https://github.com/bazel-contrib/bazel-gazelle/
- https://github.com/bazel-contrib/bazel-gazelle#gazelle-build-file-generator
Internal
Overview
Gazelle is a BUILD file generator for Bazel projects. It can create new BUILD.bazel
files for a project that follows language conventions, and it can update existing build files to include new sources, dependencies, and options.
Gazelle natively supports Go and protobuf.
Gazelle may be run by Bazel using the gazelle
rule:
bazel run //:gazelle
Alternatively, it may be installed and run as a command line tool.
Aside from generating BUILD files for the local source code, Gazelle can also generate build files for external repositories as part of the go_repository rule.
Generating BUILD Files
Repository Rules
Use Cases
Example:
bazel run //:gazelle -- update-repos golang.org/x/sys@v0.13.0
adds the following line to the WORKSPACE
file:
go_repository(
name = "org_golang_x_sys",
importpath = "golang.org/x/sys",
sum = "h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=",
version = "v0.13.0",
)