diff options
| author | Teo Ljungberg | 2013-09-21 17:11:25 +0200 |
|---|---|---|
| committer | Adam Vandenberg | 2013-10-29 21:04:25 -0700 |
| commit | a0ee1a167ea67a19355bdeabcd66c989add649b4 (patch) | |
| tree | 55a3c2b81b1b198145900f43643a0dd88fbb8390 /Library | |
| parent | 880d7cab34cc95abeaee4031aaa03fe76cbb986b (diff) | |
| download | homebrew-a0ee1a167ea67a19355bdeabcd66c989add649b4.tar.bz2 | |
New command: `brew unlinkapps`
The name is pretty self explanatory, it unlinks all installed
applications found under `brew --prefix` from either `~/Applications` or
`/Applications`
Closes #22729.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/unlinkapps.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/unlinkapps.rb b/Library/Homebrew/cmd/unlinkapps.rb new file mode 100644 index 000000000..2f6a57e6e --- /dev/null +++ b/Library/Homebrew/cmd/unlinkapps.rb @@ -0,0 +1,28 @@ +# Unlinks any Applications (.app) found in installed prefixes from /Applications +require 'keg' + +module Homebrew extend self + + def unlinkapps + target_dir = ARGV.include?("--local") ? File.expand_path("~/Applications") : "/Applications" + + unless File.exist? target_dir + opoo "#{target_dir} does not exist, stopping." + puts "Run `mkdir #{target_dir}` first." + exit 1 + end + + cellar_apps = Dir[target_dir + '/*.app'].select do |app| + if File.symlink?(app) && File.readlink(app).match(HOMEBREW_CELLAR) + File.readlink app + end + end + + cellar_apps.each do |app| + puts "Unlinking #{app}" + system "unlink", app + end + + puts "Finished unlinking from #{target_dir}" if cellar_apps + end +end |
