OSDN Git Service

add winjvm
[posterdivider/PosterDivider.git] / build.xml
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <project name="PosterDivider" basedir="." default="build">
3     <property environment="env"/>
4     <property name="VERSION" value="1.0.2.20110602"/>
5     <property name="SHORTVERSION" value="1.0.2"/>
6     <property name="ITEXTJAR" value="itextpdf-5.1.0.jar"/>
7     <path id="PosterDivider.classpath">
8         <pathelement location="bin"/>
9         <pathelement location="iText.jar"/>
10         <pathelement location="lib/AppleJavaExtensions.jar"/>
11     </path>
12     <target name="init">
13         <mkdir dir="bin"/>
14         <copy includeemptydirs="false" todir="bin">
15             <fileset dir="src" excludes="**/*.launch, **/*.java"/>
16         </copy>
17         <exec executable="ln">
18             <arg value="-fs"/>
19             <arg value="../${ITEXTJAR}"/>
20             <arg value="iText.jar"/>
21         </exec>
22     </target>
23     <target name="build" depends="build-subprojects,build-project"/>
24     <target name="build-subprojects"/>
25     <target name="build-project" depends="init">
26         <javac destdir="bin" encoding="UTF-8">
27             <src path="src"/>
28             <classpath refid="PosterDivider.classpath"/>
29         </javac>
30     </target>
31     <target name="build-refprojects"/>
32     <target name="run" depends="build">
33         <java classname="jp.sourceforge.posterdivider.Program" failonerror="true" fork="yes">
34             <classpath refid="PosterDivider.classpath"/>
35         </java>
36     </target>
37     <target name="srczip">
38         <zip destfile="PosterDivider-src-${VERSION}.zip">
39             <fileset dir="." includes="build.xml, build_win.bat, History.txt, MANIFEST.MF, PosterDivider.app/**, Readme.txt, src/**, Todo.txt" defaultexcludes="yes"/>
40         </zip>
41     </target>
42     <target name="jar" depends="build">
43         <jar destfile="PosterDivider-${VERSION}.jar" basedir="bin" manifest="MANIFEST.MF"/>
44     </target>
45     <target name="exe" depends="jar">
46         <mkdir dir="win/PosterDivider"/>
47         <mkdir dir="win/PosterDivider/Jar"/>
48         <copy file="../${ITEXTJAR}" tofile="win/PosterDivider/Jar/iText.jar"/>
49         <copy file="PosterDivider-${VERSION}.jar" tofile="win/PosterDivider/Jar/PosterDivider.jar"/>
50         <concat destfile="win/PosterDivider/Jar/fileversion.txt">iText.jar&#x0A;PosterDivider.jar&#x0A;</concat>
51         <replace file="win/PosterDivider/Jar/fileversion.txt" token="iText.jar" value="iText.jar -> ${ITEXTJAR}"/>
52         <replace file="win/PosterDivider/Jar/fileversion.txt" token="PosterDivider.jar" value="PosterDivider.jar -> PosterDivider-${VERSION}.jar"/>
53         <copy file="winjvm/PosterDivider.exe" todir="win/PosterDivider"/>
54         <copy file="Readme.txt" todir="win/PosterDivider"/>
55     </target>
56     <target name="zip" depends="exe">
57         <zip destfile="PosterDivider-${VERSION}.zip" basedir="win/PosterDivider" defaultexcludes="yes"/>
58     </target>
59     <target name="app" depends="jar">
60         <mkdir dir="mac/PosterDivider"/>
61         <copy todir="mac/PosterDivider/PosterDivider.app">
62             <fileset dir="PosterDivider.app" defaultexcludes="yes"/>
63         </copy>
64         <chmod file="mac/PosterDivider/PosterDivider.app/Contents/MacOS/JavaApplicationStub" perm="+x"/>
65         <copy file="../${ITEXTJAR}" todir="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java"/>
66         <exec executable="ln">
67             <arg value="-fs"/>
68             <arg value="${ITEXTJAR}"/>
69             <arg value="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java/iText.jar"/>
70         </exec>
71         <copy file="PosterDivider-${VERSION}.jar" todir="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java"/>
72         <exec executable="ln">
73             <arg value="-fs"/>
74             <arg value="PosterDivider-${VERSION}.jar"/>
75             <arg value="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java/PosterDivider.jar"/>
76         </exec>
77         <copy file="Readme.txt" todir="mac/PosterDivider"/>
78     </target>
79     <target name="dmg" depends="app">
80         <exec executable="hdiutil">
81             <arg value="create"/>
82             <arg value="-srcfolder"/>
83             <arg value="mac/PosterDivider"/>
84             <arg value="-volname"/>
85             <arg value="PosterDivider"/>
86             <arg value="PosterDivider-${VERSION}.dmg"/>
87         </exec>
88     </target>
89     <target name="all" depends="srczip, jar, zip, dmg"/>
90     <target name="updateversion">
91         <replaceregexp file="src/jp/sourceforge/posterdivider/Message.properties" match="App\.Version=[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" replace="App\.Version=${VERSION}" encoding="UTF-8"/>
92         <replaceregexp file="src/jp/sourceforge/posterdivider/Message.properties" match="App\.ShortVersion=[0-9]+\.[0-9]+\.[0-9]+" replace="App\.ShortVersion=${SHORTVERSION}" encoding="UTF-8"/>
93         <replaceregexp file="PosterDivider.app/Contents/Info.plist" match="&lt;string&gt;PosterDivider [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+&lt;/string&gt;" replace="&lt;string&gt;PosterDivider ${VERSION}&lt;/string&gt;" encoding="UTF-8"/>
94         <replaceregexp file="PosterDivider.app/Contents/Info.plist" match="&lt;string&gt;[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+&lt;/string&gt;" replace="&lt;string&gt;${VERSION}&lt;/string&gt;" encoding="UTF-8"/>
95         <replaceregexp file="Readme.txt" match="PosterDivider [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" replace="PosterDivider ${VERSION}" encoding="UTF-8"/>
96     </target>
97     <target name="release" depends="all">
98         <copy file="PosterDivider-src-${VERSION}.zip" tofile="PosterDivider-src.zip"/>
99         <copy file="PosterDivider-${VERSION}.dmg" tofile="PosterDivider.dmg"/>
100     </target>
101     <target name="clean">
102         <delete dir="bin"/>
103         <delete>
104             <fileset dir="." includes="iText.jar, **/._*, **/.DS_Store, **/*~, **/#*#" defaultexcludes="no"/>
105         </delete>
106     </target>
107     <target name="cleanall" depends="clean">
108         <delete dir="win"/>
109         <delete dir="mac"/>
110         <delete>
111             <fileset dir="." includes="PosterDivider-src*.zip, PosterDivider*.jar, PosterDivider*.zip, PosterDivider*.dmg"/>
112         </delete>
113     </target>
114 </project>