# File lib/bundler/installer.rb, line 12 12: def run(options) 13: if Bundler.settings[:frozen] 14: @definition.ensure_equivalent_gemfile_and_lockfile 15: end 16: 17: if dependencies.empty? 18: Bundler.ui.warn "The Gemfile specifies no dependencies" 19: return 20: end 21: 22: if Bundler.default_lockfile.exist? && !options["update"] 23: begin 24: tmpdef = Definition.build(Bundler.default_gemfile, Bundler.default_lockfile, nil) 25: local = true unless tmpdef.new_platform? || tmpdef.missing_specs.any? 26: rescue BundlerError 27: end 28: end 29: 30: # Since we are installing, we can resolve the definition 31: # using remote specs 32: unless local 33: options["local"] ? 34: @definition.resolve_with_cache! : 35: @definition.resolve_remotely! 36: end 37: 38: # Ensure that BUNDLE_PATH exists 39: Bundler.mkdir_p(Bundler.bundle_path) unless File.exist?(Bundler.bundle_path) 40: 41: # Must install gems in the order that the resolver provides 42: # as dependencies might actually affect the installation of 43: # the gem. 44: specs.each do |spec| 45: spec.source.fetch(spec) if spec.source.respond_to?(:fetch) 46: 47: # unless requested_specs.include?(spec) 48: # Bundler.ui.debug " * Not in requested group; skipping." 49: # next 50: # end 51: 52: begin 53: old_args = Gem::Command.build_args 54: Gem::Command.build_args = [Bundler.settings["build.#{spec.name}"]] 55: spec.source.install(spec) 56: ensure 57: Gem::Command.build_args = old_args 58: end 59: 60: Bundler.ui.info "" 61: generate_bundler_executable_stubs(spec) if Bundler.settings[:bin] 62: FileUtils.rm_rf(Bundler.tmp) 63: end 64: 65: lock 66: end
# File lib/bundler/installer.rb, line 70 70: def generate_bundler_executable_stubs(spec) 71: bin_path = Bundler.bin_path 72: template = File.read(File.expand_path('../templates/Executable', __FILE__)) 73: relative_gemfile_path = Bundler.default_gemfile.relative_path_from(bin_path) 74: 75: spec.executables.each do |executable| 76: next if executable == "bundle" 77: File.open "#{bin_path}/#{executable}", 'w', 0755 do |f| 78: f.puts ERB.new(template, nil, '-').result(binding) 79: end 80: end 81: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.