RandomSec/build.xml

249 lines
9.2 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!--+
|
| Gridworks Build File
|
+-->
<!--+
| NOTE: this script expects the 'build.dir' and 'dist.dir' properties to be set
| when invoking it. This is done like this
|
| ant -f build.xml -Dbuild.dir="/path/to/build/dir" -Ddist.dir="/path/to/dist/dir" -Drevision="r3934"
|
| Basically, this build file is designed to be invoked by the 'gridworks' shell
| script (this makes it easy to integrate into nightly-build and continuous
| integration systems).
+-->
<project name="gridworks" default="build" basedir=".">
<property environment="env"/>
<property name="src.dir" value="${basedir}/src/main/java" />
<property name="graphics.dir" value="${basedir}/src/graphics" />
<property name="conf.dir" value="${basedir}/src/conf" />
<property name="lib.dir" value="${basedir}/lib" />
<property name="tools.dir" value="${basedir}/thirdparty" />
<property name="tests.dir" value="${basedir}/tests" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="tests_classes.dir" value="${tests.dir}/classes" />
<property name="webapp.dir" value="${build.dir}/webapp" />
<property name="bundle.dir" value="${build.dir}/bundle" />
<property name="exe.dir" value="${build.dir}/exe" />
<property name="cli.name" value="gridworks-${version}" />
<property name="cli.dir" value="${build.dir}/cli/${cli.name}" />
<path id="class.path">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<path id="tests.class.path">
<path refid="class.path"/>
<fileset dir="${tests.dir}/lib">
<include name="**/*.jar" />
</fileset>
</path>
<target name="build">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" includeAntRuntime="no">
<classpath refid="class.path" />
</javac>
</target>
<target name="build_tests" depends="build">
<mkdir dir="${tests_classes.dir}" />
<javac srcdir="${tests.dir}/src" destdir="${tests_classes.dir}" debug="true" includeAntRuntime="no">
<classpath refid="tests.class.path" />
</javac>
</target>
<target name="jar" depends="build">
<jar destfile="${build.dir}/gridworks.jar" basedir="${classes.dir}"/>
</target>
<target name="prepare_webapp">
<mkdir dir="${webapp.dir}" />
<copy todir="${webapp.dir}">
<fileset dir="${basedir}/src/main/webapp">
<include name="**/*"/>
</fileset>
</copy>
<replace file="${webapp.dir}/scripts/version.js">
<replacefilter token="$VERSION" value="${version}"/>
<replacefilter token="$REVISION" value="${revision}"/>
</replace>
</target>
<target name="bundle" depends="jar, prepare_webapp">
<taskdef
name="jarbundler"
classname="net.sourceforge.jarbundler.JarBundler"
classpath="${tools.dir}/jarbundler-2.1.0.jar"
/>
<mkdir dir="${bundle.dir}"/>
<jarbundler
dir="${bundle.dir}"
name="Gridworks"
mainclass="com.metaweb.gridworks.Gridworks"
icon="${graphics.dir}/icon/gridworks.icns"
version="${version}"
infostring="Gridworks ${version}"
aboutmenuname="Gridworks"
workingdirectory="$APP_PACKAGE/Contents/Resources"
jvmversion="1.6+"
bundleid="com.metaweb.gridworks.Gridworks"
vmoptions="${java.options}"
antialiasedgraphics="true"
antialiasedtext="true"
liveresize="true"
growboxintrudes="true"
screenmenu="true">
<jarfileset dir="${lib.dir}">
<exclude name="**/.svn" />
<include name="**/*.jar" />
</jarfileset>
<jarfilelist dir="${build.dir}" files="gridworks.jar" />
<resourcefileset dir="${webapp.dir}">
<include name="**" />
</resourcefileset>
</jarbundler>
</target>
<target name="exe" depends="jar, prepare_webapp">
<mkdir dir="${exe.dir}"/>
<taskdef
name="launch4j"
classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${tools.dir}/launch4j/launch4j.jar:${tools.dir}/launch4j/lib/xstream.jar"
/>
<launch4j>
<config
headerType="console"
outfile="${exe.dir}/Gridworks.exe"
jarPath="lib/gridworks-${version}-${revision}.jar"
dontWrapJar="true"
icon="${graphics.dir}/icon/gridworks.ico">
<classPath mainClass="com.metaweb.gridworks.Gridworks">
<cp>lib/*.jar</cp>
</classPath>
<jre minVersion="1.6.0" jdkPreference="preferJre" initialHeapSize="256" maxHeapSize="1024">
<opt>-Djava.library.path=lib/native/windows</opt>
</jre>
<versionInfo
fileVersion="${num_version}.0.0"
txtFileVersion="${version}"
fileDescription="gridworks"
copyright="Copyright (c) 2010, Metaweb Technologies, Inc."
productVersion="${num_version}.0.0"
txtProductVersion="${num_version}.0.0"
productName="Gridworks"
companyName="Metaweb Technologies, Inc."
internalName="gridworks"
originalFilename="gridworks.exe"
/>
</config>
</launch4j>
<copy todir="${exe.dir}/lib">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy todir="${exe.dir}/lib/native/windows">
<fileset dir="${lib.dir}/native/windows">
<include name="*.dll"/>
</fileset>
</copy>
<copy file="${build.dir}/gridworks.jar" tofile="${exe.dir}/lib/gridworks-${version}-${revision}.jar"/>
<copy todir="${exe.dir}/src/main/webapp">
<fileset dir="${webapp.dir}">
<include name="**"/>
</fileset>
</copy>
<copy todir="${cli.dir}/licenses">
<fileset dir="${basedir}/licenses">
<include name="**"/>
</fileset>
</copy>
<copy file="${conf.dir}/gridworks.l4j.ini" tofile="${exe.dir}/gridworks.l4j.ini"/>
<copy file="${basedir}/README.txt" tofile="${exe.dir}/README.txt"/>
<copy file="${basedir}/LICENSE.txt" tofile="${exe.dir}/LICENSE.txt"/>
<zip destfile="${dist.dir}/gridworks-${version}-${revision}.zip" basedir="${exe.dir}"/>
</target>
<target name="cli" depends="jar, prepare_webapp">
<mkdir dir="${cli.dir}"/>
<copy todir="${cli.dir}/lib">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy todir="${cli.dir}/lib/native/windows">
<fileset dir="${lib.dir}/native/windows">
<include name="*.dll"/>
</fileset>
</copy>
<copy file="${build.dir}/gridworks.jar" tofile="${cli.dir}/lib/gridworks-${version}-${revision}.jar"/>
<copy todir="${cli.dir}/src/main/webapp">
<fileset dir="${webapp.dir}">
<include name="**"/>
</fileset>
</copy>
<copy todir="${cli.dir}/licenses">
<fileset dir="${basedir}/licenses">
<include name="**"/>
</fileset>
</copy>
<copy file="${basedir}/gridworks.ini" tofile="${cli.dir}/gridworks.ini"/>
<copy file="${basedir}/gridworks.bat" tofile="${cli.dir}/gridworks.bat"/>
<copy file="${basedir}/LICENSE.txt" tofile="${cli.dir}/LICENSE.txt"/>
<copy file="${basedir}/README.txt" tofile="${cli.dir}/README.txt"/>
<delete file="${cli.dir}/gridworks"/>
<zip destfile="${dist.dir}/gridworks-${version}-${revision}-cli.zip" basedir="${cli.dir}"/>
<delete file="${cli.dir}/gridworks.bat"/>
<delete dir="${cli.dir}/lib/native/windows"/>
<copy file="${basedir}/gridworks" tofile="${cli.dir}/gridworks"/>
<tar longfile="gnu" compression="gzip" destfile="${dist.dir}/gridworks-${version}-${revision}.tar.gz">
<tarfileset dir="${cli.dir}/.." filemode="755">
<include name="${cli.name}/gridworks"/>
</tarfileset>
<tarfileset dir="${cli.dir}/..">
<include name="${cli.name}/**"/>
<exclude name="${cli.name}/gridworks"/>
</tarfileset>
</tar>
</target>
<target name="clean">
<delete file="${build.dir}/gridworks.jar" />
<delete dir="${classes.dir}" />
<delete dir="${tests_classes.dir}" />
</target>
<target name="distclean">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
</target>
</project>