aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/classes/build.xml')
-rw-r--r--src/classes/build.xml287
1 files changed, 287 insertions, 0 deletions
diff --git a/src/classes/build.xml b/src/classes/build.xml
new file mode 100644
index 0000000..6dcdf37
--- /dev/null
+++ b/src/classes/build.xml
@@ -0,0 +1,287 @@
+<?xml version="1.0"?>
+
+<!--
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Use is subject to license terms.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+ -->
+
+<!-- Ant file for building java classes and jar files -->
+<project name="Java 3D" default="jar-opt">
+
+ <path id="vecmath.debug.classpath">
+ <pathelement location="${vecmath_home}/build/debug/lib/ext/vecmath.jar"/>
+ </path>
+
+ <path id="vecmath.opt.classpath">
+ <pathelement location="${vecmath_home}/build/opt/lib/ext/vecmath.jar"/>
+ </path>
+
+ <target name="compile-debug">
+
+ <!-- Create the debug build directory structure used for compile -->
+ <mkdir dir="${build}/${platform}/debug/classes"/>
+
+ <!-- Create the directories used for compiling generated files -->
+ <property name="build-debug-gen" location="${build}/${platform}/debug/gen"/>
+ <mkdir dir="${build-debug-gen}/tools"/>
+ <mkdir dir="${build-debug-gen}/classes/javax/media/j3d"/>
+
+ <!-- Compile and execute the program to create the build time stamp class -->
+ <javac srcdir="${build-tools}"
+ destdir="${build-debug-gen}/tools"
+ source="1.4"
+ target="1.4"
+ debug="yes"
+ deprecation="on">
+ </javac>
+
+ <!-- Execute the time stamp generator -->
+ <java classname="MakeJ3dBuildInfo"
+ classpath="${build-debug-gen}/tools">
+ <arg value="-debug"/>
+ <arg value="${build-debug-gen}/classes"/>
+ </java>
+
+ <!-- Compile the java code from ${src} into ${build}/${platform}/debug/classes -->
+ <javac srcdir="${src}/classes/share:${src}/classes/${ostype}:${core_utils_src}/classes/share:${build-debug-gen}/classes"
+ destdir="${build}/${platform}/debug/classes"
+ source="1.4"
+ target="1.4"
+ debug="yes"
+ deprecation="off">
+ <classpath refid="vecmath.debug.classpath"/>
+ </javac>
+
+ <!-- Copy the I18N property files while retaining package location -->
+ <copy todir="${build}/${platform}/debug/classes">
+ <fileset dir="${src}/classes/share" includes="**/*.properties"/>
+ <fileset dir="${core_utils_src}/classes/share" includes="**/*.properties"/>
+ </copy>
+ </target>
+
+ <target name="compile-opt">
+
+ <!-- Create the opt build directory structure used for compile -->
+ <mkdir dir="${build}/${platform}/opt/classes"/>
+
+ <!-- Create the directories used for compiling generated files -->
+ <property name="build-opt-gen" location="${build}/${platform}/opt/gen"/>
+ <mkdir dir="${build-opt-gen}/tools"/>
+ <mkdir dir="${build-opt-gen}/classes/javax/media/j3d"/>
+
+ <!-- Compile and execute the program to create the build time stamp class -->
+ <javac srcdir="${build-tools}"
+ destdir="${build-opt-gen}/tools"
+ source="1.4"
+ target="1.4"
+ debug="no"
+ deprecation="on">
+ </javac>
+
+ <!-- Execute the time stamp generator -->
+ <java classname="MakeJ3dBuildInfo"
+ classpath="${build-opt-gen}/tools">
+ <arg value="${build-opt-gen}/classes"/>
+ </java>
+
+ <!-- Compile the java code from ${src} into ${build}/${platform}/opt/classes -->
+ <javac srcdir="${src}/classes/share:${src}/classes/${ostype}:${core_utils_src}/classes/share:${build-opt-gen}/classes"
+ destdir="${build}/${platform}/opt/classes"
+ source="1.4"
+ target="1.4"
+ debug="no"
+ deprecation="off">
+ <classpath refid="vecmath.opt.classpath"/>
+ </javac>
+
+ <!-- Copy the I18N property files while retaining package location -->
+ <copy todir="${build}/${platform}/opt/classes">
+ <fileset dir="${src}/classes/share" includes="**/*.properties"/>
+ <fileset dir="${core_utils_src}/classes/share" includes="**/*.properties"/>
+ </copy>
+ </target>
+
+ <target name="jar-debug">
+ <!-- Create the j3dcore and j3dutils jars directory -->
+ <mkdir dir="${build}/${platform}/debug/lib/ext"/>
+
+ <!-- Copy the copyright file and all license files for j3dcore.jar -->
+ <copy todir="${build}/${platform}/debug/classes/javax">
+ <fileset dir="${src}/.." includes="COPYRIGHT.txt"/>
+ <fileset dir="${src}/.." includes="*LICENSE*.txt"/>
+ </copy>
+
+ <!-- Copy the copyright file and all license files for j3dutils.jar -->
+ <copy todir="${build}/${platform}/debug/classes/com">
+ <fileset dir="${core_utils_home}" includes="COPYRIGHT.txt"/>
+ <fileset dir="${core_utils_home}" includes="*LICENSE*.txt"/>
+ </copy>
+
+ <!-- Put everything in ${build}/${platform}/debug/classes/javax into the j3dcore.jar file -->
+ <jar jarfile="${build}/${platform}/debug/lib/ext/j3dcore.jar"
+ manifest="${src}/classes/J3dVersion" update="yes"
+ compress="false">
+ <fileset dir="${build}/${platform}/debug/classes" includes="javax/**/*"/>
+ </jar>
+
+ <!-- Put everything in ${build}/${platform}/debug/classes/com into the j3dutils.jar file -->
+ <jar jarfile="${build}/${platform}/debug/lib/ext/j3dutils.jar"
+ manifest="${core_utils_src}/classes/ToolsVersion" update="yes"
+ compress="false">
+ <fileset dir="${build}/${platform}/debug/classes" includes="com/**/*"/>
+ </jar>
+ </target>
+
+ <target name="jar-opt">
+ <!-- Create the j3dcore and j3dutils jars directory -->
+ <mkdir dir="${build}/${platform}/opt/lib/ext"/>
+
+ <!-- Copy the copyright file and all license files for j3dcore.jar -->
+ <copy todir="${build}/${platform}/opt/classes/javax">
+ <fileset dir="${src}/.." includes="COPYRIGHT.txt"/>
+ <fileset dir="${src}/.." includes="*LICENSE*.txt"/>
+ </copy>
+
+ <!-- Copy the copyright file and all license files for j3dutils.jar -->
+ <copy todir="${build}/${platform}/opt/classes/com">
+ <fileset dir="${core_utils_home}" includes="COPYRIGHT.txt"/>
+ <fileset dir="${core_utils_home}" includes="*LICENSE*.txt"/>
+ </copy>
+
+ <!-- Put everything in ${build}/${platform}/opt/classes/javax into the j3dcore.jar file -->
+ <jar jarfile="${build}/${platform}/opt/lib/ext/j3dcore.jar"
+ manifest="${src}/classes/J3dVersion" update="yes"
+ compress="false">
+ <fileset dir="${build}/${platform}/opt/classes" includes="javax/**/*"/>
+ </jar>
+
+ <!-- Put everything in ${build}/${platform}/opt/classes/com into the j3dutils.jar file -->
+ <jar jarfile="${build}/${platform}/opt/lib/ext/j3dutils.jar"
+ manifest="${core_utils_src}/classes/ToolsVersion" update="yes"
+ compress="false">
+ <fileset dir="${build}/${platform}/opt/classes" includes="com/**/*"/>
+ </jar>
+ </target>
+
+ <target name="docs-jcp">
+ <!-- Create the build directory structure used by docs -->
+ <mkdir dir="${build}/${platform}/javadocs/docs-jcp"/>
+
+ <!-- Compile the javadoc from ${src} into ${build}/javadocs -->
+ <javadoc packagenames="javax.media.j3d.*,
+ javax.vecmath.*"
+ maxmemory="128m"
+ destdir="${build}/${platform}/javadocs/docs-jcp"
+ windowtitle="Java 3D ${version}">
+ <sourcepath>
+ <pathelement location="${src}/classes/share"/>
+ <pathelement location="${src}/classes/${ostype}"/>
+ <pathelement location="${core_utils_src}/classes/share"/>
+ <pathelement location="${vecmath_src}"/>
+ </sourcepath>
+ </javadoc>
+
+ <!-- Copy the copyright file -->
+ <copy todir="${build}/${platform}/javadocs/docs-jcp">
+ <fileset dir="${src}/.." includes="COPYRIGHT.txt"/>
+ </copy>
+ </target>
+
+ <target name="docs-private">
+ <!-- Create the build directory structure used by docs -->
+ <mkdir dir="${build}/${platform}/javadocs/docs-private"/>
+
+ <!--
+ ** TODO: there is an implicit dependency on "compile-opt",
+ ** since the J3dBuildInfo source file is only built as part of
+ ** that target. We don't want to make this an explicit
+ ** dependency because we don't want the time stamp regenerated.
+ **
+ ** Ideally, we should make a "time-stamp-opt" target that only
+ ** creates J3DBuildInfo.java if it doesn't exist, and a
+ ** "force-time-stamp-opt" target that unconditionally creates
+ ** it. The "docs-*" targets would depend on "time-stamp-opt"
+ ** while the "compile-opt" target would depend on
+ ** "force-time-stamp-opt"
+ -->
+
+ <!-- Compile the javadoc from ${src} into ${build}/javadocs -->
+ <javadoc packagenames="javax.media.j3d.*,
+ com.sun.j3d.*,
+ javax.vecmath.*"
+ maxmemory="128m"
+ private="true"
+ destdir="${build}/${platform}/javadocs/docs-private"
+ windowtitle="Java 3D ${version}">
+ <sourcepath>
+ <pathelement location="${src}/classes/share"/>
+ <pathelement location="${src}/classes/${ostype}"/>
+ <pathelement location="${build}/${platform}/opt/gen/classes"/>
+ <pathelement location="${core_utils_src}/classes/share"/>
+ <pathelement location="${vecmath_src}"/>
+ </sourcepath>
+ </javadoc>
+
+ <!-- Copy the copyright file -->
+ <copy todir="${build}/${platform}/javadocs/docs-private">
+ <fileset dir="${src}/.." includes="COPYRIGHT.txt"/>
+ </copy>
+ </target>
+
+ <target name="docs-public">
+ <!-- Create the build directory structure used by docs -->
+ <mkdir dir="${build}/${platform}/javadocs/docs-public"/>
+
+ <!-- Compile the javadoc from ${src} into ${build}/javadocs -->
+ <javadoc packagenames="javax.media.j3d.*,
+ com.sun.j3d.audioengines.*,
+ com.sun.j3d.loaders.*,
+ com.sun.j3d.utils.*,
+ javax.vecmath.*"
+ maxmemory="128m"
+ destdir="${build}/${platform}/javadocs/docs-public"
+ windowtitle="Java 3D ${version}">
+ <sourcepath>
+ <pathelement location="${src}/classes/share"/>
+ <pathelement location="${src}/classes/${ostype}"/>
+ <pathelement location="${core_utils_src}/classes/share"/>
+ <pathelement location="${vecmath_src}"/>
+ </sourcepath>
+ </javadoc>
+
+ <!-- Copy the copyright file -->
+ <copy todir="${build}/${platform}/javadocs/docs-public">
+ <fileset dir="${src}/.." includes="COPYRIGHT.txt"/>
+ </copy>
+ </target>
+
+ <target name="docs" depends="docs-jcp,docs-public,docs-private"/>
+
+ <target name="dist">
+ <!-- Create the distribution directory -->
+ <mkdir dir="${dist}/${platform}/lib/ext"/>
+
+ <!-- Copy the jar files -->
+ <copy todir="${dist}/${platform}/lib/ext">
+ <fileset dir="${build}/${platform}/opt/lib/ext" includes="*.jar"/>
+ <fileset dir="${vecmath_home}/build/opt/lib/ext" includes="vecmath.jar"/>
+ </copy>
+
+ <!-- Create the docs distribution directory -->
+ <mkdir dir="${dist}/${platform}/javadocs"/>
+
+ <!-- Put everything in ${build}/javadocs into the zip docname file -->
+ <zip zipfile="${dist}/${platform}/javadocs/${docname}.zip"
+ basedir="${build}/${platform}/javadocs/docs-public"/>
+ </target>
+
+</project>