Merge pull request #14948 from hyuraku/remove-cask/cmd/fetch
remove `cask/cmd/fetch`
This commit is contained in:
commit
c31ae1ce6a
@ -11,7 +11,6 @@ require "cask/config"
|
|||||||
|
|
||||||
require "cask/cmd/abstract_command"
|
require "cask/cmd/abstract_command"
|
||||||
require "cask/cmd/audit"
|
require "cask/cmd/audit"
|
||||||
require "cask/cmd/fetch"
|
|
||||||
require "cask/cmd/install"
|
require "cask/cmd/install"
|
||||||
require "cask/cmd/reinstall"
|
require "cask/cmd/reinstall"
|
||||||
|
|
||||||
|
|||||||
@ -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
|
|
||||||
@ -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
|
|
||||||
@ -2,7 +2,6 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "cask/cmd/audit"
|
require "cask/cmd/audit"
|
||||||
require "cask/cmd/fetch"
|
|
||||||
require "cask/cmd/install"
|
require "cask/cmd/install"
|
||||||
require "cask/cask_loader"
|
require "cask/cask_loader"
|
||||||
require "cask/download"
|
require "cask/download"
|
||||||
@ -29,7 +28,8 @@ describe Cask::Quarantine, :cask do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "quarantines Cask fetches" do
|
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"))
|
local_transmission = Cask::CaskLoader.load(cask_path("local-transmission"))
|
||||||
cached_location = Cask::Download.new(local_transmission).fetch
|
cached_location = Cask::Download.new(local_transmission).fetch
|
||||||
|
|
||||||
@ -50,7 +50,8 @@ describe Cask::Quarantine, :cask do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "quarantines Cask installs even if the fetch was not" do
|
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")
|
Cask::Cmd::Install.run("local-transmission")
|
||||||
|
|
||||||
@ -144,7 +145,8 @@ describe Cask::Quarantine, :cask do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "does not quarantine Cask fetches" do
|
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"))
|
local_transmission = Cask::CaskLoader.load(cask_path("local-transmission"))
|
||||||
cached_location = Cask::Download.new(local_transmission).fetch
|
cached_location = Cask::Download.new(local_transmission).fetch
|
||||||
|
|
||||||
@ -165,7 +167,8 @@ describe Cask::Quarantine, :cask do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "does not quarantine Cask installs even if the fetch was" do
|
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")
|
Cask::Cmd::Install.run("local-transmission", "--no-quarantine")
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user