You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by do...@apache.org on 2014/09/22 02:58:20 UTC
[3/3] git commit: Update pmd addon to support downloading rule files
as an artifact.
Update pmd addon to support downloading rule files as an artifact.
Project: http://git-wip-us.apache.org/repos/asf/buildr/repo
Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/e7f6ce48
Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/e7f6ce48
Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/e7f6ce48
Branch: refs/heads/master
Commit: e7f6ce487ffb5fdb5e555b364d2b189a45ce8cfd
Parents: 85be90c
Author: Peter Donald <pe...@realityforge.org>
Authored: Mon Sep 22 08:57:46 2014 +1000
Committer: Peter Donald <pe...@realityforge.org>
Committed: Mon Sep 22 08:57:46 2014 +1000
----------------------------------------------------------------------
CHANGELOG | 5 +++--
addon/buildr/pmd.rb | 23 +++++++++++++++++++----
2 files changed, 22 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/buildr/blob/e7f6ce48/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 672644f..a4d5894 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
1.4.21 (Pending)
-* Fixed : Update pmd addon to use pmd version 5.1.3.
-* Fixed : BUILDR-702 - Retain Unix permission flags when merging
+* Added: Update pmd addon to support downloading rule files as an artifact.
+* Change: Update pmd addon to use pmd version 5.1.3.
+* Fixed: BUILDR-702 - Retain Unix permission flags when merging
zip files into another zip or tar archive. Submitted by Pepijn Van Eeckhoudt.
1.4.20 (2014-08-23)
http://git-wip-us.apache.org/repos/asf/buildr/blob/e7f6ce48/addon/buildr/pmd.rb
----------------------------------------------------------------------
diff --git a/addon/buildr/pmd.rb b/addon/buildr/pmd.rb
index ba42a07..5110e62 100644
--- a/addon/buildr/pmd.rb
+++ b/addon/buildr/pmd.rb
@@ -38,12 +38,22 @@ module Buildr
cp = Buildr.artifacts(dependencies).each(&:invoke).map(&:to_s)
(options[:rule_set_paths] || []).each {|p| cp << p}
+ rule_sets = rule_set_files.dup
+
+ Buildr.artifacts(options[:rule_set_artifacts] || []).each do |artifact|
+ a = artifact.to_s
+ dirname = File.dirname(a)
+ rule_sets << a[dirname.length + 1, a.length]
+ cp << File.dirname(a)
+ artifact.invoke
+ end
+
puts 'PMD: Analyzing source code...'
mkdir_p File.dirname(output_file_prefix)
Buildr.ant('pmd-report') do |ant|
ant.taskdef :name=> 'pmd', :classpath => cp.join(';'), :classname => 'net.sourceforge.pmd.ant.PMDTask'
- ant.pmd :shortFilenames => true, :rulesetfiles => rule_set_files.join(',') do
+ ant.pmd :shortFilenames => true, :rulesetfiles => rule_sets.join(',') do
ant.formatter :type => format, :toFile => "#{output_file_prefix}.#{format}"
source_paths.each do |src|
ant.fileset :dir=> src, :includes=>'**/*.java'
@@ -85,7 +95,12 @@ module Buildr
attr_writer :rule_set_files
def rule_set_files
- @rule_set_files ||= ['rulesets/java/basic.xml', 'rulesets/java/imports.xml', 'rulesets/java/unusedcode.xml', 'rulesets/java/finalizers.xml', 'rulesets/java/braces.xml']
+ @rule_set_files ||= (self.rule_set_artifacts.empty? ? ['rulesets/java/basic.xml', 'rulesets/java/imports.xml', 'rulesets/java/unusedcode.xml', 'rulesets/java/finalizers.xml', 'rulesets/java/braces.xml'] : [])
+ end
+
+ # Support specification of rule sets that are distributed as part of a maven repository
+ def rule_set_artifacts
+ @rule_set_artifacts ||= []
end
attr_writer :rule_set_paths
@@ -140,12 +155,12 @@ module Buildr
if project.pmd.enabled?
desc 'Generate pmd xml report.'
project.task('pmd:rule:xml') do
- Buildr::Pmd.pmd(project.pmd.rule_set_files, 'xml', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths)
+ Buildr::Pmd.pmd(project.pmd.rule_set_files, 'xml', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths, :rule_set_artifacts => project.pmd.rule_set_artifacts)
end
desc 'Generate pmd html report.'
project.task('pmd:rule:html') do
- Buildr::Pmd.pmd(project.pmd.rule_set_files, 'html', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths)
+ Buildr::Pmd.pmd(project.pmd.rule_set_files, 'html', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths, :rule_set_artifacts => project.pmd.rule_set_artifacts)
end
desc 'Generate pmd cpd xml report.'