Mercurial > hg > easyhg
view 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 |
line wrap: on
line source
#!/bin/bash # Execute this from the top-level directory of the project (the one # that contains the .app bundle). Supply the name of the .app bundle # as argument (the target will use $app.app regardless, but we need # to know the source) source="$1" dmg="$2" if [ -z "$source" ] || [ ! -d "$source" ] || [ -z "$dmg" ]; then echo "Usage: $0 <source.app> <target-dmg-basename>" exit 2 fi app=EasyMercurial version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' src/version.h` case "$version" in [0-9].[0-9]) bundleVersion="$version".0 ;; [0-9].[0-9].[0-9]) bundleVersion="$version" ;; *) echo "Error: Version $version is neither two- nor three-part number" ;; esac echo echo "Making target tree." volume="$app"-"$version" target="$volume"/"$app".app dmg="$dmg"-"$version".dmg mkdir "$volume" || exit 1 ln -s /Applications "$volume"/Applications cp -RPp "$source" "$target" echo "Done" echo "Writing version $bundleVersion in to bundle." echo "(This should be a three-part number: major.minor.point)" perl -p -e "s/EASYHG_VERSION/$bundleVersion/" deploy/osx/Info.plist \ > "$target"/Contents/Info.plist echo "Done: check $target/Contents/Info.plist for sanity please" echo echo "Making dmg..." hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" && rm -r "$volume" echo "Done"