Mercurial > hg > easyhg
annotate deploy/osx/deploy.sh @ 571:012ba1b83328
Show cancel button with progress bar only when running an operation that it makes sense to cancel (we don't really want people cancelling e.g. initial folder scan because it would leave things in an inconsistent state)
author | Chris Cannam |
---|---|
date | Thu, 01 Mar 2012 22:53:54 +0000 |
parents | cd3dd285d0ff |
children | 5ac4e821ee7b |
rev | line source |
---|---|
Chris@232 | 1 #!/bin/bash |
Chris@232 | 2 |
Chris@232 | 3 # Execute this from the top-level directory of the project (the one |
Chris@366 | 4 # that contains the .app bundle). Supply the name of the .app bundle |
Chris@366 | 5 # as argument (the target will use $app.app regardless, but we need |
Chris@366 | 6 # to know the source) |
Chris@232 | 7 |
Chris@366 | 8 source="$1" |
Chris@366 | 9 dmg="$2" |
Chris@366 | 10 if [ -z "$source" ] || [ ! -d "$source" ] || [ -z "$dmg" ]; then |
Chris@366 | 11 echo "Usage: $0 <source.app> <target-dmg-basename>" |
Chris@366 | 12 exit 2 |
Chris@366 | 13 fi |
Chris@232 | 14 app=EasyMercurial |
Chris@232 | 15 |
Chris@372 | 16 version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' src/version.h` |
Chris@260 | 17 case "$version" in |
Chris@260 | 18 [0-9].[0-9]) bundleVersion="$version".0 ;; |
Chris@260 | 19 [0-9].[0-9].[0-9]) bundleVersion="$version" ;; |
Chris@260 | 20 *) echo "Error: Version $version is neither two- nor three-part number" ;; |
Chris@260 | 21 esac |
Chris@232 | 22 |
Chris@232 | 23 echo |
Chris@366 | 24 echo "Making target tree." |
Chris@366 | 25 |
Chris@366 | 26 volume="$app"-"$version" |
Chris@366 | 27 target="$volume"/"$app".app |
Chris@366 | 28 dmg="$dmg"-"$version".dmg |
Chris@366 | 29 |
Chris@366 | 30 mkdir "$volume" || exit 1 |
Chris@366 | 31 |
Chris@366 | 32 ln -s /Applications "$volume"/Applications |
Chris@490 | 33 cp -RPp "$source" "$target" |
Chris@366 | 34 |
Chris@366 | 35 echo "Done" |
Chris@366 | 36 |
Chris@232 | 37 echo "Writing version $bundleVersion in to bundle." |
Chris@232 | 38 echo "(This should be a three-part number: major.minor.point)" |
Chris@232 | 39 |
Chris@232 | 40 perl -p -e "s/EASYHG_VERSION/$bundleVersion/" deploy/osx/Info.plist \ |
Chris@366 | 41 > "$target"/Contents/Info.plist |
Chris@232 | 42 |
Chris@366 | 43 echo "Done: check $target/Contents/Info.plist for sanity please" |
Chris@256 | 44 |
Chris@256 | 45 echo |
Chris@232 | 46 echo "Making dmg..." |
Chris@232 | 47 |
Chris@366 | 48 hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" && |
Chris@366 | 49 rm -r "$volume" |
Chris@232 | 50 |
Chris@232 | 51 echo "Done" |