前提条件
必要なもの:
- チョコレートのパッケージ管理システムがインストールされている
- (公開する場合)
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 は自動チェックを実行し、メンテナーにメールでプッシュに返信します。