uses: Print cask uses
This commit is contained in:
parent
8d97029b03
commit
7be2b943cb
@ -110,16 +110,6 @@ module Homebrew
|
||||
puts all_deps
|
||||
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)
|
||||
dependents(formulae_or_casks).sort_by(&:name)
|
||||
end
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
require "formula"
|
||||
require "cli/parser"
|
||||
require "cask/caskroom"
|
||||
|
||||
module Homebrew
|
||||
extend DependenciesHelpers
|
||||
@ -71,36 +72,16 @@ module Homebrew
|
||||
uses = if use_runtime_dependents && !used_formulae_missing
|
||||
used_formulae.map(&:runtime_installed_formula_dependents)
|
||||
.reduce(&:&)
|
||||
.select(&:any_version_installed?)
|
||||
.select(&:any_version_installed?) +
|
||||
select_used_dependents(dependents(Cask::Caskroom.casks), used_formulae)
|
||||
else
|
||||
formulae = args.installed? ? Formula.installed : Formula
|
||||
recursive = args.recursive?
|
||||
includes, ignores = argv_includes_ignores(ARGV)
|
||||
|
||||
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
|
||||
deps = if args.installed?
|
||||
dependents(Formula.installed + Cask::Caskroom.casks)
|
||||
else
|
||||
dependents(Formula.to_a + Cask::Cask.to_a)
|
||||
end
|
||||
|
||||
select_used_dependents(deps, used_formulae)
|
||||
end
|
||||
|
||||
return if uses.empty?
|
||||
@ -108,4 +89,34 @@ module Homebrew
|
||||
puts Formatter.columns(uses.map(&:full_name).sort)
|
||||
odie "Missing formulae should not have dependents!" if used_formulae_missing
|
||||
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
|
||||
|
@ -1,6 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "delegate"
|
||||
require "cask_dependent"
|
||||
|
||||
class Dependencies < DelegateClass(Array)
|
||||
def initialize(*args)
|
||||
@ -122,4 +123,14 @@ module DependenciesHelpers
|
||||
includes.none? { |include| dep.send(include) }
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user