Revision 7d77574c1b4d1ceaebe50fa7499d4a294620101c authored by Bhupesh Bansal on 13 January 2009, 19:36:08 UTC, committed by Bhupesh Bansal on 13 January 2009, 19:36:08 UTC
1 parent b373eaa
build.xml
<?xml version="1.0"?>
<project name="voldemort" basedir="." default="all">
<property file="build.properties"/>
<property name="name" value="voldemort"/>
<property name="display.name" value="Voldemort"/>
<property name="author" value="Jay Kreps"/>
<path id="main-classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement path="${classes.dir}"/>
</path>
<path id="test-classpath">
<path refid="main-classpath"/>
<pathelement path="${testclasses.dir}"/>
</path>
<macrodef name="replace-dir">
<attribute name="dir"/>
<sequential>
<delete dir="@{dir}"/>
<mkdir dir="@{dir}"/>
</sequential>
</macrodef>
<target name="all" depends="clean, jar, war, test" description="Build all artifacts." />
<target name="usage">
<echo message=""/>
<echo message="${name} build file"/>
<echo message="-----------------------------------"/>
<echo message=""/>
<echo message="Available targets are:"/>
<echo message=""/>
<echo message="build -- Build the application"/>
<echo message="client -- Build a jar file for clients to use"/>
<echo message="jar -- Build a jar file for the client."/>
<echo message="war -- Build a war file for deploying the server to a servlet container"/>
<echo message="docs -- Create html documentation"/>
<echo message="clean -- Delete generated files"/>
<echo message=""/>
</target>
<target name="clean" description="Delete generated files.">
<delete dir="${dist.dir}" />
<replace-dir dir="${javadoc.dir}"/>
</target>
<target name="build" description="Compile main source tree java files">
<replace-dir dir="${classes.dir}"/>
<!-- copy non-java files to classes dir to load from classpath -->
<copy todir="${classes.dir}">
<fileset dir="${java.dir}">
<exclude name="**/*.java"/>
</fileset>
</copy>
<javac destdir="${classes.dir}" target="1.5" debug="true" deprecation="true" failonerror="true">
<src path="${java.dir}"/>
<classpath refid="main-classpath"/>
</javac>
<buildnumber file="build_number.txt"/>
</target>
<target name="test" depends="build, buildtest" description="Build test jar file">
<jar destfile="${dist.dir}/${name}-test.jar">
<fileset dir="${testclasses.dir}"/>
</jar>
</target>
<target name="jar" depends="build" description="Build server jar file">
<jar destfile="${dist.dir}/${name}.jar">
<fileset dir="${classes.dir}">
<include name="**/*.*"/>
</fileset>
<!-- include src code for ide convenience -->
<fileset dir="${java.dir}" />
</jar>
</target>
<target name="utils" depends="build" description="Build a jar file with voldemort util classes.">
<tstamp>
<format property="TODAY" pattern="yyyy-MM-dd" locale="en,US"/>
</tstamp>
<jar destfile="${dist.dir}/${name}-utils-${TODAY}.jar">
<fileset dir="${classes.dir}">
<include name="voldemort/VoldemortException.class"/>
<include name="voldemort/Serializer.class"/>
<include name="voldemort/serialization/SerializationException.class"/>
<include name="voldemort/serialization/json/*"/>
<include name="voldemort/utils/*"/>
</fileset>
</jar>
</target>
<target name="buildtest" description="Compile test classes">
<replace-dir dir="${testclasses.dir}"/>
<javac destdir="${testclasses.dir}" target="1.5" debug="true" deprecation="true" failonerror="true">
<src path="${unittestsrc.dir}"/>
<src path="${inttestsrc.dir}"/>
<src path="${commontestsrc.dir}"/>
<classpath refid="main-classpath"/>
</javac>
</target>
<target name="junit" depends="build, buildtest" description="Run junit tests.">
<replace-dir dir="${testreport.dir}"/>
<replace-dir dir="${testhtml.dir}"/>
<junit printsummary="yes" showoutput="true">
<classpath refid="test-classpath"/>
<formatter type="xml"/>
<batchtest fork="yes" todir="${testreport.dir}">
<fileset dir="${unittestsrc.dir}">
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
<junitreport todir="${testhtml.dir}">
<fileset dir="${testreport.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report todir="${testhtml.dir}" styledir="junitreport" format="frames" />
</junitreport>
</target>
<target name="war" depends="build" description="Build server war file">
<war destfile="${dist.dir}/${name}.war" webxml="web.xml" basedir="${classes.dir}">
<classes dir="${classes.dir}"/>
<lib dir="${lib.dir}">
<exclude name="${lib.dir}/servlet-api.jar"/>
<exclude name="${lib.dir}/src/**"/>
</lib>
</war>
</target>
<target name="docs" description="Create complete Javadoc documentation">
<replace-dir dir="${javadoc.dir}"/>
<javadoc sourcepath="${java.dir}" destdir="${javadoc.dir}" windowtitle="${display.name}"
source="1.5" author="true" version="true" use="true" packagenames="*">
<doctitle>${display.name}</doctitle>
<bottom>${author}</bottom>
<classpath refid="main-classpath"/>
</javadoc>
</target>
<target name="redeploy" depends="war, deploy">
</target>
<taskdef file="tomcat-tasks.properties">
<classpath>
<path location="${lib.dir}/catalina-ant.jar"/>
</classpath>
</taskdef>
<target name="list" description="List Tomcat applications">
<list url="${tomcat.manager.url}"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}"/>
</target>
<target name="deploy" description="Deploy application" depends="war">
<deploy url="${tomcat.manager.url}"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}"
path="${tomcat.context}"
update="true"
war="file:${dist.dir}/${name}.war"/>
</target>
<target name="undeploy" description="Undeploy application">
<undeploy url="${tomcat.manager.url}"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}"
path="${tomcat.context}"/>
</target>
</project>
Computing file changes ...