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では非推奨になっているものがあるため警告がでます。
45 <javac target="1.5" destdir="work" srcdir="src" encoding="UTF-8" debug="on">
47 <fileset dir="extlib">
48 <include name="**/*.jar"/>
55 <fileset dir="resources">
56 <exclude name="**/*.java"/>
60 <!-- 埋め込みリソースを生成する -->
61 <java classpath="work" classname="charactermanaj.model.util.MakeEmbeddedResource">
62 <arg line="work/schema/character.xml.ser work/resource_list.txt"/>
66 <jar jarfile="CharacterManaJ.jar" basedir="work">
68 <attribute name="Main-Class" value="charactermanaj.Main" />
70 <attribute name="Splashscreen-Image" value="splash.png"/>
72 <attribute name="Built-By" value="${vendor}" />
73 <attribute name="Built-On" value="${build-info.current-date}" />
74 <attribute name="Built-At" value="${build-info.current-time}" />
75 <attribute name="Specification-Title" value="CharacterManaJ" />
76 <attribute name="Specification-Version" value="${specification_version}" />
77 <attribute name="Specification-Vendor" value="${vendor}" />
78 <attribute name="Implementation-Title" value="CharacterManaJ ${specification_version} (${implements_version})" />
79 <attribute name="Implementation-Version" value="${implements_version} ${build-info.current-date}" />
80 <attribute name="Implementation-Vendor" value="${vendor}" />
87 Mac OS Xのアプリケーションバンドル構造のフォルダを更新する。
88 バンドルファイルの作り方は公式ページに記述されている。
89 http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html
91 <target name="makeAppBundle" if="isMacOSX" depends="default">
92 <!-- JARファイルをアプリケーションバンドル内にコピー -->
93 <copy file="${jarName}" toDir="CharacterManaJ.app/Contents/Resources/Java/"/>
94 <!-- JAVA起動スタブをコピー -->
95 <copy file="/System/Library/Frameworks/JavaVM.framework/Versions/Current/Resources/MacOS/JavaApplicationStub"
96 toDir="CharacterManaJ.app/Contents/MacOS/"/>
97 <!-- ルートフォルダにアプリケーションバンドルの属性をセット -->
98 <exec dir="." executable="/bin/sh">
99 <arg line='-c "/usr/bin/setFile -a B ${appName}"'/>
101 <!-- JAVA起動スタブに実行パーミッション再設定 -->
102 <exec dir="." executable="/bin/sh">
103 <arg line='-c "chmod 755 CharacterManaJ.app/Contents/MacOS/JavaApplicationStub"'/>
105 <!-- リソースディレクトリのパーミッション再設定 -->
106 <exec dir="." executable="/bin/sh">
107 <arg line='-c "chmod -R 774 CharacterManaJ.app/Contents/Resources/"'/>