Gazelle: Difference between revisions
Jump to navigation
Jump to search
Line 27: | Line 27: | ||
==<tt>go_repository</tt>== | ==<tt>go_repository</tt>== | ||
{{External|https://github.com/bazel-contrib/bazel-gazelle/blob/master/repository.md#git_repository}} | {{External|https://github.com/bazel-contrib/bazel-gazelle/blob/master/repository.md#git_repository}} | ||
<code>repositories.bzl</code> | |||
<font color=darkkhaki>Describe the relationship between <code>repositories.bzl</code> and <code>go.mod</code></font> | |||
==Add a <tt>go_repository</tt> Rule to <tt>WORKSPACE</tt> File== | ==Add a <tt>go_repository</tt> Rule to <tt>WORKSPACE</tt> File== |
Revision as of 07:27, 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
go_repository
repositories.bzl
Describe the relationship between repositories.bzl
and go.mod
Add a go_repository Rule to WORKSPACE File
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",
)