5.0.0
Install on MacOS
On MacOS, you can run
brew install aspect-build/aspect/aspect
This installs the aspect
command and also links it to bazel
, just like the bazelisk installer does.
We plan to have a standard "core" homebrew formula so this will just be
brew install aspect
in the future.
Install with Bazelisk
On any platform, so long as you already have bazelisk installed, you can have bazelisk install the Aspect CLI just like it can install the standard Bazel CLI.
Add this to your .bazeliskrc
in your project folder to install Aspect for all developers:
BAZELISK_BASE_URL=https://static.aspect.build/github.com/aspect-build/aspect-cli
USE_BAZEL_VERSION=aspect/5.0.0
Note that in all cases, the .bazelversion
file continues to indicate which version of the Bazel tool is fetched and run beneath the wrapper.
Why 5.0.0 and not 1.0.0 as the first official release?
In order to support bootstrapping with Bazelisk on Apple M1, we needed the version to be >=4.1.0 since Bazelisk is hard-coded to download amd64 binaries when it downloads a binary that has a version less than 4.1.0.
What's Changed
- Fix broken test by @alexeagle in #1
- chore: ignore IJ .idea folder by @mattem in #7
- chore: add convenience alias to root BUILD file for aspect binary by @mattem in #8
- feat: unit test by @f0rmiga in #9
- chore: bump rules_go to 0.28.0 by @mattem in #10
- fix: go_repository spam by @f0rmiga in #12
- feat(help): Add target-syntax help topic by @alexeagle in #13
- feat: generate markdown docs, for some future GitHub pages site by @alexeagle in #14
- feat: generate markdown docs, assert they're up-to-date by @alexeagle in #17
- feat: add docs command by @alexeagle in #16
- chore: add pre-commit prettier check by @alexeagle in #20
- feat: add help info-keys topic by @alexeagle in #15
- feat: add 'help tags' topic by @alexeagle in #22
- feat: build command by @f0rmiga in #24
- chore: fix pre-commit hooks by @alexeagle in #31
- feat: build event protocol local backend by @f0rmiga in #30
- bump: go version to 1.17 by @f0rmiga in #33
- feat: fetch flags from bazel help as proto by @mattem in #18
- feat: add info command by @alexeagle in #29
- feat: add clean command by @alexeagle in #28
- feat: fix-visibility by @f0rmiga in #34
- refactor: use buildozer as lib by @f0rmiga in #36
- feat: clean command prompts for use case by @alexeagle in #35
- feat: add test command by @alexeagle in #38
- chore: update cobra to latest by @alexeagle in #41
- refactor: use built-in feature to suppress timestamps by @alexeagle in #40
- fix: embed markdown as bindata by @alexeagle in #51
- fix gazelle runner by @alexeagle in #54
- fix: decode bazel event from bep by @f0rmiga in #50
- bump: go version to 1.17.3 by @f0rmiga in #65
- feat: plugin system by @f0rmiga in #64
- docs: plugin system by @f0rmiga in #66
- feat: fix-visibility release artifacts by @f0rmiga in #67
- refactor: use buildeventstream alias for clarity by @f0rmiga in #70
- fix: release with local changes by @f0rmiga in #76
- refactor: run plugin system from main by @f0rmiga in #77
- feat: add
test --keep_going
to bazelrc by @f0rmiga in #82 - feat: invoke inside workspace interceptor by @f0rmiga in #83
- feat: show test error output by @f0rmiga in #84
- chore: remove unreachable call to exit by @mattem in #87
- feat: interceptors system by @f0rmiga in #86
- feat(sdk): create sdk version v1alpha2 by @JesseTatasciore in #99
- build(deps): bump go from 1.17.3 to 1.17.5 by @f0rmiga in #88
- feat(plugins): Wire the test verb up to the CLI plugin infrastructure by @JesseTatasciore in #91
- fix: test command error message by @f0rmiga in #102
- fix: comment for NewDefaultTestCmd by @f0rmiga in #101
- feat: run command by @f0rmiga in #103
- fix(docs): add docs for run command by @mattem in #106
- feat: repository tidiness checks on CI by @f0rmiga in #107
- fix: CI cache and rename pipeline by @f0rmiga in #89
- fix: short-circuit allowed files check on CI by @f0rmiga in #105
- fix: No names found, cannot describe anything by @f0rmiga in #110
- feat: annotate errors on CI by @f0rmiga in #113
- refactor: command hooks as interceptors by @f0rmiga in #104
- feat: cache go modules on CI by @f0rmiga in #109
- feat: CI cache keys with hashes by @f0rmiga in #108
- feat: enforce generation of docs for commands by @f0rmiga in #112
- feat: post-run hook by @f0rmiga in #111
- feat(query): add query verb with initial preset features by @mattem in #57
- bump: plugin protocol by @f0rmiga in #119
- feat: use repository cache for release builds by @kormide in #116
- build: move ci cache flags to bazelrc by @kormide in #121
- chore: upgrade to bazel 5 by @alexeagle in #125
- fix: ensure the workspaceRoot is set before running Bazel by @alexeagle in #127
- feat: aquery and cquery verbs by @JesseTatasciore in #117
- Set bazel workspace root for the bazel query verbs by @JesseTatasciore in #128
- bump: rules_go, gazelle, go version by @f0rmiga in #129
- feat: Allow predefined queries to be specified in aspect configuration by @JesseTatasciore in #122
- build: allow PRs from forks by @jbedard in #132
- chore: ignore .vscode directory by @jbedard in #130
- feat: plugin.Base by @f0rmiga in #140
- fix: interceptors Run() when list of interceptors is empty by @jbedard in #141
- feat(plugin): Add error augmentor plugin by @JesseTatasciore in #118
- fix: missing Setup method for plugin.Base by @f0rmiga in #144
- chore: enable strict_action_env by @alexeagle in #146
- test: add PluginSystem.commandHooksInterceptor tests by @jbedard in #135
- refactor: remove propertiesBytes from AspectPlugin interface by @jbedard in #148
- refactor: move plugin client+loading into own packages by @jbedard in #150
- fix: apply license header to source files by @alexeagle in #152
- ci: indicate how to make sdk changes green by @alexeagle in #153
- fix: embed data properly when built externally by @alexeagle in #155
- feat: Add the ability to have custom commands be called from plugins by @JesseTatasciore in #133
- Make bazel package visible outside of the repo by @JesseTatasciore in #156
- test: add PluginSystem.Configure() tests by @jbedard in #143
- feat: run plugin setup concurrently by @jbedard in #151
- chore: update bazel docsite URL by @alexeagle in #158
- feat: add outputs command by @alexeagle in #145
- fix: bump BES server recv max message size by @f0rmiga in #163
- feat: v1alpha3 SDK by @f0rmiga in #164
- feat: plugin.Setup with structured config by @f0rmiga in #165
- Release other two plugins by @alexeagle in #166
- fix: allow Bazel to be used outside of an interceptor chain by @alexeagle in #168
- refactor: make aquery proto parsing reusable by @alexeagle in #169
- Fix protobuf namespace issue caused by mirroring bazel protobufs and importing buildozer by @JesseTatasciore in #173
- Fix Setup function on the grpc client by @JesseTatasciore in #172
- Allow bazel flags to be passed through the aspect CLI by @JesseTatasciore in #138
- chore: remove hello-world example by @alexeagle in #175
- fix: ensure GRPCClient satisfies Plugin by @f0rmiga in #178
- bump: buildtools dependency by @f0rmiga in #177
- feat: load plugins from local target by @alexeagle in #174
- Remove plugins by @alexeagle in #180
- refactor: check in generated Go protos by @alexeagle in #182
- refactor: move patch to our rules_go fork by @alexeagle in #184
- refactor: re-organize bazel protos by @alexeagle in #186
- bump: Go to 1.18 by @f0rmiga in #187
- refactor: bes_backend scheme as part of Addr() by @f0rmiga in #188
- refactor: hide context manipulation for BESBackend by @f0rmiga in #189
- fix: pass grpc server address without protocol by @mattem in #190
- Allow startup flags to be passed through to bazel by @JesseTatasciore in #193
- feat: add race detector by @f0rmiga in #194
- fix: don't output build info when building plugins by @mattem in #198
- docs: fixup method docs comment by @mattem in #199
- fix: execute custom command rebind lazy access by @f0rmiga in #200
- feat: enable almost all go/analysis checkers by @f0rmiga in #201
- fix: Remove restriction on number of arguments passed to aspect info by @JesseTatasciore in #204
- chore: bump go 1.18 -> 1.18.1 by @f0rmiga in #205
- feat: Add the ability to cleanup all (or at least many) bazel workspaces by @JesseTatasciore in #124
- fix: use proper DI to get workspace root by @f0rmiga in #219
- feat: allow envs and workspace root into bazelisk by @f0rmiga in #220
- feat: avoid re-entrance by @alexeagle in #221
- Create osutils for performing OS specific operations by @JesseTatasciore in #213
- bump: go deps by @f0rmiga in #232
- Move aspect integration tests to
//integration_tests/aspect
by @cgrindel in #241 - Create barebones
bootstrap
command-line application by @cgrindel in #242 - chore: update LICENSE to Apache 2 by @alexeagle in #244
- Update
bootstrap
test to use shell assertion functions frombazel-lib
by @cgrindel in #246 - chore: update license header in code to match /LICENSE by @alexeagle in #249
- feat: allow plugins to specify a remote URL by @alexeagle in #248
- handle plugins on github releases by @alexeagle in #253
- Implement
bootstrap version
by @cgrindel in #247 - feat: add go convenience tools by @dymart in #257
- Fix error when running a command that attempts to save config file when it does not exist by @cgrindel in #254
- feat: add sync pass-through command by @gregmagolan in #261
- feat: add analyze profile pass-through command" by @gregmagolan in #262
- feat: add canonicalize-flags pass-through command by @gregmagolan in #263
- feat: add dump pass-through command by @gregmagolan in #264
- feat: add fetch pass-through command by @gregmagolan in #265
- feat: add modquery pass-through command by @gregmagolan in #266
- feat: add shutdown pass-through command by @gregmagolan in #267
- feat: add print_action pass-through command by @gregmagolan in #268
- feat: add mobile-install pass-through command by @gregmagolan in #269
- refactor: load plugins config from under .aspect folder by @alexeagle in #258
- refactor: downloaded plugins are always versioned by @alexeagle in #260
- refactor: load cli config from under the .aspect/cli folder by @gregmagolan in #271
- chore: update .bazelversion to use aspect CLI 0.8.0 and bazel 5.3.1 by @gregmagolan in #272
- fix: make cache path for downloaded plugin include version and retain the platform name in the binary by @gregmagolan in #274
- chore: upgrade to aspect CLI v0.9.0 and configure pro plugins v0.9.0 by @gregmagolan in #275
- fix: work-around for bazelisk issue with Darwin M1 when it thinks its download bazel version older than 4.1.0 by @gregmagolan in #276
- chore: increase visilibility of cli libs so cli they can be depended on in downstream repos by @gregmagolan in #278
- Remove bootstrap CLI by @cgrindel in #281
- refactor: bazel by @cgrindel in #280
- chore: remove use of io/ioutil as it is deprecated by @cgrindel in #282
- refactor: convert RunCommand to accept variadic command argument by @cgrindel in #283
- chore: remove messages about config files being used by @cgrindel in #289
- chore: fix plugin documentation URL by @cgrindel in #291
- fix: use cobra string flags for Bazel boolean flags so a value of "no" is not a parsing failure by @gregmagolan in #293
- fix: forward query args if not using canned queries by @gregmagolan in #294
- fix: gather and set start-up flags in before configuring the plugin system by @gregmagolan in #292
- fix: remove non-existant bootstrap release target by @gregmagolan in #295
- Add support for Bazel boolean flags. by @cgrindel in #296
- chore: match prettier settings with silo by @alexeagle in #299
- chore: update the godoc comments for
RegisterNoableBool
andRegisterNoableBoolP
by @cgrindel in #297 - refactor: make a test less brittle by @alexeagle in #300
- feat: add
//install
target for installing the Aspect CLI on the system by @cgrindel in #298 - chore(copybara): sync commits from Aspect-internal silo by @alexeagle in #305
- chore: revert "feat: add
//install
target for installing the Aspect CLI on the system" by @cgrindel in #307 - fix: update example to work again by @alexeagle in #308
- chore(copybara): sync commits from Aspect-internal silo by @alexeagle in #311
- chore(copybara): sync commits from Aspect-internal silo by @alexeagle in #313
- cleanup: remove vanity go import support by @alexeagle in #310
- chore(copybara): sync commits from Aspect-internal silo by @alexeagle in #315
- docs: update homepage by @alexeagle in #317
- refactor: move workspace status command script to root by @alexeagle in #319
- chore(copybara): sync commits from Aspect-internal silo by @alexeagle in #318
- build: better releases that are bazelisk compatible by @gregmagolan in #321
- chore: update to Bazel 5.3.2 and Aspect CLI Pro 4.2.0 by @gregmagolan in #322
- chore(copybara): sync commits from Aspect-internal silo by @alexeagle in #323
- chore: remove old reference to 9.9.9 hacky .bazelversion by @gregmagolan in #324
- chore(copybara): sync commits from Aspect-internal silo by @alexeagle in #325
- chore: update to Aspect CLI (open source) 4.2.1 by @gregmagolan in #326
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #327
- build: update to Aspect CLI 4.2.2 by @gregmagolan in #328
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #329
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #330
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #335
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #336
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #337
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #338
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #339
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #340
- chore: update to Aspect CLI 4.3.2 by @gregmagolan in #341
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #342
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #343
- chore(copybara): sync commits from Aspect-internal silo by @gregmagolan in #344
New Contributors
- @alexeagle made their first contribution in #1
- @mattem made their first contribution in #7
- @f0rmiga made their first contribution in #9
- @JesseTatasciore made their first contribution in #99
- @kormide made their first contribution in #116
- @jbedard made their first contribution in #132
- @cgrindel made their first contribution in #241
- @dymart made their first contribution in #257
- @gregmagolan made their first contribution in #261
Full Changelog: https://github.com/aspect-build/aspect-cli/commits/5.0.0