OSDN Git Service

Update niftygui 1.3.3
[mikumikustudio/MikuMikuStudio.git] / build.xml
old mode 100755 (executable)
new mode 100644 (file)
index c65feea..04bb50f
--- a/build.xml
+++ b/build.xml
-
-<project name="jME" default="compile" basedir=".">
-       <description>
-        Ant Build File for the jME API.
-    </description>
-
-       <import file="build-import.xml" />
-
-       <property name="class" location="${build}" />
-       <property name="jars" location="${release}" />
-       <property name="webstart" location="${seg}/jnlp" />
-
-       <property file="build.properties" />
-       <!--    defaults for build.properties:-->
-       <property name="keyStore" value="jmeKeyStore" />
-       <property name="storepass" value="..." />
-       <property name="ftpuser" value="..." />
-       <property name="ftppassword" value="..." />
-       <property name="ftphost" value="ftp.jmonkeyengine.com" />
-         <!-- You may prefer to set javac.debug to false to reduce size. -->
-       <property name="javac.debug" value="true" />
-       <property name="javac.debuglevel" value="lines,source" />
-      <!-- Having line numbers in debug output is useful for the 99.9%
-           of non-public builds, esp. for custom-builders who have
-           runtime problems.   - blaine  -->
-       <!--    end of defaults -->
-
-       <path id="classpath">
-               <fileset dir="${libs}">
-                       <include name="**/*.jar" />
-               </fileset>
-               <pathelement path="${class}" />
-       </path>
-
-       <target name="init">
-               <echo message="${keyStore}" />
-               <mkdir dir="${src}" />
-               <mkdir dir="${class}" />
-               <mkdir dir="${data}" />
-               <mkdir dir="${doc}" />
-       </target>
-
-       <!-- Compiles all the jME classes, including com.jmex.* -->
-       <target name="compile" depends="init" description="generate jme classes">
-               <mkdir dir="${class}" />
-               <mkdir dir="${class}/com" />
-               <copy todir="${class}/com">
-                       <fileset dir="${src}/com">
-                               <exclude name="**/*.java" />
-                       </fileset>
-               </copy>
-               <javac source="1.5" target="1.5" srcdir="${src}/com" destdir="${class}"
-                       classpathref="classpath" listfiles="no" fork="true"
-                       memoryMaximumSize="256m" debug="${javac.debug}"/>
-       </target>
-
-       <target name="run-testchooser" depends="compile-test" description="Runs the TestChooser">
-               <java classname="jmetest.TestChooser" fork="true" classpathref="classpath">
-                       <jvmarg value=  "-Djava.library.path=${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"/>
-               </java>
-       </target>
-
-       <!-- Jar files for different parts of the jME API -->
-
-       <target name="dist-core" depends="compile" description="generate jme jar file">
-               <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" />
-       </target>
-       <target name="dist-audio" depends="compile" description="generate jme jar file (audio)">
-               <jar jarfile="${jars}/jme-audio.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/audio/**/*.class" />
-       </target>
-       <target name="dist-awt" depends="compile" description="generate jme jar file (awt)">
-               <jar jarfile="${jars}/jme-awt.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/awt/**/*.class" />
-       </target>
-       <target name="dist-swt" depends="compile" description="generate jme jar file (swt)">
-               <jar jarfile="${jars}/jme-swt.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/swt/**/*.class" />
-       </target>
-       <target name="dist-editors" depends="compile" description="generate jme jar file (editors)">
-               <jar jarfile="${jars}/jme-editors.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/editors/**/*.class" />
-       </target>
-       <target name="dist-effects" depends="compile" description="generate jme jar file (effects)">
-               <jar jarfile="${jars}/jme-effects.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/effects/**/*.class, **/com/jmex/effects/**/data/*.*" />
-       </target>
-       <target name="dist-font" depends="compile" description="generate jme jar file (font)">
-               <jar jarfile="${jars}/jme-font.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/font2d/**/*.class,**/com/jmex/font3d/**/*.class" />
-       </target>
-       <target name="dist-gamestates" depends="compile" description="generate jme jar file (gamestates)">
-               <jar jarfile="${jars}/jme-gamestates.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/game/**/*.class" />
-       </target>
-       <target name="dist-model" depends="compile" description="generate jme jar file (model)">
-               <jar jarfile="${jars}/jme-model.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/model/**/*.class" excludes="**/com/jmex/model/collada/**" />
-       </target>
-       <target name="dist-collada" depends="compile" description="generate jme jar file (collada)">
-               <jar jarfile="${jars}/jme-collada.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/model/collada/**/*.class" />
-       </target>
-       <target name="dist-scene" depends="compile" description="generate jme jar file (scene)">
-               <jar jarfile="${jars}/jme-scene.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/scene/**/*.class" />
-       </target>
-       <target name="dist-terrain" depends="compile" description="generate jme jar file (terrain)">
-               <jar jarfile="${jars}/jme-terrain.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/terrain/**/*.class" />
-       </target>
-       <target name="dist-xml" depends="compile" description="generate jme jar file (xml)">
-               <jar jarfile="${jars}/jme-xml.jar" basedir="${class}" update="no" compress="true" includes="**/com/jmex/xml/**/*.class" />
-       </target>
-       <!-- Creates all the jME jars -->
-       <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" />
-
-       <target name="webdist-all" depends="dist-all" description="sign JARs for JNLP distribution">
-               <signjar jar="${jars}/jme.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-awt.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-swt.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-audio.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-editors.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-effects.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-font.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-gamestates.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-model.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-collada.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-scene.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-terrain.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jme-xml.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-       </target>
-
-       <!-- Generats javadoc -->
-       <target name="doc" depends="compile" description="generate the javadoc documentation">
-               <javadoc destdir="${doc}" useExternalFile="yes" author="true" version="true" use="true" package="yes" windowtitle="jME API" maxmemory="256m">
-                       <fileset dir="${src}/com">
-                               <include name="**/*.java" />
-                               <exclude name="**/jmex/model/collada/schema/**" />
-                       </fileset>
-               </javadoc>
-       </target>
-
-       <!-- Removes all compiled files and documentation, but leaves any created jars -->
-       <target name="clean" description="clean up">
-               <delete dir="${class}" />
-               <delete dir="${doc}" />
-               <delete>
-                       <fileset dir="${src}" includes="**/*.class" />
-                       <fileset dir="${release}" includes="jme*.jar" />
-                       <fileset dir="${webstart}" includes="*.jar" />
-               </delete>
-       </target>
-
-       <target name="rebuild" depends="clean" description="build from clean">
-               <ant />
-       </target>
-
-       <!-- *** jmetest-related build targets -->
-
-       <target name="compile-test" depends="compile" description="generate jme test classes">
-               <javac source="1.5" target="1.5" srcdir="${src}/jmetest" destdir="${class}"
-                       classpathref="classpath" fork="true" memoryMaximumSize="256m"
-                       debug="${javac.debug}"/>
-               <!-- copy the resources into the build directory -->
-               <copy todir="${class}/jmetest">
-                       <fileset dir="${src}/jmetest">
-                               <exclude name="**/*.java" />
-                       </fileset>
-               </copy>
-       </target>
-
-       <target name="dist-test" depends="compile-test" description="generate jme test class and data jars">
-               <!-- Jar the demo classes -->
-
-               <pathconvert property="jarclasspathlibs" pathsep=" " dirsep="/">
-                       <path>
-                               <fileset dir="${libs}">
-                                       <include name="*.jar" />
-                               </fileset>
-                       </path>
-                       <mapper type="regexp" from=".*(lib.*)" to="\1" />
-               </pathconvert>
-               <pathconvert property="jarclasspathrelease" pathsep=" " dirsep="/">
-                       <path>
-                               <fileset dir="${jars}">
-                                       <include name="*.jar" />
-                                       <exclude name="jmetest.jar" />
-                               </fileset>
-                       </path>
-                       <mapper type="regexp" from=".*target.(.*)" to="\1" />
-               </pathconvert>
-               <echo>${jarclasspathlibs} ${jarclasspathrelease}</echo>
-
-               <jar jarfile="${jars}/jmetest.jar" basedir="${class}" compress="true" excludes="**/jmetest/**/data/**,**/com/**" index="yes">
-                       <manifest>
-                               <attribute name="Implementation-Title" value="${name}" />
-                               <attribute name="Implementation-Vendor" value="${vendor}" />
-                               <attribute name="Version" value="${major}.${minor}" />
-                               <attribute name="Class-Path" value="${jarclasspathlibs} ${jarclasspathrelease}" />
-                               <attribute name="Main-Class" value="${mainclass}" />
-                       </manifest>
-               </jar>
-
-               <!-- Jar the demo data -->
-               <jar jarfile="${jars}/jmetest-data-cursor.jar" basedir="${class}" compress="true" includes="**/jmetest/data/cursor/**" />
-               <jar jarfile="${jars}/jmetest-data-images.jar" basedir="${class}" compress="true" includes="**/jmetest/data/images/**" />
-               <jar jarfile="${jars}/jmetest-data-model.jar" basedir="${class}" compress="true" includes="**/jmetest/data/model/**" />
-               <jar jarfile="${jars}/jmetest-data-skybox1.jar" basedir="${class}" compress="true" includes="**/jmetest/data/skybox1/**" />
-               <jar jarfile="${jars}/jmetest-data-sound.jar" basedir="${class}" compress="true" includes="**/jmetest/data/sound/**" />
-               <jar jarfile="${jars}/jmetest-data-texture.jar" basedir="${class}" compress="true" includes="**/jmetest/data/texture/**" />
-       </target>
-
-       <target name="webdist-test" depends="dist-test" description="sign test jars for Webstart distribution">
-               <signjar jar="${jars}/jmetest.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jmetest-data-cursor.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jmetest-data-images.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jmetest-data-model.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jmetest-data-skybox1.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jmetest-data-sound.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${jars}/jmetest-data-texture.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-       </target>
-
-       <!-- Jar and sign all the libraries required by jME -->
-       <target name="webdist-nativelibs" description="jar and sign native libraries for Webstart distribution">
-               <!--  Jar and sign the Windows libraries -->
-               <jar jarfile="${webstart}/lwjgl-windows.jar" basedir="lib" includes="lwjgl.dll" update="yes" />
-               <jar jarfile="${webstart}/openal-windows.jar" basedir="lib" includes="OpenAL32.dll" update="yes" />
-               <jar jarfile="${webstart}/jinput-windows.jar" basedir="lib" includes="jinput-dxplugin.dll" update="yes" />
-               <signjar jar="${webstart}/lwjgl-windows.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${webstart}/openal-windows.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${webstart}/jinput-windows.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-
-               <!-- Jar and sign Linux native libraries -->
-               <jar jarfile="${webstart}/lwjgl-linux.jar" basedir="lib" includes="liblwjgl.so" update="yes" />
-               <jar jarfile="${webstart}/openal-linux.jar" basedir="lib" includes="libopenal.so" update="yes" />
-               <jar jarfile="${webstart}/jinput-linux.jar" basedir="lib" includes="libjinput-linux.so" update="yes" />
-               <signjar jar="${webstart}/lwjgl-linux.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${webstart}/openal-linux.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${webstart}/jinput-linux.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-
-               <!-- Jar (eventually) and sign Mac native libraries -->
-               <jar jarfile="${webstart}/lwjgl-mac.jar" basedir="lib" includes="liblwjgl.jnilib" update="yes" />
-               <jar jarfile="${webstart}/openal-mac.jar" basedir="lib" includes="openal.dylib" update="yes" />
-               <!--fix me: shouldn't it be a jnilib?-->
-               <jar jarfile="${webstart}/jinput-mac.jar" basedir="lib" includes="libjinput.jnilib" update="yes" />
-
-               <signjar jar="${webstart}/lwjgl-mac.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${webstart}/openal-mac.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-               <signjar jar="${webstart}/jinput-mac.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-
-               <!-- Sign the lwjgl jar -->
-               <signjar jar="${seg}/lib/lwjgl.jar" alias="jme" keystore="${webstart}/${keyStore}" storepass="${storepass}" />
-       </target>
-
-       <target name="nightly" depends="webdist-all, webdist-nativelibs, webdist-test">
-               <echo>${libs}/*.jar</echo>
-               <zip zipfile="${release}/jME.zip">
-                       <zipfileset dir="${libs}" prefix="lib">
-                               <include name="*.jar" />
-                               <include name="*.dll" />
-                               <include name="*.so" />
-                               <include name="*.*lib" />
-                       </zipfileset>
-                       <fileset dir="${release}">
-                               <include name="*.jar" />
-                       </fileset>
-               </zip>
-               <zip zipfile="${release}/src.zip">
-                       <zipfileset dir="${src}" prefix="src">
-                               <include name="**/*.*" />
-                       </zipfileset>
-               </zip>
-               <!--        <mkdir dir="ftp"/>-->
-               <!--        <copy todir="ftp">-->
-               <ftp server="${ftphost}" userid="${ftpuser}" password="${ftppassword}" remotedir="nightly">
-                       <fileset dir="${webstart}">
-                               <include name="*.jar" />
-                               <include name="*.jnlp" />
-                       </fileset>
-                       <fileset dir="${libs}">
-                               <include name="*.jar" />
-                       </fileset>
-                       <fileset dir="${release}">
-                               <include name="*.jar" />
-                               <include name="jME.zip" />
-                               <include name="src.zip" />
-                       </fileset>
-               </ftp>
-               <!--        </copy>-->
-       </target>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="jME3-SDK" default="default" basedir=".">
+    <description>Builds, tests, and runs the jMonkeyEngine3 SDK.</description>
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    
+    <target name="default" depends="zip"/>
+
+<!--    <target name="build" description="Builds the complete SDK" depends="-check-platform, -update-sdk-platform-config">-->
+    <target name="build" description="Builds the complete SDK">
+        <ant dir="engine" target="update-sdk"/>
+        <ant dir="sdk" target="build"/>
+    </target>
+
+    <target name="build-engine" description="Builds the engine libraries only">
+        <ant dir="engine" target="clean"/>
+        <ant dir="engine" target="dist"/>
+    </target>
+
+    <target name="clean" description="Clean all build products">
+        <ant dir="engine" target="clean"/>
+        <ant dir="sdk" target="clean"/>
+    </target>
+
+    <target name="run" description="Runs the SDK">
+        <ant dir="engine" target="update-sdk"/>
+        <ant dir="sdk" target="run"/>
+    </target>
+
+    <target name="zip" description="Builds the complete SDK and packs it as a ZIP file" depends="build">
+        <propertyfile file="sdk/nbproject/project.properties"/>
+        <move file="sdk/dist/${app.name}.zip" tofile="./jMonkeyEngine-GDE-${app.version}.zip"/>
+    </target>
+    
+    <target name="update-platform" description="Updates the base platform to the latest available build" depends="-remove-platform,-check-platform"/>
+
+    <target name="-check-platform" depends="-check-platform-present" unless="platform.present">
+        <property file="sdk/nbproject/project.properties"/>
+        <echo message="Downloading base platform, this only has to be done once."/>
+        <!--get src="http://jmonkeyengine.googlecode.com/files/platform-base.zip" dest="./" skipexisting="true"/-->
+        <get src="http://jmonkeyengine.com/platform/base/alpha/platform-base.zip" dest="./" skipexisting="false"/>
+        <!--get src="http://jmonkeyengine.com/updates/${app.version}/platform-base.zip" dest="./" skipexisting="false"/-->
+        <unzip src="platform-base.zip" dest="./"/>
+        <antcall target="-update-sdk-platform-config"/>
+        <delete file="platform-base.zip"/>
+    </target>
+
+    <target name="-check-platform-present">
+        <available file="netbeans" property="platform.present"/>
+    </target>
+
+    <target name="-remove-platform">
+        <delete dir="netbeans" failonerror="false"/>
+    </target>
+
+    <target name="-update-sdk-platform-config">
+        <property name="nbplatform.dir" location="netbeans"/>
+        <mkdir dir="sdk/nbproject/private"/>
+        <echo file="sdk/nbproject/private/platform-private.properties"
+              message="nbplatform.default.netbeans.dest.dir=${nbplatform.dir}&#xD;&#xA;"/>
+        <echo file="sdk/nbproject/private/platform-private.properties"
+              message="nbplatform.default.harness.dir=${nbplatform.dir}${file.separator}harness&#xD;&#xA;" append="true"/>
+        <replace file="sdk/nbproject/private/platform-private.properties" token="\" value="\\"/>
+    </target>
+    
+    <!--
+       ****************************************************************
+       Only Relevant for building nightly on Hudson server from here on
+       ****************************************************************
+      -->
+      
+    <target name="hudson-nightly" depends="update-platform">
+        <exec executable="svn" dir="engine">
+            <arg value="update" />
+        </exec>
+        <ant dir="engine" target="dist"/>
+        <ant dir="engine" target="build-bullet-natives"/>
+        <ant dir="engine" target="update-sdk"/>
+        <ant dir="sdk" target="hudson-nightly"/>
+    </target>
+
+    <target name="hudson-stable" depends="update-platform">
+        <exec executable="svn" dir="engine">
+            <arg value="update" />
+        </exec>
+        <ant dir="engine" target="dist"/>
+        <ant dir="engine" target="build-bullet-natives"/>
+        <ant dir="engine" target="update-sdk"/>
+        <ant dir="sdk" target="hudson-stable"/>
+    </target>
 
 </project>