summaryrefslogtreecommitdiffstats
path: root/make/build.xml
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2009-06-17 03:42:28 +0000
committerKenneth Russel <[email protected]>2009-06-17 03:42:28 +0000
commit1ce689ce9383ac55c961f82903d60d1cc7b89246 (patch)
tree0faa128c7128ad3f1e9034e8ae3e48da909d8a25 /make/build.xml
parentdf341ba65d01a9562b45c77768efa37cc4733084 (diff)
Steps toward revamping the dist build. Changed individual builds to
produce the Java Web Start native library jar file, [project]-natives-[os.and-arch].jar, and the top-level build to produce the developer binary archive, jogl-[version]-[os.and.arch].zip, as well as the source archive, jogl-[version]-src.zip. (This was only possible thanks to Sven, who made all of the platforms' Java-level binaries identical.) More work coming to simplify the dist target and redo the associated nightly build scripts. Minor documentation updates; more needed. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1970 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make/build.xml')
-rw-r--r--make/build.xml82
1 files changed, 81 insertions, 1 deletions
diff --git a/make/build.xml b/make/build.xml
index 24bbec09a..0bf0d97a7 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -3,6 +3,10 @@
<import file="versions.xml" />
+ <!-- Pull in GlueGen cpptasks build file to pick up os.and.arch -->
+ <property name="gluegen.root" value="../../gluegen" />
+ <import file="${gluegen.root}/make/gluegen-cpptasks.xml" />
+
<target name="init">
<property name="project.root" value=".." />
<condition property="rootrel.build" value="build">
@@ -72,7 +76,83 @@
<ant antfile="${newt.build.xml}" dir="${newt.make.dir}" target="all" inheritAll="false"/>
</target>
- <target name="all" description="Build nativewindow, jogl and newt projects" depends="init,build.nativewindow,build.jogl,build.newt" />
+ <!-- ================================================================== -->
+ <!--
+ - Build the per-platform binary zip archive for developers.
+ - This must be called after all of the build targets complete.
+ -->
+
+ <target name="setup-version-RI" if="jogl.ri">
+ <property name="tmp.version" value="${jogl_base_version}" />
+ </target>
+
+ <target name="setup-version-non-RI" unless="jogl.ri">
+ <tstamp>
+ <format property="timestamp" pattern="yyyyMMdd"/>
+ </tstamp>
+ <property name="tmp.version" value="${jogl_base_version}-pre-${timestamp}" />
+ </target>
+
+ <target name="developer-zip-archive" depends="gluegen.cpptasks.detect.os,setup-version-RI,setup-version-non-RI">
+ <property name="archive.name" value="jogl-${tmp.version}-${os.and.arch}" />
+ <property name="archive.dir" value="${build}/${archive.name}" />
+ <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" failonerror="false" />
+ <mkdir dir="${archive.dir}" />
+ <!-- Copy the appropriate pieces into the archive directory -->
+ <copy file="../CHANGELOG.txt" todir="${archive.dir}" />
+ <copy file="../COPYRIGHT.txt" todir="${archive.dir}" />
+ <copy file="../LICENSE.txt" todir="${archive.dir}" />
+ <copy file="../doc/userguide/index.html" tofile="${archive.dir}/Userguide.html" />
+ <copy file="README-zip-bundles.txt"
+ tofile="${archive.dir}/README.txt"
+ overwrite="true">
+ <filterset>
+ <filter token="VERSION" value="${tmp.version}"/>
+ </filterset>
+ </copy>
+ <mkdir dir="${archive.dir}/lib" />
+ <copy file="${project.root}/../gluegen/${rootrel.build}/gluegen-rt.jar" todir="${archive.dir}/lib" />
+ <copy todir="${archive.dir}/lib">
+ <fileset dir="${project.root}/../gluegen/${rootrel.build}" includes="gluegen-rt.jar" />
+ <fileset dir="${project.root}/../gluegen/${rootrel.build}/obj" includes="*.${native.library.suffix}" />
+ <fileset dir="${build}/jogl" includes="*.jar" excludes="*natives*.jar" />
+ <fileset dir="${build}/jogl/obj" includes="*.${native.library.suffix}" />
+ <fileset dir="${build}/nativewindow" includes="*.jar" excludes="*natives*.jar" />
+ <fileset dir="${build}/nativewindow/obj" includes="*.${native.library.suffix}" />
+ <fileset dir="${build}/newt" includes="*.jar" excludes="*natives*.jar" />
+ <fileset dir="${build}/newt/obj" includes="*.${native.library.suffix}" />
+ </copy>
+ <zip destfile="${build}/${archive.name}.zip"
+ basedir="${build}"
+ includes="${archive.name}/**" />
+ <!-- Clean up after ourselves -->
+ <delete includeEmptyDirs="true" quiet="true" dir="${archive.dir}" 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="setup-version-RI,setup-version-non-RI">
+ <zip destfile="${build}/jogl-${tmp.version}-src.zip"
+ basedir="${project.root}/.."
+ excludes="gluegen/build/**,gluegen/build-temp/**,jogl/build/**,jogl/build-temp/**"
+ includes="gluegen/**, jogl/**" />
+ <!-- Now add in certain portions of the generated source code for developers -->
+ <zip update="true"
+ destfile="${build}/jogl-${tmp.version}-src.zip"
+ basedir="${project.root}/.."
+ includes="jogl/build/jogl/gensrc/classes/javax/media/opengl/**" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!--
+ - Main build target.
+ -->
+
+ <target name="all" description="Build nativewindow, jogl and newt projects" depends="init,build.nativewindow,build.jogl,build.newt,developer-zip-archive,source-archive" />
<target name="clean" depends="init">
<ant antfile="${nativewindow.build.xml}" dir="${nativewindow.make.dir}" target="clean" inheritAll="false"/>