Merge pull request #9437 from Rylan12/uses-flags
uses: add --formula and --casks flags
This commit is contained in:
commit
fbcf943d8c
@ -23,15 +23,15 @@ module Homebrew
|
||||
usage_banner <<~EOS
|
||||
`uses` [<options>] <formula>
|
||||
|
||||
Show formulae that specify <formula> as a dependency (i.e. show dependents
|
||||
Show formulae and casks that specify <formula> as a dependency (i.e. show dependents
|
||||
of <formula>). When given multiple formula arguments, show the intersection
|
||||
of formulae that use <formula>. By default, `uses` shows all formulae that
|
||||
of formulae that use <formula>. By default, `uses` shows all formulae and casks that
|
||||
specify <formula> as a required or recommended dependency for their stable builds.
|
||||
EOS
|
||||
switch "--recursive",
|
||||
description: "Resolve more than one level of dependencies."
|
||||
switch "--installed",
|
||||
description: "Only list formulae that are currently installed."
|
||||
description: "Only list formulae and casks that are currently installed."
|
||||
switch "--include-build",
|
||||
description: "Include all formulae that specify <formula> as `:build` type dependency."
|
||||
switch "--include-test",
|
||||
@ -40,7 +40,12 @@ module Homebrew
|
||||
description: "Include all formulae that specify <formula> as `:optional` type dependency."
|
||||
switch "--skip-recommended",
|
||||
description: "Skip all formulae that specify <formula> as `:recommended` type dependency."
|
||||
switch "--formula", "--formulae",
|
||||
description: "Include only formulae."
|
||||
switch "--cask", "--casks",
|
||||
description: "Include only casks."
|
||||
|
||||
conflicts "--formula", "--cask"
|
||||
min_named :formula
|
||||
end
|
||||
end
|
||||
@ -77,24 +82,33 @@ module Homebrew
|
||||
|
||||
def intersection_of_dependents(use_runtime_dependents, used_formulae, args:)
|
||||
recursive = args.recursive?
|
||||
show_formulae_and_casks = !args.formula? && !args.cask?
|
||||
includes, ignores = args_includes_ignores(args)
|
||||
|
||||
deps = []
|
||||
if use_runtime_dependents
|
||||
used_formulae.map(&:runtime_installed_formula_dependents)
|
||||
.reduce(&:&)
|
||||
.select(&:any_version_installed?) +
|
||||
select_used_dependents(
|
||||
if show_formulae_and_casks || args.formula?
|
||||
deps += used_formulae.map(&:runtime_installed_formula_dependents)
|
||||
.reduce(&:&)
|
||||
.select(&:any_version_installed?)
|
||||
end
|
||||
if show_formulae_and_casks || args.cask?
|
||||
deps += select_used_dependents(
|
||||
dependents(Cask::Caskroom.casks(config: Cask::Config.from_args(args))),
|
||||
used_formulae, recursive, includes, ignores
|
||||
)
|
||||
else
|
||||
deps = if args.installed?
|
||||
dependents(Formula.installed + Cask::Caskroom.casks(config: Cask::Config.from_args(args)))
|
||||
else
|
||||
dependents(Formula.to_a + Cask::Cask.to_a)
|
||||
end
|
||||
|
||||
select_used_dependents(deps, used_formulae, recursive, includes, ignores)
|
||||
deps
|
||||
else
|
||||
if show_formulae_and_casks || args.formula?
|
||||
deps += args.installed? ? Formula.installed : Formula.to_a
|
||||
end
|
||||
if show_formulae_and_casks || args.cask?
|
||||
deps += args.installed? ? Cask::Caskroom.casks(config: Cask::Config.from_args(args)) : Cask::Cask.to_a
|
||||
end
|
||||
|
||||
select_used_dependents(dependents(deps), used_formulae, recursive, includes, ignores)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -640,15 +640,15 @@ upgraded formulae or, every 30 days, for all formulae.
|
||||
|
||||
### `uses` [*`options`*] *`formula`*
|
||||
|
||||
Show formulae that specify *`formula`* as a dependency (i.e. show dependents
|
||||
Show formulae and casks that specify *`formula`* as a dependency (i.e. show dependents
|
||||
of *`formula`*). When given multiple formula arguments, show the intersection
|
||||
of formulae that use *`formula`*. By default, `uses` shows all formulae that
|
||||
of formulae that use *`formula`*. By default, `uses` shows all formulae and casks that
|
||||
specify *`formula`* as a required or recommended dependency for their stable builds.
|
||||
|
||||
* `--recursive`:
|
||||
Resolve more than one level of dependencies.
|
||||
* `--installed`:
|
||||
Only list formulae that are currently installed.
|
||||
Only list formulae and casks that are currently installed.
|
||||
* `--include-build`:
|
||||
Include all formulae that specify *`formula`* as `:build` type dependency.
|
||||
* `--include-test`:
|
||||
@ -657,6 +657,10 @@ specify *`formula`* as a required or recommended dependency for their stable bui
|
||||
Include all formulae that specify *`formula`* as `:optional` type dependency.
|
||||
* `--skip-recommended`:
|
||||
Skip all formulae that specify *`formula`* as `:recommended` type dependency.
|
||||
* `--formula`:
|
||||
Include only formulae.
|
||||
* `--cask`:
|
||||
Include only casks.
|
||||
|
||||
### `--cache` [*`options`*] [*`formula`*|*`cask`*]
|
||||
|
||||
|
||||
@ -874,7 +874,7 @@ Skip installing cask dependencies\.
|
||||
Also include casks with \fBauto_updates true\fR or \fBversion :latest\fR\.
|
||||
.
|
||||
.SS "\fBuses\fR [\fIoptions\fR] \fIformula\fR"
|
||||
Show formulae that specify \fIformula\fR as a dependency (i\.e\. show dependents of \fIformula\fR)\. When given multiple formula arguments, show the intersection of formulae that use \fIformula\fR\. By default, \fBuses\fR shows all formulae that specify \fIformula\fR as a required or recommended dependency for their stable builds\.
|
||||
Show formulae and casks that specify \fIformula\fR as a dependency (i\.e\. show dependents of \fIformula\fR)\. When given multiple formula arguments, show the intersection of formulae that use \fIformula\fR\. By default, \fBuses\fR shows all formulae and casks that specify \fIformula\fR as a required or recommended dependency for their stable builds\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-recursive\fR
|
||||
@ -882,7 +882,7 @@ Resolve more than one level of dependencies\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-installed\fR
|
||||
Only list formulae that are currently installed\.
|
||||
Only list formulae and casks that are currently installed\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-include\-build\fR
|
||||
@ -900,6 +900,14 @@ Include all formulae that specify \fIformula\fR as \fB:optional\fR type dependen
|
||||
\fB\-\-skip\-recommended\fR
|
||||
Skip all formulae that specify \fIformula\fR as \fB:recommended\fR type dependency\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-formula\fR
|
||||
Include only formulae\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-cask\fR
|
||||
Include only casks\.
|
||||
.
|
||||
.SS "\fB\-\-cache\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR]"
|
||||
Display Homebrew\'s download cache\. See also \fBHOMEBREW_CACHE\fR\.
|
||||
.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user