diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-22 23:08:05 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-22 23:08:05 +0000 |
commit | 7825e8363d4b2ccad8e2d3f5eeba9e26f6656911 (patch) | |
tree | 83cbcf419e0feeb2ab0fd063ed85e0776eb0081b /lib/bundler/cli/update.rb | |
parent | 73bed0312895322e0fd18310e840356c8e6af812 (diff) | |
download | ruby-7825e8363d4b2ccad8e2d3f5eeba9e26f6656911.tar.gz |
Postponing the Bundler merge.
I faced a big issue about Bundler with ruby core.
I have no time to resolve it issue before 2.5 final release.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/bundler/cli/update.rb')
-rw-r--r-- | lib/bundler/cli/update.rb | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/lib/bundler/cli/update.rb b/lib/bundler/cli/update.rb deleted file mode 100644 index 3890ea307a..0000000000 --- a/lib/bundler/cli/update.rb +++ /dev/null @@ -1,91 +0,0 @@ -# frozen_string_literal: true - -module Bundler - class CLI::Update - attr_reader :options, :gems - def initialize(options, gems) - @options = options - @gems = gems - end - - def run - Bundler.ui.level = "error" if options[:quiet] - - Plugin.gemfile_install(Bundler.default_gemfile) if Bundler.feature_flag.plugins? - - sources = Array(options[:source]) - groups = Array(options[:group]).map(&:to_sym) - - full_update = gems.empty? && sources.empty? && groups.empty? && !options[:ruby] && !options[:bundler] - - if full_update && !options[:all] - if Bundler.feature_flag.update_requires_all_flag? - raise InvalidOption, "To update everything, pass the `--all` flag." - end - SharedHelpers.major_deprecation 2, "Pass --all to `bundle update` to update everything" - elsif !full_update && options[:all] - raise InvalidOption, "Cannot specify --all along with specific options." - end - - if full_update - # We're doing a full update - Bundler.definition(true) - else - unless Bundler.default_lockfile.exist? - raise GemfileLockNotFound, "This Bundle hasn't been installed yet. " \ - "Run `bundle install` to update and install the bundled gems." - end - Bundler::CLI::Common.ensure_all_gems_in_lockfile!(gems) - - if groups.any? - specs = Bundler.definition.specs_for groups - gems.concat(specs.map(&:name)) - end - - Bundler.definition(:gems => gems, :sources => sources, :ruby => options[:ruby], - :lock_shared_dependencies => options[:conservative], - :bundler => options[:bundler]) - end - - Bundler::CLI::Common.configure_gem_version_promoter(Bundler.definition, options) - - Bundler::Fetcher.disable_endpoint = options["full-index"] - - opts = options.dup - opts["update"] = true - opts["local"] = options[:local] - - Bundler.settings.set_command_option_if_given :jobs, opts["jobs"] - - Bundler.definition.validate_runtime! - installer = Installer.install Bundler.root, Bundler.definition, opts - Bundler.load.cache if Bundler.app_cache.exist? - - if CLI::Common.clean_after_install? - require "bundler/cli/clean" - Bundler::CLI::Clean.new(options).run - end - - if locked_gems = Bundler.definition.locked_gems - gems.each do |name| - locked_version = locked_gems.specs.find {|s| s.name == name } - locked_version &&= locked_version.version - next unless locked_version - new_version = Bundler.definition.specs[name].first - new_version &&= new_version.version - if !new_version - Bundler.ui.warn "Bundler attempted to update #{name} but it was removed from the bundle" - elsif new_version < locked_version - Bundler.ui.warn "Bundler attempted to update #{name} but its version regressed from #{locked_version} to #{new_version}" - elsif new_version == locked_version - Bundler.ui.warn "Bundler attempted to update #{name} but its version stayed the same" - end - end - end - - Bundler.ui.confirm "Bundle updated!" - Bundler::CLI::Common.output_without_groups_message - Bundler::CLI::Common.output_post_install_messages installer.post_install_messages - end - end -end |