とりあえず、今回使ったbuild.xmlをそのまま置いておきます。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="buildall" name="JavaProject1">
<property environment="env"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.6"/>
<property name="source" value="1.6"/>
<property name="jar.output.dir" value="${BinariesRoot}/Jar"/>
<property name="junit.home" value="${env.JUNIT_HOME}"/>
<property name="junit.result.dir" value="${BinariesRoot}/JUnitResult"/>
<property name="findbugs.home" value="${env.FINDBUGS_HOME}"/>
<property name="findbugs.result.dir" value="${BinariesRoot}/FindBugsResult"/>
<property name="checkstyle.home" value="${env.CHECKSTYLE_HOME}"/>
<property name="checkstyle.result.dir" value="${BinariesRoot}/CheckStyleResult"/>
<property name="cobertura.home" value="${env.COBERTURA_HOME}"/>
<property name="cobertura.instrument.dir" value="instrument-cobertura"/>
<property name="cobertura.result.dir" value="${BinariesRoot}/CoberturaResult"/>
<property name="log4j.home" value="${env.LOG4J_HOME}"/>
<path id="JavaProject1.classpath">
<pathelement location="bin"/>
<pathelement location="testbin"/>
</path>
<path id="cobertura.classpath">
<fileset dir="${cobertura.home}">
<include name="cobertura.jar" />
<include name="lib/**/*.jar" />
</fileset>
</path>
<path id="junit.classpath">
<pathelement location="${cobertura.instrument.dir}"/>
<path refid="JavaProject1.classpath"/>
<pathelement location="testbin"/>
<pathelement location="${junit.home}/junit.jar"/>
<path refid="cobertura.classpath"/>
</path>
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpath="${findbugs.home}/lib/findbugs-ant.jar"/>
<taskdef resource="checkstyletask.properties"
classpath="${checkstyle.home}/checkstyle-5.6-all.jar"/>
<taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="buildall"
depends="build,testbuild,checkstyle,instrument-cobertura,junitreport,
coverage,findbugs,checkmetrics,make-jar"/>
<target name="build" depends="init">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin"
includeantruntime="false" source="${source}"
target="${target}" encoding="utf-8">
<src path="src"/>
<classpath refid="JavaProject1.classpath"/>
</javac>
</target>
<target name="testbuild" depends="build">
<mkdir dir="testbin"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="testbin"
includeantruntime="false" source="${source}"
target="${target}" encoding="utf-8">
<src path="testsrc"/>
<classpath refid="JavaProject1.classpath"/>
<classpath path="${junit.home}/junit.jar"/>
</javac>
</target>
<target name="make-jar" depends="build">
<mkdir dir="${jar.output.dir}"/>
<jar jarfile="${jar.output.dir}/JavaProject1.jar" basedir="bin">
<manifest>
<attribute name="Build-Id" value="${BuildNumber}" />
</manifest>
</jar>
</target>
<target name="junit" depends="build">
<mkdir dir="${junit.result.dir}"/>
<junit fork="yes" printsummary="withOutAndErr" haltonfailure="off"
showoutput="true" failureproperty="junit.failed">
<sysproperty key="net.sourceforge.cobertura.datafile" file="cobertura.ser"/>
<classpath refid="junit.classpath"/>
<formatter type="xml"/>
<batchtest todir="${junit.result.dir}">
<fileset dir="testsrc">
<include name="**/*Test.java" />
</fileset>
</batchtest>
</junit>
</target>
<target name="junitreport" depends="junit">
<junitreport todir="${junit.result.dir}">
<fileset dir="${junit.result.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${junit.result.dir}"/>
</junitreport>
</target>
<target name="findbugs" depends="build">
<mkdir dir="${findbugs.result.dir}"/>
<findbugs home="${findbugs.home}"
output="html"
outputFile="${findbugs.result.dir}/FindBugsResult.html"
errorProperty="findbugs.error.failed"
warningsProperty="findbugs.warnings.failed">
<sourcePath path="src" />
<class location="bin" />
</findbugs>
</target>
<target name="checkstyle">
<mkdir dir="${checkstyle.result.dir}"/>
<checkstyle config="${checkstyle.home}/sun_checks.xml" failOnViolation="false"
failureProperty="checkstyle.failed">
<fileset dir="src" includes="**/*.java" />
<formatter type="xml" tofile="CheckStyleResult.xml" />
</checkstyle>
<style in="CheckStyleResult.xml"
out="${checkstyle.result.dir}/CheckStyleResult.html"
style="${checkstyle.home}/contrib/checkstyle-simple.xsl" />
</target>
<target name="instrument-cobertura">
<mkdir dir="${cobertura.instrument.dir}"/>
<cobertura-instrument todir="${cobertura.instrument.dir}">
<ignore regex="org.apache.log4j.*" />
<fileset dir="bin">
<include name="**/*.class"/>
</fileset>
</cobertura-instrument>
</target>
<target name="coverage">
<cobertura-report srcdir="src" destdir="${cobertura.result.dir}"/>
<cobertura-report srcdir="src" destdir="${cobertura.result.dir}" format="xml"/>
</target>
<target name="checkmetrics">
<echoproperties>
<propertyset>
<propertyref regex=".*.failed"/>
</propertyset>
</echoproperties>
<condition property="metrics.failed"><or>
<isset property="junit.failed"/>
<isset property="findbugs.error.failed"/>
<isset property="findbugs.warnings.failed"/>
<isset property="checkstyle.failed"/>
</or></condition>
<fail if="metrics.failed" message="各種チェックでエラーがありました。さぁ、とっとと片づけましょう!"/>
</target>
</project>
通常(?)、各種ワークフォルダを削除する処理が入りますが、TFSからビルド実行した場合、TFS側で基底フォルダを削除後新規作成しますので、build.xml内では不要です。
「オンラインストレージ使え」とか聞こえそうですが、会社からは使えないんです^ ^;
個別の内容説明について次から書きます。