| career | drupal | java | mac | mysql | perl | scala | uml | unix  

Cobertura example source code file (build_with_specific_data_file.xml)

This example Cobertura source code file (build_with_specific_data_file.xml) is included in the "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Cobertura tags/keywords

c, cobertura, cobertura, compile, copyright, copyright, general, instrument, no, remove, remove, the, the, this

The Cobertura build_with_specific_data_file.xml source code

<?xml version="1.0" encoding="UTF-8"?>

	This build file does the same thing as the normal build.xml for
	this example, except that we specify a location for the coverage
	data file.

<project name="cobertura.examples.basic" default="coverage" basedir=".">

    Cobertura -
    Copyright (C) 2003 jcoverage ltd.
    Copyright (C) 2005 Mark Doliner <>
    Cobertura is licensed under the GNU General Public License
    Cobertura comes with ABSOLUTELY NO WARRANTY

	<property file="" />

	<path id="cobertura_classpath">
		<fileset dir="${cobertura.dir}">
			<include name="cobertura.jar" />
			<include name="lib/**/*.jar" />

	<taskdef classpathref="cobertura_classpath" resource=""/>

	<target name="init">
		<mkdir dir="${classes.dir}" />
		<mkdir dir="${instrumented.dir}" />
		<mkdir dir="${reports.xml.dir}" />
		<mkdir dir="${reports.html.dir}" />
		<mkdir dir="${coverage.xml.dir}" />
		<mkdir dir="${coverage.html.dir}" />

	<target name="compile" depends="init">
		<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="yes">
			<classpath refid="cobertura_classpath" />

	<target name="instrument" depends="init,compile">
			Remove the coverage data file and any old instrumentation.
		<delete file="${reports.dir}/basic_coverage.ser"/>
		<delete dir="${instrumented.dir}" />

			Instrument the application classes, writing the
			instrumented classes into ${build.instrumented.dir}.
		<cobertura-instrument datafile="${reports.dir}/basic_coverage.ser" todir="${instrumented.dir}">
				The following line causes instrument to ignore any
				source line containing a reference to log4j, for the
				purposes of coverage reporting.
			<ignore regex="org.apache.log4j.*" />

			<fileset dir="${classes.dir}">
					Instrument all the application classes, but
					don't instrument the test classes.
				<include name="**/*.class" />
				<exclude name="**/*Test.class" />

	<target name="test" depends="init,compile">
		<junit fork="yes" dir="${basedir}" failureProperty="test.failed">
				Specify the name of the coverage data file to use.
			<sysproperty key="net.sourceforge.cobertura.datafile" file="${reports.dir}/basic_coverage.ser" />

				Note the classpath order: instrumented classes are before the
				original (uninstrumented) classes.  This is important.
			<classpath location="${instrumented.dir}" />
			<classpath location="${classes.dir}" />

				The instrumented classes reference classes used by the
				Cobertura runtime, so Cobertura and its dependencies
				must be on your classpath.
			<classpath refid="cobertura_classpath" />

			<formatter type="xml" />
			<test name="${testcase}" todir="${reports.xml.dir}" if="testcase" />
			<batchtest todir="${reports.xml.dir}" unless="testcase">
				<fileset dir="${src.dir}">
					<include name="**/*" />

		<junitreport todir="${reports.xml.dir}">
			<fileset dir="${reports.xml.dir}">
				<include name="TEST-*.xml" />
			<report format="frames" todir="${reports.html.dir}" />

	<target name="coverage-report">
		<cobertura-report datafile="${reports.dir}/basic_coverage.ser" srcdir="${src.dir}" destdir="${coverage.xml.dir}" format="xml" />
		<cobertura-report datafile="${reports.dir}/basic_coverage.ser" srcdir="${src.dir}" destdir="${coverage.html.dir}" />

	<target name="clean" description="Remove all files created by the build/test process.">
		<delete dir="${classes.dir}" />
		<delete dir="${instrumented.dir}" />
		<delete dir="${reports.dir}" />
		<delete file="cobertura.log" />

	<target name="coverage" depends="compile,instrument,test,coverage-report" description="Compile, instrument ourself, run the tests and generate JUnit and coverage reports."/>


Other Cobertura examples (source code examples)

Here is a short list of links related to this Cobertura build_with_specific_data_file.xml source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller


new blog posts


Copyright 1998-2021 Alvin Alexander,
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.