Index: build.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- build.xml	(revision 5921)
+++ build.xml	(revision )
@@ -10,6 +10,7 @@
 **
 -->
 <project xmlns:as="antlib:org.codehaus.mojo.animal_sniffer" name="josm" default="dist" basedir=".">
+    <property environment="env" />
     <property name="test.dir" location="test"/>
     <property name="src.dir" location="src"/>
     <property name="build.dir" location="build"/>
@@ -96,16 +97,46 @@
         </jar>
     </target>
     <target name="distmac" depends="dist">
-        <!-- modify MacOS X Info.plist file to hold the SVN version number -->
-        <copy file="macosx/JOSM.app/Contents/Info.plist" todir="build"/>
-        <replace file="build/Info.plist" token="@SVNVersion@" value="${version.entry.commit.revision}"/>
+        <!-- Using https://bitbucket.org/infinitekind/appbundler to create mac application bundle -->
+        <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask"
+                 classpath="tools/appbundler-1.0ea.jar"/>
+
+        <!-- create MacOS X application bundle -->
+        <bundleapp outputdirectory="dist"
+                   name="JOSM"
+                   displayname="JOSM"
+                   identifier="org.openstreetmap.josm"
+                   mainclassname="org.openstreetmap.josm.gui.MainApplication"
+                   applicationCategory="public.app-category.utilities"
+                   shortversion="${version.entry.commit.revision} SVN"
+                   version="${version.entry.commit.revision} SVN"
+                   icon="macosx/JOSM.icns"
+                   highResolutionCapable="false">
+
+            <runtime dir="${env.JAVA_HOME}" />
+
+            <arch name="x86_64"/>
+            <arch name="i386"/>
+
+            <classpath file="dist/josm-custom.jar"/>
+
+            <option value="-Xmx512m"/>
+
+            <option value="-Xdock:icon=Contents/Resources/JOSM.icns"/>
+            <option value="-Xdock:name=JOSM"/>
+
+            <!-- OSX specific options, optional -->
+            <option value="-Dapple.laf.useScreenMenuBar=true"/>
+            <option value="-Dcom.apple.macos.use-file-dialog-packages=true"/>
+            <option value="-Dcom.apple.macos.useScreenMenuBar=true"/>
+            <option value="-Dcom.apple.mrj.application.apple.menu.about.name=JOSM"/>
+            <option value="-Dcom.apple.smallTabs=true"/>
+        </bundleapp>
+
         <!-- create ZIP file with MacOS X application bundle -->
         <zip destfile="dist/josm-custom-macosx.zip" update="true">
             <zipfileset dir="build" includes="CONTRIBUTION README LICENSE"/>
-            <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"/>
-            <zipfileset dir="build" includes="Info.plist" prefix="JOSM.app/Contents"/>
-            <zipfileset dir="dist" includes="josm-custom.jar" prefix="JOSM.app/Contents/Resources/Java"/>
-            <zipfileset dir="macosx" includes="JOSM.app/Contents/MacOS/JOSM" filemode="755"/>
+            <zipfileset dir="dist" includes="JOSM.app/**/*" filemode="755" />
         </zip>
     </target>
     <target name="javacc" depends="init" unless="javacc.notRequired">
Index: macosx/JOSM.app/Contents/Info.plist
===================================================================
--- macosx/JOSM.app/Contents/Info.plist	(revision 5921)
+++ macosx/JOSM.app/Contents/Info.plist	(revision 5921)
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleAllowMixedLocalizations</key>
-	<string>true</string>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>JOSM</string>
-	<key>CFBundleGetInfoString</key>
-	<string>@SVNVersion@ SVN</string>
-	<key>CFBundleIconFile</key>
-	<string>JOSM.icns</string>
-	<key>CFBundleIdentifier</key>
-	<string>org.openstreetmap.josm</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>JOSM</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>@SVNVersion@</string>
-	<key>Java</key>
-	<dict>
-		<key>ClassPath</key>
-		<string>$JAVAROOT/josm-custom.jar</string>
-		<key>JVMVersion</key>
-		<string>1.5+</string>
-		<key>MainClass</key>
-		<string>org.openstreetmap.josm.gui.MainApplication</string>
-		<key>Properties</key>
-		<dict>
-			<key>apple.laf.useScreenMenuBar</key>
-			<string>true</string>
-		</dict>
-		<key>VMOptions</key>
-		<string>-Xmx512m</string>
-		<key>WorkingDirectory</key>
-		<string>$APP_PACKAGE/Contents/Resources/Java</string>
-	</dict>
-</dict>
-</plist>
