Module: Buildr::Emma

Defined in:
lib/buildr/java/emma.rb

Overview

Provides the emma:html and emma:xml tasks. Require explicitly using require "buildr/emma".

You can generate emma reports for a single project using the project name as prefix:

project_name:emma:html

You can also specify which classes to include/exclude from instrumentation by passing a class name regexp to the emma.include or emma.exclude methods.

define 'someModule' do 
   emma.include 'some.package.*'
   emma.exclude 'some.foo.util.SimpleUtil'
end

Defined Under Namespace

Modules: EmmaExtension Classes: EmmaConfig

Constant Summary collapse

REQUIRES =
['emma:emma_ant:jar:2.0.5312', 'emma:emma:jar:2.0.5312']

Class Method Summary collapse

Class Method Details

.antObject



56
57
58
59
60
61
62
63
# File 'lib/buildr/java/emma.rb', line 56

def ant
    Buildr.ant 'emma' do |ant|
      ant.taskdef :classpath=>requires.join(File::PATH_SEPARATOR), :resource=>'emma_ant.properties'
      ant.emma :verbosity=>(Buildr.application.options.trace ? 'verbose' : 'warning') do
        yield ant
      end
    end
end

.data_fileObject



52
53
54
# File 'lib/buildr/java/emma.rb', line 52

def data_file()
  File.join(report_to, 'coverage.es')
end

.report_to(format = nil) ⇒ Object



48
49
50
# File 'lib/buildr/java/emma.rb', line 48

def report_to format=nil
  File.expand_path('reports/emma')
end

.requiresObject



44
45
46
# File 'lib/buildr/java/emma.rb', line 44

def requires()
  @requires ||= Buildr.artifacts(REQUIRES).each(&:invoke).map(&:to_s)
end