blob: ce23050b40c795b4af0a91f0ac670a501fb5365f [file] [log] [blame] [view] [edit]
# codesign
A standalone tool to codesign Mac engine binaries.
## Building
This tool is meant to be published as an
[AOT compiled binary](https://chrome-infra-packages.appspot.com/p/flutter/codesign)
distributed via CIPD.
Build the tool for different host platforms on corresponding machines. It will
automatically download a suitable version of Dart to build the binary.
To create the CIPD package, make sure that the `build/` folder does not exist.
### Auto build
Every new commit will trigger pre-submit builders to auto build a new version
for different platforms without any tag/ref.
When a new commit is submitted, post-submit builders will trigger the build of
a new version of the cipd package, and tag the package with `latest`.
### Manual build
Running `tool/build.sh` will build an executable binary in
the `build` folder. Then push to cipd by running
```bash
cipd create -in build \
-name flutter/codesign/<os>-amd64 \
-ref <ref> \
-tag sha_timestamp:<revision>_<timestamp>
```
* os: `linux`, `mac`, or `windows`.
* ref: `release` or `staging`
## How to use
`codesign` is the executable binary in the `build` folder, and can be called via
```bash
./codesign --[no-]dryrun
--codesign-cert-name="FLUTTER.IO LLC"
--codesign-team-id-file-path=/a/b/c.txt
--codesign-appstore-id-file-path=/a/b/b.txt
--app-specific-password-file-path=/a/b/a.txt
--input-zip-file-path=/a/input.zip
--output-zip-file-path=/b/output.zip
```
Use `codesign --help` to learn more.
Alternatively, if user has dart installed and does not wish to build a binary,
codesign app can be invoked via `dart run bin/codesign.dart --<extra_flags>`.