前提条件
您需要:
- 已安装 Chocolatey 软件包管理器
- (用于发布)一个 Chocolatey API 密钥,可授予您发布
bazel
软件包的权限- @petemounce 目前负责维护此非官方软件包。
- (to publish) 已通过
choco apikey -k <your key here> -s https://chocolatey.org/
在本地为 chocolatey 源代码设置了该 API 密钥
构建
使用 msys2 shell 和 compile.sh
编译 Bazel。
pushd scripts/packages/chocolatey
./build.ps1 -version 0.3.2 -mode local
popd
应会创建 scripts/packages/chocolatey/bazel.<version>.nupkg
。
build.ps1
脚本支持 mode
值 local
、rc
和 release
。
测试
构建软件包(使用
-mode local
)- 运行 Web 服务器(
scripts/packages/chocolatey
中的python -m SimpleHTTPServer
非常方便,可在http://localhost:8000
上启动一个)
- 运行 Web 服务器(
测试安装
test.ps1
应正常安装软件包(如果未正常安装,则会出错),然后告知您后续要执行的操作。测试卸载
choco uninstall bazel # should remove bazel from the system
Chocolatey 的审核流程也会在此处自动执行检查。
版本
将新版本发布到 GitHub 版本后,修改新版本的 URI 和校验和的 tools/parameters.json
。
./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 会运行自动检查,并通过电子邮件向维护者回复推送。