summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Arko <andre@arko.net>2015-03-29 16:25:45 +0100
committerAndre Arko <andre@arko.net>2015-03-29 16:25:45 +0100
commit38bab86b04985a1fadb1d3f9dbff4dcee8ae379b (patch)
tree734ad57913821892d0f3973c43fabaaafe443b52
parent1379d322bba0c267ee560e164d3a0f0eda9aa930 (diff)
downloadbundler-38bab86b04985a1fadb1d3f9dbff4dcee8ae379b.tar.gz
only use with_build_args if we have some
-rw-r--r--lib/bundler/installer.rb30
1 files changed, 18 insertions, 12 deletions
diff --git a/lib/bundler/installer.rb b/lib/bundler/installer.rb
index 10526115a4..0654d91f09 100644
--- a/lib/bundler/installer.rb
+++ b/lib/bundler/installer.rb
@@ -96,20 +96,26 @@ module Bundler
def install_gem_from_spec(spec, standalone = false, worker = 0)
# Fetch the build settings, if there are any
- settings = Bundler.settings["build.#{spec.name}"]
- install_message = nil
- post_install_message = nil
- debug_message = nil
- Bundler.rubygems.with_build_args [settings] do
- install_message, post_install_message, debug_message = spec.source.install(spec)
- if install_message.include? 'Installing'
- Bundler.ui.confirm install_message
- else
- Bundler.ui.info install_message
+ settings = Bundler.settings["build.#{spec.name}"]
+ messages = nil
+
+ if settings
+ Bundler.rubygems.with_build_args [settings] do
+ messages = spec.source.install(spec)
end
- Bundler.ui.debug debug_message if debug_message
- Bundler.ui.debug "#{worker}: #{spec.name} (#{spec.version}) from #{spec.loaded_from}"
+ else
+ messages = spec.source.install(spec)
+ end
+
+ install_message, post_install_message, debug_message = *messages
+
+ if install_message.include? 'Installing'
+ Bundler.ui.confirm install_message
+ else
+ Bundler.ui.info install_message
end
+ Bundler.ui.debug debug_message if debug_message
+ Bundler.ui.debug "#{worker}: #{spec.name} (#{spec.version}) from #{spec.loaded_from}"
if Bundler.settings[:bin] && standalone
generate_standalone_bundler_executable_stubs(spec)