update for Java 7 package on Mac

master
melvin 2013-10-01 14:09:13 +08:00
parent 8f2dc05f9b
commit cbdd534b58
4 changed files with 60 additions and 50 deletions

View File

@ -1,48 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<?xml version="1.0" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>Magarena</string>
<key>CFBundleIdentifier</key>
<string>magic.MagicMain</string>
<key>CFBundleVersion</key>
<string>1.42</string>
<key>CFBundleShortVersionString</key>
<string>1.42</string>
<key>CFBundleAllowMixedLocalizations</key>
<string>true</string>
<key>CFBundleExecutable</key>
<string>JavaApplicationStub</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>Maga</string>
<key>CFBundleGetInfoString</key>
<string>Magarena</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleIconFile</key>
<string>arena.icns</string>
<key>Java</key>
<dict>
<key>WorkingDirectory</key>
<string>$APP_PACKAGE/Contents/Resources/Java</string>
<key>MainClass</key>
<string>magic.MagicMain</string>
<key>JVMVersion</key>
<string>1.6+</string>
<key>ClassPath</key>
<string>$JAVAROOT/Magarena.exe</string>
<key>VMOptions</key>
<string>-Xms256M -Xmx256M</string>
<key>Properties</key>
<dict>
<key>apple.laf.useScreenMenuBar</key>
<string>true</string>
</dict>
</dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>MagarenaLauncher.sh</string>
<key>CFBundleIconFile</key>
<string>arena.icns</string>
<key>CFBundleIdentifier</key>
<string>magic.MagicMain</string>
<key>CFBundleDisplayName</key>
<string>Magarena</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Magarena</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.42</string>
<key>CFBundleSignature</key>
<string>Maga</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSHumanReadableCopyright</key>
<string></string>
</dict>
</plist>

View File

@ -0,0 +1,30 @@
#!/bin/sh
# based on http://mjhutchinson.com/journal/2010/01/24/creating_mac_app_bundle_for_gtk_app
# change these values to match your app
APPNAME="Magarena"
# java version check
REQUIRED_VERSION=1.7
VERSION_TITLE="Cannot launch $APPNAME"
VERSION_MSG="$APPNAME requires the Java SE 7 JDK or later."
DOWNLOAD_URL="http://www.oracle.com/technetwork/java/javase/downloads/index.html"
JAVA_VERSION="$(java -version 2>&1 | grep -F $REQUIRED_VERSION)"
if [ -z "$JAVA_VERSION" ]
then
osascript \
-e "set question to display dialog \"$VERSION_MSG\" with title \"$VERSION_TITLE\" buttons {\"Cancel\", \"Download...\"} default button 2" \
-e "if button returned of question is equal to \"Download...\" then open location \"$DOWNLOAD_URL\""
echo "$VERSION_TITLE"
echo "$VERSION_MSG"
exit 1
fi
# get the bundle's MacOS directory full path
base="${0%/*}"
# run app
cd "$base/../Java"; java -Dapple.laf.useScreenMenuBar=true -Xms256M -Xmx256M -jar Magarena.exe

View File

@ -153,11 +153,9 @@ M1.%: clean $(EXE) cubes release/Magarena/mods/felt_theme.zip
Magarena-1.$*/Magarena/mods
-zip -r Magarena-1.$*.zip Magarena-1.$*
echo "preparing Mac dist"
cp -r Magarena.app.oracle Magarena-1.$*.app
cp -r Magarena-1.$*/* Magarena-1.$*.app/Contents/Java
rm Magarena-1.$*.app/Contents/Java/Magarena.exe
cp release/Magarena.jar Magarena-1.$*.app/Contents/Java
chmod a+x Magarena-1.$*.app/Contents/MacOS/JavaAppLauncher
cp -r Magarena.app Magarena-1.$*.app
cd Magarena-1.$*.app/Contents; ln -s ../../../Magarena-1.$* Java
chmod a+x Magarena-1.$*.app/Contents/MacOS/MagarenaLauncher.sh
-zip -r Magarena-1.$*.app.zip Magarena-1.$*.app
$(MAG): $(SRC)