annotate deploy/osx/deploy-and-package.sh @ 37:28b1dd4ee370

Try separating out platform script subdirs
author Chris Cannam
date Mon, 16 Dec 2019 14:37:00 +0000
parents efb73feb1061
children
rev   line source
Chris@34 1 #!/bin/bash
Chris@34 2
Chris@34 3 # Run this from the project root, without arguments, or with the
Chris@34 4 # single argument --no-notarization to skip the notarize step
Chris@34 5
Chris@34 6 set -e
Chris@34 7
Chris@34 8 notarize=yes
Chris@34 9 if [ "$1" = "--no-notarization" ]; then
Chris@34 10 notarize=no
Chris@34 11 elif [ -n "$1" ]; then
Chris@34 12 echo "Usage: $0 [--no-notarization]"
Chris@34 13 exit 2
Chris@34 14 fi
Chris@34 15
Chris@34 16 set -u
Chris@34 17
Chris@34 18 app="Vamp Plugin Pack Installer"
Chris@34 19
Chris@34 20 version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h`
Chris@34 21
Chris@34 22 source="$app.app"
Chris@34 23 volume="$app"-"$version"
Chris@34 24 target="$volume"/"$app".app
Chris@34 25 dmg="$volume".dmg
Chris@34 26
Chris@34 27 if [ -d "$volume" ]; then
Chris@34 28 echo "Target directory $volume already exists, not overwriting"
Chris@34 29 exit 2
Chris@34 30 fi
Chris@34 31
Chris@34 32 if [ -f "$dmg" ]; then
Chris@34 33 echo "Target disc image $dmg already exists, not overwriting"
Chris@34 34 exit 2
Chris@34 35 fi
Chris@34 36
Chris@34 37 if [ "$notarize" = no ]; then
Chris@34 38 echo
Chris@34 39 echo "Note: The --no-notarization flag is set: won't be submitting for notarization"
Chris@34 40 fi
Chris@34 41
Chris@34 42 echo
Chris@34 43 echo "(Re-)running deploy script..."
Chris@34 44
Chris@34 45 deploy/osx/deploy.sh "$app" || exit 1
Chris@34 46
Chris@34 47 echo
Chris@34 48 echo "Making target tree."
Chris@34 49
Chris@34 50 mkdir "$volume" || exit 1
Chris@34 51
Chris@34 52 ln -s /Applications "$volume"/Applications
Chris@34 53 #cp README.md "$volume/README.txt"
Chris@34 54 #cp README.OSC "$volume/README-OSC.txt"
Chris@34 55 #cp COPYING "$volume/COPYING.txt"
Chris@34 56 #cp CHANGELOG "$volume/CHANGELOG.txt"
Chris@34 57 #cp CITATION "$volume/CITATION.txt"
Chris@34 58 cp -rp "$source" "$target"
Chris@34 59
Chris@34 60 # update file timestamps so as to make the build date apparent
Chris@34 61 find "$volume" -exec touch \{\} \;
Chris@34 62
Chris@34 63 echo "Done"
Chris@34 64
Chris@34 65 echo
Chris@34 66 echo "Code-signing volume..."
Chris@34 67
Chris@34 68 deploy/osx/sign.sh "$volume" || exit 1
Chris@34 69
Chris@34 70 echo "Done"
Chris@34 71
Chris@34 72 echo
Chris@34 73 echo "Making dmg..."
Chris@34 74
Chris@34 75 rm -f "$dmg"
Chris@34 76
Chris@34 77 hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" -fs HFS+ &&
Chris@34 78 rm -r "$volume"
Chris@34 79
Chris@34 80 echo "Done"
Chris@34 81
Chris@34 82 echo
Chris@34 83 echo "Signing dmg..."
Chris@34 84
Chris@34 85 codesign -s "Developer ID Application: Chris Cannam" -fv "$dmg"
Chris@34 86
Chris@34 87 if [ "$notarize" = no ]; then
Chris@34 88 echo
Chris@34 89 echo "The --no-notarization flag was set: not submitting for notarization"
Chris@34 90 else
Chris@34 91 echo
Chris@34 92 echo "Submitting dmg for notarization..."
Chris@34 93
Chris@34 94 deploy/osx/notarize.sh "$dmg" || exit 1
Chris@34 95 fi
Chris@34 96
Chris@34 97 echo "Done"