Prerequisites
You need:
- chocolatey package manager installed
- (to publish) a chocolatey API key granting you permission to publish the
bazelpackage- @petemounce currently maintains this unofficial package.
- (to publish) to have set up that API key for the chocolatey source locally
via
choco apikey -k <your key here> -s https://chocolatey.org/
Build
Compile bazel with msys2 shell and compile.sh.
pushd scripts/packages/chocolatey
./build.ps1 -version 0.3.2 -mode local
popd
Should result in scripts/packages/chocolatey/bazel.<version>.nupkg being
created.
The build.ps1 script supports mode values local, rc and release.
Test
Build the package (with
-mode local)- run a webserver (
python -m SimpleHTTPServerinscripts/packages/chocolateyis convenient and starts one onhttp://localhost:8000)
- run a webserver (
Test the install
The
test.ps1should install the package cleanly (and error if it did not install cleanly), then tell you what to do next.Test the uninstall
choco uninstall bazel # should remove bazel from the system
Chocolatey's moderation process automates checks here as well.
Release
Modify tools/parameters.json for the new release's URI and checksum once the
release has been published to github releases.
./build.ps1 -version <version> -isRelease
./test.ps1 -version <version>
# if the test.ps1 passes
choco push bazel.x.y.z.nupkg --source https://chocolatey.org/
Chocolatey.org will then run automated checks and respond to the push via email to the maintainers.