deps: Move CaskDependencies to its own file
This commit is contained in:
parent
cc63cece76
commit
4216da7629
57
Library/Homebrew/cask_dependent.rb
Normal file
57
Library/Homebrew/cask_dependent.rb
Normal file
@ -0,0 +1,57 @@
|
||||
# An adapter for casks to provide dependency information in a formula-like interface
|
||||
class CaskDependent
|
||||
def initialize(cask)
|
||||
@cask = cask
|
||||
end
|
||||
|
||||
def name
|
||||
@cask.token
|
||||
end
|
||||
|
||||
def full_name
|
||||
@cask.full_name
|
||||
end
|
||||
|
||||
def runtime_dependencies
|
||||
recursive_dependencies
|
||||
end
|
||||
|
||||
def deps
|
||||
@deps ||= begin
|
||||
@cask.depends_on.formula.map do |f|
|
||||
Dependency.new f
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def requirements
|
||||
@requirements ||= begin
|
||||
requirements = []
|
||||
dsl_reqs = @cask.depends_on
|
||||
|
||||
dsl_reqs.arch&.each do |arch|
|
||||
requirements << ArchRequirement.new([:x86_64]) if arch[:bits] == 64
|
||||
requirements << ArchRequirement.new([arch[:type]])
|
||||
end
|
||||
dsl_reqs.cask.each do |cask_ref|
|
||||
requirements << Requirement.new([{ cask: cask_ref }])
|
||||
end
|
||||
requirements << dsl_reqs.macos if dsl_reqs.macos
|
||||
requirements << X11Requirement.new if dsl_reqs.x11
|
||||
|
||||
requirements
|
||||
end
|
||||
end
|
||||
|
||||
def recursive_dependencies(&block)
|
||||
Dependency.expand(self, &block)
|
||||
end
|
||||
|
||||
def recursive_requirements(&block)
|
||||
Requirement.expand(self, &block)
|
||||
end
|
||||
|
||||
def any_version_installed?
|
||||
@cask.installed?
|
||||
end
|
||||
end
|
||||
@ -115,7 +115,7 @@ module Homebrew
|
||||
if formula_or_cask.is_a?(Formula)
|
||||
formula_or_cask
|
||||
else
|
||||
Dependent.new(formula_or_cask)
|
||||
CaskDependent.new(formula_or_cask)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -229,61 +229,4 @@ module Homebrew
|
||||
|
||||
@dep_stack.pop
|
||||
end
|
||||
|
||||
class Dependent
|
||||
def initialize(cask)
|
||||
@cask = cask
|
||||
end
|
||||
|
||||
def name
|
||||
@cask.token
|
||||
end
|
||||
|
||||
def full_name
|
||||
@cask.full_name
|
||||
end
|
||||
|
||||
def runtime_dependencies
|
||||
recursive_dependencies
|
||||
end
|
||||
|
||||
def deps
|
||||
@deps ||= begin
|
||||
@cask.depends_on.formula.map do |f|
|
||||
Dependency.new f
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def requirements
|
||||
@requirements ||= begin
|
||||
requirements = []
|
||||
dsl_reqs = @cask.depends_on
|
||||
|
||||
dsl_reqs.arch&.each do |arch|
|
||||
requirements << ArchRequirement.new([:x86_64]) if arch[:bits] == 64
|
||||
requirements << ArchRequirement.new([arch[:type]])
|
||||
end
|
||||
dsl_reqs.cask.each do |cask_ref|
|
||||
requirements << Requirement.new([{ cask: cask_ref }])
|
||||
end
|
||||
requirements << dsl_reqs.macos if dsl_reqs.macos
|
||||
requirements << X11Requirement.new if dsl_reqs.x11
|
||||
|
||||
requirements
|
||||
end
|
||||
end
|
||||
|
||||
def recursive_dependencies(&block)
|
||||
Dependency.expand(self, &block)
|
||||
end
|
||||
|
||||
def recursive_requirements(&block)
|
||||
Requirement.expand(self, &block)
|
||||
end
|
||||
|
||||
def any_version_installed?
|
||||
@cask.installed?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user