codesign

A standalone tool to codesign Mac engine binaries.

Building

This tool is meant to be published as an AOT compiled binary 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

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

./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>.