7ce78776c6
ons for testings. Also tagged all broken tests as broken so that the tree is now green. Also used the test class as the logger name so that it's easier to groupt the logger verbosity based on java packages. git-svn-id: http://google-refine.googlecode.com/svn/trunk@922 7d457c2a-affb-35e4-300a-418c747d4874
396 lines
15 KiB
XML
396 lines
15 KiB
XML
<?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"/>
|
|
|
|
<condition property="version" value="trunk">
|
|
<not><isset property="version"/></not>
|
|
</condition>
|
|
|
|
<condition property="revision" value="rXXXX">
|
|
<not><isset property="revision"/></not>
|
|
</condition>
|
|
|
|
<condition property="full_version" value="0.0.0.0">
|
|
<not><isset property="full_version"/></not>
|
|
</condition>
|
|
|
|
<condition property="build.dir" value="build">
|
|
<not><isset property="build.dir"/></not>
|
|
</condition>
|
|
|
|
<condition property="dist.dir" value="dist">
|
|
<not><isset property="dist.dir"/></not>
|
|
</condition>
|
|
|
|
<property name="fullname" value="gridworks-${version}-${revision}" />
|
|
|
|
<property name="main.dir" value="${basedir}/main" />
|
|
|
|
<property name="webapp.dir" value="${main.dir}/webapp" />
|
|
<property name="webapp.src.dir" value="${main.dir}/src" />
|
|
<property name="webapp.lib.dir" value="${webapp.dir}/WEB-INF/lib" />
|
|
<property name="webapp.classes.dir" value="${webapp.dir}/WEB-INF/classes" />
|
|
|
|
<property name="server.dir" value="${basedir}/server" />
|
|
<property name="server.src.dir" value="${server.dir}/src" />
|
|
<property name="server.lib.dir" value="${server.dir}/lib" />
|
|
<property name="server.classes.dir" value="${server.dir}/classes" />
|
|
|
|
<property name="appengine.dir" value="${basedir}/appengine" />
|
|
<property name="appengine.src.dir" value="${appengine.dir}/src" />
|
|
<property name="appengine.lib.dir" value="${appengine.dir}/lib" />
|
|
<property name="appengine.classes.dir" value="${appengine.dir}/classes" />
|
|
|
|
<property name="tests.dir" value="${main.dir}/tests" />
|
|
<property name="server.tests.dir" value="${tests.dir}/server" />
|
|
<property name="server.tests.lib.dir" value="${server.tests.dir}/lib" />
|
|
<property name="server.tests.src.dir" value="${server.tests.dir}/src" />
|
|
<property name="server.tests.classes.dir" value="${server.tests.dir}/classes" />
|
|
|
|
<property name="graphics.dir" value="${basedir}/graphics" />
|
|
<property name="conf.dir" value="${basedir}/conf" />
|
|
<property name="tools.dir" value="${basedir}/tools" />
|
|
|
|
<property name="reports.dir" value="${build.dir}/reports" />
|
|
|
|
<property name="built.webapp.name" value="webapp" />
|
|
<property name="built.webapp.dir" value="${build.dir}/${built.webapp.name}" />
|
|
|
|
<property name="mac.dir" value="${build.dir}/mac" />
|
|
<property name="windows.dir" value="${build.dir}/windows" />
|
|
<property name="linux.name" value="gridworks-${version}" />
|
|
<property name="linux.dir" value="${build.dir}/linux/${linux.name}" />
|
|
|
|
<path id="server.class.path">
|
|
<fileset dir="${server.lib.dir}">
|
|
<include name="**/*.jar" />
|
|
</fileset>
|
|
<pathelement location="${server.classes.dir}"/>
|
|
</path>
|
|
|
|
<path id="webapp.class.path">
|
|
<fileset dir="${server.lib.dir}">
|
|
<include name="**/servlet-api*.jar" />
|
|
</fileset>
|
|
<fileset dir="${webapp.lib.dir}">
|
|
<include name="**/*.jar" />
|
|
</fileset>
|
|
<pathelement location="${webapp.classes.dir}"/>
|
|
</path>
|
|
|
|
<path id="tests.class.path">
|
|
<path refid="webapp.class.path"/>
|
|
<fileset dir="${server.tests.lib.dir}">
|
|
<include name="**/*.jar" />
|
|
</fileset>
|
|
</path>
|
|
|
|
<target name="build_server">
|
|
<mkdir dir="${server.classes.dir}" />
|
|
<javac srcdir="${server.src.dir}" destdir="${server.classes.dir}" debug="true" includeAntRuntime="no">
|
|
<classpath refid="server.class.path" />
|
|
</javac>
|
|
<copy file="${server.src.dir}/log4j.properties" tofile="${server.classes.dir}/log4j.properties"/>
|
|
</target>
|
|
|
|
<target name="build_webapp">
|
|
<mkdir dir="${webapp.classes.dir}" />
|
|
<javac destdir="${webapp.classes.dir}" debug="true" includeAntRuntime="no">
|
|
<src path="${webapp.src.dir}"/>
|
|
<classpath refid="webapp.class.path" />
|
|
</javac>
|
|
<copy file="${webapp.src.dir}/log4j.properties" tofile="${webapp.classes.dir}/log4j.properties"/>
|
|
</target>
|
|
|
|
<target name="build_tests" depends="build_webapp">
|
|
<mkdir dir="${server.tests.classes.dir}" />
|
|
<javac srcdir="${server.tests.src.dir}" destdir="${server.tests.classes.dir}" debug="true" includeAntRuntime="no">
|
|
<classpath refid="tests.class.path" />
|
|
</javac>
|
|
<copy file="${server.tests.src.dir}/tests.log4j.properties" tofile="${server.tests.classes.dir}/tests.log4j.properties"/>
|
|
</target>
|
|
|
|
<target name="build" depends="build_server, build_webapp"/>
|
|
|
|
<target name="jar_server" depends="build_server">
|
|
<jar destfile="${build.dir}/${fullname}-server.jar" basedir="${server.classes.dir}"/>
|
|
</target>
|
|
|
|
<target name="jar_webapp" depends="build_webapp">
|
|
<jar destfile="${build.dir}/${fullname}.jar" basedir="${webapp.classes.dir}"/>
|
|
</target>
|
|
|
|
<target name="jar" depends="jar_server, jar_webapp"/>
|
|
|
|
<target name="prepare_webapp" depends="jar_webapp">
|
|
<mkdir dir="${built.webapp.dir}" />
|
|
|
|
<copy todir="${built.webapp.dir}">
|
|
<fileset dir="${webapp.dir}">
|
|
<include name="**/*"/>
|
|
<exclude name="WEB-INF/classes/**"/>
|
|
<exclude name="WEB-INF/lib-src/**"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy file="${build.dir}/${fullname}.jar" tofile="${built.webapp.dir}/WEB-INF/lib/${fullname}.jar"/>
|
|
|
|
<replace file="${built.webapp.dir}/scripts/version.js">
|
|
<replacefilter token="$VERSION" value="${version}"/>
|
|
<replacefilter token="$REVISION" value="${revision}"/>
|
|
</replace>
|
|
</target>
|
|
|
|
<target name="mac" depends="jar, prepare_webapp">
|
|
<taskdef
|
|
name="jarbundler"
|
|
classname="net.sourceforge.jarbundler.JarBundler"
|
|
classpath="${jarbundler.dir}/jarbundler-2.1.0.jar"
|
|
/>
|
|
|
|
<mkdir dir="${mac.dir}"/>
|
|
|
|
<jarbundler
|
|
dir="${mac.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="-Xms256M -Xmx1024M -Dgridworks.version=${revision}"
|
|
antialiasedgraphics="true"
|
|
antialiasedtext="true"
|
|
liveresize="true"
|
|
growboxintrudes="true"
|
|
screenmenu="true">
|
|
<jarfilelist dir="${build.dir}" files="${fullname}-server.jar" />
|
|
<jarfileset dir="${server.lib.dir}">
|
|
<exclude name="**/.svn" />
|
|
<include name="**/*.jar" />
|
|
</jarfileset>
|
|
<resourcefileset dir="${built.webapp.dir}/..">
|
|
<include name="${built.webapp.name}/**" />
|
|
</resourcefileset>
|
|
</jarbundler>
|
|
</target>
|
|
|
|
<target name="windows" depends="jar, prepare_webapp">
|
|
<mkdir dir="${windows.dir}"/>
|
|
<taskdef
|
|
name="launch4j"
|
|
classname="net.sf.launch4j.ant.Launch4jTask"
|
|
classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar"
|
|
/>
|
|
<launch4j>
|
|
<config
|
|
headerType="console"
|
|
outfile="${windows.dir}/Gridworks.exe"
|
|
jarPath="server/lib/${fullname}-server.jar"
|
|
dontWrapJar="true"
|
|
icon="${graphics.dir}/icon/gridworks.ico">
|
|
<classPath mainClass="com.metaweb.gridworks.Gridworks">
|
|
<cp>server/lib/*.jar</cp>
|
|
</classPath>
|
|
<jre minVersion="1.6.0" jdkPreference="preferJre" initialHeapSize="256" maxHeapSize="1024">
|
|
<opt>-Djava.library.path=server/lib/native/windows -Dgridworks.version=${revision}</opt>
|
|
</jre>
|
|
<versionInfo
|
|
fileVersion="${full_version}"
|
|
txtFileVersion="${version}"
|
|
fileDescription="gridworks"
|
|
copyright="Copyright (c) 2010, Metaweb Technologies, Inc."
|
|
productVersion="${full_version}"
|
|
txtProductVersion="${full_version}"
|
|
productName="Gridworks"
|
|
companyName="Metaweb Technologies, Inc."
|
|
internalName="gridworks"
|
|
originalFilename="gridworks.exe"
|
|
/>
|
|
</config>
|
|
</launch4j>
|
|
<copy file="${build.dir}/${fullname}-server.jar" tofile="${windows.dir}/server/lib/${fullname}-server.jar"/>
|
|
<copy todir="${windows.dir}/server/lib">
|
|
<fileset dir="${server.lib.dir}">
|
|
<include name="**/*.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="${windows.dir}/server/lib/native/windows">
|
|
<fileset dir="${server.lib.dir}/native/windows">
|
|
<include name="*.dll"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${windows.dir}/webapp">
|
|
<fileset dir="${built.webapp.dir}">
|
|
<include name="**"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${windows.dir}/licenses">
|
|
<fileset dir="${basedir}/licenses">
|
|
<include name="**"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy file="${conf.dir}/gridworks.l4j.ini" tofile="${windows.dir}/gridworks.l4j.ini"/>
|
|
<copy file="${basedir}/gridworks.bat" tofile="${windows.dir}/gridworks.bat"/>
|
|
<copy file="${basedir}/gridworks.ini" tofile="${windows.dir}/gridworks.ini"/>
|
|
<copy file="${basedir}/README.txt" tofile="${windows.dir}/README.txt"/>
|
|
<copy file="${basedir}/LICENSE.txt" tofile="${windows.dir}/LICENSE.txt"/>
|
|
|
|
<zip destfile="${dist.dir}/gridworks-${version}-${revision}.zip" basedir="${windows.dir}"/>
|
|
</target>
|
|
|
|
<target name="linux" depends="jar, prepare_webapp">
|
|
<mkdir dir="${linux.dir}"/>
|
|
|
|
<copy todir="${linux.dir}/server/lib">
|
|
<fileset dir="${server.lib.dir}">
|
|
<include name="**/*.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy file="${build.dir}/${fullname}-server.jar" tofile="${linux.dir}/server/lib/${fullname}-server.jar"/>
|
|
|
|
<copy todir="${linux.dir}/webapp">
|
|
<fileset dir="${built.webapp.dir}">
|
|
<include name="**"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${linux.dir}/licenses">
|
|
<fileset dir="${basedir}/licenses">
|
|
<include name="**"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy file="${basedir}/gridworks.ini" tofile="${linux.dir}/gridworks.ini"/>
|
|
<copy file="${basedir}/LICENSE.txt" tofile="${linux.dir}/LICENSE.txt"/>
|
|
<copy file="${basedir}/README.txt" tofile="${linux.dir}/README.txt"/>
|
|
<copy file="${basedir}/gridworks" tofile="${linux.dir}/gridworks"/>
|
|
|
|
<tar longfile="gnu" compression="gzip" destfile="${dist.dir}/gridworks-${version}-${revision}.tar.gz">
|
|
<tarfileset dir="${linux.dir}/.." filemode="755">
|
|
<include name="${linux.name}/gridworks"/>
|
|
</tarfileset>
|
|
<tarfileset dir="${linux.dir}/..">
|
|
<include name="${linux.name}/**"/>
|
|
<exclude name="${linux.name}/gridworks"/>
|
|
</tarfileset>
|
|
</tar>
|
|
</target>
|
|
|
|
<target name="prepare_reports">
|
|
<mkdir dir="${reports.dir}" />
|
|
</target>
|
|
|
|
<target name="findbugs" depends="build,prepare_reports">
|
|
<taskdef
|
|
name="findbugs"
|
|
classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
|
|
classpath="${findbugs.dir}/lib/findbugs-ant.jar"
|
|
/>
|
|
<findbugs jvmargs="-Xmx1024m" home="${findbugs.dir}" output="html" outputFile="${reports.dir}/findbugs.html" >
|
|
<auxClasspath refid="webapp.class.path" />
|
|
<sourcePath path="${webapp.src.dir}" />
|
|
<class location="${webapp.classes.dir}" />
|
|
</findbugs>
|
|
</target>
|
|
|
|
<target name="pmd" depends="prepare_reports">
|
|
<path id="pmd.path">
|
|
<fileset dir="${pmd.dir}/lib" includes="*.jar"/>
|
|
</path>
|
|
<taskdef
|
|
name="pmd"
|
|
classname="net.sourceforge.pmd.ant.PMDTask"
|
|
classpathref="pmd.path"
|
|
/>
|
|
<pmd rulesetfiles="${conf.dir}/pmd.rules.xml" targetjdk="1.6" encoding="UTF-8">
|
|
<formatter type="html" toFile="${reports.dir}/pmd.html" toConsole="true"/>
|
|
<fileset dir="${server.src.dir}">
|
|
<include name="**/*.java"/>
|
|
</fileset>
|
|
<fileset dir="${webapp.src.dir}">
|
|
<include name="**/*.java"/>
|
|
</fileset>
|
|
<fileset dir="${server.tests.src.dir}">
|
|
<include name="**/*.java"/>
|
|
</fileset>
|
|
</pmd>
|
|
</target>
|
|
|
|
<target name="cpd" depends="prepare_reports">
|
|
<path id="pmd.path">
|
|
<fileset dir="${pmd.dir}/lib" includes="*.jar"/>
|
|
</path>
|
|
<taskdef
|
|
name="cpd"
|
|
classname="net.sourceforge.pmd.cpd.CPDTask"
|
|
classpathref="pmd.path"
|
|
/>
|
|
<cpd minimumTokenCount="100" outputFile="${reports.dir}/cpd.txt" encoding="UTF-8">
|
|
<fileset dir="${server.src.dir}">
|
|
<include name="**/*.java"/>
|
|
</fileset>
|
|
<fileset dir="${webapp.src.dir}">
|
|
<include name="**/*.java"/>
|
|
</fileset>
|
|
</cpd>
|
|
</target>
|
|
|
|
<target name="jslint" depends="prepare_reports">
|
|
<path id="jslint.path">
|
|
<fileset dir="${jslint.dir}" includes="*.jar"/>
|
|
</path>
|
|
<taskdef
|
|
name="jslint"
|
|
classname="com.googlecode.jslint4java.ant.JSLintTask"
|
|
classpathref="jslint.path"
|
|
/>
|
|
<jslint>
|
|
<formatter type="plain" destfile="${reports.dir}/jslint.txt" />
|
|
<fileset dir="${webapp.dir}/scripts">
|
|
<include name="**/*.js" />
|
|
</fileset>
|
|
</jslint>
|
|
</target>
|
|
|
|
<target name="clean">
|
|
<delete file="${build.dir}/${fullname}.jar" />
|
|
<delete file="${build.dir}/${fullname}-server.jar" />
|
|
<delete dir="${server.classes.dir}" />
|
|
<delete dir="${webapp.classes.dir}" />
|
|
<delete dir="${server.tests.classes.dir}" />
|
|
</target>
|
|
|
|
<target name="distclean" depends="clean">
|
|
<delete dir="${build.dir}" />
|
|
<delete dir="${dist.dir}" />
|
|
<delete dir="${tools.dir}" />
|
|
</target>
|
|
|
|
</project>
|