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