aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorAdam Vandenberg2010-06-09 12:09:34 -0700
committerAdam Vandenberg2010-06-09 13:53:50 -0700
commit870ba9fa4b51919484500c7db78bb7745a7248b5 (patch)
tree1da4dcd0123a274789d251b74feac2b713be5958 /Library
parent9f9219a142f44b137a42afc12dcfa62ca45bbc90 (diff)
downloadbrew-870ba9fa4b51919484500c7db78bb7745a7248b5.tar.bz2
External command: brew linkapps
This command looks for Cocoa Applications (.app bundles) in the prefix of all installed formulae. If any are found, they are linked into "~/Applications", the system-defined location for per-user apps.
Diffstat (limited to 'Library')
-rwxr-xr-xLibrary/Contributions/examples/brew-linkapps.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/Library/Contributions/examples/brew-linkapps.rb b/Library/Contributions/examples/brew-linkapps.rb
new file mode 100755
index 000000000..bcaf7a9e3
--- /dev/null
+++ b/Library/Contributions/examples/brew-linkapps.rb
@@ -0,0 +1,28 @@
+# Links any Applications (.app) found in installed prefixes to ~/Applications
+require "formula"
+
+unless File.exist? File.expand_path("~/Applications")
+ opoo File.expand_path("~/Applications")+" does not exist, stopping."
+ exit 1
+end
+
+HOMEBREW_CELLAR.subdirs.each do |keg|
+ next unless keg.subdirs
+ name = keg.basename.to_s
+
+ if ((f = Formula.factory(name)).installed? rescue false)
+ Dir["#{f.prefix}/*.app"].each do |p|
+ puts "Linking #{p}"
+ appname = File.basename(p)
+ target = File.expand_path("~/Applications")+"/"+appname
+ if File.exist? target
+ if File.symlink? target
+ system "rm", target
+ else
+ onoe "#{target} already exists, skipping."
+ end
+ end
+ system "ln", "-s", p, File.expand_path("~/Applications")
+ end
+ end
+end