Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: Branch_JGroups…
Fetching contributors…

Cannot retrieve contributors at this time

415 lines (354 sloc) 16.584 kB
<?xml version="1.0"?>
<!-- $Id: build.xml,v 1.55.2.1 2006/07/10 14:19:41 belaban Exp $ -->
<project name="JGroups" default="compile" basedir=".">
<description>
build.xml file for JGroups. Needs Ant (jakarta.apache.org) to run
</description>
<property file="build.properties"/>
<property name="root.dir" value="${basedir}"/>
<property name="src.dir" value="${root.dir}/src"/>
<property name="tests.dir" value="${root.dir}/tests/other"/>
<property name="junit.dir" value="${root.dir}/tests/junit"/>
<property name="stress.dir" value="${root.dir}/tests/stress"/>
<property name="perf.dir" value="${root.dir}/tests/perf"/>
<property name="compile.dir" value="${root.dir}/classes"/>
<property name="lib.dir" value="${root.dir}/lib"/>
<property name="license.dir" value="${lib.dir}/licenses"/>
<property name="dist.dir" value="${root.dir}/dist"/>
<property name="tmp.dir" value="${root.dir}/tmp"/>
<property name="doc.dir" value="${root.dir}/doc"/>
<property name="javadoc.dir" value="${dist.dir}/javadoc"/>
<property name="conf.dir" value="${root.dir}/conf"/>
<property name="keystore.dir" value="${root.dir}/keystore"/>
<property name="build.compiler.emacs" value="true"/>
<property name="javadoc.packages" value="org.jgroups.*"/>
<property name="unittest.timeout.low" value="120000"/>
<property name="unittest.timeout.high" value="280000"/>
<property name="version" value="2.3SP1"/>
<path id="jg.classpath">
<pathelement location="${compile.dir}"/>
<pathelement location="${conf.dir}"/>
<pathelement location="${keystore.dir}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<target name="prepare">
<property environment="env"/>
<mkdir dir="${compile.dir}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${javadoc.dir}"/>
</target>
<target name="compile"
depends="prepare"
description="Compiles are Java files">
<javac destdir="${compile.dir}"
source="1.4"
classpathref="jg.classpath"
debug="on"
deprecation="off"
optimize="off"
listfiles="false"
includes="org/jgroups/**">
<exclude name="**/obsolete/**"/>
<exclude name="**/*1_5*"/>
<src path="${src.dir}"/>
<src path="${tests.dir}"/>
<src path="${junit.dir}"/>
<src path="${stress.dir}"/>
<src path="${perf.dir}"/>
</javac>
</target>
<target name="compile-1.5"
depends="prepare"
description="Compiles are Java files (including files dependent on JDK 1.5)">
<javac destdir="${compile.dir}"
source="1.5"
classpathref="jg.classpath"
debug="on"
deprecation="off"
optimize="off"
listfiles="false"
includes="org/jgroups/**">
<exclude name="**/obsolete/**"/>
<src path="${src.dir}"/>
<src path="${tests.dir}"/>
<src path="${junit.dir}"/>
<src path="${stress.dir}"/>
<src path="${perf.dir}"/>
</javac>
</target>
<target name="draw" depends="compile">
<java classname="org.jgroups.demos.Draw" classpathref="jg.classpath"/>
</target>
<target name="jar"
description="Compiles and creates JAR files in the ./dist directory"
depends="compile,
jgroups-all.jar,
jgroups-core.jar">
</target>
<target name="jar-1.5"
description="Compiles for 1.5 and creates JAR files in the ./dist directory"
depends="compile-1.5,
jgroups-all.jar,
jgroups-core.jar">
</target>
<target name="jgroups-all.jar"
description="Creates the jgroups-all.jar (includes everything)">
<jar destfile="${dist.dir}/jgroups-all.jar"
basedir="${compile.dir}"
manifest="${conf.dir}/manifest.mf"
includes="org/jgroups/**">
<fileset dir="${conf.dir}" includes="*.dtd, *.xml" excludes="jboss-service.xml" />
</jar>
</target>
<target name="jgroups-core.jar"
description="Creates the jgroups-core.jar. Includes only core file, no demos" depends="compile">
<mkdir dir="${dist.dir}"/>
<jar jarfile="${dist.dir}/jgroups-core.jar"
basedir="${compile.dir}"
manifest="${conf.dir}/manifest.mf"
includes="org/jgroups/**"
excludes="org/jgroups/demos/**,
org/jgroups/tests/**,
org/jgroups/**/*Test.class,
org/jgroups/**/*Test\$*.class">
<fileset dir="${conf.dir}" includes="*.dtd, *.xml" excludes="*-service.xml"/>
</jar>
</target>
<target name="dist" description="Creates the distribution ZIP files in ./dist">
<antcall target="src-dist"/>
<antcall target="bin-dist"/>
</target>
<target name="src-dist" depends="clean">
<echo message="Creating source distribution ${dist.dir}/JGroups-${version}.src.zip"/>
<mkdir dir="${tmp.dir}/JGroups-${version}.src"/>
<copy todir="${tmp.dir}/JGroups-${version}.src">
<fileset dir="${root.dir}">
<exclude name="*CVS*"/>
<exclude name="doc/progguide/**"/>
<exclude name="doc/usersguide/**"/>
</fileset>
</copy>
<mkdir dir="${dist.dir}"/>
<zip zipfile="${dist.dir}/JGroups-${version}.src.zip" basedir="${tmp.dir}" filesonly="true"/>
<delete dir="${tmp.dir}" failonerror="false"/>
</target>
<target name="bin-dist" depends="jar">
<echo message="Creating binary distribution ${dist.dir}/JGroups-${version}.bin.zip"/>
<mkdir dir="${tmp.dir}/JGroups-${version}.bin"/>
<copy todir="${tmp.dir}/JGroups-${version}.bin">
<fileset dir="${root.dir}">
<include name="CREDITS"/>
<include name="INSTALL.html"/>
</fileset>
<fileset dir="${lib.dir}">
<include name="commons-logging*.jar"/>
<include name="log4j*.jar"/>
<include name="concurrent*.jar"/>
<include name="jmx*.jar"/>
<include name="licenses/*"/>
</fileset>
<fileset dir="${dist.dir}">
<include name="jgroups-all*.jar"/>
</fileset>
</copy>
<mkdir dir="${dist.dir}"/>
<zip zipfile="${dist.dir}/JGroups-${version}.bin.zip" basedir="${tmp.dir}" filesonly="true"/>
<delete dir="${tmp.dir}" failonerror="false"/>
</target>
<target name="gossip-service"
description="Creates the service archive used to deploy GossipServer as a JBoss MBean"
depends="compile">
<mkdir dir="${dist.dir}/gossiptemp"/>
<copy file="${conf.dir}/gossip-service.xml" tofile="${dist.dir}/gossiptemp/jboss-service.xml"/>
<jar jarfile="${dist.dir}/gossip-router.sar"
basedir="${compile.dir}"
includes="org/jgroups/**"
excludes="org/jgroups/demos/**,
org/jgroups/tests/**,
org/jgroups/**/*Test.class,
org/jgroups/**/*Test\$*.class">
<metainf dir="${dist.dir}/gossiptemp"
includes="jboss-service.xml"/>
<fileset dir="${conf.dir}" includes="jg-magic-map.xml"/>
</jar>
<delete dir="${dist.dir}/gossiptemp"/>
</target>
<target name="multiplexer-service" depends="jgroups-core.jar"
description="Creates the service archive used to deploy the JChannelFactory (multiplexer) MBean">
<mkdir dir="${dist.dir}/muxtemp"/>
<copy file="${conf.dir}/multiplexer-service.xml" tofile="${dist.dir}/muxtemp/jboss-service.xml"/>
<copy file="${conf.dir}/multiplexer-xmbean.xml" todir="${dist.dir}/muxtemp/"/>
<jar jarfile="${dist.dir}/Multiplexer.sar">
<fileset dir="${dist.dir}" includes="jgroups-core.jar"/>
<fileset dir="${lib.dir}" includes="concurrent*.jar,commons-logging*.jar,log4j*.jar,jmx*.jar"/>
<fileset dir="${conf.dir}" includes="jg-magic-map.xml,stacks.xml"/>
<metainf dir="${dist.dir}/muxtemp"
includes="*.xml"/>
</jar>
<delete dir="${dist.dir}/muxtemp"/>
</target>
<target name="jgroups-service" depends="jgroups-core.jar"
description="Creates the service archive used to deploy a JGroups channel as a JBoss MBean">
<jar jarfile="${dist.dir}/jgroups-service.sar">
<fileset dir="${dist.dir}" includes="jgroups-core.jar"/>
<fileset dir="${lib.dir}" includes="concurrent*.jar,commons-logging*.jar,log4j*.jar,jmx*.jar"/>
<metainf dir="${conf.dir}"
includes="jboss-service.xml"/>
<fileset dir="${conf.dir}" includes="jg-magic-map.xml,stacks.xml"/>
</jar>
</target>
<!-- generate java doc -->
<target name="javadoc"
depends="prepare"
description="Create Javadoc documentation in the ./dist/javadoc directory">
<javadoc packagenames="${javadoc.packages}"
sourcepath="${src.dir}"
destdir="${javadoc.dir}"
classpathref="jg.classpath"
author="true"
version="true"
use="true"
bottom="Copyright &#169; 1998-2006 Bela Ban. All Rights Reserved."
useexternalfile="yes"
doctitle="JGroups"
overview="${src.dir}/org/jgroups/overview.html"
source="1.4">
<!-- The tag option for Javadoc is available in Java 1.4 or later. -->
<tag name="todo" description="To do:"/>
</javadoc>
</target>
<target name="docs" description="Build all html and pdf docs" depends="check-docbook-support">
<echo message="Building docs from docbook ..."/>
<ant dir="${root.dir}/doc/manual" antfile="build.xml"
target="all.doc"/>
</target>
<target name="pg" description="Build the html doc" depends="check-docbook-support">
<echo message="Building HTML doc from docbook ..."/>
<ant dir="${root.dir}/doc/manual" antfile="build.xml"
target="html"/>
</target>
<target name="pdf" description="Build the PDF doc" depends="check-docbook-support">
<echo message="Building PDF doc from docbook ..."/>
<ant dir="${root.dir}/doc/manual" antfile="build.xml"
target="pdf"/>
</target>
<target name="check-docbook-support">
<available file="${root.dir}/../docbook-support" type="dir"
property="docbook.support.present"/>
<fail message="docbook-support directory does not exist, please check it out from jboss first (run target checkout-docbook-support)"
unless="docbook.support.present"/>
</target>
<target name="checkout-docbook-support" description="Checks out docbook-support from jboss.com (requires cvs on the path)">
<cvs cvsroot=":pserver:anonymous@anoncvs.forge.jboss.com:/cvsroot/jboss"
package="docbook-support"
dest="${root.dir}/.."/>
</target>
<!-- clean up directories -->
<target name="clean"
description="Removes all class files and the ./dist directory">
<delete dir="${compile.dir}" failonerror="false"/>
<delete dir="${dist.dir}" failonerror="false"/>
<delete dir="${tmp.dir}" failonerror="false"/>
<delete dir="${keystore.dir}" failonerror="false"/>
<delete>
<fileset dir="${root.dir}" defaultexcludes="no">
<include name="**/*~"/>
</fileset>
</delete>
</target>
<target name="name=cleanall" depends="clean">
<echo message="Cleaning documentation"/>
<ant dir="${root.dir}/doc/manual" antfile="build.xml"
target="clean"/>
</target>
<target name="all"
depends="jar,javadoc"
description="Compiles all files, creates JARs and Javadoc documentation"/>
<target name="all-1.5"
depends="jar-1.5,javadoc"
description="Compiles all files (for 1.5), creates JARs and Javadoc documentation"/>
<target name="version"
depends="compile"
description="Prints some info about the Ant version and the OS/JDK used">
<echo message="${ant.version}"/>
<echo message="JDK=${java.vm.version} on ${os.name} ${os.version}"/>
<java classname="org.jgroups.Version" classpathref="jg.classpath"/>
</target>
<target name="makeKeystore"
depends="compile"
description="Generates an appropraite temporary keystore file for the unit tests and the JVM in use">
<mkdir dir="${keystore.dir}"/>
<java classname="org.jgroups.demos.KeyStoreGenerator" fork="true">
<arg value="--storeName"/>
<arg value="keystore/defaultStore.keystore"/>
<classpath refid="jg.classpath"/>
</java>
<java classname="org.jgroups.demos.KeyStoreGenerator" fork="true">
<arg value="--storeName"/>
<arg value="keystore/defaultStore2.keystore"/>
<classpath refid="jg.classpath"/>
</java>
</target>
<target name="unittests"
depends="compile, makeKeystore"
description="Runs all unit tests in tests/junit and prints results to stdout">
<junit printsummary="yes" timeout="${unittest.timeout.low}" fork="yes">
<classpath refid="jg.classpath"/>
<formatter type="brief" usefile="false"/>
<batchtest todir="${tmp.dir}">
<fileset dir="${junit.dir}"
includes="**/AUTHTest.java"/>
</batchtest>
</junit>
<delete dir="${keystore.dir}" failonerror="false"/>
</target>
<target name="unittests-xml" depends="compile, makeKeystore">
<delete dir="${tmp.dir}/tests-results"/>
<mkdir dir="${tmp.dir}/tests-results"/>
<junit printsummary="yes" timeout="${unittest.timeout.low}" fork="yes">
<jvmarg value="-Dtests.tmp.dir=${tmp.dir}"/>
<jvmarg value="-Dlog4j.configuration=file:c:\log4j.properties"/>
<classpath refid="jg.classpath"/>
<formatter type="xml" usefile="true"/>
<batchtest todir="${tmp.dir}/tests-results">
<fileset dir="${junit.dir}"
includes="**/*Test.java" excludes="**/DistributedQueueTest.java"/>
</batchtest>
</junit>
</target>
<target name="findxalan">
<available property="xalan.available" classname="org.apache.xalan.Version"/>
<fail unless="xalan.available"
message="Xalan was not found. Please add the xalan.jar file from the lib directory to the CLASSPATH and retry"/>
</target>
<target name="testreport"
depends="findxalan,unittests-xml"
if="xalan.available"
description="Generates HTML from unit tests (target unitests-xml must have run before)">
<delete dir="${tmp.dir}/html"/>
<mkdir dir="${tmp.dir}/html"/>
<junitreport todir="${tmp.dir}/html">
<fileset dir="${tmp.dir}/tests-results" includes="**/TEST-*.xml"/>
<report todir="${tmp.dir}/html"/>
</junitreport>
<echo message="********************************************************************"/>
<echo message="The unit test report is available in ${tmp.dir}/html/index.html"/>
<echo message="********************************************************************"/>
</target>
<target name="report"
depends="findxalan"
if="xalan.available"
description="Generates HTML from unit tests (target unitests-xml must have run before)">
<delete dir="${tmp.dir}/html"/>
<mkdir dir="${tmp.dir}/html"/>
<junitreport todir="${tmp.dir}/html">
<fileset dir="${tmp.dir}/tests-results" includes="**/TEST-*.xml"/>
<report todir="${tmp.dir}/html"/>
</junitreport>
<echo message="********************************************************************"/>
<echo message="The unit test report is available in ${tmp.dir}/html/index.html"/>
<echo message="********************************************************************"/>
</target>
</project>
Jump to Line
Something went wrong with that request. Please try again.