uses: Print cask uses
This commit is contained in:
parent
8d97029b03
commit
7be2b943cb
@ -110,16 +110,6 @@ module Homebrew
|
|||||||
puts all_deps
|
puts all_deps
|
||||||
end
|
end
|
||||||
|
|
||||||
def dependents(formulae_or_casks)
|
|
||||||
formulae_or_casks.map do |formula_or_cask|
|
|
||||||
if formula_or_cask.is_a?(Formula)
|
|
||||||
formula_or_cask
|
|
||||||
else
|
|
||||||
CaskDependent.new(formula_or_cask)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def sorted_dependents(formulae_or_casks)
|
def sorted_dependents(formulae_or_casks)
|
||||||
dependents(formulae_or_casks).sort_by(&:name)
|
dependents(formulae_or_casks).sort_by(&:name)
|
||||||
end
|
end
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
require "formula"
|
require "formula"
|
||||||
require "cli/parser"
|
require "cli/parser"
|
||||||
|
require "cask/caskroom"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
extend DependenciesHelpers
|
extend DependenciesHelpers
|
||||||
@ -71,36 +72,16 @@ module Homebrew
|
|||||||
uses = if use_runtime_dependents && !used_formulae_missing
|
uses = if use_runtime_dependents && !used_formulae_missing
|
||||||
used_formulae.map(&:runtime_installed_formula_dependents)
|
used_formulae.map(&:runtime_installed_formula_dependents)
|
||||||
.reduce(&:&)
|
.reduce(&:&)
|
||||||
.select(&:any_version_installed?)
|
.select(&:any_version_installed?) +
|
||||||
|
select_used_dependents(dependents(Cask::Caskroom.casks), used_formulae)
|
||||||
else
|
else
|
||||||
formulae = args.installed? ? Formula.installed : Formula
|
deps = if args.installed?
|
||||||
recursive = args.recursive?
|
dependents(Formula.installed + Cask::Caskroom.casks)
|
||||||
includes, ignores = argv_includes_ignores(ARGV)
|
else
|
||||||
|
dependents(Formula.to_a + Cask::Cask.to_a)
|
||||||
formulae.select do |f|
|
|
||||||
deps = if recursive
|
|
||||||
recursive_includes(Dependency, f, includes, ignores)
|
|
||||||
else
|
|
||||||
reject_ignores(f.deps, ignores, includes)
|
|
||||||
end
|
|
||||||
|
|
||||||
used_formulae.all? do |ff|
|
|
||||||
deps.any? do |dep|
|
|
||||||
match = begin
|
|
||||||
dep.to_formula.full_name == ff.full_name if dep.name.include?("/")
|
|
||||||
rescue
|
|
||||||
nil
|
|
||||||
end
|
|
||||||
next match unless match.nil?
|
|
||||||
|
|
||||||
dep.name == ff.name
|
|
||||||
end
|
|
||||||
rescue FormulaUnavailableError
|
|
||||||
# Silently ignore this case as we don't care about things used in
|
|
||||||
# taps that aren't currently tapped.
|
|
||||||
next
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
select_used_dependents(deps, used_formulae)
|
||||||
end
|
end
|
||||||
|
|
||||||
return if uses.empty?
|
return if uses.empty?
|
||||||
@ -108,4 +89,34 @@ module Homebrew
|
|||||||
puts Formatter.columns(uses.map(&:full_name).sort)
|
puts Formatter.columns(uses.map(&:full_name).sort)
|
||||||
odie "Missing formulae should not have dependents!" if used_formulae_missing
|
odie "Missing formulae should not have dependents!" if used_formulae_missing
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def select_used_dependents(dependents, used_formulae)
|
||||||
|
recursive = args.recursive?
|
||||||
|
includes, ignores = argv_includes_ignores(ARGV)
|
||||||
|
|
||||||
|
dependents.select do |d|
|
||||||
|
deps = if recursive
|
||||||
|
recursive_includes(Dependency, d, includes, ignores)
|
||||||
|
else
|
||||||
|
reject_ignores(d.deps, ignores, includes)
|
||||||
|
end
|
||||||
|
|
||||||
|
used_formulae.all? do |ff|
|
||||||
|
deps.any? do |dep|
|
||||||
|
match = begin
|
||||||
|
dep.to_formula.full_name == ff.full_name if dep.name.include?("/")
|
||||||
|
rescue
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
next match unless match.nil?
|
||||||
|
|
||||||
|
dep.name == ff.name
|
||||||
|
end
|
||||||
|
rescue FormulaUnavailableError
|
||||||
|
# Silently ignore this case as we don't care about things used in
|
||||||
|
# taps that aren't currently tapped.
|
||||||
|
next
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "delegate"
|
require "delegate"
|
||||||
|
require "cask_dependent"
|
||||||
|
|
||||||
class Dependencies < DelegateClass(Array)
|
class Dependencies < DelegateClass(Array)
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
@ -122,4 +123,14 @@ module DependenciesHelpers
|
|||||||
includes.none? { |include| dep.send(include) }
|
includes.none? { |include| dep.send(include) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def dependents(formulae_or_casks)
|
||||||
|
formulae_or_casks.map do |formula_or_cask|
|
||||||
|
if formula_or_cask.is_a?(Formula)
|
||||||
|
formula_or_cask
|
||||||
|
else
|
||||||
|
CaskDependent.new(formula_or_cask)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user