mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-02-04 10:25:29 +00:00
52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# from https://github.com/rednoah/notarize-app/blob/master/notarize-app
|
|
|
|
set -exuo pipefail
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
|
|
ASC_PROVIDER='MischaSpiegelmock10100337'
|
|
ASC_USERNAME='thadwooster@gmail.com'
|
|
ASC_PASSWORD='@keychain:AC_PASSWORD'
|
|
|
|
BUNDLE_ID="net.projectm.installer"
|
|
BUNDLE_PKG="$DIR/../ProjectM.pkg"
|
|
|
|
# create temporary files
|
|
NOTARIZE_APP_LOG=$(mktemp -t notarize-app)
|
|
NOTARIZE_INFO_LOG=$(mktemp -t notarize-info)
|
|
|
|
# delete temporary files on exit
|
|
function finish {
|
|
rm "$NOTARIZE_APP_LOG" "$NOTARIZE_INFO_LOG"
|
|
}
|
|
trap finish EXIT
|
|
|
|
|
|
# submit app for notarization
|
|
if xcrun altool --notarize-app --primary-bundle-id "$BUNDLE_ID" --asc-provider "$ASC_PROVIDER" --username "$ASC_USERNAME" --password "$ASC_PASSWORD" -f "$BUNDLE_PKG" > "$NOTARIZE_APP_LOG" 2>&1; then
|
|
cat "$NOTARIZE_APP_LOG"
|
|
RequestUUID=$(awk -F ' = ' '/RequestUUID/ {print $2}' "$NOTARIZE_APP_LOG")
|
|
|
|
# check status periodically
|
|
while sleep 60 && date; do
|
|
# check notarization status
|
|
if xcrun altool --notarization-info "$RequestUUID" --asc-provider "$ASC_PROVIDER" --username "$ASC_USERNAME" --password "$ASC_PASSWORD" > "$NOTARIZE_INFO_LOG" 2>&1; then
|
|
cat "$NOTARIZE_INFO_LOG"
|
|
|
|
# once notarization is complete, run stapler and exit
|
|
if ! grep -q "Status: in progress" "$NOTARIZE_INFO_LOG"; then
|
|
xcrun stapler staple "$BUNDLE_PKG"
|
|
exit $?
|
|
fi
|
|
else
|
|
cat "$NOTARIZE_INFO_LOG" 1>&2
|
|
exit 1
|
|
fi
|
|
done
|
|
else
|
|
cat "$NOTARIZE_APP_LOG" 1>&2
|
|
exit 1
|
|
fi
|