Currently, doing `brew install --only-dependencies` with an unlinked
formula does nothing and returns a message saying the formula is already
installed but just not linked.
I think that we should just install the dependencies as requested here
instead of complaining that the formula isn't linked.
Before:
❯ brew unlink adplug
Unlinking /usr/local/Cellar/adplug/2.3.3... 8 symlinks removed.
❯ brew install --only-dependencies adplug
Warning: adplug 2.3.3 is already installed, it's just not linked.
To link this version, run:
brew link adplug
After:
❯ brew install --only-dependencies adplug
==> Fetching dependencies for adplug: libbinio
==> Fetching libbinio
==> Downloading https://ghcr.io/v2/homebrew/core/libbinio/manifests/1.5
[snip]
See Homebrew/homebrew-core#127133 for additional context.
The main class you should look at is the {Formula} class (and classes linked from there). That's the class that's used to create Homebrew formulae (i.e. package descriptions). Assume anything else you stumble upon is private.