OSDN Git Service

release 1.0.2
[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="Readme.txt" todir="win/PosterDivider"/>
54     </target>
55     <target name="zip" depends="exe">
56         <zip destfile="PosterDivider-${VERSION}.zip" basedir="win/PosterDivider" defaultexcludes="yes"/>
57     </target>
58     <target name="app" depends="jar">
59         <mkdir dir="mac/PosterDivider"/>
60         <copy todir="mac/PosterDivider/PosterDivider.app">
61             <fileset dir="PosterDivider.app" defaultexcludes="yes"/>
62         </copy>
63         <chmod file="mac/PosterDivider/PosterDivider.app/Contents/MacOS/JavaApplicationStub" perm="+x"/>
64         <copy file="../${ITEXTJAR}" todir="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java"/>
65         <exec executable="ln">
66             <arg value="-fs"/>
67             <arg value="${ITEXTJAR}"/>
68             <arg value="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java/iText.jar"/>
69         </exec>
70         <copy file="PosterDivider-${VERSION}.jar" todir="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java"/>
71         <exec executable="ln">
72             <arg value="-fs"/>
73             <arg value="PosterDivider-${VERSION}.jar"/>
74             <arg value="mac/PosterDivider/PosterDivider.app/Contents/Resources/Java/PosterDivider.jar"/>
75         </exec>
76         <copy file="Readme.txt" todir="mac/PosterDivider"/>
77     </target>
78     <target name="dmg" depends="app">
79         <exec executable="hdiutil">
80             <arg value="create"/>
81             <arg value="-srcfolder"/>
82             <arg value="mac/PosterDivider"/>
83             <arg value="-volname"/>
84             <arg value="PosterDivider"/>
85             <arg value="PosterDivider-${VERSION}.dmg"/>
86         </exec>
87     </target>
88     <target name="all" depends="srczip, jar, dmg"/>
89     <target name="updateversion">
90         <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"/>
91         <replaceregexp file="src/jp/sourceforge/posterdivider/Message.properties" match="App\.ShortVersion=[0-9]+\.[0-9]+\.[0-9]+" replace="App\.ShortVersion=${SHORTVERSION}" encoding="UTF-8"/>
92         <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"/>
93         <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"/>
94         <replaceregexp file="Readme.txt" match="PosterDivider [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" replace="PosterDivider ${VERSION}" encoding="UTF-8"/>
95     </target>
96     <target name="release" depends="all">
97         <copy file="PosterDivider-src-${VERSION}.zip" tofile="PosterDivider-src.zip"/>
98         <copy file="PosterDivider-${VERSION}.jar" tofile="PosterDivider.jar"/>
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>