پیش نیازها
تو نیاز داری:
- مدیر بسته شکلاتی نصب شد
- (برای انتشار) یک کلید API شکلاتی که به شما اجازه انتشار بسته
bazelرا می دهد- @petemounce در حال حاضر این بسته غیر رسمی را حفظ می کند.
- (برای انتشار) برای تنظیم آن کلید API برای منبع شکلاتی به صورت محلی از طریق
choco apikey -k <your key here> -s https://chocolatey.org/
ساختن
bazel را با پوسته msys2 و compile.sh کنید.
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)- یک وب سرور را اجرا کنید (
python -m SimpleHTTPServerدرscripts/packages/chocolateyراحت است و یکی را درhttp://localhost:8000شروع می کند)
- یک وب سرور را اجرا کنید (
نصب را تست کنید
test.ps1باید بسته را به طور تمیز نصب کند (و اگر به طور تمیز نصب نشد خطا کند)، سپس به شما بگوید که چه کاری انجام دهید.حذف نصب را تست کنید
choco uninstall bazel # should remove bazel from the system
فرآیند تعدیل Chocolatey چکها را در اینجا نیز خودکار میکند.
رهایی
پس از انتشار نسخه به نسخههای github، tools/parameters.json را برای URI نسخه جدید و چکسوم تغییر دهید.
./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 سپس چکهای خودکار را اجرا میکند و از طریق ایمیل به نگهبانها به فشار پاسخ میدهد.