Merge pull request #7281 from GauthamGoli/argv-cleanup-19

ARGV: Deprecate ARGV.force_bottle?
This commit is contained in:
Mike McQuaid 2020-04-20 19:46:30 +01:00 committed by GitHub
commit cacc8183ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 9 additions and 153 deletions

View File

@ -179,6 +179,12 @@ module Homebrew
cmdline_args.include?("--build-from-source") || cmdline_args.include?("-s") cmdline_args.include?("--build-from-source") || cmdline_args.include?("-s")
end end
def force_bottle
return true if args_parsed && force_bottle?
cmdline_args.include?("--force-bottle")
end
private private
def downcased_unique_named def downcased_unique_named

View File

@ -40,10 +40,6 @@ module HomebrewArgvExtension
arch&.to_sym arch&.to_sym
end end
def force_bottle?
include?("--force-bottle")
end
def cc def cc
value "cc" value "cc"
end end

View File

@ -5,7 +5,7 @@ module Homebrew
module_function module_function
def fetch_bottle?(f) def fetch_bottle?(f)
return true if ARGV.force_bottle? && f.bottle return true if Homebrew.args.force_bottle && f.bottle
return false unless f.bottle && f.pour_bottle? return false unless f.bottle && f.pour_bottle?
return false if Homebrew.args.build_formula_from_source?(f) return false if Homebrew.args.build_formula_from_source?(f)
return false unless f.bottle.compatible_cellar? return false unless f.bottle.compatible_cellar?

View File

@ -51,7 +51,7 @@ class FormulaInstaller
@only_deps = false @only_deps = false
@build_from_source = Homebrew.args.build_from_source @build_from_source = Homebrew.args.build_from_source
@build_bottle = false @build_bottle = false
@force_bottle = ARGV.force_bottle? @force_bottle = Homebrew.args.force_bottle
@include_test = ARGV.include?("--include-test") @include_test = ARGV.include?("--include-test")
@interactive = false @interactive = false
@git = false @git = false

View File

@ -95,7 +95,7 @@ class SoftwareSpec
def bottled? def bottled?
bottle_specification.tag?(Utils::Bottles.tag) && \ bottle_specification.tag?(Utils::Bottles.tag) && \
(bottle_specification.compatible_cellar? || ARGV.force_bottle?) (bottle_specification.compatible_cellar? || Homebrew.args.force_bottle)
end end
def bottle(disable_type = nil, disable_reason = nil, &block) def bottle(disable_type = nil, disable_reason = nil, &block)

View File

@ -97,152 +97,6 @@ describe Cask::Cmd::Upgrade, :cask do
end end
end end
context "dry run upgrade" do
let(:installed) {
[
"outdated/local-caffeine",
"outdated/local-transmission",
"outdated/auto-updates",
"outdated/version-latest",
]
}
before do
installed.each { |cask| Cask::Cmd::Install.run(cask) }
allow_any_instance_of(described_class).to receive(:verbose?).and_return(true)
end
describe 'without --greedy it ignores the Casks with "version latest" or "auto_updates true"' do
it "would update all the installed Casks when no token is provided" do
local_caffeine = Cask::CaskLoader.load("local-caffeine")
local_caffeine_path = Cask::Config.global.appdir.join("Caffeine.app")
local_transmission = Cask::CaskLoader.load("local-transmission")
local_transmission_path = Cask::Config.global.appdir.join("Transmission.app")
expect(local_caffeine).to be_installed
expect(local_caffeine_path).to be_a_directory
expect(local_caffeine.versions).to include("1.2.2")
expect(local_transmission).to be_installed
expect(local_transmission_path).to be_a_directory
expect(local_transmission.versions).to include("2.60")
described_class.run("--dry-run")
expect(local_caffeine).to be_installed
expect(local_caffeine_path).to be_a_directory
expect(local_caffeine.versions).to include("1.2.2")
expect(local_caffeine.versions).not_to include("1.2.3")
expect(local_transmission).to be_installed
expect(local_transmission_path).to be_a_directory
expect(local_transmission.versions).to include("2.60")
expect(local_transmission.versions).not_to include("2.61")
end
it "would update only the Casks specified in the command line" do
local_caffeine = Cask::CaskLoader.load("local-caffeine")
local_caffeine_path = Cask::Config.global.appdir.join("Caffeine.app")
local_transmission = Cask::CaskLoader.load("local-transmission")
local_transmission_path = Cask::Config.global.appdir.join("Transmission.app")
expect(local_caffeine).to be_installed
expect(local_caffeine_path).to be_a_directory
expect(local_caffeine.versions).to include("1.2.2")
expect(local_transmission).to be_installed
expect(local_transmission_path).to be_a_directory
expect(local_transmission.versions).to include("2.60")
described_class.run("--dry-run", "local-caffeine")
expect(local_caffeine).to be_installed
expect(local_caffeine_path).to be_a_directory
expect(local_caffeine.versions).to include("1.2.2")
expect(local_caffeine.versions).not_to include("1.2.3")
expect(local_transmission).to be_installed
expect(local_transmission_path).to be_a_directory
expect(local_transmission.versions).to include("2.60")
expect(local_transmission.versions).not_to include("2.61")
end
end
describe "with --greedy it checks additional Casks" do
it 'would include the Casks with "auto_updates true" or "version latest"' do
local_caffeine = Cask::CaskLoader.load("local-caffeine")
local_caffeine_path = Cask::Config.global.appdir.join("Caffeine.app")
auto_updates = Cask::CaskLoader.load("auto-updates")
auto_updates_path = Cask::Config.global.appdir.join("MyFancyApp.app")
local_transmission = Cask::CaskLoader.load("local-transmission")
local_transmission_path = Cask::Config.global.appdir.join("Transmission.app")
version_latest = Cask::CaskLoader.load("version-latest")
version_latest_path_1 = Cask::Config.global.appdir.join("Caffeine Mini.app")
version_latest_path_2 = Cask::Config.global.appdir.join("Caffeine Pro.app")
expect(local_caffeine).to be_installed
expect(local_caffeine_path).to be_a_directory
expect(local_caffeine.versions).to include("1.2.2")
expect(auto_updates).to be_installed
expect(auto_updates_path).to be_a_directory
expect(auto_updates.versions).to include("2.57")
expect(local_transmission).to be_installed
expect(local_transmission_path).to be_a_directory
expect(local_transmission.versions).to include("2.60")
expect(version_latest).to be_installed
expect(version_latest_path_1).to be_a_directory
expect(version_latest.versions).to include("latest")
described_class.run("--greedy", "--dry-run")
expect(local_caffeine).to be_installed
expect(local_caffeine_path).to be_a_directory
expect(local_caffeine.versions).to include("1.2.2")
expect(local_caffeine.versions).not_to include("1.2.3")
expect(auto_updates).to be_installed
expect(auto_updates_path).to be_a_directory
expect(auto_updates.versions).to include("2.57")
expect(auto_updates.versions).not_to include("2.61")
expect(local_transmission).to be_installed
expect(local_transmission_path).to be_a_directory
expect(local_transmission.versions).to include("2.60")
expect(local_transmission.versions).not_to include("2.61")
expect(version_latest).to be_installed
expect(version_latest_path_2).to be_a_directory
end
it 'does not include the Casks with "auto_updates true" when the version did not change' do
cask = Cask::CaskLoader.load("auto-updates")
cask_path = cask.config.appdir.join("MyFancyApp.app")
expect(cask).to be_installed
expect(cask_path).to be_a_directory
expect(cask.versions).to include("2.57")
described_class.run("--dry-run", "auto-updates", "--greedy")
expect(cask).to be_installed
expect(cask_path).to be_a_directory
expect(cask.versions).to include("2.57")
expect(cask.versions).not_to include("2.61")
described_class.run("--dry-run", "auto-updates", "--greedy")
expect(cask).to be_installed
expect(cask_path).to be_a_directory
expect(cask.versions).to include("2.57")
expect(cask.versions).not_to include("2.61")
end
end
end
context "failed upgrade" do context "failed upgrade" do
let(:installed) { let(:installed) {
[ [