Skip to content

Commit

Permalink
Deprecate brew (un)linkapps.
Browse files Browse the repository at this point in the history
Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight
using either aliases or symlinks and Homebrew formulae do not build
"proper" `.app` bundles that can be relocated. Instead, please consider
using `brew cask` and migrate formulae using `.app`s to casks.
  • Loading branch information
MikeMcQuaid committed Jan 9, 2017
1 parent 9cce341 commit f5b63f4
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 6 deletions.
16 changes: 15 additions & 1 deletion Library/Homebrew/cmd/linkapps.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
#: * `linkapps` [`--local`] [<formulae>]:
#: Find installed formulae that provide `.app`-style macOS apps and symlink them
#: into `/Applications`, allowing for easier access.
#: into `/Applications`, allowing for easier access (deprecated).
#:
#: Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using
#: either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
#: bundles that can be relocated. Instead, please consider using `brew cask` and
#: migrate formulae using `.app`s to casks.
#:
#: If no <formulae> are provided, all of them will have their apps symlinked.
#:
Expand All @@ -14,6 +19,15 @@ module Homebrew
module_function

def linkapps
opoo <<-EOS.undent
`brew linkapps` has been deprecated and will eventually be removed!
Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using
either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
bundles that can be relocated. Instead, please consider using `brew cask` and
migrate formulae using `.app`s to casks.
EOS

target_dir = linkapps_target(local: ARGV.include?("--local"))

unless target_dir.directory?
Expand Down
13 changes: 12 additions & 1 deletion Library/Homebrew/cmd/unlinkapps.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#: * `unlinkapps` [`--local`] [`--dry-run`] [<formulae>]:
#: Remove symlinks created by `brew linkapps` from `/Applications`.
#: Remove symlinks created by `brew linkapps` from `/Applications` (deprecated).
#:
#: Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using
#: either aliases or symlinks and Homebrew formulae do not build "proper" `.app`
#: bundles that can be relocated. Instead, please consider using `brew cask` and
#: migrate formulae using `.app`s to casks.
#:
#: If no <formulae> are provided, all linked apps will be removed.
#:
Expand All @@ -15,6 +20,12 @@ module Homebrew
module_function

def unlinkapps
opoo <<-EOS.undent
`brew unlinkapps` has been deprecated and will eventually be removed!
Unfortunately `brew linkapps` cannot behave nicely with e.g. Spotlight using either aliases or symlinks and Homebrew formulae do not build "proper" `.app` bundles that can be relocated. Instead, please consider using `brew cask` and migrate formulae using `.app`s to casks.
EOS

target_dir = linkapps_target(local: ARGV.include?("--local"))

unlinkapps_from_dir(target_dir, dry_run: ARGV.dry_run?)
Expand Down
14 changes: 12 additions & 2 deletions docs/brew.1.html
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,12 @@ <h2 id="COMMANDS">COMMANDS</h2>

<p>If <code>--force</code> is passed, Homebrew will allow keg-only formulae to be linked.</p></dd>
<dt><code>linkapps</code> [<code>--local</code>] [<var>formulae</var>]</dt><dd><p>Find installed formulae that provide <code>.app</code>-style macOS apps and symlink them
into <code>/Applications</code>, allowing for easier access.</p>
into <code>/Applications</code>, allowing for easier access (deprecated).</p>

<p>Unfortunately <code>brew linkapps</code> cannot behave nicely with e.g. Spotlight using
either aliases or symlinks and Homebrew formulae do not build "proper" <code>.app</code>
bundles that can be relocated. Instead, please consider using <code>brew cask</code> and
migrate formulae using <code>.app</code>s to casks.</p>

<p>If no <var>formulae</var> are provided, all of them will have their apps symlinked.</p>

Expand Down Expand Up @@ -369,7 +374,12 @@ <h2 id="COMMANDS">COMMANDS</h2>

<p>If <code>--dry-run</code> or <code>-n</code> is passed, Homebrew will list all files which would
be unlinked, but will not actually unlink or delete any files.</p></dd>
<dt><code>unlinkapps</code> [<code>--local</code>] [<code>--dry-run</code>] [<var>formulae</var>]</dt><dd><p>Remove symlinks created by <code>brew linkapps</code> from <code>/Applications</code>.</p>
<dt><code>unlinkapps</code> [<code>--local</code>] [<code>--dry-run</code>] [<var>formulae</var>]</dt><dd><p>Remove symlinks created by <code>brew linkapps</code> from <code>/Applications</code> (deprecated).</p>

<p>Unfortunately <code>brew linkapps</code> cannot behave nicely with e.g. Spotlight using
either aliases or symlinks and Homebrew formulae do not build "proper" <code>.app</code>
bundles that can be relocated. Instead, please consider using <code>brew cask</code> and
migrate formulae using <code>.app</code>s to casks.</p>

<p>If no <var>formulae</var> are provided, all linked apps will be removed.</p>

Expand Down
10 changes: 8 additions & 2 deletions manpages/brew.1
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,10 @@ If \fB\-\-force\fR is passed, Homebrew will allow keg\-only formulae to be linke
.
.TP
\fBlinkapps\fR [\fB\-\-local\fR] [\fIformulae\fR]
Find installed formulae that provide \fB\.app\fR\-style macOS apps and symlink them into \fB/Applications\fR, allowing for easier access\.
Find installed formulae that provide \fB\.app\fR\-style macOS apps and symlink them into \fB/Applications\fR, allowing for easier access (deprecated)\.
.
.IP
Unfortunately \fBbrew linkapps\fR cannot behave nicely with e\.g\. Spotlight using either aliases or symlinks and Homebrew formulae do not build "proper" \fB\.app\fR bundles that can be relocated\. Instead, please consider using \fBbrew cask\fR and migrate formulae using \fB\.app\fRs to casks\.
.
.IP
If no \fIformulae\fR are provided, all of them will have their apps symlinked\.
Expand Down Expand Up @@ -508,7 +511,10 @@ If \fB\-\-dry\-run\fR or \fB\-n\fR is passed, Homebrew will list all files which
.
.TP
\fBunlinkapps\fR [\fB\-\-local\fR] [\fB\-\-dry\-run\fR] [\fIformulae\fR]
Remove symlinks created by \fBbrew linkapps\fR from \fB/Applications\fR\.
Remove symlinks created by \fBbrew linkapps\fR from \fB/Applications\fR (deprecated)\.
.
.IP
Unfortunately \fBbrew linkapps\fR cannot behave nicely with e\.g\. Spotlight using either aliases or symlinks and Homebrew formulae do not build "proper" \fB\.app\fR bundles that can be relocated\. Instead, please consider using \fBbrew cask\fR and migrate formulae using \fB\.app\fRs to casks\.
.
.IP
If no \fIformulae\fR are provided, all linked apps will be removed\.
Expand Down

0 comments on commit f5b63f4

Please sign in to comment.