bazel-contrib / bazel-contrib/rules_go
`go_binary` should create a binary with `name` by default
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 762
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 12
Description
This is the behavior which one expects as this is basically what every other rule does, including the other language specific `_binary` ones.
Because of the edge case described in #2463, the default behavior was changed to output binaries at `NAME_/NAME` instead of just `NAME`.
`go_binary` already offers attributes `basename` and `out` to control the output but the default is unexpected and tailored towards an edge case. It would be better if one would only have to set those attributes in the edge case when using a sane default.
Contributor guide
Research direction
Start with the go_binary implementation and the behavior described in #2463, tracing how the default output path is selected and how basename and out override it. Done means the default output is NAME while the #2463 edge case remains available through those attributes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100