diff --git a/Rakefile b/Rakefile index 289b504..c28e4a4 100644 --- a/Rakefile +++ b/Rakefile @@ -5,17 +5,30 @@ require 'rspec/core/rake_task' RSpec::Core::RakeTask.new(:spec) task :default => :spec +require 'rbconfig' namespace(:spec) do - desc "Run all specs on multiple ruby versions (requires rvm)" - task(:portability) do - %w[1.8.7 1.9.2 ree].each do |version| - system <<-BASH - bash -c 'source ~/.rvm/scripts/rvm; - rvm #{version}; - echo "--------- version #{version} ----------\n"; - bundle install; - rake spec' - BASH + if Config::CONFIG['host_os'] =~ /mswin|mingw/i + desc "Run all specs on multiple ruby versions (requires pik)" + task(:portability) do + %w[187 192 161].each do |version| + system "cmd /c echo -----------#{version}------------ & " + + "pik use #{version} & " + + "bundle install & " + + "rake spec" + end end - end + else + desc "Run all specs on multiple ruby versions (requires rvm)" + task(:portability) do + %w[1.8.7 1.9.2 ree].each do |version| + system <<-BASH + bash -c 'source ~/.rvm/scripts/rvm; + rvm #{version}; + echo "--------- version #{version} ----------\n"; + bundle install; + rake spec' + BASH + end + end + end end \ No newline at end of file