diff options
author | Andre Arko <andre@arko.net> | 2015-03-29 16:25:45 +0100 |
---|---|---|
committer | Andre Arko <andre@arko.net> | 2015-03-29 16:25:45 +0100 |
commit | 38bab86b04985a1fadb1d3f9dbff4dcee8ae379b (patch) | |
tree | 734ad57913821892d0f3973c43fabaaafe443b52 | |
parent | 1379d322bba0c267ee560e164d3a0f0eda9aa930 (diff) | |
download | bundler-38bab86b04985a1fadb1d3f9dbff4dcee8ae379b.tar.gz |
only use with_build_args if we have some
-rw-r--r-- | lib/bundler/installer.rb | 30 |
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) |