Schmant Emma task package 1.1

This page contains an overview of the Schmant Emma task package and links to other documentation files. The latest version of the Schmant Emma task package (including the documents here) can always be found at


This task package contains tasks for running Emma code coverage analysis on Java programs.

The classes to analyze must first be instrumented using the EmmaInstrumentationTF task. When the analyzed program is run, coverage data is saved in a data file. After the program has been run, a coverage report is created using the EmmaReportTF task. To merge several coverage data files from different program runs before a report is created, use the EmmaMergeTF task.

Using the task package

There are two different methods of making the tasks in this task package available to Schmant scripts. Either

  1. Unzip the task package file in a Schmant distribution's task directory, or
  2. Reference the task package Zip file when running Schmant by using the -t flag to set the task package path.

See the the task reference documentation for how to build task reference documentation containing Schmant's tasks and the tasks in this task package.

Running unit tests (optional)

To run unit tests, unzip the task package and follow the instructions below. The tests must be run against a Schmant source distribution.


cd the_task_package's_com.vladium.emma_directory JAVA_HOME=path_to_a_JDK_6_installation run_unit_tests.js


cd the_task_package's_com.vladium.emma_directory rem Don't enclose the JDK path in quotes. set JAVA_HOME=path_to_a_JDK_6_installation schmant.bat run_unit_tests.js

Use -p schmantInstallations=paths_to_Schmant_installations to select the Schmant installation to run the tests against. Separate the different paths with the platform's path separator character (":" on Unix, ";" on Windows). On Windows, the schmantInstallations=... string has to be enclosed in double quotes (").

See the header of the run_unit_tests.js script for more configurable properties.

Other documentation

Below are links to other documentation resources.


Release documentation:



The Schmant Emma task package requires at least Schmant 1.1 to run.