OSDN Git Service

added a cope command to the deploy-hudson jME2 target
[mikumikustudio/MikuMikuStudio.git] / build.xml
1 <?xml version="1.0"?>
2 <project name="jME" default="compile">
3   <description>
4     Ant Build File for the jME API.
5     $Id$
6   </description>
7   <!-- Since we have developers who use different tab-stop settings in their
8        editors and IDE's, please use spaces, not tabs, for indentation.
9        (Your editor or IDE has a setting to automatically change your tab
10        keystrokes into spaces). -->
11
12   <property file="build.properties" />
13   <!-- This is because build-import.xml uses ${name}: -->
14   <property name="name" value="${ant.project.name}"/>
15
16   <!--    defaults for build.properties:-->
17   <import file="build-import.xml" />
18
19   <property name="class" location="${build}" />
20   <property name="jars" location="${release}" />
21   <property name="webstart" location="jnlp" />
22
23   <property name="keyStore" value="jmeKeyStore" />
24   <property name="storepass" value="..." />
25   <property name="keypass" value="..." />
26   <property name="keystore" value="..." />
27   <property name="ftpuser" value="..." />
28   <property name="ftppassword" value="..." />
29   <property name="ftphost" value="ftp.jmonkeyengine.com" />
30     <!-- You may prefer to set javac.debug to false to reduce size. -->
31   <property name="javac.debug" value="true" />
32   <property name="javac.maxmem" value="256m" />
33   <property name="javac.source" value="1.5" />
34   <property name="javac.target" value="1.5" />
35     <!-- N.b. the .source and .target setting are NOT for source and target
36          directories, but for source and target JVM versions. -->
37   <property name="javac.debuglevel" value="lines,source" />
38     <!-- Having line numbers in debug output is useful for the 99.9%
39          of non-public builds, esp. for custom-builders who have
40          runtime problems.   - blaine  -->
41   <!--    end of defaults -->
42
43   <path id="classpath">
44     <fileset dir="${libs}">
45       <include name="**/*.jar" />
46     </fileset>
47     <pathelement path="${class}" />
48   </path>
49
50   <target name="init">
51     <echo message="${keyStore}" />
52     <mkdir dir="${src}" />
53     <mkdir dir="${class}" />
54     <mkdir dir="${data}" />
55     <mkdir dir="${doc}" />
56     <available property="_rtlp.param" value="_rtlogprops.present"
57                file="logging.properties"/>
58     <property name="_rtlp.param" value="_dummy"/>
59     <antcall target="-gen-rtlogprops">
60       <param name="${_trlp.param}" value="true"/>
61     </antcall>
62   </target>
63
64   <!-- Compiles all the jME classes, including com.jmex.* -->
65   <target name="compile" depends="init" description="generate jme classes">
66     <copy todir="${class}">
67       <fileset dir="${src}" includes="com/**" excludes="**/.*/**, **/*.java"/>
68     </copy>
69     <javac source="${javac.source}" target="${javac.target}"
70            debuglevel="${javac.debuglevel}"
71       srcdir="${src}" destdir="${class}" includes="com/**/*.java"
72       classpathref="classpath" listfiles="no" fork="true"
73       memoryMaximumSize="${javac.maxmem}" debug="${javac.debug}"/>
74   </target>
75
76   <target name="run-testchooser" depends="compile-test" description="Runs the TestChooser">
77     <condition property="jogl.arch.suffix" value="amd64">
78       <os arch="amd64"/>
79     </condition>
80     <property name="jogl.arch.suffix" value="i586"/>
81     <pathconvert property="native.libpath" setonempty="false">
82       <filelist dir="${libs}">
83         <file name="jogl/native/windows_${jogl.arch.suffix}"/>
84         <file name="jogl/native/macosx"/>
85         <file name="jogl/native/linux_${jogl.arch.suffix}"/>
86         <file name="lwjgl/native/linux"/>
87         <file name="lwjgl/native/macosx"/>
88         <file name="lwjgl/native/windows"/>
89         <file name="swt/linux"/>
90         <file name="swt/macosx-carbon"/>
91         <file name="swt/macosx-cocoa"/>
92         <file name="swt/windows"/>
93       </filelist>
94     </pathconvert>
95     <java classname="jmetest.TestChooser" fork="true" classpathref="classpath">
96       <jvmarg value="-Djava.library.path=${native.libpath}"/>
97     </java>
98   </target>
99
100   <target name="-enforce.jar.deps">
101     <dependset>
102       <srcfileset dir="build" includes="com/**"/>
103       <targetfileset dir="${jars}" excludes="**/.*/**" includes="*.jar"/>
104     </dependset>
105   </target>
106
107   <!-- Jar files for different parts of the jME API -->
108
109   <target name="dist-core" depends="compile, -enforce.jar.deps"
110          description="generate jme jar file">
111     <jar destfile="${jars}/jme.jar" basedir="${class}" update="no"
112          duplicate="fail" compress="true" includes="com/jme/**/*.class, com/jme/**/*.tga, com/jme/**/*.png, com/jme/**/*.gif, com/jme/**/*.vert, com/jme/**/*.frag,com/jmex/pool/**/*.class" />
113   </target>
114   <target name="dist-audio" depends="compile, -enforce.jar.deps"
115           description="generate jme jar file (audio)">
116     <jar destfile="${jars}/jme-audio.jar" basedir="${class}" update="no"
117          duplicate="fail" compress="true"
118          includes="com/jmex/audio/**/*.class" />
119   </target>
120   <target name="dist-awt" depends="compile, -enforce.jar.deps"
121           description="generate jme jar file (awt)">
122     <jar destfile="${jars}/jme-awt.jar" basedir="${class}" update="no"
123          duplicate="fail" compress="true" includes="com/jmex/awt/**/*.class" />
124   </target>
125   <target name="dist-swt" depends="compile, -enforce.jar.deps"
126           description="generate jme jar file (swt)">
127     <jar destfile="${jars}/jme-swt.jar" basedir="${class}" update="no"
128          duplicate="fail" compress="true" includes="com/jmex/swt/**/*.class" />
129   </target>
130   <target name="dist-editors" depends="compile, -enforce.jar.deps"
131           description="generate jme jar file (editors)">
132     <jar destfile="${jars}/jme-editors.jar" basedir="${class}" update="no"
133          duplicate="fail" compress="true" includes="com/jmex/editors/**/*.class" />
134   </target>
135   <target name="dist-effects" depends="compile, -enforce.jar.deps"
136           description="generate jme jar file (effects)">
137     <jar destfile="${jars}/jme-effects.jar" basedir="${class}" update="no"
138          duplicate="fail" compress="true"
139          includes="com/jmex/effects/**/*.class, com/jmex/effects/**/data/*" />
140   </target>
141   <target name="dist-font" depends="compile, -enforce.jar.deps"
142           description="generate jme jar file (font)">
143     <jar destfile="${jars}/jme-font.jar" basedir="${class}" update="no"
144          duplicate="fail" compress="true" includes="com/jmex/font2d/**/*.class, com/jmex/font3d/**/*.class, com/jmex/angelfont/**/*.class, com/jmex/angelfont/**/*.png, com/jmex/angelfont/**/*.fnt" />
145   </target>
146   <target name="dist-gamestates" depends="compile, -enforce.jar.deps"
147           description="generate jme jar file (gamestates)">
148     <jar destfile="${jars}/jme-gamestates.jar" basedir="${class}" update="no"
149          duplicate="fail" compress="true" includes="com/jmex/game/**/*.class" />
150   </target>
151   <target name="dist-model" depends="compile, -enforce.jar.deps"
152           description="generate jme jar file (model)">
153     <jar destfile="${jars}/jme-model.jar" basedir="${class}" update="no"
154          duplicate="fail" compress="true" includes="com/jmex/model/**/*.class"
155          excludes="com/jmex/model/collada/**, com/jmex/model/ogrexml/**" />
156   </target>
157   <target name="dist-collada" depends="compile, -enforce.jar.deps"
158           description="generate jme jar file (collada)">
159     <jar destfile="${jars}/jme-collada.jar" basedir="${class}" update="no"
160          duplicate="fail" compress="true"
161          includes="com/jmex/model/collada/*.class">
162       <zipfileset src="lib/jme-colladabinding.jar"
163                   excludes="META-INF/readme.txt"/>
164     </jar>
165   </target>
166   <target name="dist-scene" depends="compile, -enforce.jar.deps"
167           description="generate jme jar file (scene)">
168     <jar destfile="${jars}/jme-scene.jar" basedir="${class}" update="no"
169          duplicate="fail" compress="true" includes="com/jmex/scene/**/*.class" />
170   </target>
171   <target name="dist-terrain" depends="compile, -enforce.jar.deps"
172           description="generate jme jar file (terrain)">
173     <jar destfile="${jars}/jme-terrain.jar" basedir="${class}" update="no"
174          duplicate="fail" compress="true"
175          includes="com/jmex/terrain/**/*.class" />
176   </target>
177   <target name="dist-ogrexml" depends="compile, -enforce.jar.deps"
178           description="generate jme jar file (ogrexml)">
179     <jar destfile="${jars}/jme-ogrexml.jar" basedir="${class}" update="no"
180          duplicate="fail" compress="true"
181          includes="com/jmex/model/ogrexml/**/*.class" />
182   </target>
183
184   <!-- Creates all the jME jars -->
185   <target name="dist-all" depends="dist-core, dist-terrain, dist-ogrexml, dist-audio, dist-awt, dist-swt, dist-effects, dist-model, dist-collada, dist-editors, dist-font, dist-gamestates, dist-scene" description="Generate all jar files" />
186
187   <target name="webdist-all" depends="dist-all" description="sign JARs for JNLP distribution">
188     <signjar jar="${jars}/jme.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
189     <signjar jar="${jars}/jme-awt.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
190     <signjar jar="${jars}/jme-swt.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
191     <signjar jar="${jars}/jme-audio.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
192     <signjar jar="${jars}/jme-editors.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
193     <signjar jar="${jars}/jme-effects.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
194     <signjar jar="${jars}/jme-font.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
195     <signjar jar="${jars}/jme-gamestates.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
196     <signjar jar="${jars}/jme-model.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
197     <signjar jar="${jars}/jme-collada.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
198     <signjar jar="${jars}/jme-scene.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
199     <signjar jar="${jars}/jme-terrain.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
200     <signjar jar="${jars}/jme-ogrexml.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
201   </target>
202
203   <target name="doc" depends="compile"
204           description="generate the javadoc documentation">
205     <dependset>
206       <srcfileset dir="${src}/com" excludes="**/.*/**"/>
207       <targetfileset dir="${doc}"/>
208     </dependset>
209     <available property="_passname" value="_docs.uptodate"
210                file="${doc}/index.html"/>
211     <property name="_passname" value="dummy"/>
212     <antcall target="-doc">
213       <param name="${_passname}" value="true"/>
214     </antcall>
215   </target>
216
217   <!-- Generates javadoc unless param is set -->
218   <target name="-doc" unless="_docs.uptodate">
219     <delete dir="${doc}"/>  <!-- The dependset leaves empty directories -->
220     <javadoc destdir="${doc}" useExternalFile="yes" author="true" version="true" use="true" package="yes" windowtitle="jME API" bottom="Copyright 2003-2010 jMonkeyEngine" maxmemory="256m">
221       <fileset dir="${src}/com" excludes="**/.*/**" includes="**/*.java" />
222     </javadoc>
223   </target>
224
225   <!-- Removes all compiled files and documentation, but leaves any created jars -->
226   <target name="clean" description="clean up">
227     <delete dir="${class}" />
228     <delete dir="${doc}" />
229     <delete>
230       <fileset dir="${src}" includes="**/*.class" />
231       <fileset dir="${release}" includes="jme*.jar" />
232       <fileset dir="${webstart}" includes="*.jar" />
233     </delete>
234   </target>
235
236   <target name="rebuild" depends="clean, compile"
237           description="build from clean"/>
238
239   <!-- *** jmetest-related build targets -->
240
241   <target name="compile-test" depends="compile" description="generate jme test classes">
242     <javac source="${javac.source}" target="${javac.target}"
243            debuglevel="${javac.debuglevel}"
244       srcdir="${src}" destdir="${class}" includes="jmetest/**/*.java"
245       classpathref="classpath" fork="true" memoryMaximumSize="${javac.maxmem}"
246       debug="${javac.debug}"/>
247     <!-- copy the resources into the build directory -->
248     <copy todir="${class}">
249       <fileset dir="${src}" includes="jmetest/**"
250                excludes="**/.*/**, **/*.java"/>
251     </copy>
252   </target>
253
254   <target name="dist-test" depends="dist-all, compile-test"
255     description="generate jme test class and data jars + dependent distro jars">
256     <!-- Jar the demo classes -->
257
258     <pathconvert property="jarclasspathlibs" pathsep=" " dirsep="/">
259       <path>
260         <fileset dir="${libs}">
261           <include name="*.jar" />
262         </fileset>
263       </path>
264       <mapper type="regexp" from=".*(lib.*)" to="\1" />
265     </pathconvert>
266     <pathconvert property="jarclasspathrelease" pathsep=" " dirsep="/">
267       <path>
268         <fileset dir="${jars}">
269           <include name="*.jar" />
270           <exclude name="jmetest.jar" />
271         </fileset>
272       </path>
273       <mapper type="regexp" from=".*target.(.*)" to="\1" />
274     </pathconvert>
275     <echo>${jarclasspathlibs} ${jarclasspathrelease}</echo>
276
277     <dependset>
278       <srcfileset dir="build"/>
279       <targetfileset dir="${jars}" excludes="**/.*/**" includes="jmetest*.jar"/>
280     </dependset>
281
282     <jar destfile="${jars}/jmetest.jar" basedir="${class}"
283          duplicate="fail" compress="true"
284          excludes="jmetest/**/data/**, com/**" index="yes">
285       <manifest>
286         <attribute name="Implementation-Title" value="${ant.project.name}" />
287         <attribute name="Implementation-Vendor" value="${vendor}" />
288         <attribute name="Version" value="${major}.${minor}" />
289         <attribute name="Class-Path" value="${jarclasspathlibs} ${jarclasspathrelease}" />
290         <attribute name="Main-Class" value="${mainclass}" />
291       </manifest>
292     </jar>
293
294     <!-- Jar the demo data -->
295     <jar destfile="${jars}/jmetest-data-cursor.jar" basedir="${class}"
296          duplicate="fail" compress="true" includes="jmetest/data/cursor/**" />
297     <jar destfile="${jars}/jmetest-data-images.jar" basedir="${class}"
298          duplicate="fail" compress="true" includes="jmetest/data/images/**" />
299     <jar destfile="${jars}/jmetest-data-model.jar" basedir="${class}"
300          duplicate="fail" compress="true" includes="jmetest/data/model/**" />
301     <jar destfile="${jars}/jmetest-data-skybox1.jar" basedir="${class}"
302          duplicate="fail" compress="true" includes="jmetest/data/skybox1/**" />
303     <jar destfile="${jars}/jmetest-data-sound.jar" basedir="${class}"
304          duplicate="fail" compress="true" includes="jmetest/data/sound/**" />
305     <jar destfile="${jars}/jmetest-data-texture.jar" basedir="${class}"
306          duplicate="fail" compress="true" includes="jmetest/data/texture/**" />
307   </target>
308
309   <target name="webdist-test" depends="dist-test" description="sign test jars for Webstart distribution">
310     <signjar jar="${jars}/jmetest.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
311     <signjar jar="${jars}/jmetest-data-cursor.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
312     <signjar jar="${jars}/jmetest-data-images.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
313     <signjar jar="${jars}/jmetest-data-model.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
314     <signjar jar="${jars}/jmetest-data-skybox1.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
315     <signjar jar="${jars}/jmetest-data-sound.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
316     <signjar jar="${jars}/jmetest-data-texture.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
317   </target>
318
319   <!-- Jar and sign all the libraries required by jME -->
320   <target name="webdist-nativelibs" description="jar and sign native libraries for Webstart distribution">
321     <dependset>
322       <srcfileset dir="lib"/>
323       <targetfileset dir="${webstart}" excludes="**/.*/**" includes="*.jar"/>
324     </dependset>
325
326     <!-- WHY ARE ALL THE NATIVE FILES update="yes"?
327          We are specifying exactly what we want in them, so we should not be
328          recreating them. -->
329
330     <!--  Jar and sign the Windows libraries -->
331     <jar destfile="${webstart}/lwjgl-windows.jar" duplicate="fail" update="yes"
332          basedir="lib/lwjgl/native/windows" includes="lwjgl.dll" />
333         <jar destfile="${webstart}/lwjgl-windows.jar" duplicate="fail" update="yes"
334          basedir="lib/lwjgl/native/windows" includes="lwjgl64.dll" />
335     <jar destfile="${webstart}/openal-windows.jar" duplicate="fail" update="yes"
336          basedir="lib/lwjgl/native/windows" includes="OpenAL32.dll" />
337         <jar destfile="${webstart}/openal-windows.jar" duplicate="fail"
338          basedir="lib/lwjgl/native/windows" includes="OpenAL64.dll" update="yes" />
339     <jar destfile="${webstart}/jinput-windows.jar" duplicate="fail"
340          basedir="lib/lwjgl/native/windows" includes="jinput-dx8.dll" update="yes" />
341     <jar destfile="${webstart}/jinput-windows.jar" duplicate="fail"
342          basedir="lib/lwjgl/native/windows" includes="jinput-raw.dll" update="yes" />
343     <signjar jar="${webstart}/lwjgl-windows.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
344     <signjar jar="${webstart}/openal-windows.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
345     <signjar jar="${webstart}/jinput-windows.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
346
347     <!-- Jar and sign Linux native libraries -->
348     <jar destfile="${webstart}/lwjgl-linux.jar" duplicate="fail"
349          basedir="lib/lwjgl/native/linux" includes="liblwjgl.so" update="yes" />
350     <jar destfile="${webstart}/lwjgl-linux.jar" duplicate="fail"
351          basedir="lib/lwjgl/native/linux" includes="liblwjgl64.so" update="yes" />
352     <jar destfile="${webstart}/openal-linux.jar" duplicate="fail"
353          basedir="lib/lwjgl/native/linux" includes="libopenal.so" update="yes" />
354     <jar destfile="${webstart}/openal-linux.jar" duplicate="fail"
355          basedir="lib/lwjgl/native/linux" includes="libopenal64.so" update="yes" />
356     <jar destfile="${webstart}/jinput-linux.jar" duplicate="fail"
357          basedir="lib/lwjgl/native/linux" includes="libjinput-linux.so" update="yes" />
358     <jar destfile="${webstart}/jinput-linux.jar" duplicate="fail"
359          basedir="lib/lwjgl/native/linux" includes="libjinput-linux64.so" update="yes" />
360     <signjar jar="${webstart}/lwjgl-linux.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
361     <signjar jar="${webstart}/openal-linux.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
362     <signjar jar="${webstart}/jinput-linux.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
363
364     <!-- Jar (eventually) and sign Mac native libraries -->
365     <jar destfile="${webstart}/lwjgl-mac.jar" duplicate="fail"
366          basedir="lib/lwjgl/native/macosx" includes="liblwjgl.jnilib" update="yes" />
367     <jar destfile="${webstart}/jinput-mac.jar" duplicate="fail"
368          basedir="lib/lwjgl/native/macosx" includes="libjinput-osx.jnilib" update="yes" />
369     <jar destfile="${webstart}/openal-mac.jar" duplicate="fail"
370          basedir="lib/lwjgl/native/macosx" includes="openal.dylib" update="yes" />
371
372     <signjar jar="${webstart}/lwjgl-mac.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
373     <signjar jar="${webstart}/openal-mac.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
374     <signjar jar="${webstart}/jinput-mac.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
375
376     <!-- Jar (eventually) and sign Solaris native libraries -->
377     <jar destfile="${webstart}/lwjgl-solaris.jar" duplicate="fail"
378          basedir="lib/lwjgl/native/solaris" includes="liblwjgl.so" update="yes" />
379     <jar destfile="${webstart}/openal-solaris.jar" duplicate="fail"
380          basedir="lib/lwjgl/native/solaris" includes="libopenal.so" update="yes" />
381
382     <signjar jar="${webstart}/lwjgl-solaris.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
383     <signjar jar="${webstart}/openal-solaris.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
384         
385     <!-- Sign the lwjgl jar -->
386     <signjar jar="lib/lwjgl/lwjgl.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
387     <signjar jar="lib/lwjgl/lwjgl_util.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
388     <signjar jar="lib/jorbis/jorbis-0.0.17.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
389     <signjar jar="lib/lwjgl/jinput.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
390   </target>
391
392   <target name="nightly" depends="webdist-all, webdist-nativelibs, webdist-test">
393     <echo>${libs}/*.jar</echo>
394     <zip zipfile="${release}/jME.zip">
395       <zipfileset dir="${libs}" prefix="lib">
396         <include name="*.jar" />
397         <include name="*.dll" />
398         <include name="*.so" />
399         <include name="*.*lib" />
400       </zipfileset>
401       <fileset dir="${release}">
402         <include name="*.jar" />
403       </fileset>
404     </zip>
405     <zip zipfile="${release}/src.zip">
406       <zipfileset dir="${src}" prefix="src" excludes="**/.*/**"/>
407     </zip>
408     <!--        <mkdir dir="ftp"/>-->
409     <!--        <copy todir="ftp">-->
410     <ftp server="${ftphost}" userid="${ftpuser}" password="${ftppassword}" remotedir="nightly">
411       <fileset dir="${webstart}">
412         <include name="*.jar" />
413         <include name="*.jnlp" />
414       </fileset>
415       <fileset dir="${libs}">
416         <include name="*.jar" />
417       </fileset>
418       <fileset dir="${release}">
419         <include name="*.jar" />
420         <include name="jME.zip" />
421         <include name="src.zip" />
422       </fileset>
423     </ftp>
424     <!--        </copy>-->
425   </target>
426         
427         <!-- puts jme3 jars, libs and javadoc in a dated zip file -->
428             <target name="deploy-hudson" depends="dist-all, doc">
429                 <!-- create date in the format MM-dd-yyyy -->
430                 <tstamp>
431                   <format property="date" pattern="MM-dd-yyyy" locale="en,US"/>
432                 </tstamp>
433                 <property name="jme2zip" value="jME2_${date}.zip"/>
434
435                    <!-- make zip file -->
436                 <zip destfile="${jme2zip}">
437                         <fileset dir=".">
438                                 <include name="target/*.jar"/>
439                                 <include name="lib/**/*.*"/>
440                                 <include name="data/doc/**/*.*"/>
441                         </fileset>
442                         </zip>
443                 <copy file="${jme2zip}" toDir="/var/www/nightly" overwrite="true" failonerror="true" verbose="true"/>
444             </target>
445         
446         <target name="sign-jars" depends="dist-all" description="sign JARs for JNLP distribution">
447                 <signjar jar="${jars}/jme-audio.jar"                    alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
448                 <signjar jar="${jars}/jme-awt.jar"                              alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
449                 <signjar jar="${jars}/jme-collada.jar"                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
450                 <signjar jar="${jars}/jme-editors.jar"                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
451                 <signjar jar="${jars}/jme-effects.jar"                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
452                 <signjar jar="${jars}/jme-font.jar"                             alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
453                 <signjar jar="${jars}/jme-gamestates.jar"               alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
454                 <signjar jar="${jars}/jme-ogrexml.jar"                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
455                 <signjar jar="${jars}/jme-model.jar"                    alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
456                 <signjar jar="${jars}/jme-scene.jar"                    alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
457                 <signjar jar="${jars}/jme-terrain.jar"                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
458                 <signjar jar="${jars}/jme-xml.jar"                              alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
459                 <signjar jar="${jars}/jme-swt.jar"                              alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
460                 <signjar jar="${jars}/jme.jar"                                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
461                 <signjar jar="lib/jogl/gluegen-rt.jar"                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
462                 <signjar jar="lib/jogl/jogl.jar"                                alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
463                 <signjar jar="lib/junit/junit-4.1.jar"                  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
464                 <signjar jar="lib/jorbis/jorbis-0.0.17.jar"             alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
465                 <signjar jar="lib/lwjgl/jinput.jar"                             alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
466                 <signjar jar="lib/lwjgl/lwjgl_util_applet.jar"  alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
467                 <signjar jar="lib/lwjgl/lwjgl_util.jar"                 alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
468                 <signjar jar="lib/lwjgl/lwjgl.jar"                              alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
469                 <signjar jar="lib/swt/linux/swt.jar"                            alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
470                 <signjar jar="lib/swt/macosx-carbon/swt.jar"            alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
471                 <signjar jar="lib/swt/macosx-cocoa/swt_fake.jar"        alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
472                 <signjar jar="lib/swt/windows/swt.jar"                          alias="jmonkeyengine" keystore="${keystore}" storepass="${keypass}" />
473         </target>
474
475   <target name="-gen-rtlogprops" unless="_rtlogprops.present">
476     <copy file="logging-template.properties" tofile="logging.properties"/>
477   </target>
478 </project>