From 2d8b4376dfdb3d319fd262de57c5b5a0ed9bda1b Mon Sep 17 00:00:00 2001 From: Anastasia Sulyagina Date: Wed, 22 Jun 2016 16:36:17 +0400 Subject: [PATCH] update-report: migrate formulae to casks. (#375) --- Library/Homebrew/cmd/update-report.rb | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index 7d17056b26..1975469667 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -250,10 +250,26 @@ class Reporter tabs = dir.subdirs.map { |d| Tab.for_keg(Keg.new(d)) } next unless tabs.first.tap == tap # skip if installed formula is not from this tap. new_tap = Tap.fetch(new_tap_name) - new_tap.install unless new_tap.installed? - # update tap for each Tab - tabs.each { |tab| tab.tap = new_tap } - tabs.each(&:write) + # For formulae migrated to cask: Auto-install cask or provide install instructions. + if new_tap_name == "caskroom/cask" + system HOMEBREW_BREW_FILE, "uninstall", name + if new_tap.installed? && (HOMEBREW_REPOSITORY/"Caskroom").directory? + ohai "#{name} has been moved to Homebrew Cask. Installing #{name}..." + system HOMEBREW_BREW_FILE, "uninstall", "--force", name + system HOMEBREW_BREW_FILE, "cask", "install", name + else + ohai "#{name} has been moved to Homebrew Cask.", <<-EOS.undent + To uninstall the formula and install the cask run: + brew uninstall --force #{name} + brew cask install #{name} + EOS + end + else + new_tap.install unless new_tap.installed? + # update tap for each Tab + tabs.each { |tab| tab.tap = new_tap } + tabs.each(&:write) + end end end