前提条件
必要なもの:
- chocolatey パッケージ マネージャーがインストールされている
- (公開用)
bazel
パッケージの公開権限を付与する Chocolatey API キー- 現在、@petemounce がこの非公式パッケージを管理しています。
- (公開する)
choco apikey -k <your key here> -s https://chocolatey.org/
を使用して、chocolatey ソースの API キーをローカルで設定していること
構築
msys2 シェルと 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
を使用)- ウェブサーバーを実行する(
scripts/packages/chocolatey
のpython -m SimpleHTTPServer
が便利で、http://localhost:8000
で起動します)
- ウェブサーバーを実行する(
インストールをテストする
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 は自動チェックを実行し、メールでプッシュに対するレスポンスをメンテナーに送信します。