about summary refs log tree commit homepage
path: root/Rakefile
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-05-14 14:18:36 -0700
committerEric Wong <normalperson@yhbt.net>2010-05-14 18:17:08 -0700
commit67662fe0714cbcc89d732d4a04df975b0de2ca36 (patch)
tree1512fce55378e94e49aea20e441891fc179940db /Rakefile
parent65d5e99ee231624c66a26b70296a659d551c0266 (diff)
downloadrainbows-67662fe0714cbcc89d732d4a04df975b0de2ca36.tar.gz
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile18
1 files changed, 16 insertions, 2 deletions
diff --git a/Rakefile b/Rakefile
index cb4cae0..9cb9156 100644
--- a/Rakefile
+++ b/Rakefile
@@ -187,6 +187,20 @@ end
 desc 'isolate gems for development'
 task :isolate do
   require 'isolate'
-  Isolate.gems "tmp/gems/#{RUBY_VERSION}",
-               :file => ENV['ISOLATE_CONFIG']
+  require 'rbconfig'
+
+  Isolate.now! :file => ENV['ISOLATE_CONFIG'], :system => false
+
+  # for Ruby 1.8 isolate uses "1.8" instead of "1.8.7" for paths,
+  # but we'll still try to support 1.8.6 for now even though isolate
+  # does not.
+  if Gem.ruby_engine == "ruby" &&
+     RbConfig::CONFIG["ruby_version"] != RUBY_VERSION
+    require 'fileutils'
+    Dir.chdir('tmp/isolate') do
+      FileUtils.rm_rf("ruby-#{RUBY_VERSION}")
+      File.symlink "ruby-#{RbConfig::CONFIG["ruby_version"]}",
+                   "ruby-#{RUBY_VERSION}"
+    end
+  end
 end