class Buildr::Pmd::Config

Attributes

additional_project_names[W]

An array of additional projects to scan for main and test sources

enabled[W]
output_file_prefix[W]
project[R]
report_dir[W]
rule_set_files[W]
rule_set_paths[W]

Public Class Methods

new(project) click to toggle source
# File addon/buildr/pmd.rb, line 152
def initialize(project)
  @project = project
end

Public Instance Methods

additional_project_names() click to toggle source
# File addon/buildr/pmd.rb, line 135
def additional_project_names
  @additional_project_names ||= []
end
enabled?() click to toggle source
# File addon/buildr/pmd.rb, line 90
def enabled?
  !!@enabled
end
exclude_paths() click to toggle source

An array of paths that should be excluded no matter how they are added to pmd

# File addon/buildr/pmd.rb, line 128
def exclude_paths
  @exclude_paths ||= []
end
flat_source_paths() click to toggle source
# File addon/buildr/pmd.rb, line 139
def flat_source_paths
  paths = source_paths.dup

  self.additional_project_names.each do |project_name|
    p = self.project.project(project_name)
    paths << [p.compile.sources, p.test.compile.sources].flatten.compact
  end

  paths.flatten.select{|p|!self.exclude_paths.include?(p)}.compact
end
output_file_prefix() click to toggle source
# File addon/buildr/pmd.rb, line 119
def output_file_prefix
  @output_file_prefix || "#{self.report_dir}/pmd"
end
report_dir() click to toggle source
# File addon/buildr/pmd.rb, line 113
def report_dir
  @report_dir || project._(:reports, :pmd)
end
rule_set_artifacts() click to toggle source

Support specification of rule sets that are distributed as part of a maven repository

# File addon/buildr/pmd.rb, line 101
def rule_set_artifacts
  @rule_set_artifacts ||= []
end
rule_set_files() click to toggle source
# File addon/buildr/pmd.rb, line 96
def rule_set_files
  @rule_set_files ||= (self.rule_set_artifacts.empty? ? %w(rulesets/java/basic.xml rulesets/java/imports.xml rulesets/java/unusedcode.xml rulesets/java/finalizers.xml rulesets/java/braces.xml) : [])
end
rule_set_paths() click to toggle source
# File addon/buildr/pmd.rb, line 107
def rule_set_paths
  @rule_set_paths ||= []
end
source_paths() click to toggle source
# File addon/buildr/pmd.rb, line 123
def source_paths
  @source_paths ||= [self.project.compile.sources, self.project.test.compile.sources].flatten.compact
end