Ticket #8654: Change_Mac_OS_X_application_bundle_creation_to_app_bundler.patch

File Change_Mac_OS_X_application_bundle_creation_to_app_bundler.patch, 4.9 KB (added by mark0815, 13 years ago)
  • build.xml

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    1010**
    1111-->
    1212<project xmlns:as="antlib:org.codehaus.mojo.animal_sniffer" name="josm" default="dist" basedir=".">
     13    <property environment="env" />
    1314    <property name="test.dir" location="test"/>
    1415    <property name="src.dir" location="src"/>
    1516    <property name="build.dir" location="build"/>
     
    9697        </jar>
    9798    </target>
    9899    <target name="distmac" depends="dist">
    99         <!-- modify MacOS X Info.plist file to hold the SVN version number -->
    100         <copy file="macosx/JOSM.app/Contents/Info.plist" todir="build"/>
    101         <replace file="build/Info.plist" token="@SVNVersion@" value="${version.entry.commit.revision}"/>
     100        <!-- Using https://bitbucket.org/infinitekind/appbundler to create mac application bundle -->
     101        <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask"
     102                 classpath="tools/appbundler-1.0ea.jar"/>
     103
     104        <!-- create MacOS X application bundle -->
     105        <bundleapp outputdirectory="dist"
     106                   name="JOSM"
     107                   displayname="JOSM"
     108                   identifier="org.openstreetmap.josm"
     109                   mainclassname="org.openstreetmap.josm.gui.MainApplication"
     110                   applicationCategory="public.app-category.utilities"
     111                   shortversion="${version.entry.commit.revision} SVN"
     112                   version="${version.entry.commit.revision} SVN"
     113                   icon="macosx/JOSM.icns"
     114                   highResolutionCapable="false">
     115
     116            <runtime dir="${env.JAVA_HOME}" />
     117
     118            <arch name="x86_64"/>
     119            <arch name="i386"/>
     120
     121            <classpath file="dist/josm-custom.jar"/>
     122
     123            <option value="-Xmx512m"/>
     124
     125            <option value="-Xdock:icon=Contents/Resources/JOSM.icns"/>
     126            <option value="-Xdock:name=JOSM"/>
     127
     128            <!-- OSX specific options, optional -->
     129            <option value="-Dapple.laf.useScreenMenuBar=true"/>
     130            <option value="-Dcom.apple.macos.use-file-dialog-packages=true"/>
     131            <option value="-Dcom.apple.macos.useScreenMenuBar=true"/>
     132            <option value="-Dcom.apple.mrj.application.apple.menu.about.name=JOSM"/>
     133            <option value="-Dcom.apple.smallTabs=true"/>
     134        </bundleapp>
     135
    102136        <!-- create ZIP file with MacOS X application bundle -->
    103137        <zip destfile="dist/josm-custom-macosx.zip" update="true">
    104138            <zipfileset dir="build" includes="CONTRIBUTION README LICENSE"/>
    105             <zipfileset dir="macosx" includes="JOSM.app/Contents JOSM.app/Contents/MacOS JOSM.app/Contents/Resources JOSM.app/Contents/Resources/Java JOSM.app/Contents/PkgInfo JOSM.app/Contents/Resources/JOSM.icns"/>
    106             <zipfileset dir="build" includes="Info.plist" prefix="JOSM.app/Contents"/>
    107             <zipfileset dir="dist" includes="josm-custom.jar" prefix="JOSM.app/Contents/Resources/Java"/>
    108             <zipfileset dir="macosx" includes="JOSM.app/Contents/MacOS/JOSM" filemode="755"/>
     139            <zipfileset dir="dist" includes="JOSM.app/**/*" filemode="755" />
    109140        </zip>
    110141    </target>
    111142    <target name="javacc" depends="init" unless="javacc.notRequired">
  • macosx/JOSM.app/Contents/Info.plist

     
    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3 <plist version="1.0">
    4 <dict>
    5         <key>CFBundleAllowMixedLocalizations</key>
    6         <string>true</string>
    7         <key>CFBundleDevelopmentRegion</key>
    8         <string>English</string>
    9         <key>CFBundleExecutable</key>
    10         <string>JOSM</string>
    11         <key>CFBundleGetInfoString</key>
    12         <string>@SVNVersion@ SVN</string>
    13         <key>CFBundleIconFile</key>
    14         <string>JOSM.icns</string>
    15         <key>CFBundleIdentifier</key>
    16         <string>org.openstreetmap.josm</string>
    17         <key>CFBundleInfoDictionaryVersion</key>
    18         <string>6.0</string>
    19         <key>CFBundleName</key>
    20         <string>JOSM</string>
    21         <key>CFBundlePackageType</key>
    22         <string>APPL</string>
    23         <key>CFBundleSignature</key>
    24         <string>????</string>
    25         <key>CFBundleVersion</key>
    26         <string>@SVNVersion@</string>
    27         <key>Java</key>
    28         <dict>
    29                 <key>ClassPath</key>
    30                 <string>$JAVAROOT/josm-custom.jar</string>
    31                 <key>JVMVersion</key>
    32                 <string>1.5+</string>
    33                 <key>MainClass</key>
    34                 <string>org.openstreetmap.josm.gui.MainApplication</string>
    35                 <key>Properties</key>
    36                 <dict>
    37                         <key>apple.laf.useScreenMenuBar</key>
    38                         <string>true</string>
    39                 </dict>
    40                 <key>VMOptions</key>
    41                 <string>-Xmx512m</string>
    42                 <key>WorkingDirectory</key>
    43                 <string>$APP_PACKAGE/Contents/Resources/Java</string>
    44         </dict>
    45 </dict>
    46 </plist>