Sha256: 13644e812014d7bdc5d060e57436bf2c1199062a7388619c8d95e50aa64e9a7c

Contents?: true

Size: 1.74 KB

Versions: 4

Compression:

Stored size: 1.74 KB

Contents

Dir.glob(File.join(File.expand_path(File.dirname(__FILE__)), 'ncoverreports/*.rb')).each {|f| require f }
require 'albacore/support/albacore_helper'

class NCoverReport
  extend AttrMethods
  include RunCommand
  include YAMLConfig
  
  attr_array :coverage_files, :reports, :required_coverage, :filters
  
  def initialize
    @coverage_files = []
    @reports = []
    @required_coverage = []
    @filters = []
    super()
  end
  
  def run
    return unless check_command
    
    command_parameters = []
    command_parameters << build_coverage_files unless @coverage_files.empty?
    command_parameters << build_reports unless @reports.empty?
    command_parameters << build_required_coverage unless @required_coverage.empty?
    command_parameters << build_filters unless @filters.empty?
    
    result = run_command "NCover.Reporting", command_parameters.join(" ")
    
    failure_msg = 'Code Coverage Reporting Failed. See Build Log For Detail.'
    fail_with_message failure_msg if !result
  end
  
  def check_command
    return true if @path_to_command
    fail_with_message 'NCoverReport.path_to_command cannot be nil.'
    return false
  end
  
  def build_filters
    @filters.map{|f| "//cf #{f.get_filter_options}"}.join(" ")
  end
  
  def build_coverage_files
    @coverage_files.map{|f| "\"#{f}\""}.join(" ")
  end
  
  def build_reports
    @reports.map{|r|
      report = "//or #{r.report_type}"
      report << ":#{r.report_format}" unless r.report_format.nil?
      report << ":\"#{r.output_path}\"" unless r.output_path.nil?
      report
    }.join(" ")
  end

  def build_required_coverage
    @required_coverage.map{|c|
      coverage = "//mc #{c.get_coverage_options}"
    }.join(" ")
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
albacore-0.1.5 lib/albacore/ncoverreport.rb
albacore-0.1.4 lib/albacore/ncoverreport.rb
albacore-0.1.3 lib/albacore/ncoverreport.rb
albacore-0.1.2 lib/albacore/ncoverreport.rb