<?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" | | the 'gridworks' shell script does this and it's meant to be the way to invoke ant, | so running this script directly in ant is not suggested. +--> <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="lib.dir" value="${basedir}/lib" /> <property name="tools.dir" value="${basedir}/thirdparty" /> <property name="classes.dir" value="${build.dir}/classes" /> <property name="bundle.dir" value="${build.dir}/bundle" /> <property name="exe.dir" value="${build.dir}/exe" /> <path id="class.path"> <fileset dir="${lib.dir}"> <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="jar" depends="build"> <jar destfile="${build.dir}/gridworks.jar" basedir="${classes.dir}"/> </target> <target name="bundle" depends="jar"> <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="${basedir}/src/main/"> <include name="webapp/**" /> </resourcefileset> </jarbundler> </target> <target name="exe" depends="jar"> <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}.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" initialHeapPercent="10" maxHeapPercent="80"> <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}.jar"/> <copy todir="${exe.dir}/webapp"> <fileset dir="${basedir}/src/main/webapp"> <include name="**/*"/> </fileset> </copy> <zip destfile="${dist.dir}/gridworks-${version}.zip" basedir="${exe.dir}"/> </target> <target name="clean"> <delete file="${build.dir}/gridworks.jar" /> <delete dir="${classes.dir}" /> </target> <target name="distclean"> <delete dir="${build.dir}" /> <delete dir="${dist.dir}" /> </target> </project>