1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="CharacterManaJ" default="default">
3 <description>CharacterManaJ</description>
6 <property name="appName" value="CharacterManaJ.app"/>
7 <property name="jarName" value="CharacterManaJ.jar"/>
9 <!-- ビルド日時とバージョン、ベンダー -->
10 <property file="resources/version.properties"/>
11 <tstamp prefix="build-info">
12 <format property="current-date" pattern="yyyy-MM-dd" locale="en" />
13 <format property="current-time" pattern="hh:mm:ss a z" locale="en" />
17 <condition property="isMacOSX">
24 <!-- 埋め込みリソースを生成する -->
25 <target name="makeEmbeddedResource" description="埋め込みリソースを生成する.">
26 <java classname="charactermanaj.model.util.MakeEmbeddedResource">
27 <arg line="resources/schema/character.xml.ser resources/resource_list.txt"/>
29 <pathelement path="bin"/>
30 <pathelement path="resources"/>
31 <fileset dir="extlib">
32 <include name="**/*.jar"/>
38 <!-- デフォルトのターゲット、JARファイルを作成する -->
39 <target name="default" description="make jar">
42 <!-- J2SE5以降をターゲットにコンパイルする。(Tiger/Leopard on PPCのため)
43 JDK6のAppleExtentionsでは非推奨になっているものがあるため警告がでます。
51 includeantruntime="false">
53 <fileset dir="extlib">
54 <include name="**/*.jar"/>
61 <fileset dir="resources">
62 <exclude name="**/*.java"/>
66 <!-- 埋め込みリソースを生成する -->
67 <java classpath="work" classname="charactermanaj.model.util.MakeEmbeddedResource">
68 <arg line="work/schema/character.xml.ser work/resource_list.txt"/>
72 <jar jarfile="CharacterManaJ.jar" basedir="work">
74 <attribute name="Main-Class" value="charactermanaj.CharacterManaJ" />
76 <attribute name="Splashscreen-Image" value="splash.png"/>
78 <attribute name="Built-By" value="${vendor}" />
79 <attribute name="Built-On" value="${build-info.current-date}" />
80 <attribute name="Built-At" value="${build-info.current-time}" />
81 <attribute name="Specification-Title" value="CharacterManaJ" />
82 <attribute name="Specification-Version" value="${specification_version}" />
83 <attribute name="Specification-Vendor" value="${vendor}" />
84 <attribute name="Implementation-Title" value="CharacterManaJ ${specification_version} (${implements_version})" />
85 <attribute name="Implementation-Version" value="${implements_version} ${build-info.current-date}" />
86 <attribute name="Implementation-Vendor" value="${vendor}" />
93 Mac OS Xのアプリケーションバンドル構造のフォルダを更新する。
94 バンドルファイルの作り方は公式ページに記述されている。
95 http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html
97 <target name="makeAppBundle" if="isMacOSX" depends="default">
98 <!-- JARファイルをアプリケーションバンドル内にコピー -->
99 <exec dir="." executable="/bin/ln">
100 <arg line='-f "${jarName}" "${appName}/Contents/Resources/Java/${jarName}"'/>
102 <!-- JAVA起動スタブをコピー -->
103 <copy file="/System/Library/Frameworks/JavaVM.framework/Versions/Current/Resources/MacOS/JavaApplicationStub"
104 toDir="${appName}/Contents/MacOS/"/>
105 <!-- ルートフォルダにアプリケーションバンドルの属性をセット -->
106 <exec dir="." executable="/bin/sh">
107 <arg line='-c "/usr/bin/setFile -a B ${appName}"'/>
109 <!-- JAVA起動スタブに実行パーミッション再設定 -->
110 <exec dir="." executable="/bin/sh">
111 <arg line='-c "chmod 755 ${appName}/Contents/MacOS/JavaApplicationStub"'/>
113 <!-- リソースディレクトリのパーミッション再設定 -->
114 <exec dir="." executable="/bin/sh">
115 <arg line='-c "chmod -R 774 ${appName}/Contents/Resources/"'/>
120 OracleのJava7 on OSX用のアプリケーションバンドル構造のフォルダを更新する。
121 基本構造は、appbundler.jarを用いて作成したもの。ただし、環境変数LC_CTYPE=UTF8の設定と、
122 スプラッシュ画面、および、ローカライズの設定をinfo.plist, InfoPlist.stringsに加えている.
124 <target name="makeAppBundleJava7" if="isMacOSX" depends="default">
125 <!-- JARファイルをアプリケーションバンドル内にコピー -->
126 <exec dir="." executable="/bin/ln">
127 <arg line='-f "${jarName}" "java7mac/${appName}/Contents/Java/${jarName}"'/>
129 <!-- ルートフォルダにアプリケーションバンドルの属性をセット -->
130 <exec dir="java7mac" executable="/bin/sh">
131 <arg line='-c "/usr/bin/setFile -a B ${appName}"'/>
133 <!-- JAVA起動スタブに実行パーミッション再設定 -->
134 <exec dir="java7mac" executable="/bin/sh">
135 <arg line='-c "chmod 755 ${appName}/Contents/MacOS/JavaAppLauncher"'/>
137 <!-- リソースディレクトリのパーミッション再設定 -->
138 <exec dir="java7mac" executable="/bin/sh">
139 <arg line='-c "chmod -R 774 ${appName}/Contents/Resources/"'/>