summaryrefslogtreecommitdiffstats
path: root/make/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'make/build.xml')
-rw-r--r--make/build.xml270
1 files changed, 270 insertions, 0 deletions
diff --git a/make/build.xml b/make/build.xml
new file mode 100644
index 000000000..c4ee35091
--- /dev/null
+++ b/make/build.xml
@@ -0,0 +1,270 @@
+
+<project name="JOGL_ALL" basedir="." default="all">
+
+ <import file="build-common.xml"/>
+
+ <target name="init" depends="common.init">
+ <!-- The javadoc dirs. -->
+ <property name="javadoc" value="${build}/javadoc_public" />
+ <property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" />
+ <property name="javadoc.overview" value="doc/jogl/spec-overview.html" />
+
+ <property name="javadoc.nw.overview" value="../src/nativewindow/classes/javax/media/nativewindow/package.html" />
+ <property name="javadoc.nw.spec" value="${build}/javadoc_nativewindow_spec" />
+ <property name="javadoc.nw.spec.windowtitle" value="NativeWindow API -- ${nativewindow_base_version} Specification" />
+ <property name="javadoc.nw.spec.packagenames" value="javax.media.nativewindow.*" />
+
+ <property name="javadoc.spec" value="${build}/javadoc_jogl_spec" />
+ <property name="javadoc.spec.windowtitle" value="JOGL API -- JSR-231 ${jogl_base_version} Specification" />
+ <property name="javadoc.spec.packagenames" value="javax.media.opengl.*" />
+
+ <property name="javadoc.windowtitle" value="JOGL, NativeWindow and NEWT APIs" />
+ <property name="javadoc.packagenames" value="${javadoc.nw.spec.packagenames},${javadoc.spec.packagenames},com.jogamp.opengl.util.*,com.jogamp.newt, com.jogamp.newt.event.*, com.jogamp.newt.opengl" />
+
+ <property name="javadoc.dev" value="${build}/javadoc_dev" />
+ <property name="javadoc.dev.packagenames" value="${javadoc.packagenames},com.jogamp.opengl.impl.*,com.jogamp.nativewindow.impl.*,com.jogamp.newt.*,com.sun.gluegen,com.jogamp.gluegen.runtime" />
+
+ <property name="java.excludes.javadoc.packagenames" value="com.jogamp.opengl.impl.gl2.fixme.*,com.jogamp.audio.windows.waveout.TestSpatialization"/>
+ <property name="javadoc.bottom" value="Copyright 2010 JogAmp Community." />
+
+ </target>
+
+ <target name="build.nativewindow" depends="init">
+ <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make}" target="all" inheritRefs="true" inheritAll="true"/>
+ </target>
+
+ <target name="build.jogl" depends="init">
+ <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="all" inheritRefs="true" inheritAll="true"/>
+ </target>
+
+ <target name="build.newt" depends="init">
+ <ant antfile="${newt.build.xml}" dir="${newt.make}" target="all" inheritRefs="true" inheritAll="true"/>
+ </target>
+
+ <target name="one-lib-dir" depends="init,gluegen.cpptasks.detect.os">
+ <delete includeEmptyDirs="true" quiet="true" dir="${lib}" failonerror="false" />
+ <mkdir dir="${lib}" />
+ <copy todir="${lib}">
+ <fileset dir="${gluegen.root}/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ </copy>
+ </target>
+
+ <target name="one-jar-dir" depends="init,gluegen.cpptasks.detect.os">
+ <delete includeEmptyDirs="true" quiet="true" dir="${jar}" failonerror="false" />
+ <mkdir dir="${jar}" />
+ <copy todir="${jar}">
+ <fileset dir="${gluegen.root}/${rootrel.build}" includes="gluegen-rt*.jar" />
+ <fileset dir="${build}/jogl" includes="*.jar" />
+ <fileset dir="${build}/nativewindow" includes="*.jar" />
+ <fileset dir="${build}/newt" includes="*.jar" />
+ </copy>
+ </target>
+
+ <target name="one-dir" depends="one-lib-dir,one-jar-dir"/>
+
+ <target name="repack-jars" depends="one-jar-dir">
+ <!-- Re-pack jars we have the intent to compress later, after signing -->
+ <mkdir dir="${jar}/orig" />
+ <copy todir="${jar}/orig">
+ <fileset dir="${jar}" includes="*.jar" />
+ </copy>
+ <apply dir="${jar}" executable="${java.home}/bin/pack200"
+ parallel="false"
+ vmlauncher="false"
+ relative="true"
+ failonerror="false">
+ <arg line="--repack"/>
+ <srcfile/>
+ <fileset dir="${jar}" includes="*.jar" />
+ </apply>
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Build the per-platform binary zip archive for developers.
+ - This must be called after all of the build targets complete.
+ -->
+
+ <target name="developer-zip-archive" depends="init" unless="build.noarchives">
+ <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" />
+ <mkdir dir="${archive}" />
+ <!-- Copy the appropriate pieces into the archive directory -->
+ <copy file="../CHANGELOG.txt" todir="${archive}" />
+ <copy file="../LICENSE.txt" todir="${archive}" />
+ <copy file="../doc/userguide/index.html" tofile="${archive}/Userguide.html" />
+ <copy file="README-zip-bundles.txt"
+ tofile="${archive}/README.txt"
+ overwrite="true">
+ <filterset>
+ <filter token="VERSION" value="${jogl.version}"/>
+ </filterset>
+ </copy>
+ <mkdir dir="${archive}/lib" />
+ <copy todir="${archive}/lib">
+ <fileset dir="${gluegen.root}/${rootrel.build}" includes="gluegen-rt.jar gluegen-rt-cdc.jar" />
+ <fileset dir="${gluegen.root}/${rootrel.build}/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ <fileset dir="${build}/jogl" includes="*.jar" excludes="*natives*.jar" />
+ <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ <fileset dir="${build}/nativewindow" includes="*.jar" excludes="*natives*.jar" />
+ <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ <fileset dir="${build}/newt" includes="*.jar" excludes="*natives*.jar" />
+ <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix} *.${native.library.suffix-cdc}" />
+ </copy>
+ <mkdir dir="${archive}/etc" />
+ <copy todir="${archive}/etc">
+ <fileset dir="${project.root}/etc" includes="*" />
+ </copy>
+ <delete quiet="true" file="${build}/${archive.name}.zip"/>
+ <zip destfile="${build}/${archive.name}.zip"
+ basedir="${build}"
+ includes="${archive.name}/**" />
+ <!-- Clean up after ourselves -->
+ <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Build the source archive for developers.
+ - This must be called after all of the build targets complete.
+ -->
+
+ <target name="source-archive" depends="init" unless="build.noarchives">
+ <!-- NOTE that if you are using multiple rootrel.build directories within the same
+ repository, the exclude lists here won't work well enough and you will wind up
+ archiving binary bits from other rootrel.build settings in the source archive.
+ This is inevitable given that we don't want to specialize this target to
+ explicitly include top level files and directories, to make it future-proof. -->
+ <delete quiet="true" file="${build}/jogl-${jogl.version}-src.zip"/>
+ <zip destfile="${build}/jogl-${jogl.version}-src.zip"
+ basedir="${project.root}/.."
+ excludes="${gluegen.root}/${rootrel.build}/**,${gluegen.root}/build/**${gluegen.root}/build-temp/**,jogl/${rootrel.build}/**,jogl/build/**,jogl/build-temp/**,jogl/www/**"
+ includes="${gluegen.root}/**, jogl/**" />
+ <!-- Now add in certain portions of the generated source code for developers -->
+ <zip update="true"
+ destfile="${build}/jogl-${jogl.version}-src.zip"
+ basedir="${project.root}/.."
+ includes="jogl/${rootrel.build}/jogl/gensrc/classes/javax/media/opengl/**" />
+ </target>
+
+ <target name="tag.build" depends="init">
+ <copy file="${build.gluegen}/artifact.properties" todir="${build}" overwrite="true"/>
+ <echo file="${build}/artifact.properties" message='jogl.build.number=${jogl.build.number}${line.separator}' append="true"/>
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Main build target.
+ -->
+
+ <target name="all" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,junit.compile,one-dir,tag.build,developer-zip-archive,source-archive" />
+
+ <target name="all.but-archives" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,junit.compile,one-dir" />
+
+ <target name="junit.compile">
+ <ant antfile="build-junit.xml" target="junit.compile" inheritRefs="true" inheritAll="true"/>
+ </target>
+
+ <target name="test" depends="junit.run"/>
+ <target name="junit.run" description="Run JUNIT tests in nativewindow, jogl and newt projects">
+ <ant antfile="build-junit.xml" target="junit.run" inheritRefs="true" inheritAll="true"/>
+ </target>
+
+ <target name="clean" depends="init">
+ <ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make}" target="clean" inheritRefs="true" inheritAll="true"/>
+ <ant antfile="${jogl.build.xml}" dir="${jogl.make}" target="clean" inheritRefs="true" inheritAll="true"/>
+ <ant antfile="${newt.build.xml}" dir="${newt.make}" target="clean" inheritRefs="true" inheritAll="true"/>
+ <delete includeEmptyDirs="true" quiet="true">
+ <fileset dir="${build}" />
+ </delete>
+ </target>
+
+ <target name="javadoc" depends="init">
+ <!-- Build the general public Javadoc -->
+ <javadoc packagenames="${javadoc.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${all.srcj.path};${all.genj.path}"
+ destdir="${javadoc}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ maxmemory="512m"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="jogl_newt_all.classpath"/>
+ <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" />
+ <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ <zip destfile="${build}/javadoc_public.zip"
+ basedir="${build}"
+ includes="javadoc_public/**" />
+ </target>
+
+ <target name="javadoc.jogl.spec" depends="init,javadoc.nw.spec">
+ <!-- Build the specification Javadoc -->
+ <javadoc packagenames="${javadoc.spec.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${all.srcj.path};${all.genj.path}"
+ destdir="${javadoc.spec}" windowtitle="${javadoc.spec.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ maxmemory="512m"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="jogl_newt_all.classpath"/>
+ <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" />
+ <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/>
+ <link offline="false" href="${javadoc.nw.spec}" />
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ <zip destfile="${build}/javadoc_jogl_spec.zip"
+ basedir="${build}"
+ includes="javadoc_jogl_spec/**" />
+ </target>
+
+ <target name="javadoc.dev" depends="init">
+ <!-- Build the internal developer Javadoc -->
+ <javadoc packagenames="${javadoc.dev.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${all.srcj.path};${all.genj.path}"
+ destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}"
+ overview="${javadoc.overview}"
+ source="1.4"
+ maxmemory="512m"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="jogl_newt_all.classpath"/>
+ <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" />
+ <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ <zip destfile="${build}/javadoc_dev.zip"
+ basedir="${build}"
+ includes="javadoc_dev/**" />
+ </target>
+
+ <target name="javadoc.nw.spec" depends="init">
+ <!-- Build the general Javadoc -->
+ <javadoc packagenames="${javadoc.nw.spec.packagenames}"
+ excludepackagenames="${java.excludes.javadoc.packagenames}"
+ sourcepath="${all.srcj.path};${all.genj.path}"
+ destdir="${javadoc.nw.spec}" windowtitle="${javadoc.nw.spec.windowtitle}"
+ overview="${javadoc.nw.overview}"
+ source="1.4"
+ maxmemory="512m"
+ bottom="${javadoc.bottom}" >
+ <classpath refid="jogl_newt_all.classpath"/>
+ <link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" />
+ <arg line="-J-Dnativetaglet.mapping=${basedir}/native-taglet.properties"/>
+ <taglet name="net.highteq.nativetaglet.NativeTaglet" path="${gluegen.jar}" />
+ </javadoc>
+ <zip destfile="${build}/javadoc_nativewindow_spec.zip"
+ basedir="${build}"
+ includes="javadoc_nativewindow_spec/**" />
+ </target>
+
+ <target name="javadoc.spec" description="Build Specifications JOGL and Nativewindow" depends="init,javadoc.jogl.spec" />
+
+ <target name="all.doc" description="Build NativeWindow, JOGL and NEWT docs" depends="init,javadoc,javadoc.spec,javadoc.dev" />
+
+</project>
+