diff options
author | Jesse Wolfe <jes5199@gmail.com> | 2010-08-27 12:33:15 -0700 |
---|---|---|
committer | Jesse Wolfe <jes5199@gmail.com> | 2010-08-27 12:33:15 -0700 |
commit | fb9034731ddae41f1009745eb8eb1ea53aa05cfb (patch) | |
tree | 5cb8296af8859f59b9a20995105af77a9cdb2821 /lib/puppet/parser | |
parent | 16f701edd89a320ad73b5468d883dfb017fe6e96 (diff) | |
parent | 8be1929043f4560bb17a4b06293b3f9a4efcfdbf (diff) | |
download | puppet-fb9034731ddae41f1009745eb8eb1ea53aa05cfb.tar.gz puppet-fb9034731ddae41f1009745eb8eb1ea53aa05cfb.tar.xz puppet-fb9034731ddae41f1009745eb8eb1ea53aa05cfb.zip |
Merge commit '2.6.1rc3' into next
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r-- | lib/puppet/parser/compiler.rb | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/lib/puppet/parser/compiler.rb b/lib/puppet/parser/compiler.rb index 98cad952c..7504b276b 100644 --- a/lib/puppet/parser/compiler.rb +++ b/lib/puppet/parser/compiler.rb @@ -56,13 +56,10 @@ class Puppet::Parser::Compiler # Note that this will fail if the resource is not unique. @catalog.add_resource(resource) - set_container_resource(scope, resource) - end - # Add our container edge. If we're a class, then we get treated specially - we can - # control the stage that the class is applied in. Otherwise, we just - # get added to our parent container. - def set_container_resource(scope, resource) + # Add our container edge. If we're a class, then we get treated specially - we can + # control the stage that the class is applied in. Otherwise, we just + # get added to our parent container. return if resource.type.to_s.downcase == "stage" if resource.type.to_s.downcase != "class" @@ -70,15 +67,14 @@ class Puppet::Parser::Compiler return @catalog.add_edge(scope.resource, resource) end - unless stage = @catalog.resource(:stage, resource[:stage] || :main) + unless stage = @catalog.resource(:stage, resource[:stage] || (scope && scope.resource && scope.resource[:stage]) || :main) raise ArgumentError, "Could not find stage #{resource[:stage] || :main} specified by #{resource}" end + resource[:stage] ||= stage.title @catalog.add_edge(stage, resource) end - private :set_container_resource - # Do we use nodes found in the code, vs. the external node sources? def ast_nodes? known_resource_types.nodes? @@ -289,10 +285,7 @@ class Puppet::Parser::Compiler @main_resource = Puppet::Parser::Resource.new("class", :main, :scope => @topscope, :source => @main) @topscope.resource = @main_resource - @resources << @main_resource - @catalog.add_resource(@main_resource) - - set_container_resource(@topscope, @main_resource) + add_resource(@topscope, @main_resource) @main_resource.evaluate end |