blob: fbaa93ca6cb6e5f6c17fa66e105814a9c567065e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
---
layout: contribute
title: Windows Chocolatey maintenance
---
# Maintaining Bazel Chocolatey package on Windows
**NOTE:** The Chocolatey package is experimental; please provide feedback
(`@petemounce` in issue tracker).
## Prerequisites
You need:
* [chocolatey package manager](https://chocolatey.org) installed
* (to publish) a chocolatey API key granting you permission to publish the
`bazel` package
* [@petemounce](https://github.com/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`.
```powershell
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
0. Build the package (with `-mode local`)
* run a webserver (`python -m SimpleHTTPServer` in
`scripts/packages/chocolatey` is convenient and starts one on
`http://localhost:8000`)
0. Test the install
The `test.ps1` should install the package cleanly (and error if it did not
install cleanly), then tell you what to do next.
0. Test the uninstall
```sh
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.
```powershell
./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.
|