aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorAnastasia Sulyagina2016-06-22 16:36:17 +0400
committerMike McQuaid2016-06-22 13:36:17 +0100
commit2d8b4376dfdb3d319fd262de57c5b5a0ed9bda1b (patch)
treeac85ed536e560b38bf6b6809776ecd077f8e5b51 /Library
parent6dc72f2679208f34d9d09f547dda5a2ba0714a9f (diff)
downloadbrew-2d8b4376dfdb3d319fd262de57c5b5a0ed9bda1b.tar.bz2
update-report: migrate formulae to casks. (#375)
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/update-report.rb24
1 files changed, 20 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb
index 7d17056b2..197546966 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