class Build::ChainNode
Responsible for processing a chain into a series of dependency nodes.
Attributes
arguments[R]
chain[R]
environment[R]
Public Class Methods
new(chain, arguments, environment)
click to toggle source
@param chain [Chain] the chain to build. @param arguments [Array] the arguments to pass to the output environment constructor. @param anvironment [Build::Environment] the root environment to prepend into the chain.
Calls superclass method
# File lib/build/chain_node.rb, line 33 def initialize(chain, arguments, environment) @chain = chain @arguments = arguments @environment = environment # Wait here, for all dependent targets, to be done: super(Files::List::NONE, :inherit) end
Public Instance Methods
==(other)
click to toggle source
Calls superclass method
# File lib/build/chain_node.rb, line 46 def == other super and @chain == other.chain and @arguments == other.arguments and @environment == other.environment end
apply!(task)
click to toggle source
This is the main entry point when invoking the node from `Build::Task`.
# File lib/build/chain_node.rb, line 66 def apply!(task) # Go through all the dependencies in order and apply them to the build graph: @chain.dependencies.each do |dependency| task.invoke( DependencyNode.new(@chain, dependency, @environment, @arguments) ) end end
hash()
click to toggle source
Calls superclass method
# File lib/build/chain_node.rb, line 53 def hash super ^ @chain.hash ^ @arguments.hash ^ @environment.hash end
inspect()
click to toggle source
# File lib/build/chain_node.rb, line 75 def inspect "#<#{self.class} #{@environment.inspect}>" end
name()
click to toggle source
# File lib/build/chain_node.rb, line 61 def name @environment.name end
task_class(parent_task)
click to toggle source
# File lib/build/chain_node.rb, line 57 def task_class(parent_task) Task end