Make `path-mapping` messages specific and fix simple cases automatically

Each kind of path string (`File.path`, `File.dirname`, `File.root.path`,
`ctx.bin_dir.path`) now gets its own message tailored to where it is used.

Simple cases are fixed automatically: a `File.path` passed to `args.add()`,
`args.add_all()`, `args.add_joined()` or `executable`, optionally formatted
into a string literal or wrapped in a list comprehension, is replaced by the
`File` object and a `format` or `format_each` parameter. Variables created
with `ctx.actions.declare_directory()` are passed with
`expand_directories = False` since `args.add()` rejects directories.
4 files changed
tree: 4ec1f85e26d0278182dd8a1339bd4997d166abe7
  1. .bazelci/
  2. .github/
  3. api_proto/
  4. build/
  5. build_proto/
  6. buildifier/
  7. buildozer/
  8. bzlenv/
  9. config/
  10. convertast/
  11. deps_proto/
  12. differ/
  13. edit/
  14. extra_actions_base_proto/
  15. file/
  16. generatetables/
  17. labels/
  18. lang/
  19. release/
  20. tables/
  21. testutils/
  22. unused_deps/
  23. warn/
  24. wspace/
  25. .bazelrc
  26. .bazelversion
  27. .gitignore
  28. .mailmap
  29. .pre-commit-config.yaml
  30. AGENTS.md
  31. BUILD.bazel
  32. CODEOWNERS
  33. CONTRIBUTING.md
  34. CONTRIBUTORS
  35. go.mod
  36. go.sum
  37. launcher.js
  38. LICENSE
  39. MODULE.bazel
  40. README.md
  41. status.py
  42. update_generated.sh
  43. WARNINGS.md
  44. WORKSPACE
  45. WORKSPACE.bzlmod
README.md

Buildtools for bazel

This repository contains developer tools for working with Google's bazel buildtool.

Build status

Setup

See instructions in each tool's directory.