Merge pull request #14864 from hyuraku/remove-cask/cmd/zap
Remove `cask/cmd/zap`
This commit is contained in:
commit
bb73c3d19e
@ -16,7 +16,6 @@ require "cask/cmd/install"
|
|||||||
require "cask/cmd/reinstall"
|
require "cask/cmd/reinstall"
|
||||||
require "cask/cmd/uninstall"
|
require "cask/cmd/uninstall"
|
||||||
require "cask/cmd/upgrade"
|
require "cask/cmd/upgrade"
|
||||||
require "cask/cmd/zap"
|
|
||||||
|
|
||||||
module Cask
|
module Cask
|
||||||
# Implementation of the `brew cask` command-line interface.
|
# Implementation of the `brew cask` command-line interface.
|
||||||
|
|||||||
@ -1,42 +0,0 @@
|
|||||||
# typed: false
|
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
module Cask
|
|
||||||
class Cmd
|
|
||||||
# Cask implementation for the `brew uninstall` command.
|
|
||||||
#
|
|
||||||
# @api private
|
|
||||||
class Zap < AbstractCommand
|
|
||||||
extend T::Sig
|
|
||||||
|
|
||||||
def self.parser
|
|
||||||
super do
|
|
||||||
switch "--force",
|
|
||||||
description: "Ignore errors when removing files."
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { void }
|
|
||||||
def run
|
|
||||||
self.class.zap_casks(*casks, verbose: args.verbose?, force: args.force?)
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { params(casks: Cask, force: T.nilable(T::Boolean), verbose: T.nilable(T::Boolean)).void }
|
|
||||||
def self.zap_casks(
|
|
||||||
*casks,
|
|
||||||
force: nil,
|
|
||||||
verbose: nil
|
|
||||||
)
|
|
||||||
require "cask/installer"
|
|
||||||
|
|
||||||
casks.each do |cask|
|
|
||||||
odebug "Zapping Cask #{cask}"
|
|
||||||
|
|
||||||
raise CaskNotInstalledError, cask if !cask.installed? && !force
|
|
||||||
|
|
||||||
Installer.new(cask, verbose: verbose, force: force).zap
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -8,6 +8,8 @@ require "migrator"
|
|||||||
require "cli/parser"
|
require "cli/parser"
|
||||||
require "cask/cmd"
|
require "cask/cmd"
|
||||||
require "cask/cask_loader"
|
require "cask/cask_loader"
|
||||||
|
require "cask/exceptions"
|
||||||
|
require "cask/installer"
|
||||||
require "uninstall"
|
require "uninstall"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
@ -66,11 +68,13 @@ module Homebrew
|
|||||||
)
|
)
|
||||||
|
|
||||||
if args.zap?
|
if args.zap?
|
||||||
T.unsafe(Cask::Cmd::Zap).zap_casks(
|
casks.each do |cask|
|
||||||
*casks,
|
odebug "Zapping Cask #{cask}"
|
||||||
verbose: args.verbose?,
|
|
||||||
force: args.force?,
|
raise Cask::CaskNotInstalledError, cask if !cask.installed? && !args.force?
|
||||||
)
|
|
||||||
|
Cask::Installer.new(cask, verbose: args.verbose?, force: args.force?).zap
|
||||||
|
end
|
||||||
else
|
else
|
||||||
T.unsafe(Cask::Cmd::Uninstall).uninstall_casks(
|
T.unsafe(Cask::Cmd::Uninstall).uninstall_casks(
|
||||||
*casks,
|
*casks,
|
||||||
|
|||||||
@ -1,27 +0,0 @@
|
|||||||
# typed: false
|
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
describe Cask::Cmd::Zap, :cask do
|
|
||||||
it "shows an error when a bad Cask is provided" do
|
|
||||||
expect { described_class.run("notacask") }
|
|
||||||
.to raise_error(Cask::CaskUnavailableError, /is unavailable/)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "can zap and unlink multiple Casks at once" do
|
|
||||||
caffeine = Cask::CaskLoader.load(cask_path("local-caffeine"))
|
|
||||||
transmission = Cask::CaskLoader.load(cask_path("local-transmission"))
|
|
||||||
|
|
||||||
Cask::Installer.new(caffeine).install
|
|
||||||
Cask::Installer.new(transmission).install
|
|
||||||
|
|
||||||
expect(caffeine).to be_installed
|
|
||||||
expect(transmission).to be_installed
|
|
||||||
|
|
||||||
described_class.run("local-caffeine", "local-transmission")
|
|
||||||
|
|
||||||
expect(caffeine).not_to be_installed
|
|
||||||
expect(caffeine.config.appdir.join("Caffeine.app")).not_to be_a_symlink
|
|
||||||
expect(transmission).not_to be_installed
|
|
||||||
expect(transmission.config.appdir.join("Transmission.app")).not_to be_a_symlink
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@ -251,6 +251,18 @@ describe Cask::Installer, :cask do
|
|||||||
expect(Cask::CaskLoader.load(path)).to be_installed
|
expect(Cask::CaskLoader.load(path)).to be_installed
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "zap method reinstall cask" do
|
||||||
|
caffeine = Cask::CaskLoader.load(cask_path("local-caffeine"))
|
||||||
|
described_class.new(caffeine).install
|
||||||
|
|
||||||
|
expect(caffeine).to be_installed
|
||||||
|
|
||||||
|
described_class.new(caffeine).zap
|
||||||
|
|
||||||
|
expect(caffeine).not_to be_installed
|
||||||
|
expect(caffeine.config.appdir.join("Caffeine.app")).not_to be_a_symlink
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "uninstall" do
|
describe "uninstall" do
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user