Chris@34: #!/bin/bash Chris@34: Chris@34: # Run this from the project root, without arguments, or with the Chris@34: # single argument --no-notarization to skip the notarize step Chris@34: Chris@34: set -e Chris@34: Chris@34: notarize=yes Chris@34: if [ "$1" = "--no-notarization" ]; then Chris@34: notarize=no Chris@34: elif [ -n "$1" ]; then Chris@34: echo "Usage: $0 [--no-notarization]" Chris@34: exit 2 Chris@34: fi Chris@34: Chris@34: set -u Chris@34: Chris@34: app="Vamp Plugin Pack Installer" Chris@34: Chris@34: version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h` Chris@34: Chris@34: source="$app.app" Chris@34: volume="$app"-"$version" Chris@34: target="$volume"/"$app".app Chris@34: dmg="$volume".dmg Chris@34: Chris@34: if [ -d "$volume" ]; then Chris@34: echo "Target directory $volume already exists, not overwriting" Chris@34: exit 2 Chris@34: fi Chris@34: Chris@34: if [ -f "$dmg" ]; then Chris@34: echo "Target disc image $dmg already exists, not overwriting" Chris@34: exit 2 Chris@34: fi Chris@34: Chris@34: if [ "$notarize" = no ]; then Chris@34: echo Chris@34: echo "Note: The --no-notarization flag is set: won't be submitting for notarization" Chris@34: fi Chris@34: Chris@34: echo Chris@34: echo "(Re-)running deploy script..." Chris@34: Chris@34: deploy/osx/deploy.sh "$app" || exit 1 Chris@34: Chris@34: echo Chris@34: echo "Making target tree." Chris@34: Chris@34: mkdir "$volume" || exit 1 Chris@34: Chris@34: ln -s /Applications "$volume"/Applications Chris@34: #cp README.md "$volume/README.txt" Chris@34: #cp README.OSC "$volume/README-OSC.txt" Chris@34: #cp COPYING "$volume/COPYING.txt" Chris@34: #cp CHANGELOG "$volume/CHANGELOG.txt" Chris@34: #cp CITATION "$volume/CITATION.txt" Chris@34: cp -rp "$source" "$target" Chris@34: Chris@34: # update file timestamps so as to make the build date apparent Chris@34: find "$volume" -exec touch \{\} \; Chris@34: Chris@34: echo "Done" Chris@34: Chris@34: echo Chris@34: echo "Code-signing volume..." Chris@34: Chris@34: deploy/osx/sign.sh "$volume" || exit 1 Chris@34: Chris@34: echo "Done" Chris@34: Chris@34: echo Chris@34: echo "Making dmg..." Chris@34: Chris@34: rm -f "$dmg" Chris@34: Chris@34: hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" -fs HFS+ && Chris@34: rm -r "$volume" Chris@34: Chris@34: echo "Done" Chris@34: Chris@34: echo Chris@34: echo "Signing dmg..." Chris@34: Chris@34: codesign -s "Developer ID Application: Chris Cannam" -fv "$dmg" Chris@34: Chris@34: if [ "$notarize" = no ]; then Chris@34: echo Chris@34: echo "The --no-notarization flag was set: not submitting for notarization" Chris@34: else Chris@34: echo Chris@34: echo "Submitting dmg for notarization..." Chris@34: Chris@34: deploy/osx/notarize.sh "$dmg" || exit 1 Chris@34: fi Chris@34: Chris@34: echo "Done"