OSDN Git Service

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