-
-
Save ivan-leschinsky/d83c565fcb2d083a5cb89cbf503e80c5 to your computer and use it in GitHub Desktop.
Revisions
-
splaisan revised this gist
Nov 25, 2015 . 1 changed file with 59 additions and 29 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,45 +1,75 @@ #!/bin/bash # script: appify.sh # minor edits from https://gist.github.com/advorak/1403124 # usage and cli args usage="Creates the simplest possible Mac app from a shell script.\n\ Usage: `basename "$0"` -s <shell-script.sh> -n <app-name>\n\ [optional: -i <icon.icn> -h <help>]\n\ \n\ Copyright (c) Thomas Aylott <http://subtlegradient.com/>\n\ Modified by Mathias Bynens <http://mathiasbynens.be/>\n\ Modified by Andrew Dvorak <http://OhReally.net/>\n\ Modified by Stephane Plaisance (support for opt:arguments)" while getopts "s:n:i:h" opt; do case $opt in s) script=${OPTARG} ;; n) name=${OPTARG} ;; i) icon=${OPTARG} ;; h) echo -e ${usage} >&2; exit 0 ;; \?) echo "Invalid option: -$OPTARG" >&2; exit 1 ;; *) echo "this command requires arguments, try -h" >&2; exit 1 ;; esac done # test minimal argument if [ -z "${script}" ]; then echo "# no input script provided!" echo -e ${usage} >&2 exit 1 fi # test input files if [ ! -f "${script}" ]; then echo "# ${script} file not found!" >&2 exit 1 fi # test optional args if [ -z "${name}" ]; then APPNAME=$(basename "${script}" ".sh") else APPNAME=${name} fi if [ -a "${APPNAME}.app" ]; then echo "# $PWD/${APPNAME}.app already exists, use -n <appname>!" >&2 exit 1 fi if [ -z "${icon}" ]; then # support for custom icon with default ICONFOLD="/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/" CUSTICON="${ICONFOLD}/GenericApplicationIcon.icns" else CUSTICON=${icon} fi if [ ! -f ${CUSTICON} ]; then echo "# ${CUSTICON} file not found!" >&2 exit 1 fi # define output path DIR="${APPNAME}.app/Contents" mkdir -p $DIR/{MacOS,Resources} || (echo "error creating the App container" >&2; exit 1); # Copy Apple's GenericApplicationIcon to our application. cp "${CUSTICON}" "${DIR}/Resources/${APPNAME}.icns" cp "${script}" "${DIR}/MacOS/${APPNAME}" chmod +x "${DIR}/MacOS/${APPNAME}" cat <<EOF > $DIR/Info.plist <?xml version="1.0" encoding="UTF-8"?> @@ -60,4 +90,4 @@ cat <<EOF > $DIR/Info.plist </plist> EOF echo "$PWD/${APPNAME}.app was created" -
advorak renamed this gist
Nov 29, 2011 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
advorak revised this gist
Nov 29, 2011 . 1 changed file with 35 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,19 +15,49 @@ a custom name, use the second argument: Copyright (c) Thomas Aylott <http://subtlegradient.com/> Modified by Mathias Bynens <http://mathiasbynens.be/> Modified by Andrew Dvorak <http://OhReally.net/> EOF exit; fi # OSX_VERSION is currently unused, though knowing this may help, since the # GenericApplicationIcon.icns file may be located elsewhere pre-10.6.x OSX_VERSION=`sw_vers -productVersion` APPNAME=${2:-$(basename "$1" ".sh")} DIR="$APPNAME.app/Contents" if [ -a "$APPNAME.app" ]; then echo "$PWD/$APPNAME.app already exists :(" exit 1 fi mkdir -p $DIR/{MacOS,Resources} # Copy Apple's GenericApplicationIcon to our application. # - TODO: provide command-line options for specifying an icon to use # (maybe even allow the user to specify an) cp "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns" "$DIR/Resources/$APPNAME.icns" cp "$1" "$DIR/MacOS/$APPNAME" chmod +x "$DIR/MacOS/$APPNAME" cat <<EOF > $DIR/Info.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleExecutable</key> <string>$APPNAME</string> <key>CFBundleGetInfoString</key> <string>$APPNAME</string> <key>CFBundleIconFile</key> <string>$APPNAME</string> <key>CFBundleName</key> <string>$APPNAME</string> <key>CFBundlePackageType</key> <string>APPL</string> </dict> </plist> EOF echo "$PWD/$APPNAME.app" -
mathiasbynens revised this gist
Sep 17, 2011 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,7 +21,7 @@ exit; fi APPNAME=${2:-$(basename "$1" ".sh")} DIR="$APPNAME.app/Contents/MacOS" if [ -a "$APPNAME.app" ]; then echo "$PWD/$APPNAME.app already exists :(" exit 1 fi -
mathiasbynens revised this gist
Jul 19, 2011 . 1 changed file with 27 additions and 24 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,30 +1,33 @@ #!/bin/bash if [ "$1" = "-h" -o "$1" = "--help" ]; then cat <<EOF appify v3.0.0 for Mac OS X - http://mths.be/appify Creates the simplest possible Mac app from a shell script. Appify takes a shell script as its first argument: `basename "$0"` my-script.sh Note that you cannot rename appified apps. If you want to give your app a custom name, use the second argument: `basename "$0"` my-script.sh "My App" Copyright (c) Thomas Aylott <http://subtlegradient.com/> Modified by Mathias Bynens <http://mathiasbynens.be/> EOF exit; fi APPNAME=${2:-$(basename "$1" ".sh")} DIR="$APPNAME.app/Contents/MacOS" if [[ -a "$APPNAME.app" ]]; then echo "$PWD/$APPNAME.app already exists :(" exit 1 fi mkdir -p "$DIR" cp "$1" "$DIR/$APPNAME" chmod +x "$DIR/$APPNAME" echo "$PWD/$APPNAME.app" -
mathiasbynens revised this gist
Nov 12, 2010 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ #!/usr/bin/env bash # # url : https://gist.github.com/672684 # version : 2.0.3 # name : appify # description : Create the simplest possible mac app from a shell script. # usage : cat my-script.sh | appify MyApp -
mathiasbynens revised this gist
Nov 12, 2010 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -23,6 +23,7 @@ chmod +x "$APPNAME.app/Contents/MacOS/$APPNAME" DONE=false until $DONE ;do read || DONE=true [[ ! $REPLY ]] && continue echo "$REPLY" >> "$APPNAME.app/Contents/MacOS/$APPNAME" done -
mathiasbynens revised this gist
Nov 12, 2010 . 1 changed file with 0 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -26,6 +26,4 @@ until $DONE ;do echo "$REPLY" >> "$APPNAME.app/Contents/MacOS/$APPNAME" done echo "$PWD/$APPNAME.app" -
mathiasbynens revised this gist
Nov 12, 2010 . 1 changed file with 8 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ #!/usr/bin/env bash # # url : https://gist.github.com/672684 # version : 2.0.2 # name : appify # description : Create the simplest possible mac app from a shell script. # usage : cat my-script.sh | appify MyApp @@ -20,8 +20,12 @@ mkdir -p "$APPNAME.app/Contents/MacOS" touch "$APPNAME.app/Contents/MacOS/$APPNAME" chmod +x "$APPNAME.app/Contents/MacOS/$APPNAME" DONE=false until $DONE ;do read || DONE=true echo "$REPLY" >> "$APPNAME.app/Contents/MacOS/$APPNAME" done echo "" >> "$APPNAME.app/Contents/MacOS/$APPNAME" echo "$PWD/$APPNAME.app" -
subtleGradient revised this gist
Nov 11, 2010 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ #!/usr/bin/env bash # # url : https://gist.github.com/672684 # version : 2.0.1 # name : appify # description : Create the simplest possible mac app from a shell script. # usage : cat my-script.sh | appify MyApp @@ -11,7 +11,7 @@ APPNAME=${1:-Untitled} if [[ -a "$APPNAME.app" ]]; then echo "App already exists :'(" >&2 echo "$PWD/$APPNAME.app" exit 1 fi -
subtleGradient revised this gist
Nov 11, 2010 . 1 changed file with 20 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,14 +1,27 @@ #!/usr/bin/env bash # # url : https://gist.github.com/672684 # version : 2.0 # name : appify # description : Create the simplest possible mac app from a shell script. # usage : cat my-script.sh | appify MyApp # platform : Mac OS X # author : Thomas Aylott <[email protected]> APPNAME=${1:-Untitled} if [[ -a "$APPNAME.app" ]]; then echo "App already exists" >&2 echo "$PWD/$APPNAME.app" exit 1 fi mkdir -p "$APPNAME.app/Contents/MacOS" touch "$APPNAME.app/Contents/MacOS/$APPNAME" chmod +x "$APPNAME.app/Contents/MacOS/$APPNAME" while read SCRIPT_SOURCE_LINE; do echo "$SCRIPT_SOURCE_LINE" >> "$APPNAME.app/Contents/MacOS/$APPNAME" done echo "$PWD/$APPNAME.app" -
subtleGradient created this gist
Nov 11, 2010 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,14 @@ #!/usr/bin/env bash # Create a new super simple mac app # Platform: Mac OS X # Author: Thomas Aylott <[email protected]> APPNAME=${1:-Untitled} mkdir -p "$APPNAME.app/Contents/MacOS" cat > "$APPNAME.app/Contents/MacOS/$APPNAME" <<EOF #!/usr/bin/osascript say "Hello" EOF chmod +x "$APPNAME.app/Contents/MacOS/$APPNAME" echo "$PWD/$APPNAME.app"