OSDN Git Service

refactored
[mint/mint-lib.git] / Rakefile
index 2975a75..33ef65f 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -4,6 +4,22 @@ require 'spec/rake/spectask'
 require 'rake/gempackagetask'
 require 'rake/rdoctask'
 
+# For code statistics (use rails task)
+rails_path = Gem.path.map {|d| Dir[d + '/gems/rails-*'] }.flatten.reverse.
+  find {|d| File.exist?(File.join(d, 'lib', 'code_statistics.rb')) }
+
+if rails_path
+
+  STATS_DIRECTORIES = [ %w[Apps  lib], %w[Specs spec] ]
+
+  desc "Report code statistics (KLOCs, etc) from the application"
+  task :stats do
+    require File.join(rails_path, 'lib', 'code_statistics.rb')
+    require 'tasks/spec_statistics'
+    SpecStatistics.new(*STATS_DIRECTORIES).to_s
+  end
+end
+
 desc 'Run all specs (default)'
 task :default => :spec
 
@@ -13,6 +29,18 @@ Spec::Rake::SpecTask.new do |t|
   t.spec_opts = ['-c']
 end
 
+desc 'Run generator specs'
+Spec::Rake::SpecTask.new('spec:generator') do |t|
+  t.spec_files = FileList['spec/generator/**/*_spec.rb']
+  t.spec_opts = ['-c']
+end
+
+desc 'Run solver specs'
+Spec::Rake::SpecTask.new('spec:solver') do |t|
+  t.spec_files = FileList['spec/solver/**/*_spec.rb']
+  t.spec_opts = ['-c']
+end
+
 PKG_FILES = FileList[
   'lib/**/*.rb',
   'spec/**/*_spec.rb'
@@ -29,7 +57,7 @@ spec = Gem::Specification.new do |s|
   s.files = PKG_FILES.to_a
   s.require_path = 'lib'
   s.has_rdoc = false
-  s.extra_rdoc_files = ['README']
+  s.extra_rdoc_files = ['README.rdoc']
 end
 
 desc 'Turn this library into a gem.'
@@ -42,7 +70,18 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
   rdoc.rdoc_dir = 'rdoc'
   rdoc.title    = 'mint-lib'
   rdoc.options << '--line-numbers' << '--inline-source'
-  rdoc.rdoc_files.include('README')
+  rdoc.rdoc_files.include('README.rdoc')
   rdoc.rdoc_files.include('lib/**/*.rb')
+  rdoc.rdoc_files.exclude('lib/**/mint_expression_parser.rb')
+end
+
+namespace :dev do
+  desc 'Uninstall and Install mint-lib (for dev)'
+  task :install do
+    system 'rm -rf pkg'
+    system 'rake gem'
+    system 'gem uninstall mint-lib'
+    system 'gem install pkg/mint-lib --no-rdoc --no-ri'
+  end
 end