# File lib/bundler/cli.rb, line 19 def self.dispatch(*) super {|i| i.send(:print_command) } end
# File lib/bundler/cli.rb, line 94 def self.handle_no_command_error(command, has_namespace = $thor_runner) if Bundler.settings[:plugins] && Bundler::Plugin.command?(command) return Bundler::Plugin.exec_command(command, ARGV[1..-1]) end return super unless command_path = Bundler.which("bundler-#{command}") Kernel.exec(command_path, *ARGV[1..-1]) end
# File lib/bundler/cli.rb, line 23 def initialize(*args) super Bundler.reset! custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile] ENV["BUNDLE_GEMFILE"] = File.expand_path(custom_gemfile) if custom_gemfile && !custom_gemfile.empty? Bundler.settings[:retry] = options[:retry] if options[:retry] current_cmd = args.last[:current_command].name auto_install if AUTO_INSTALL_CMDS.include?(current_cmd) rescue UnknownArgumentError => e raise InvalidOption, e.message ensure self.options ||= {} Bundler.settings.cli_flags_given = !options.empty? Bundler.ui = UI::Shell.new(options) Bundler.ui.level = "debug" if options["verbose"] if ENV["RUBYGEMS_GEMDEPS"] && !ENV["RUBYGEMS_GEMDEPS"].empty? Bundler.ui.warn( "The RUBYGEMS_GEMDEPS environment variable is set. This enables RubyGems' " "experimental Gemfile mode, which may conflict with Bundler and cause unexpected errors. " "To remove this warning, unset RUBYGEMS_GEMDEPS.", :wrap => true ) end end
Reformat the arguments passed to bundle that include a –help flag into the corresponding `bundle help #{command}` call
# File lib/bundler/cli.rb, line 493 def self.reformatted_help_args(args) bundler_commands = all_commands.keys help_flags = %w(--help -h) exec_commands = %w(e ex exe exec) help_used = args.index {|a| help_flags.include? a } exec_used = args.index {|a| exec_commands.include? a } command = args.find {|a| bundler_commands.include? a } if exec_used && help_used if exec_used + help_used == 1 %w(help exec) else args end elsif help_used args = args.dup args.delete_at(help_used) ["help", command || args].flatten.compact else args end end
# File lib/bundler/cli.rb, line 416 def self.source_root File.expand_path(File.join(File.dirname(__FILE__), "templates")) end
# File lib/bundler/cli.rb, line 10 def self.start(*) super rescue Exception => e Bundler.ui = UI::Shell.new raise e ensure Bundler::SharedHelpers.print_major_deprecations! end
# File lib/bundler/cli.rb, line 260 def binstubs(*gems) require "bundler/cli/binstubs" Binstubs.new(options, gems).run end
# File lib/bundler/cli.rb, line 292 def cache require "bundler/cli/cache" Cache.new(options).run end
# File lib/bundler/cli.rb, line 129 def check require "bundler/cli/check" Check.new(options).run end
# File lib/bundler/cli.rb, line 425 def clean require "bundler/cli/clean" Clean.new(options.dup).run end
# File lib/bundler/cli.rb, line 347 def config(*args) require "bundler/cli/config" Config.new(options, args, self).run end
# File lib/bundler/cli.rb, line 359 def console(group = nil) # TODO: Remove for 2.0 require "bundler/cli/console" Console.new(options, group).run end
# File lib/bundler/cli.rb, line 480 def doctor require "bundler/cli/doctor" Doctor.new(options).run end
# File lib/bundler/cli.rb, line 466 def env Env.new.write($stdout) end
# File lib/bundler/cli.rb, line 330 def exec(*args) require "bundler/cli/exec" Exec.new(options, args).run end
# File lib/bundler/cli.rb, line 411 def gem(name) require "bundler/cli/gem" Gem.new(options, name, self).run end
# File lib/bundler/cli.rb, line 60 def help(cli = nil) case cli when "gemfile" then command = "gemfile.5" when nil then command = "bundle" else command = "bundle-#{cli}" end manpages = %w( bundle bundle-config bundle-exec bundle-gem bundle-install bundle-package bundle-update bundle-platform gemfile.5 ) if manpages.include?(command) root = File.expand_path("../man", __FILE__) if Bundler.which("man") && root !~ %r{^file:/.+!/META-INF/jruby.home/.+} Kernel.exec "man #{root}/#{command}" else puts File.read("#{root}/#{command}.txt") end elsif command_path = Bundler.which("bundler-#{cli}") Kernel.exec(command_path, "--help") else super end end
# File lib/bundler/cli.rb, line 111 def init require "bundler/cli/init" Init.new(options.dup).run end
# File lib/bundler/cli.rb, line 439 def inject(name, version, *gems) SharedHelpers.major_deprecation "The `inject` command has been replaced by the `add` command" require "bundler/cli/inject" Inject.new(options, name, version, gems).run end
# File lib/bundler/cli.rb, line 185 def install require "bundler/cli/install" no_install = Bundler.settings[:no_install] Bundler.settings[:no_install] = false if no_install == true Install.new(options.dup).run ensure Bundler.settings[:no_install] = no_install unless no_install.nil? end
# File lib/bundler/cli.rb, line 372 def licenses Bundler.load.specs.sort_by {|s| s.license.to_s }.reverse_each do |s| gem_name = s.name license = s.license || s.licenses if license.empty? Bundler.ui.warn "#{gem_name}: Unknown" else Bundler.ui.info "#{gem_name}: #{license}" end end end
# File lib/bundler/cli.rb, line 460 def lock require "bundler/cli/lock" Lock.new(options).run end
# File lib/bundler/cli.rb, line 353 def open(name) require "bundler/cli/open" Open.new(options, name).run end
# File lib/bundler/cli.rb, line 283 def outdated(*gems) require "bundler/cli/outdated" Outdated.new(options, gems).run end
# File lib/bundler/cli.rb, line 316 def package require "bundler/cli/package" Package.new(options).run end
# File lib/bundler/cli.rb, line 433 def platform require "bundler/cli/platform" Platform.new(options).run end
# File lib/bundler/cli.rb, line 240 def show(gem_name = nil) Bundler::SharedHelpers.major_deprecation("use `bundle show` instead of `bundle list`") if ARGV[0] == "list" require "bundler/cli/show" Show.new(options, gem_name).run end
# File lib/bundler/cli.rb, line 226 def update(*gems) require "bundler/cli/update" Update.new(options, gems).run end
# File lib/bundler/cli.rb, line 366 def version Bundler.ui.info "Bundler version #{Bundler::VERSION}" end
# File lib/bundler/cli.rb, line 396 def viz require "bundler/cli/viz" Viz.new(options.dup).run end
Automatically invoke `bundle install` and resume if Bundler.settings exists. This is set through config cmd `bundle config #auto_install 1`.
Note that this method `nil`s out the global Definition object, so it should be called first, before you instantiate anything like an `Installer` that'll keep a reference to the old one instead.
# File lib/bundler/cli.rb, line 524 def auto_install return unless Bundler.settings[:auto_install] begin Bundler.definition.specs rescue GemNotFound Bundler.ui.info "Automatically installing missing gems." Bundler.reset! invoke :install, [] Bundler.reset! end end
# File lib/bundler/cli.rb, line 537 def print_command return unless ENV["BUNDLE_POSTIT_TRAMPOLINING_VERSION"] || Bundler.ui.debug? _, _, config = @_initializer current_command = config[:current_command].name return if %w(exec version check platform show help).include?(current_command) command = ["bundle", current_command] + args command << Thor::Options.to_switches(options) command.reject!(&:empty?) Bundler.ui.info "Running `#{command * " "}` with bundler #{Bundler::VERSION}" end