diff --git a/Library/Homebrew/cask/lib/hbc.rb b/Library/Homebrew/cask/lib/hbc.rb index 6c014b1791..efce21391e 100644 --- a/Library/Homebrew/cask/lib/hbc.rb +++ b/Library/Homebrew/cask/lib/hbc.rb @@ -15,7 +15,6 @@ require "hbc/download" require "hbc/download_strategy" require "hbc/exceptions" require "hbc/installer" -require "hbc/locations" require "hbc/config" require "hbc/macos" require "hbc/pkg" @@ -28,8 +27,6 @@ require "hbc/verify" require "hbc/version" module Hbc - include Locations - def self.init Cache.ensure_cache_exists Caskroom.ensure_caskroom_exists diff --git a/Library/Homebrew/cask/lib/hbc/cache.rb b/Library/Homebrew/cask/lib/hbc/cache.rb index d2d0222ba9..461ce2c84e 100644 --- a/Library/Homebrew/cask/lib/hbc/cache.rb +++ b/Library/Homebrew/cask/lib/hbc/cache.rb @@ -2,11 +2,15 @@ module Hbc module Cache module_function - def ensure_cache_exists - return if Hbc.cache.exist? + def path + @path ||= HOMEBREW_CACHE.join("Cask") + end - odebug "Creating Cache at #{Hbc.cache}" - Hbc.cache.mkpath + def ensure_cache_exists + return if path.exist? + + odebug "Creating Cache at #{path}" + path.mkpath end end end diff --git a/Library/Homebrew/cask/lib/hbc/cask.rb b/Library/Homebrew/cask/lib/hbc/cask.rb index 2ec4cb652f..d41e2d5221 100644 --- a/Library/Homebrew/cask/lib/hbc/cask.rb +++ b/Library/Homebrew/cask/lib/hbc/cask.rb @@ -55,7 +55,7 @@ module Hbc end def full_name - return token if tap == Hbc.default_tap + return token if tap == Tap.default_cask_tap qualified_token end diff --git a/Library/Homebrew/cask/lib/hbc/cask_loader.rb b/Library/Homebrew/cask/lib/hbc/cask_loader.rb index 1ac85af5fa..1c41a80691 100644 --- a/Library/Homebrew/cask/lib/hbc/cask_loader.rb +++ b/Library/Homebrew/cask/lib/hbc/cask_loader.rb @@ -78,7 +78,7 @@ module Hbc def initialize(url) @url = URI(url) - super Hbc.cache/File.basename(@url.path) + super Cache.path/File.basename(@url.path) end def load @@ -207,7 +207,7 @@ module Hbc end def self.default_path(token) - Hbc.default_tap.cask_dir/"#{token.to_s.downcase}.rb" + Tap.default_cask_tap.cask_dir/"#{token.to_s.downcase}.rb" end def self.tap_paths(token) diff --git a/Library/Homebrew/cask/lib/hbc/caskroom.rb b/Library/Homebrew/cask/lib/hbc/caskroom.rb index 7603b977fb..4ed4a2b7a5 100644 --- a/Library/Homebrew/cask/lib/hbc/caskroom.rb +++ b/Library/Homebrew/cask/lib/hbc/caskroom.rb @@ -2,22 +2,26 @@ module Hbc module Caskroom module_function - def ensure_caskroom_exists - return if Hbc.caskroom.exist? + def path + @path ||= HOMEBREW_PREFIX.join("Caskroom") + end - ohai "Creating Caskroom at #{Hbc.caskroom}" if $stdout.tty? - sudo = !Hbc.caskroom.parent.writable? + def ensure_caskroom_exists + return if path.exist? + + ohai "Creating Caskroom at #{path}" if $stdout.tty? + sudo = !path.parent.writable? ohai "We'll set permissions properly so we won't need sudo in the future" if $stdout.tty? && sudo - SystemCommand.run("/bin/mkdir", args: ["-p", Hbc.caskroom], sudo: sudo) - SystemCommand.run("/bin/chmod", args: ["g+rwx", Hbc.caskroom], sudo: sudo) - SystemCommand.run("/usr/sbin/chown", args: [Utils.current_user, Hbc.caskroom], sudo: sudo) - SystemCommand.run("/usr/bin/chgrp", args: ["admin", Hbc.caskroom], sudo: sudo) + SystemCommand.run("/bin/mkdir", args: ["-p", path], sudo: sudo) + SystemCommand.run("/bin/chmod", args: ["g+rwx", path], sudo: sudo) + SystemCommand.run("/usr/sbin/chown", args: [Utils.current_user, path], sudo: sudo) + SystemCommand.run("/usr/bin/chgrp", args: ["admin", path], sudo: sudo) end def casks - Pathname.glob(Hbc.caskroom.join("*")).sort.select(&:directory?).map do |path| + Pathname.glob(path.join("*")).sort.select(&:directory?).map do |path| token = path.basename.to_s if tap_path = CaskLoader.tap_paths(token).first diff --git a/Library/Homebrew/cask/lib/hbc/cli.rb b/Library/Homebrew/cask/lib/hbc/cli.rb index 6410af5aeb..57cec17469 100644 --- a/Library/Homebrew/cask/lib/hbc/cli.rb +++ b/Library/Homebrew/cask/lib/hbc/cli.rb @@ -163,7 +163,7 @@ module Hbc MacOS.full_version = ENV["MACOS_VERSION"] unless ENV["MACOS_VERSION"].nil? - Hbc.default_tap.install unless Hbc.default_tap.installed? + Tap.default_cask_tap.install unless Tap.default_cask_tap.installed? Hbc.init if self.class.should_init?(command) self.class.run_command(command, *args) rescue CaskError, ArgumentError, OptionParser::InvalidOption => e diff --git a/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb b/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb index 07ac71cd6b..15a85d123b 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb @@ -14,7 +14,7 @@ module Hbc attr_reader :cache_location - def initialize(*args, cache_location: Hbc.cache) + def initialize(*args, cache_location: Cache.path) super(*args) @cache_location = Pathname.new(cache_location) end diff --git a/Library/Homebrew/cask/lib/hbc/cli/doctor.rb b/Library/Homebrew/cask/lib/hbc/cli/doctor.rb index 6f00951724..e60103d290 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/doctor.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/doctor.rb @@ -60,7 +60,7 @@ module Hbc def check_staging_location ohai "Homebrew-Cask Staging Location" - path = Pathname.new(user_tilde(Hbc.caskroom.to_s)) + path = Pathname.new(user_tilde(Caskroom.path.to_s)) if !path.exist? add_error "The staging path #{path} does not exist." @@ -77,19 +77,17 @@ module Hbc cleanup = CLI::Cleanup.new count = cleanup.cache_files.count size = cleanup.disk_cleanup_size - msg = user_tilde(Hbc.cache.to_s) + msg = user_tilde(Cache.path.to_s) msg << " (#{number_readable(count)} files, #{disk_usage_readable(size)})" unless count.zero? puts msg end def check_taps + default_tap = Tap.default_cask_tap + alt_taps = Tap.select { |t| t.cask_dir.exist? && t != default_tap } + ohai "Homebrew-Cask Taps:" - - default_tap = [Hbc.default_tap] - - alt_taps = Tap.select { |t| t.cask_dir.exist? && t != Hbc.default_tap } - - (default_tap + alt_taps).each do |tap| + [default_tap, *alt_taps].each do |tap| if tap.path.nil? || tap.path.to_s.empty? puts none_string else @@ -175,7 +173,7 @@ module Hbc end def self.alt_taps - Tap.select { |t| t.cask_dir.exist? && t != Hbc.default_tap } + Tap.select { |t| t.cask_dir.exist? && t != Tap.default_cask_tap } end def self.cask_count_for_tap(tap) @@ -240,7 +238,7 @@ module Hbc cleanup = CLI::Cleanup.new count = cleanup.cache_files.count size = cleanup.disk_cleanup_size - msg = user_tilde(Hbc.cache.to_s) + msg = user_tilde(Cache.path.to_s) msg << " (#{number_readable(count)} files, #{disk_usage_readable(size)})" unless count.zero? msg end diff --git a/Library/Homebrew/cask/lib/hbc/download_strategy.rb b/Library/Homebrew/cask/lib/hbc/download_strategy.rb index c6f4b78543..edcab1d320 100644 --- a/Library/Homebrew/cask/lib/hbc/download_strategy.rb +++ b/Library/Homebrew/cask/lib/hbc/download_strategy.rb @@ -36,7 +36,7 @@ module Hbc def initialize(*args, **options) super(*args, **options) @ref_type, @ref = extract_ref - @clone = Hbc.cache.join(cache_filename) + @clone = Cache.path.join(cache_filename) end def extract_ref @@ -65,7 +65,7 @@ module Hbc class CurlDownloadStrategy < AbstractDownloadStrategy def tarball_path - @tarball_path ||= Hbc.cache.join("#{name}--#{version}#{ext}") + @tarball_path ||= Cache.path.join("#{name}--#{version}#{ext}") end def temporary_path diff --git a/Library/Homebrew/cask/lib/hbc/dsl.rb b/Library/Homebrew/cask/lib/hbc/dsl.rb index 652f37c193..7492b59017 100644 --- a/Library/Homebrew/cask/lib/hbc/dsl.rb +++ b/Library/Homebrew/cask/lib/hbc/dsl.rb @@ -220,7 +220,7 @@ module Hbc end def caskroom_path - @caskroom_path ||= Hbc.caskroom.join(token) + @caskroom_path ||= Caskroom.path.join(token) end def staged_path diff --git a/Library/Homebrew/cask/lib/hbc/installer.rb b/Library/Homebrew/cask/lib/hbc/installer.rb index a2833e8f9a..90e4c286d4 100644 --- a/Library/Homebrew/cask/lib/hbc/installer.rb +++ b/Library/Homebrew/cask/lib/hbc/installer.rb @@ -292,19 +292,19 @@ module Hbc ohai "Enabling accessibility access" if MacOS.version <= :mountain_lion @command.run!("/usr/bin/touch", - args: [Hbc.pre_mavericks_accessibility_dotfile], + args: [MacOS.pre_mavericks_accessibility_dotfile], sudo: true) elsif MacOS.version <= :yosemite @command.run!("/usr/bin/sqlite3", args: [ - Hbc.tcc_db, + MacOS.tcc_db, "INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','#{bundle_identifier}',0,1,1,NULL);", ], sudo: true) elsif MacOS.version <= :el_capitan @command.run!("/usr/bin/sqlite3", args: [ - Hbc.tcc_db, + MacOS.tcc_db, "INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','#{bundle_identifier}',0,1,1,NULL,NULL);", ], sudo: true) @@ -325,7 +325,7 @@ module Hbc ohai "Disabling accessibility access" @command.run!("/usr/bin/sqlite3", args: [ - Hbc.tcc_db, + MacOS.tcc_db, "DELETE FROM access WHERE client='#{bundle_identifier}';", ], sudo: true) diff --git a/Library/Homebrew/cask/lib/hbc/locations.rb b/Library/Homebrew/cask/lib/hbc/locations.rb deleted file mode 100644 index 4e1bafc94f..0000000000 --- a/Library/Homebrew/cask/lib/hbc/locations.rb +++ /dev/null @@ -1,32 +0,0 @@ - -module Hbc - module Locations - def self.included(base) - base.extend(ClassMethods) - end - - module ClassMethods - def caskroom - @caskroom ||= HOMEBREW_PREFIX.join("Caskroom") - end - - def cache - @cache ||= HOMEBREW_CACHE.join("Cask") - end - - attr_writer :default_tap - - def default_tap - @default_tap ||= Tap.fetch("homebrew", "homebrew-cask") - end - - def tcc_db - @tcc_db ||= Pathname.new("/Library/Application Support/com.apple.TCC/TCC.db") - end - - def pre_mavericks_accessibility_dotfile - @pre_mavericks_accessibility_dotfile ||= Pathname.new("/private/var/db/.AccessibilityAPIEnabled") - end - end - end -end diff --git a/Library/Homebrew/cask/lib/hbc/version.rb b/Library/Homebrew/cask/lib/hbc/version.rb index 9330999309..370d37be41 100644 --- a/Library/Homebrew/cask/lib/hbc/version.rb +++ b/Library/Homebrew/cask/lib/hbc/version.rb @@ -3,7 +3,7 @@ module Hbc @full_version ||= begin <<~EOS Homebrew-Cask #{HOMEBREW_VERSION} - #{Hbc.default_tap.full_name} #{Hbc.default_tap.version_string} + #{Tap.default_cask_tap.full_name} #{Tap.default_cask_tap.version_string} EOS end end diff --git a/Library/Homebrew/compat/hbc/caskroom.rb b/Library/Homebrew/compat/hbc/caskroom.rb index 2a1d9bf48f..328a042eb7 100644 --- a/Library/Homebrew/compat/hbc/caskroom.rb +++ b/Library/Homebrew/compat/hbc/caskroom.rb @@ -3,42 +3,42 @@ module Hbc class << self module Compat def migrate_legacy_caskroom - return if Hbc.caskroom.exist? + return if path.exist? - legacy_caskroom = Pathname.new("/opt/homebrew-cask/Caskroom") - return if Hbc.caskroom == legacy_caskroom - return unless legacy_caskroom.exist? - return if legacy_caskroom.symlink? + legacy_caskroom_path = Pathname.new("/opt/homebrew-cask/Caskroom") + return if path == legacy_caskroom_path + return unless legacy_caskroom_path.exist? + return if legacy_caskroom_path.symlink? - ohai "Migrating Caskroom from #{legacy_caskroom} to #{Hbc.caskroom}." - if Hbc.caskroom.parent.writable? - FileUtils.mv legacy_caskroom, Hbc.caskroom + ohai "Migrating Caskroom from #{legacy_caskroom_path} to #{path}." + if path.parent.writable? + FileUtils.mv legacy_caskroom_path, path else - opoo "#{Hbc.caskroom.parent} is not writable, sudo is needed to move the Caskroom." - SystemCommand.run("/bin/mv", args: [legacy_caskroom, Hbc.caskroom.parent], sudo: true) + opoo "#{path.parent} is not writable, sudo is needed to move the Caskroom." + SystemCommand.run("/bin/mv", args: [legacy_caskroom_path, path.parent], sudo: true) end - ohai "Creating symlink from #{Hbc.caskroom} to #{legacy_caskroom}." - if legacy_caskroom.parent.writable? - FileUtils.ln_s Hbc.caskroom, legacy_caskroom + ohai "Creating symlink from #{path} to #{legacy_caskroom_path}." + if legacy_caskroom_path.parent.writable? + FileUtils.ln_s path, legacy_caskroom_path else - opoo "#{legacy_caskroom.parent} is not writable, sudo is needed to link the Caskroom." - SystemCommand.run("/bin/ln", args: ["-s", Hbc.caskroom, legacy_caskroom], sudo: true) + opoo "#{legacy_caskroom_path.parent} is not writable, sudo is needed to link the Caskroom." + SystemCommand.run("/bin/ln", args: ["-s", path, legacy_caskroom_path], sudo: true) end end def migrate_caskroom_from_repo_to_prefix - repo_caskroom = HOMEBREW_REPOSITORY.join("Caskroom") - return if Hbc.caskroom.exist? - return unless repo_caskroom.directory? + repo_caskroom_path = HOMEBREW_REPOSITORY.join("Caskroom") + return if path.exist? + return unless repo_caskroom_path.directory? ohai "Moving Caskroom from HOMEBREW_REPOSITORY to HOMEBREW_PREFIX" - if Hbc.caskroom.parent.writable? - FileUtils.mv repo_caskroom, Hbc.caskroom + if path.parent.writable? + FileUtils.mv repo_caskroom_path, path else - opoo "#{Hbc.caskroom.parent} is not writable, sudo is needed to move the Caskroom." - SystemCommand.run("/bin/mv", args: [repo_caskroom, Hbc.caskroom.parent], sudo: true) + opoo "#{path.parent} is not writable, sudo is needed to move the Caskroom." + SystemCommand.run("/bin/mv", args: [repo_caskroom_path, path.parent], sudo: true) end end end diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb index 0e862cffb5..bbdd032e8a 100644 --- a/Library/Homebrew/os/mac.rb +++ b/Library/Homebrew/os/mac.rb @@ -255,5 +255,13 @@ module OS def mdfind_query(*ids) ids.map! { |id| "kMDItemCFBundleIdentifier == #{id}" }.join(" || ") end + + def tcc_db + @tcc_db ||= Pathname.new("/Library/Application Support/com.apple.TCC/TCC.db") + end + + def pre_mavericks_accessibility_dotfile + @pre_mavericks_accessibility_dotfile ||= Pathname.new("/private/var/db/.AccessibilityAPIEnabled") + end end end diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index fa167c5a89..a6f7c4044f 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -46,6 +46,10 @@ class Tap nil end + def self.default_cask_tap + @default_cask_tap ||= fetch("Homebrew", "cask") + end + extend Enumerable # The user name of this {Tap}. Usually, it's the Github username of diff --git a/Library/Homebrew/test/cask/accessibility_spec.rb b/Library/Homebrew/test/cask/accessibility_spec.rb index 8832ed8d16..26613aa20c 100644 --- a/Library/Homebrew/test/cask/accessibility_spec.rb +++ b/Library/Homebrew/test/cask/accessibility_spec.rb @@ -16,7 +16,7 @@ describe "Accessibility Access", :cask do it "can enable accessibility access in macOS releases prior to Mavericks" do expect(fake_system_command).to receive(:run!).with( "/usr/bin/touch", - args: [Hbc.pre_mavericks_accessibility_dotfile], + args: [MacOS.pre_mavericks_accessibility_dotfile], sudo: true, ) @@ -36,7 +36,7 @@ describe "Accessibility Access", :cask do it "can enable accessibility access" do expect(fake_system_command).to receive(:run!).with( "/usr/bin/sqlite3", - args: [Hbc.tcc_db, "INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','com.example.BasicCask',0,1,1,NULL);"], + args: [MacOS.tcc_db, "INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','com.example.BasicCask',0,1,1,NULL);"], sudo: true, ) @@ -46,7 +46,7 @@ describe "Accessibility Access", :cask do it "can disable accessibility access" do expect(fake_system_command).to receive(:run!).with( "/usr/bin/sqlite3", - args: [Hbc.tcc_db, "DELETE FROM access WHERE client='com.example.BasicCask';"], + args: [MacOS.tcc_db, "DELETE FROM access WHERE client='com.example.BasicCask';"], sudo: true, ) diff --git a/Library/Homebrew/test/cask/cask_spec.rb b/Library/Homebrew/test/cask/cask_spec.rb index 4b9393d6cc..7c0c0c97d3 100644 --- a/Library/Homebrew/test/cask/cask_spec.rb +++ b/Library/Homebrew/test/cask/cask_spec.rb @@ -22,7 +22,7 @@ describe Hbc::Cask, :cask do end describe "load" do - let(:tap_path) { Hbc.default_tap.path } + let(:tap_path) { Tap.default_cask_tap.path } let(:file_dirname) { Pathname.new(__FILE__).dirname } let(:relative_tap_path) { tap_path.relative_path_from(file_dirname) } @@ -74,7 +74,7 @@ describe Hbc::Cask, :cask do it "proposes a versioned metadata directory name for each instance" do cask_token = "local-caffeine" c = Hbc::CaskLoader.load(cask_token) - metadata_timestamped_path = Hbc.caskroom.join(cask_token, ".metadata", c.version) + metadata_timestamped_path = Hbc::Caskroom.path.join(cask_token, ".metadata", c.version) expect(c.metadata_versioned_path.to_s).to eq(metadata_timestamped_path.to_s) end end diff --git a/Library/Homebrew/test/cask/cli/info_spec.rb b/Library/Homebrew/test/cask/cli/info_spec.rb index 12e93709ff..e3ece577ab 100644 --- a/Library/Homebrew/test/cask/cli/info_spec.rb +++ b/Library/Homebrew/test/cask/cli/info_spec.rb @@ -12,7 +12,7 @@ describe Hbc::CLI::Info, :cask do local-caffeine: 1.2.3 http://example.com/local-caffeine Not installed - From: https://github.com/Homebrew/homebrew-cask-spec/blob/master/Casks/local-caffeine.rb + From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/local-caffeine.rb ==> Name None ==> Artifacts @@ -26,7 +26,7 @@ describe Hbc::CLI::Info, :cask do local-caffeine: 1.2.3 http://example.com/local-caffeine Not installed - From: https://github.com/Homebrew/homebrew-cask-spec/blob/master/Casks/local-caffeine.rb + From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/local-caffeine.rb ==> Name None ==> Artifacts @@ -34,7 +34,7 @@ describe Hbc::CLI::Info, :cask do local-transmission: 2.61 http://example.com/local-transmission Not installed - From: https://github.com/Homebrew/homebrew-cask-spec/blob/master/Casks/local-transmission.rb + From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/local-transmission.rb ==> Name None ==> Artifacts @@ -56,7 +56,7 @@ describe Hbc::CLI::Info, :cask do with-caveats: 1.2.3 http://example.com/local-caffeine Not installed - From: https://github.com/Homebrew/homebrew-cask-spec/blob/master/Casks/with-caveats.rb + From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/with-caveats.rb ==> Name None ==> Artifacts @@ -82,7 +82,7 @@ describe Hbc::CLI::Info, :cask do with-conditional-caveats: 1.2.3 http://example.com/local-caffeine Not installed - From: https://github.com/Homebrew/homebrew-cask-spec/blob/master/Casks/with-conditional-caveats.rb + From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/with-conditional-caveats.rb ==> Name None ==> Artifacts @@ -97,7 +97,7 @@ describe Hbc::CLI::Info, :cask do with-languages: 1.2.3 http://example.com/local-caffeine Not installed - From: https://github.com/Homebrew/homebrew-cask-spec/blob/master/Casks/with-languages.rb + From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/with-languages.rb ==> Name None ==> Languages @@ -114,7 +114,7 @@ describe Hbc::CLI::Info, :cask do without-languages: 1.2.3 http://example.com/local-caffeine Not installed - From: https://github.com/Homebrew/homebrew-cask-spec/blob/master/Casks/without-languages.rb + From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/without-languages.rb ==> Name None ==> Artifacts diff --git a/Library/Homebrew/test/cask/cli/style_spec.rb b/Library/Homebrew/test/cask/cli/style_spec.rb index ae5e24d2ec..8e6655bde5 100644 --- a/Library/Homebrew/test/cask/cli/style_spec.rb +++ b/Library/Homebrew/test/cask/cli/style_spec.rb @@ -89,7 +89,7 @@ describe Hbc::CLI::Style, :cask do end end - it { is_expected.to contain_exactly(a_path_ending_with("/homebrew/homebrew-cask-spec/Casks"), a_path_ending_with("/third-party/homebrew-tap/Casks")) } + it { is_expected.to contain_exactly(a_path_ending_with("/homebrew/homebrew-cask/Casks"), a_path_ending_with("/third-party/homebrew-tap/Casks")) } end context "when at least one cask token is a path that exists" do diff --git a/Library/Homebrew/test/cask/cli/uninstall_spec.rb b/Library/Homebrew/test/cask/cli/uninstall_spec.rb index 6c0b785b5e..0b1f5acfe8 100644 --- a/Library/Homebrew/test/cask/cli/uninstall_spec.rb +++ b/Library/Homebrew/test/cask/cli/uninstall_spec.rb @@ -103,7 +103,7 @@ describe Hbc::CLI::Uninstall, :cask do [last_installed_version, "456000"], ] } - let(:caskroom_path) { Hbc.caskroom.join(token).tap(&:mkpath) } + let(:caskroom_path) { Hbc::Caskroom.path.join(token).tap(&:mkpath) } before do timestamped_versions.each do |timestamped_version| @@ -143,7 +143,7 @@ describe Hbc::CLI::Uninstall, :cask do describe "when Casks in Taps have been renamed or removed" do let(:app) { Hbc::Config.global.appdir.join("ive-been-renamed.app") } - let(:caskroom_path) { Hbc.caskroom.join("ive-been-renamed").tap(&:mkpath) } + let(:caskroom_path) { Hbc::Caskroom.path.join("ive-been-renamed").tap(&:mkpath) } let(:saved_caskfile) { caskroom_path.join(".metadata", "latest", "timestamp", "Casks").join("ive-been-renamed.rb") } before do diff --git a/Library/Homebrew/test/cask/installer_spec.rb b/Library/Homebrew/test/cask/installer_spec.rb index 5fc730b333..f966176546 100644 --- a/Library/Homebrew/test/cask/installer_spec.rb +++ b/Library/Homebrew/test/cask/installer_spec.rb @@ -9,7 +9,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(caffeine).install - expect(Hbc.caskroom.join("local-caffeine", caffeine.version)).to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", caffeine.version)).to be_a_directory expect(Hbc::Config.global.appdir.join("Caffeine.app")).to be_a_directory end @@ -18,7 +18,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(asset).install - expect(Hbc.caskroom.join("container-dmg", asset.version)).to be_a_directory + expect(Hbc::Caskroom.path.join("container-dmg", asset.version)).to be_a_directory expect(Hbc::Config.global.appdir.join("container")).to be_a_file end @@ -27,7 +27,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(asset).install - expect(Hbc.caskroom.join("container-tar-gz", asset.version)).to be_a_directory + expect(Hbc::Caskroom.path.join("container-tar-gz", asset.version)).to be_a_directory expect(Hbc::Config.global.appdir.join("container")).to be_a_file end @@ -36,7 +36,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(asset).install - expect(Hbc.caskroom.join("container-xar", asset.version)).to be_a_directory + expect(Hbc::Caskroom.path.join("container-xar", asset.version)).to be_a_directory expect(Hbc::Config.global.appdir.join("container")).to be_a_file end @@ -45,7 +45,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(asset).install - expect(Hbc.caskroom.join("container-bzip2", asset.version)).to be_a_directory + expect(Hbc::Caskroom.path.join("container-bzip2", asset.version)).to be_a_directory expect(Hbc::Config.global.appdir.join("container-bzip2--#{asset.version}")).to be_a_file end @@ -54,7 +54,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(asset).install - expect(Hbc.caskroom.join("container-gzip", asset.version)).to be_a_directory + expect(Hbc::Caskroom.path.join("container-gzip", asset.version)).to be_a_directory expect(Hbc::Config.global.appdir.join("container")).to be_a_file end @@ -167,7 +167,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(naked_pkg).install - expect(Hbc.caskroom.join("container-pkg", naked_pkg.version, "container.pkg")).to be_a_file + expect(Hbc::Caskroom.path.join("container-pkg", naked_pkg.version, "container.pkg")).to be_a_file end it "works properly with an overridden container :type" do @@ -175,7 +175,7 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(naked_executable).install - expect(Hbc.caskroom.join("naked-executable", naked_executable.version, "naked_executable")).to be_a_file + expect(Hbc::Caskroom.path.join("naked-executable", naked_executable.version, "naked_executable")).to be_a_file end it "works fine with a nested container" do @@ -214,9 +214,9 @@ describe Hbc::Installer, :cask do installer.install installer.uninstall - expect(Hbc.caskroom.join("local-caffeine", caffeine.version, "Caffeine.app")).not_to be_a_directory - expect(Hbc.caskroom.join("local-caffeine", caffeine.version)).not_to be_a_directory - expect(Hbc.caskroom.join("local-caffeine")).not_to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", caffeine.version, "Caffeine.app")).not_to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", caffeine.version)).not_to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine")).not_to be_a_directory end it "uninstalls all versions if force is set" do @@ -225,17 +225,17 @@ describe Hbc::Installer, :cask do Hbc::Installer.new(caffeine).install - expect(Hbc.caskroom.join("local-caffeine", caffeine.version)).to be_a_directory - expect(Hbc.caskroom.join("local-caffeine", mutated_version)).not_to be_a_directory - FileUtils.mv(Hbc.caskroom.join("local-caffeine", caffeine.version), Hbc.caskroom.join("local-caffeine", mutated_version)) - expect(Hbc.caskroom.join("local-caffeine", caffeine.version)).not_to be_a_directory - expect(Hbc.caskroom.join("local-caffeine", mutated_version)).to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", caffeine.version)).to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", mutated_version)).not_to be_a_directory + FileUtils.mv(Hbc::Caskroom.path.join("local-caffeine", caffeine.version), Hbc::Caskroom.path.join("local-caffeine", mutated_version)) + expect(Hbc::Caskroom.path.join("local-caffeine", caffeine.version)).not_to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", mutated_version)).to be_a_directory Hbc::Installer.new(caffeine, force: true).uninstall - expect(Hbc.caskroom.join("local-caffeine", caffeine.version)).not_to be_a_directory - expect(Hbc.caskroom.join("local-caffeine", mutated_version)).not_to be_a_directory - expect(Hbc.caskroom.join("local-caffeine")).not_to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", caffeine.version)).not_to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine", mutated_version)).not_to be_a_directory + expect(Hbc::Caskroom.path.join("local-caffeine")).not_to be_a_directory end end end diff --git a/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb b/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb index 6160538bfb..62e682966b 100644 --- a/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb +++ b/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb @@ -23,9 +23,9 @@ RSpec.shared_context "Homebrew-Cask" do begin HOMEBREW_CASK_DIRS.values.each(&:mkpath) - [Hbc::Config.global.binarydir, Hbc.caskroom, Hbc.cache].each(&:mkpath) + [Hbc::Config.global.binarydir, Hbc::Caskroom.path, Hbc::Cache.path].each(&:mkpath) - Hbc.default_tap = Tap.fetch("Homebrew", "cask-spec").tap do |tap| + Tap.default_cask_tap.tap do |tap| FileUtils.mkdir_p tap.path.dirname FileUtils.ln_sf TEST_FIXTURE_DIR.join("cask"), tap.path end @@ -38,8 +38,8 @@ RSpec.shared_context "Homebrew-Cask" do example.run ensure FileUtils.rm_rf HOMEBREW_CASK_DIRS.values - FileUtils.rm_rf [Hbc::Config.global.binarydir, Hbc.caskroom, Hbc.cache] - Hbc.default_tap.path.unlink + FileUtils.rm_rf [Hbc::Config.global.binarydir, Hbc::Caskroom.path, Hbc::Cache.path] + Tap.default_cask_tap.path.unlink third_party_tap.path.unlink FileUtils.rm_rf third_party_tap.path.parent end