# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with this # work for additional information regarding copyright ownership. The ASF # licenses this file to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. namespace :metrics do desc 'run Saikuro reports' task :saikuro do gem 'atoulme-Saikuro' require 'saikuro' 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 } SaikuroRunner.new.run(rb_files, output_dir) end desc 'generate ccn treemap' task :ccn_treemap do require 'saikuro_treemap' SaikuroTreemap.generate_treemap :code_dirs => ['lib', 'addon'], :output_file => "_reports/saikuro_treemap.html" end end desc 'Run all metrics tools' task :metrics => ["metrics:saikuro", "metrics:ccn_treemap"]