Skip to content

Commit fd61b8e

Browse files
committed
Code review
1 parent 66e6f45 commit fd61b8e

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

cmd/gazelle/README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# cmd/gazelle
2+
3+
This is essentially a copy of the files in bazelbuild/bazel-gazelle/cmd/gazelle.
4+
5+
To upgrade gazelle, one must:
6+
7+
- `go get` the correct version and update `go.mod` file
8+
- `make tidy` to propagate changes to `go.sum` and `go_repositories.bzl`.
9+
- update the version of @bazel_gazelle in `deps/BUILD.bazel`, then run `make
10+
deps` to regenerate the actual deps tree.
11+
- Compare changes in the source repo to the files here. It's easiest to just
12+
copy over each file and see where the diffs are. Make sure `langs.go`
13+
includes the `github.com/stackb/rules_proto/language/protobuf`. Internal
14+
packages referenced must also be copied over (ugh). There's probably a more elegant solution to keeping a modified copy of gazelle binary here.
15+
- Since the `proto_gazelle.bzl` rule uses
16+
`@bazel_gazelle//internal:gazelle.bash.in`, changes there must remain
17+
compatible with proto_gazelle. Look at the diff there and make sure the proto_gazelle_impl is satifying the needs of that template.
18+
- Remember that this `cmd/gazelle` must be buildable via the standard go
19+
toolchain (see proto_repository_tools.bzl):
20+
21+
```py
22+
args = [
23+
go_tool,
24+
"install",
25+
"-ldflags",
26+
"-w -s",
27+
"-gcflags",
28+
"all=-trimpath=" + env["GOPATH"],
29+
"-asmflags",
30+
"all=-trimpath=" + env["GOPATH"],
31+
"github.com/stackb/rules_proto/cmd/gazelle",
32+
]
33+
result = env_execute(ctx, args, environment = env)
34+
if result.return_code:
35+
fail("failed to build tools: " + result.stderr)
36+
```
37+
38+
So any and all deps must be in the vendor tree.

0 commit comments

Comments
 (0)