aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/linkapps.rb
diff options
context:
space:
mode:
authorXu Cheng2014-12-18 15:13:04 +0800
committerMike McQuaid2014-12-19 16:35:45 +0000
commitfff4b83a52afa32cac83981bc7ccc06658621b9c (patch)
treed7bab26b260d2a6b5db34d26cf1fd33a981d7083 /Library/Homebrew/cmd/linkapps.rb
parentd97daa7c1b2203be02c69124bc7b3ae5f2b50f99 (diff)
downloadbrew-fff4b83a52afa32cac83981bc7ccc06658621b9c.tar.bz2
(un)linkapps: allow unlink/link specific formulae.
Closes Homebrew/homebrew#35080. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/cmd/linkapps.rb')
-rw-r--r--Library/Homebrew/cmd/linkapps.rb17
1 files changed, 12 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/linkapps.rb b/Library/Homebrew/cmd/linkapps.rb
index 50df5daa2..7e8430c75 100644
--- a/Library/Homebrew/cmd/linkapps.rb
+++ b/Library/Homebrew/cmd/linkapps.rb
@@ -11,12 +11,19 @@ module Homebrew
exit 1
end
- HOMEBREW_CELLAR.subdirs.each do |rack|
- kegs = rack.subdirs.map { |d| Keg.new(d) }
- next if kegs.empty?
-
- keg = kegs.detect(&:linked?) || kegs.max {|a,b| a.version <=> b.version}
+ if ARGV.named.empty?
+ racks = HOMEBREW_CELLAR.subdirs
+ kegs = racks.map do |rack|
+ keg = rack.subdirs.map { |d| Keg.new(d) }
+ next if keg.empty?
+ keg.detect(&:linked?) || keg.max {|a,b| a.version <=> b.version}
+ end
+ else
+ kegs = ARGV.kegs
+ end
+ kegs.each do |keg|
+ keg = keg.opt_record if keg.optlinked?
Dir["#{keg}/*.app", "#{keg}/bin/*.app", "#{keg}/libexec/*.app"].each do |app|
puts "Linking #{app}"
app_name = File.basename(app)