cassandra/build.xml

122 lines
4.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="build" name="cassandra">
<property environment="env"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="basedir" value="."/>
<property name="build.src" value="${basedir}/src"/>
<property name="build.lib" value="${basedir}/lib"/>
<property name="build.dir" value="${basedir}/build"/>
<property name="build.classes" value="${build.dir}/classes"/>
<property name="test.dir" value="${basedir}/test"/>
<property name="test.classes" value="${basedir}/test/classes"/>
<property name="final.name" value="cassandra"/>
<!--
Add all the dependencies.
-->
<path id="cassandra.classpath">
<pathelement location="${build.classes}"/>
<fileset dir="${build.lib}">
<include name="**/*.jar" />
</fileset>
</path>
<!--
Setup the output directories.
-->
<target name="init">
<mkdir dir="${build.classes}"/>
<mkdir dir="${test.classes}"/>
</target>
<target name="clean">
<delete dir="${build.classes}"/>
<delete dir="${test.classes}"/>
</target>
<target depends="clean" name="cleanall"/>
<!--
This generates the CLI grammar files from Cli.g
-->
<target name="gen-cli-grammar">
<echo>Building Grammar ${build.src}/org/apache/cassandra/infrastructure/cli/Cli.g ....</echo>
<java classname="org.antlr.Tool"
classpath="${build.lib}/antlr-3.0.1.jar:${build.lib}/stringtemplate-3.0.jar:${build.lib}/antlr-2.7.7.jar"
fork="true">
<arg value="${build.src}/org/apache/cassandra/infrastructure/cli/Cli.g" />
</java>
</target>
<!--
This generates the CQL grammar files from Cql.g
-->
<target name="gen-cql-grammar">
<echo>Building Grammar ${build.src}/org/apache/cassandra/infrastructure/cql/compiler/parse/Cql.g ....</echo>
<java classname="org.antlr.Tool"
classpath="${build.lib}/antlr-3.0.1.jar:${build.lib}/stringtemplate-3.0.jar:${build.lib}/antlr-2.7.7.jar"
fork="true">
<arg value="${build.src}/org/apache/cassandra/infrastructure/cql/compiler/parse/Cql.g" />
</java>
</target>
<!--
The build target builds all the .class files
-->
<target depends="build-subprojects,build-project" name="build"/>
<target name="build-subprojects"/>
<target depends="init" name="build-project">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="${build.classes}">
<src path="${build.src}"/>
<classpath refid="cassandra.classpath"/>
</javac>
</target>
<!--
The jar target makes cassandra.jar output.
-->
<target name="jar" depends="build">
<jar jarfile="${build.dir}/${final.name}.jar"
basedir="${build.classes}">
<manifest>
<!-- <section name="org/apache/cassandra/infrastructure"> -->
<attribute name="Implementation-Title" value="Cassandra"/>
<attribute name="Implementation-Version" value="1.1"/>
<attribute name="Implementation-Vendor" value="Facebook"/>
<attribute name="Premain-Class" value="org.apache.cassandra.infrastructure.continuations.CAgent"/>
<!-- </section> -->
</manifest>
</jar>
</target>
<target name="build-test" depends="build" description="Build the Cassandra classes">
<javac
debug="${javac.debug}"
debuglevel="${javac.debuglevel}"
destdir="${test.classes}"
>
<classpath refid="cassandra.classpath"/>
<src path="${test.dir}"/>
</javac>
</target>
<taskdef resource="testngtasks" classpath="lib/testng-5.8-jdk15.jar"/>
<target name="test" depends="build-test">
<echo message="running tests"/>
<testng outputDir="${test.dir}/output"
haltOnFailure="true"
verbose="2">
<jvmarg value="-Dstorage-config=conf"/>
<classpath>
<path refid="cassandra.classpath" />
<pathelement location="${test.classes}"/>
</classpath>
<classfileset dir="${test.classes}" includes="**/*.class" />
</testng>
</target>
</project>