summaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
authorJosh Kalderimis <josh.kalderimis@gmail.com>2011-08-31 02:08:08 +0200
committerJosh Kalderimis <josh.kalderimis@gmail.com>2011-08-31 02:08:08 +0200
commitbcea40fb1fb457e343ccce5fe97df1c1911487a9 (patch)
tree5012c4bc6731927100ab6ec1156eac449797c7ac /Rakefile
parentf8fdf6d309ae5467d1fbde74ad4f4c3559352243 (diff)
downloadbundler-bcea40fb1fb457e343ccce5fe97df1c1911487a9.tar.gz
We need to capturing rake errors and return false, and then fail the task manually
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile20
1 files changed, 14 insertions, 6 deletions
diff --git a/Rakefile b/Rakefile
index 4a776757f7..6c0dfb5380 100644
--- a/Rakefile
+++ b/Rakefile
@@ -2,6 +2,13 @@
$:.unshift File.expand_path("../lib", __FILE__)
require 'bundler/gem_tasks'
+def safe_task(&block)
+ yield
+ true
+rescue
+ false
+end
+
namespace :spec do
desc "Ensure spec dependencies are installed"
task :deps do
@@ -118,16 +125,17 @@ begin
task "travis" do
rg = ENV['RGV'] || 'master'
- puts "\n\e[1;33m[Travis CI] Running bundler sudo specs against rubygems #{rg}\e[m\n\n"
- sudos = Rake::Task["spec:rubygems:#{rg}:sudo"].invoke
+ puts "\n\e[1;33m[Travis CI] Running bundler specs against rubygems #{rg}\e[m\n\n"
+ specs = safe_task { Rake::Task["spec:rubygems:#{rg}"].invoke }
Rake::Task["spec:rubygems:#{rg}"].reenable
- Rake::Task["spec"].reenable
- puts "\n\e[1;33m[Travis CI] Running bundler specs against rubygems #{rg}\e[m\n\n"
- specs = Rake::Task["spec:rubygems:#{rg}"].invoke
+ puts "\n\e[1;33m[Travis CI] Running bundler sudo specs against rubygems #{rg}\e[m\n\n"
+ sudos = safe_task { Rake::Task["spec:rubygems:#{rg}:sudo"].invoke }
- specs && sudos
+ unless specs && sudos
+ fail "Bundler tests failed, please review the log for more information"
+ end
end
end