aboutsummaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml197
1 files changed, 197 insertions, 0 deletions
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..b987df7
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0"?>
+<!-- Copyright 2003-2005 Elliotte Rusty Harold
+
+This file is part of XQuisitor.
+
+XQuisitor is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published
+by the Free Software Foundation; either version 2 of the License,
+or (at your option) any later version.
+
+XQuisitor is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with XQuisitor; if not, write to the
+Free Software Foundation, Inc.
+59 Temple Place, Suite 330
+-->
+<project name="XQuisitor2" default="help" basedir=".">
+ <description>
+ Build XQuisitor
+ </description>
+
+ <!-- set global properties for this build -->
+
+ <target name="init">
+ <tstamp/>
+ <property name="Name" value="XQuisitor2"/>
+ <property name="name" value="xquisitor2"/>
+ <property name="version" value="0.1"/>
+ <property name="year" value="2013"/>
+
+ <echo message="----------- ${Name} ${version} ------------"/>
+
+ <property name="debug" value="on"/>
+ <property name="optimize" value="on"/>
+ <property name="deprecation" value="on"/>
+
+ <property name="src.dir" value="./src"/>
+ <property name="lib.dir" value="./lib"/>
+ <property name="packages" value="com.snilius.xquery.*"/>
+
+ <property name="build.dir" value="./build"/>
+ <property name="build.src" value="./build/src"/>
+ <property name="build.dest" value="./build/classes"/>
+ <property name="build.javadocs" value="./build/apidocs"/>
+ <property name="dist.dir" value="./dist"/>
+ <property name="packaging" value="${src.dir}/packaging"/>
+
+ <filter token="year" value="${year}"/>
+ <filter token="version" value="${version}"/>
+ <filter token="date" value="${TODAY}"/>
+ <filter token="log" value="true"/>
+ <filter token="verbose" value="true"/>
+
+ <property name="saxon.jar" value="${lib.dir}/saxon8.jar"/>
+ <property name="macstubs.jar" value="${lib.dir}/AppleJavaExtensions.jar"/>
+
+ <path id="compile.class.path">
+ <pathelement location="${macstubs.jar}"/>
+ <pathelement location="${saxon.jar}"/>
+ </path>
+
+ </target>
+
+ <target name="help">
+ <echo>
+XQuisitor Build file
+-------------------------------------------------------------
+
+ available targets are:
+
+ help --> print this message
+ jar --> build the xquisitor.jar file
+ mac --> build XQuisitor.app Mac OS X application
+ compile --> compile the source code
+ clean --> clean up the build directory
+ dist --> the zip and .tar.gz files
+
+-------------------------------------------------------------
+ </echo>
+ </target>
+
+ <target name="prepare" depends="init">
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${build.src}"/>
+ <mkdir dir="${build.dest}"/>
+
+ <copy todir="${build.src}" filtering="yes">
+ <fileset dir="${src.dir}"/>
+ </copy>
+
+ </target>
+
+ <target name="compile" depends="prepare" description="Compile the source code">
+ <javac srcdir="${build.src}"
+ destdir="${build.dest}"
+ debug="${debug}"
+ optimize="${optimize}"
+ deprecation="yes">
+ <classpath refid="compile.class.path"/>
+ </javac>
+ <!-- copy properties files so they get jarred up -->
+ <copy todir="${build.dest}/com/snilius/xquery" filtering="yes">
+ <fileset dir="${build.src}/com/snilius/xquery" includes="*.properties"/>
+ </copy>
+
+ </target>
+
+ <target name="jar" depends="compile" description="Create xquisitor.jar">
+ <jar jarfile="${build.dir}/${name}-${version}.jar"
+ basedir="${build.dest}"
+ index="no"
+ compress="no">
+ <manifest>
+ <attribute name="Built-By" value="${user.name}"/>
+ <!-- <attribute name="Class-Path" value="${saxon.jar}"/> -->
+ <attribute name="Main-Class" value="com.snilius.xquery.XQuisitor"/>
+ </manifest>
+ </jar>
+
+ <!-- Don't distrivute this one because it bundles saxon too closely
+ with XQuisitor and the licenses conflict. However, this one
+ doesn't have CLASSPATH problems. -->
+ <jar jarfile="${build.dir}/${Name}.jar"
+ basedir="${build.dest}"
+ index="no"
+ compress="no">
+ <manifest>
+ <attribute name="Built-By" value="${user.name}"/>
+ <!-- <attribute name="Class-Path" value="${saxon.jar}"/> -->
+ <attribute name="Main-Class" value="com.snilius.xquery.XQuisitor"/>
+ </manifest>
+ <zipfileset src="${saxon.jar}" includes="**/*.class" />
+ </jar>
+ </target>
+
+ <target name="dist" depends="zip, tar.gz" />
+
+ <target name="zip" depends="jar" description="Build zip file for distro">
+ <zip destfile="${dist.dir}/${name}-${version}.zip">
+ <zipfileset prefix="XQuisitor" dir="."
+ excludes="**/*.zip, **/.thumbnails/**, **/.nautilus-metafile.xml, website/**, **/.project, **/.classpath, build/**, dist/**"/>
+ <zipfileset fullpath="XQuisitor/${name}-${version}.jar" dir="./${build.dir}" includes="${name}-${version}.jar"/>
+ </zip>
+ </target>
+
+ <target name="tar" depends="jar" description="Build tar file for distro">
+ <tar destfile="${dist.dir}/${name}-${version}.tar">
+ <tarfileset prefix="XQuisitor" dir="."
+ excludes="**/*.zip, **/.thumbnails/**, **/.nautilus-metafile.xml, website/**, **/.project, **/.classpath, build/**, dist/**"/>
+ <tarfileset fullpath="XQuisitor/${name}-${version}.jar" dir="./${build.dir}" includes="${name}-${version}.jar"/>
+ </tar>
+ </target>
+
+ <target name="tar.gz" depends="tar" description="Build tar.gz file for distro">
+ <gzip src="${dist.dir}/${name}-${version}.tar" zipfile="${dist.dir}/${name}-${version}.tar.gz"/>
+ </target>
+
+
+ <target name="mac" depends="jar">
+ <property name="appdir" value="${dist.dir}/${Name}.app"/>
+ <mkdir dir="${appdir}"/>
+ <mkdir dir="${appdir}/Contents"/>
+ <mkdir dir="${appdir}/Contents/MacOS"/>
+ <mkdir dir="${appdir}/Contents/Resources"/>
+ <mkdir dir="${appdir}/Contents/Resources/Java"/>
+ <copy file="${packaging}/JavaApplicationStub" todir="${appdir}/Contents/MacOS"/>
+ <exec executable="chmod">
+ <arg value="755"/>
+ <arg value="${appdir}/Contents/MacOS/JavaApplicationStub"/>
+ </exec>
+ <copy file="${packaging}/PkgInfo" todir="${dist.dir}/${Name}.app/Contents"/>
+ <copy file="${packaging}/Info.plist" todir="${dist.dir}/${Name}.app/Contents"/>
+ <copy file="${build.dir}/${name}-${version}.jar" todir="${appdir}/Contents/Resources/Java"/>
+ <copy todir="${appdir}/Contents/Resources/Java">
+ <fileset dir="${lib.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ </copy>
+ <exec executable="/Developer/Tools/SetFile">
+ <arg value="-a"/>
+ <arg value="B"/>
+ <arg value="${appdir}"/>
+ </exec>
+ </target>
+
+
+ <target name="clean" depends="init" description="Remove build files">
+ <delete dir="${build.dir}"/>
+ </target>
+
+</project>
+