diff --git a/Library/Homebrew/cask/cmd.rb b/Library/Homebrew/cask/cmd.rb index acb6de20e7..127995b692 100644 --- a/Library/Homebrew/cask/cmd.rb +++ b/Library/Homebrew/cask/cmd.rb @@ -11,7 +11,6 @@ require "cask/config" require "cask/cmd/abstract_command" require "cask/cmd/audit" -require "cask/cmd/fetch" require "cask/cmd/install" require "cask/cmd/reinstall" diff --git a/Library/Homebrew/cask/cmd/fetch.rb b/Library/Homebrew/cask/cmd/fetch.rb deleted file mode 100644 index da0eb66295..0000000000 --- a/Library/Homebrew/cask/cmd/fetch.rb +++ /dev/null @@ -1,41 +0,0 @@ -# typed: false -# frozen_string_literal: true - -module Cask - class Cmd - # Cask implementation of the `brew fetch` command. - # - # @api private - class Fetch < AbstractCommand - extend T::Sig - - def self.parser - super do - switch "--force", - description: "Force redownloading even if files already exist in local cache." - end - end - - sig { void } - def run - require "cask/download" - require "cask/installer" - - options = { - quarantine: args.quarantine?, - }.compact - - options[:quarantine] = true if options[:quarantine].nil? - - casks.each do |cask| - puts Installer.caveats(cask) - ohai "Downloading external files for Cask #{cask}" - download = Download.new(cask, **options) - download.clear_cache if args.force? - downloaded_path = download.fetch - ohai "Success! Downloaded to: #{downloaded_path}" - end - end - end - end -end diff --git a/Library/Homebrew/test/cask/cmd/fetch_spec.rb b/Library/Homebrew/test/cask/cmd/fetch_spec.rb deleted file mode 100644 index ad443c43db..0000000000 --- a/Library/Homebrew/test/cask/cmd/fetch_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -# typed: false -# frozen_string_literal: true - -describe Cask::Cmd::Fetch, :cask do - let(:local_transmission) do - Cask::CaskLoader.load(cask_path("local-transmission")) - end - - let(:local_caffeine) do - Cask::CaskLoader.load(cask_path("local-caffeine")) - end - - it "allows downloading the installer of a Cask" do - transmission_location = CurlDownloadStrategy.new( - local_transmission.url.to_s, local_transmission.token, local_transmission.version, - cache: Cask::Cache.path, **local_transmission.url.specs - ).cached_location - caffeine_location = CurlDownloadStrategy.new( - local_caffeine.url.to_s, local_caffeine.token, local_caffeine.version, - cache: Cask::Cache.path, **local_caffeine.url.specs - ).cached_location - - expect(transmission_location).not_to exist - expect(caffeine_location).not_to exist - - described_class.run("local-transmission", "local-caffeine") - - expect(transmission_location).to exist - expect(caffeine_location).to exist - end - - it "prevents double fetch (without nuking existing installation)" do - cached_location = Cask::Download.new(local_transmission).fetch - - old_ctime = File.stat(cached_location).ctime - - described_class.run("local-transmission", "--no-quarantine") - new_ctime = File.stat(cached_location).ctime - - expect(old_ctime.to_i).to eq(new_ctime.to_i) - end - - it "allows double fetch with --force" do - cached_location = Cask::Download.new(local_transmission).fetch - - old_ctime = File.stat(cached_location).ctime - sleep(1) - - described_class.run("local-transmission", "--force", "--no-quarantine") - new_ctime = File.stat(cached_location).ctime - - expect(new_ctime.to_i).to be > old_ctime.to_i - end - - it "properly handles Casks that are not present" do - expect do - described_class.run("notacask") - end.to raise_error(Cask::CaskUnavailableError) - end -end diff --git a/Library/Homebrew/test/cask/quarantine_spec.rb b/Library/Homebrew/test/cask/quarantine_spec.rb index 7ab7b7f2d5..f14d4bd70b 100644 --- a/Library/Homebrew/test/cask/quarantine_spec.rb +++ b/Library/Homebrew/test/cask/quarantine_spec.rb @@ -2,7 +2,6 @@ # frozen_string_literal: true require "cask/cmd/audit" -require "cask/cmd/fetch" require "cask/cmd/install" require "cask/cask_loader" require "cask/download" @@ -29,7 +28,8 @@ describe Cask::Quarantine, :cask do end it "quarantines Cask fetches" do - Cask::Cmd::Fetch.run("local-transmission") + download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: true) + download.fetch local_transmission = Cask::CaskLoader.load(cask_path("local-transmission")) cached_location = Cask::Download.new(local_transmission).fetch @@ -50,7 +50,8 @@ describe Cask::Quarantine, :cask do end it "quarantines Cask installs even if the fetch was not" do - Cask::Cmd::Fetch.run("local-transmission", "--no-quarantine") + download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: false) + download.fetch Cask::Cmd::Install.run("local-transmission") @@ -144,7 +145,8 @@ describe Cask::Quarantine, :cask do end it "does not quarantine Cask fetches" do - Cask::Cmd::Fetch.run("local-transmission", "--no-quarantine") + download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: false) + download.fetch local_transmission = Cask::CaskLoader.load(cask_path("local-transmission")) cached_location = Cask::Download.new(local_transmission).fetch @@ -165,7 +167,8 @@ describe Cask::Quarantine, :cask do end it "does not quarantine Cask installs even if the fetch was" do - Cask::Cmd::Fetch.run("local-transmission") + download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: true) + download.fetch Cask::Cmd::Install.run("local-transmission", "--no-quarantine")