Friday demo
feat: add test command (#38)

Currently it's just a simple pass-through to bazel
12 files changed
tree: 77a261ade04bd86e9d5c0bc857d268e2a175830e
  1. .github/
  2. buildinfo/
  3. cmd/
  4. docs/
  5. hooks/
  6. integration_tests/
  7. pkg/
  8. .bazelrc
  9. .bazelversion
  10. .gitignore
  11. .pre-commit-config.yaml
  12. .prettierignore
  13. .prettierrc
  14. BUILD.bazel
  15. CONTRIBUTING.md
  16. go.bzl
  17. go.mod
  18. go.sum
  19. LICENSE
  20. README.md
  21. WORKSPACE
README.md

aspect-cli

This is the frontend for the Aspect build tool. It is currently just a wrapper around bazelisk or bazel, meant to install in tools/bazel.

In the future, we might totally replace the bazel C++ client, and this tool would be a gRPC client of the bazel server.

TODOs

  • [ ] figure out how to cut and host a release GH Action to cut/publish release whenever a tag is pushed upstream
  • [ ] document lots of ways to install, including a bash one-liner
  • [ ] help user ensure bash/zsh completion working
  • [ ] warn user if Bazel version is floating (no bazelisk, or using latest in .bazelversion, or no .bazelversion)

Use Cases

When I am confused by bazel

I can find that Aspect is an easier-to-use wrapper and feel motivated and comfortable to try it immediately.

From aspect.build/install I quickly pick an Installation option, and am guided through to successful install.

The first time I run aspect in interactive mode,

  • I choose whether I want to install for all users of my workspace, in which case a bootstrap bit is added to tools/bazel ensuring that the tool is downloaded and spawned for anyone cloning my repo.

When I run bare bazel

When I run bare bazel build

When I run bare bazel test