You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by to...@apache.org on 2010/07/22 20:22:53 UTC
svn commit: r966782 - /buildr/trunk/rakelib/metrics.rake
Author: toulmean
Date: Thu Jul 22 18:22:53 2010
New Revision: 966782
URL: http://svn.apache.org/viewvc?rev=966782&view=rev
Log:
better metrics without shelling out - need to fix the treemap task to work on vesta
Modified:
buildr/trunk/rakelib/metrics.rake
Modified: buildr/trunk/rakelib/metrics.rake
URL: http://svn.apache.org/viewvc/buildr/trunk/rakelib/metrics.rake?rev=966782&r1=966781&r2=966782&view=diff
==============================================================================
--- buildr/trunk/rakelib/metrics.rake (original)
+++ buildr/trunk/rakelib/metrics.rake Thu Jul 22 18:22:53 2010
@@ -16,14 +16,34 @@
namespace :metrics do
desc 'run Saikuro reports'
task :saikuro do
- cmd = "saikuro -c -t -i #{File.expand_path(File.join(File.dirname(__FILE__), "..", "lib"))} -y 0 -w 11 -e 16 -o _reports/saikuro"
- system cmd
+ require 'saikuro'
+ class SaikuroRake
+ include ResultIndexGenerator
+
+ def run(files, output_dir)
+ state_filter = Filter.new(5)
+ token_filter = Filter.new(10, 25, 50)
+ state_formater = StateHTMLComplexityFormater.new(STDOUT,state_filter)
+ token_count_formater = HTMLTokenCounterFormater.new(STDOUT,token_filter)
+ idx_states, idx_tokens = Saikuro.analyze(files, state_formater, token_count_formater, output_dir)
+ write_cyclo_index(idx_states, output_dir)
+ write_token_index(idx_tokens, output_dir)
+ end
+ end
+ output_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "_reports", "saikuro"))
+ base_dir = Pathname.new(File.expand_path(File.join(File.dirname(__FILE__), "..")))
+ rb_files = ["lib", "addon"].collect { |folder|
+ FileList[File.expand_path(File.join(File.dirname(__FILE__), "..", folder, "**", "*.rb"))]
+ }.flatten.collect {|path|
+ Pathname.new(path).relative_path_from(base_dir).to_s
+ }
+ SaikuroRake.new.run(rb_files, output_dir)
end
desc 'generate ccn treemap'
task :ccn_treemap do
require 'saikuro_treemap'
- SaikuroTreemap.generate_treemap :code_dirs => ['lib', 'addons'], :output_file => "_reports/saikuro_treemap.html"
+ SaikuroTreemap.generate_treemap :code_dirs => ['lib', 'addon'], :output_file => "_reports/saikuro_treemap.html"
end
end