My goal is to learn Bazel to understand its value proposition, encouraged/required patterns, requirements1, limitations and trade-offs.
- run goimports and gofmt as a check and as a task?
- what's the pattern for targets that change files in the project?
bazel run @io_bazel_rules_go//go -- fmt .?- https://bazel.build/reference/be/shell ?
- https://stackoverflow.com/questions/53163137/how-to-properly-invoke-executable-from-usr-bin-via-starlark
- https://chromium.googlesource.com/external/github.com/bazelbuild/buildtools/+/HEAD/buildifier/README.md
- "how to write rules": crash course
- editor support a.k.a can Bazel also provide IDE tooling?
- learning the basic rules
- How to manage Bazel itself? (https://github.com/bazelbuild/bazelisk vs a Bazel "dev" container)
- is not a container required for running Bazel RE anyways?
- How (and when) to use Bzlmod?
- Bazel for infrastructure resources: does it fly?
- There are many quality of life improvements for both "tools maintainers" and "feature developers".
- There are many caveats and limitations and corner cases when compared to the native toolchain of each language. Even a seasoned developer on a given language platform will have to learn the Bazel ways.
Footnotes
-
What do I need to adopt (certain features) of Bazel? How tall shall I be? ↩