class Build::DependencyTask

Attributes

environment[R]

Public Class Methods

new(*arguments, **options) click to toggle source
Calls superclass method
# File lib/build/dependency_node.rb, line 82
def initialize(*arguments, **options)
        super
        
        @provisions = []
        
        @environments = nil
        @environment = nil
end

Public Instance Methods

dependency() click to toggle source
# File lib/build/dependency_node.rb, line 93
def dependency
        @node.dependency
end
update() click to toggle source
# File lib/build/dependency_node.rb, line 97
def update
        logger.debug(self) do |buffer|
                buffer.puts "building #{@node} which #{@node.dependency}"
                @node.provisions.each do |provision|
                        buffer.puts "\tbuilding #{provision.provider.name} which #{provision}"
                end
        end
        
        # Lookup what things this dependency provides:
        @node.provisions.each do |provision|
                @provisions << invoke(
                        @node.provision_node_for(provision)
                )
        end
        
        if wait_for_children?
                update_environments!
        else
                fail!(ProvisionsFailed)
        end
end

Private Instance Methods

update_environments!() click to toggle source
# File lib/build/dependency_node.rb, line 121
def update_environments!
        @environments = @provisions.flat_map(&:output_environments)
        
        @environment = Build::Environment.combine(*@environments)
end