mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
9ac89fe35e
The is the previous intentional behaviour untilca0676cb1c
. In my opinion, that previous behaviour was better and should be restored, because we want our users to always see warnings and fix them. And the original issue that motivated the change is fixable by other means, namely through `BUNDLE_SILENCE_ROOT_WARNING`, or through `BUNDLE_SILENCE_DEPRECATIONS` in general. Finally, the --quiet option is still documented as "only print errors and warnings". So this PR essentially revertsca0676cb1c
for the above reasons. https://github.com/rubygems/rubygems/commit/35f2254dfc
43 lines
1.1 KiB
Ruby
43 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Bundler
|
|
class CLI::Cache
|
|
attr_reader :options
|
|
|
|
def initialize(options)
|
|
@options = options
|
|
end
|
|
|
|
def run
|
|
Bundler.ui.level = "warn" if options[:quiet]
|
|
Bundler.settings.set_command_option_if_given :path, options[:path]
|
|
Bundler.settings.set_command_option_if_given :cache_path, options["cache-path"]
|
|
|
|
setup_cache_all
|
|
install
|
|
|
|
# TODO: move cache contents here now that all bundles are locked
|
|
custom_path = Bundler.settings[:path] if options[:path]
|
|
|
|
Bundler.settings.temporary(:cache_all_platforms => options["all-platforms"]) do
|
|
Bundler.load.cache(custom_path)
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def install
|
|
require_relative "install"
|
|
options = self.options.dup
|
|
options["local"] = false if Bundler.settings[:cache_all_platforms]
|
|
options["no-cache"] = true
|
|
Bundler::CLI::Install.new(options).run
|
|
end
|
|
|
|
def setup_cache_all
|
|
all = options.fetch(:all, Bundler.feature_flag.cache_all? || nil)
|
|
|
|
Bundler.settings.set_command_option_if_given :cache_all, all
|
|
end
|
|
end
|
|
end
|