OSDN Git Service

changed quotation marks in run-testchooser target
[mikumikustudio/MikuMikuStudio.git] / build.xml
1 <project name="jME" default="compile" basedir=".">
2         <description>
3         Ant Build File for the jME API.
4     </description>
5
6     <import file="build-import.xml"/>
7
8         <property name="class" location="${build}" />
9         <property name="jars" location="${release}" />
10         <property name="webstart" location="${seg}/jnlp" />
11
12     <property file="build.properties"/>
13 <!--    defaults for build.properties:-->
14     <property name="keyStore" value="jmeKeyStore"/>
15     <property name="storepass" value="..."/>
16     <property name="ftpuser" value="..."/>
17     <property name="ftppassword" value="..."/>
18 <!--    end of defaults -->
19
20     <path id="classpath">
21         <fileset dir="${libs}">
22             <include name="*.jar"/>
23         </fileset>
24         <pathelement path="${class}"/>
25     </path>
26
27         <target name="init">
28         <echo message="${keyStore}"/>
29                 <mkdir dir="${src}" />
30                 <mkdir dir="${class}" />
31                 <mkdir dir="${data}" />
32                 <mkdir dir="${doc}" />
33         </target>
34
35         <!-- Compiles all the jME classes, including com.jmex.* -->
36         <target name="compile" depends="init" description="generate jme classes">
37                 <mkdir dir="${class}" />
38                 <mkdir dir="${class}/com" />
39                 <copy todir="${class}/com">
40                         <fileset dir="${src}/com">
41                                 <exclude name="**/*.java" />
42                         </fileset>
43                 </copy>
44                 <javac source="1.4" target="1.4"
45                        srcdir="${src}/com"
46                        destdir="${class}"
47                        classpathref="classpath"
48                            listfiles="no"
49                 />
50         </target>
51
52     <target name="run-testchooser" depends="compile-test" description="Runs the TestChooser">
53         <java classname="jmetest.TestChooser"
54               fork="true"
55               classpathref="classpath">
56             <jvmarg value="-Djava.library.path=${libs}"/>
57         </java>
58     </target>
59
60     <!-- Jar files for different parts of the jME API -->
61
62         <target name="dist-core" depends="compile" description="generate jme jar file">
63                 <jar jarfile="${jars}/jme.jar" basedir="${class}" update="no" compress="false" includes="**/com/jme/**/*.class, **/com/jme/**/*.tga, **/com/jme/**/*.png, **/com/jme/**/*.glf" />
64         </target>
65         <target name="dist-effects" depends="compile" description="generate jme jar file (effects)">
66                 <jar jarfile="${jars}/jme-effects.jar" basedir="${class}" update="no" compress="false" includes="**/com/jmex/effects/**/*.class" />
67         </target>
68         <target name="dist-terrain" depends="compile" description="generate jme jar file (terrain)">
69                 <jar jarfile="${jars}/jme-terrain.jar" basedir="${class}" update="no" compress="false" includes="**/com/jmex/terrain/**/*.class" />
70         </target>
71         <target name="dist-model" depends="compile" description="generate jme jar file (model)">
72                 <jar jarfile="${jars}/jme-model.jar" basedir="${class}" update="no" compress="false" includes="**/com/jmex/model/**/*.class" />
73         </target>
74         <target name="dist-sound" depends="compile" description="generate jme jar file (sound)">
75                 <jar jarfile="${jars}/jme-sound.jar" basedir="${class}" update="no" compress="false" includes="**/com/jmex/sound/**/*.class" />
76         </target>
77
78         <!-- Creates all the jME jars -->
79         <target name="dist-all" depends="dist-core, dist-terrain, dist-effects, dist-model, dist-sound" description="Generate all jar files" />
80
81         <target name="webdist-all" depends="dist-all" description="sign JARs for JNLP distribution">
82                 <signjar jar="${jars}/jme.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
83                 <signjar jar="${jars}/jme-effects.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
84                 <signjar jar="${jars}/jme-terrain.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
85                 <signjar jar="${jars}/jme-model.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
86                 <signjar jar="${jars}/jme-sound.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
87         </target>
88
89         <!-- Generats javadoc -->
90         <target name="doc" depends="compile" description="generate the javadoc documentation">
91                 <javadoc destdir="${doc}" useExternalFile="yes" author="true" version="true" use="true" package="yes" windowtitle="jME API">
92                         <fileset dir="${src}/com">
93                                 <include name="**/*.java" />
94                         </fileset>
95                 </javadoc>
96         </target>
97
98         <!-- Removes all compiled files and documentation, but leaves any created jars -->
99         <target name="clean" description="clean up">
100                 <delete dir="${class}" />
101                 <delete dir="${doc}" />
102                 <delete>
103                         <fileset dir="${src}" includes="**/*.class" />
104             <fileset dir="${release}" includes="jme*.jar"/>
105             <fileset dir="${webstart}" includes="*.jar"/>
106                 </delete>
107         </target>
108
109         <target name="rebuild" depends="clean" description="build from clean">
110                 <ant />
111         </target>
112
113         <!-- *** jmetest-related build targets -->
114
115         <target name="compile-test" depends="compile" description="generate jme test classes">
116                 <javac source="1.4" target="1.4"
117                        srcdir="${src}/jmetest"
118                    destdir="${class}"
119                    classpathref="classpath"
120             />
121                 <!-- copy the resources into the build directory -->
122                 <copy todir="${class}/jmetest/data">
123                         <fileset dir="${src}/jmetest/data"/>
124                 </copy>
125         </target>
126
127         <target name="dist-test" depends="compile-test" description="generate jme test class and data jars" >
128                 <!-- Jar the demo classes -->
129
130         <pathconvert property="jarclasspathlibs" pathsep=" " dirsep="/">
131             <path>
132                 <fileset dir="${libs}">
133                     <include name="*.jar"/>
134                 </fileset>
135             </path>
136             <mapper type="regexp" from=".*(lib.*)" to="\1"/>
137         </pathconvert>
138         <pathconvert property="jarclasspathrelease" pathsep=" " dirsep="/">
139             <path>
140                 <fileset dir="${jars}">
141                     <include name="*.jar"/>
142                     <exclude name="jmetest.jar"/>
143                 </fileset>
144             </path>
145             <mapper type="regexp" from=".*target.(.*)" to="\1"/>
146         </pathconvert>
147         <echo>${jarclasspathlibs} ${jarclasspathrelease}</echo>
148
149                 <jar jarfile="${jars}/jmetest.jar"
150                  basedir="${class}"
151                  excludes="**/jmetest/data/**,**/com/**"
152                  index="yes">
153             <manifest>
154                 <attribute name="Implementation-Title" value="${name}"/>
155                 <attribute name="Implementation-Vendor" value="${vendor}"/>
156                 <attribute name="Version" value="${major}.${minor}"/>
157                 <attribute name="Class-Path" value="${jarclasspathlibs} ${jarclasspathrelease}"/>
158                 <attribute name="Main-Class" value="${mainclass}"/>
159             </manifest>
160             </jar>
161
162                 <!-- Jar the demo data -->
163                 <jar jarfile="${jars}/jmetest-data.jar"
164                  basedir="${class}"
165                  includes="**/jmetest/data/**"
166         />
167         </target>
168
169         <target name="webdist-test" depends="dist-test" description="sign test jars for Webstart distribution" >
170                 <signjar jar="${jars}/jmetest.jar"
171                          alias="jme"
172                          keystore="${webstart}/${keyStore}"
173                          storepass="${storepass}"
174                 />
175                 <signjar jar="${jars}/jmetest-data.jar"
176                          alias="jme"
177                          keystore="${webstart}/${keyStore}"
178                          storepass="${storepass}"
179                 />
180         </target>
181
182         <!-- Jar and sign all the libraries required by jME -->
183         <target name="webdist-nativelibs" description="jar and sign native libraries for Webstart distribution" >
184                 <!--  Jar and sign the Windows libraries -->
185                 <jar jarfile="${webstart}/lwjgl-windows.jar"
186                          basedir="lib"
187                      includes="lwjgl.dll"
188                      update="yes"
189                 />
190                 <jar jarfile="${webstart}/openal-windows.jar"
191                      basedir="lib"
192                      includes="lwjglaudio.dll"
193                      update="yes"
194                 />
195                 <signjar jar="${webstart}/lwjgl-windows.jar"
196                          alias="jme"
197                          keystore="${webstart}/${keyStore}"
198                          storepass="${storepass}"
199                 />
200                 <signjar jar="${webstart}/openal-windows.jar"
201                          alias="jme"
202                          keystore="${webstart}/${keyStore}"
203                          storepass="${storepass}"
204                 />
205
206                 <!-- Jar and sign Linux native libraries -->
207                 <jar jarfile="${webstart}/lwjgl-linux.jar"
208                      basedir="lib"
209                      includes="liblwjgl.so"
210                      update="yes"
211                 />
212                 <jar jarfile="${webstart}/openal-linux.jar"
213                      basedir="lib"
214                      includes="libopenal.so"
215                      update="yes"
216                 />
217                 <signjar jar="${webstart}/lwjgl-linux.jar"
218                          alias="jme"
219                          keystore="${webstart}/${keyStore}"
220                          storepass="${storepass}"
221                 />
222                 <signjar jar="${webstart}/openal-linux.jar"
223                          alias="jme"
224                          keystore="${webstart}/${keyStore}"
225                          storepass="${storepass}"
226                 />
227
228                 <!-- Jar (eventually) and sign Mac native libraries -->
229         <jar jarfile="${webstart}/lwjgl-mac.jar"
230             basedir="lib"
231             includes="liblwjgl.jnilib"
232             update="yes"
233             />
234         <jar jarfile="${webstart}/openal-mac.jar"
235             basedir="lib"
236             includes="openal.dylib"
237             update="yes"
238             /><!--fix me: shouldn't it be a jnilib?-->
239
240                 <signjar jar="${webstart}/lwjgl-mac.jar"
241                          alias="jme"
242                          keystore="${webstart}/${keyStore}"
243                          storepass="${storepass}"
244                 />
245                 <signjar jar="${webstart}/openal-mac.jar"
246                          alias="jme"
247                          keystore="${webstart}/${keyStore}"
248                          storepass="${storepass}"
249                 />
250
251                 <!-- Sign the lwjgl jar -->
252                 <signjar jar="${seg}/lib/lwjgl.jar"
253                          alias="jme"
254                          keystore="${webstart}/${keyStore}"
255                          storepass="${storepass}"
256                 />
257
258                 <!-- Sign the lwjgl fmod3 jar -->
259                 <signjar jar="${seg}/lib/lwjgl_fmod3.jar"
260                          alias="jme"
261                          keystore="${webstart}/${keyStore}"
262                          storepass="${storepass}"
263                 />
264         </target>
265
266     <target name="nightly"> <!--depends="webdist-all, webdist-nativelibs, webdist-test">-->
267 <!--    <target name="nightly">-->
268         <echo>${libs}/*.jar</echo>
269         <zip zipfile="${release}/jME.zip">
270             <zipfileset dir="${libs}" prefix="lib">
271                 <include name="*.jar"/>
272                 <include name="*.dll"/>
273                 <include name="*.so"/>
274                 <include name="*.*lib"/>
275             </zipfileset>
276             <fileset dir="${release}" >
277                 <include name="*.jar"/>
278             </fileset>
279         </zip>
280         <zip zipfile="${release}/src.zip">
281             <zipfileset dir="${src}" prefix="src">
282                 <include name="**/*.*"/>
283             </zipfileset>
284         </zip>
285 <!--        <mkdir dir="ftp"/>-->
286 <!--        <copy todir="ftp">-->
287         <ftp server="ftp.jmonkeyengine.com" userid="${ftpuser}" password="${ftppassword}" remotedir="nightly" >
288             <fileset dir="${webstart}" >
289                 <include name="*.jar"/>
290                 <include name="*.jnlp"/>
291             </fileset>
292             <fileset dir="${libs}" >
293                 <include name="*.jar"/>
294             </fileset>
295             <fileset dir="${release}" >
296                 <include name="*.jar"/>
297                 <include name="jME.zip"/>
298                 <include name="src.zip"/>
299             </fileset>
300         </ftp>
301 <!--        </copy>-->
302     </target>
303
304 </project>