class Build::ProvisionTask
Attributes
build_task[R]
environments[R]
public_environments[R]
Public Class Methods
new(*arguments, **options)
click to toggle source
Calls superclass method
# File lib/build/provision_node.rb, line 74 def initialize(*arguments, **options) super @dependencies = [] @environments = [] @public_environments = [] @build_task = nil end
Public Instance Methods
local_environment()
click to toggle source
# File lib/build/provision_node.rb, line 106 def local_environment Build::Environment.combine(@node.environment, *@environments)&.evaluate(name: @node.name).freeze end
output_environment()
click to toggle source
# File lib/build/provision_node.rb, line 110 def output_environment if @build_task @build_task.output_environment.dup(parent: nil) end end
output_environments()
click to toggle source
# File lib/build/provision_node.rb, line 116 def output_environments environments = @public_environments.dup if environment = self.output_environment environments << environment end return environments end
provision()
click to toggle source
# File lib/build/provision_node.rb, line 90 def provision @node.provision end
update()
click to toggle source
# File lib/build/provision_node.rb, line 94 def update provision.each_dependency do |dependency| @dependencies << invoke(@node.dependency_node_for(dependency)) end if wait_for_children? update_environments! else fail!(DependenciesFailed) end end
Private Instance Methods
update_environments!()
click to toggle source
# File lib/build/provision_node.rb, line 128 def update_environments! @dependencies.each do |task| if environment = task.environment @environments << environment if task.dependency.public? || @node.provision.alias? @public_environments << environment end end end unless @node.provision.alias? @build_task = invoke( BuildNode.new(local_environment, @node.provision, @node.arguments) ) end end