module Buildr::JaCoCo

Initial support for JaCoCo coverage reports.

Public Class Methods

agent_spec() click to toggle source
# File addon/buildr/jacoco.rb, line 20
def agent_spec
  %w(org.jacoco:org.jacoco.agent:jar:runtime:0.8.6)
end
dependencies() click to toggle source
# File addon/buildr/jacoco.rb, line 24
def dependencies
  %w[
    args4j:args4j:jar:2.0.28
    org.jacoco:org.jacoco.report:jar:0.8.6
    org.jacoco:org.jacoco.core:jar:0.8.6
    org.jacoco:org.jacoco.cli:jar:0.8.6
    org.ow2.asm:asm:jar:8.0.1
    org.ow2.asm:asm-commons:jar:8.0.1
    org.ow2.asm:asm-tree:jar:8.0.1
    org.ow2.asm:asm-analysis:jar:8.0.1
    org.ow2.asm:asm-util:jar:8.0.1
  ]
end
jacoco_report(execution_files, class_paths, source_paths, options = {}) click to toggle source
# File addon/buildr/jacoco.rb, line 38
def jacoco_report(execution_files, class_paths, source_paths, options = {})

  xml_output_file = options[:xml_output_file]
  csv_output_file = options[:csv_output_file]
  html_output_directory = options[:html_output_directory]

  Buildr.artifacts(self.dependencies).each { |a| a.invoke if a.respond_to?(:invoke) }

  args = []
  args << 'report'
  args += execution_files
  class_paths.each do |class_path|
    args << '--classfiles' << class_path
  end
  args << '--csv' << csv_output_file if csv_output_file
  args << '--encoding' << 'UTF-8'
  args << '--html' << html_output_directory if html_output_directory
  source_paths.each do |source_path|
    args << '--sourcefiles' << source_path
  end
  args << '--xml' << xml_output_file if xml_output_file

  Java::Commands.java 'org.jacoco.cli.internal.Main', *(args + [{ :classpath => Buildr.artifacts(self.dependencies), :properties => options[:properties], :java_args => options[:java_args] }])
end