Skip to content

Instantly share code, notes, and snippets.

@arall
Created October 29, 2015 13:43
Show Gist options
  • Save arall/1a6b27a6ebd133a26b94 to your computer and use it in GitHub Desktop.
Save arall/1a6b27a6ebd133a26b94 to your computer and use it in GitHub Desktop.
Creates a OSX installation DMG from a JAR file, with an icon :D
NAME="Payload"
# Setup
mkdir build
cd build
echo "Main-Class: $NAME" > payload.txt
jar cmf payload.txt payload.jar
# Icon
curl --remote-name https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/Art/QuickTimePlayerX_2x.png
mkdir payload.iconset
sips -z 128 128 QuickTimePlayerX_2x.png --out payload.iconset/icon_128x128.png
iconutil --convert icns payload.iconset
mkdir -p package/macosx
cp payload.icns package/macosx
jdk=$(/usr/libexec/java_home)
$jdk/bin/javapackager -version
$jdk/bin/javapackager -deploy -native dmg -srcfiles payload.jar -appclass $NAME -name $NAME -outdir deploy -outfile $NAME -v
cp deploy/bundles/$NAME-1.0.dmg $NAME.dmg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment