summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2009-07-23 23:52:44 -0700
committerLuke Kanies <luke@madstop.com>2009-08-01 12:50:41 -0700
commit6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe (patch)
treec0c6e37e74d8fabaa95e32092b0d4296aa4542a5 /lib/puppet/parser
parent39320b8794549fa7806f2e9e57346242b0b7e847 (diff)
downloadpuppet-6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe.tar.gz
puppet-6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe.tar.xz
puppet-6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe.zip
Adding support for an external catalog version
This allows you to specify a command used to determine the catalog version. Also added an integration test to verify the version cascades. Signed-off-by: Luke Kanies <luke@madstop.com>
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r--lib/puppet/parser/parser_support.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/puppet/parser/parser_support.rb b/lib/puppet/parser/parser_support.rb
index b13fbb47f..f1c1da0b0 100644
--- a/lib/puppet/parser/parser_support.rb
+++ b/lib/puppet/parser/parser_support.rb
@@ -437,7 +437,6 @@ class Puppet::Parser::Parser
# Store the results as the top-level class.
newclass("", :code => main)
end
- @version = Time.now.to_i
return @loaded_code
ensure
@lexer.clear
@@ -456,6 +455,17 @@ class Puppet::Parser::Parser
@lexer.string = string
end
+ def version
+ return @version if defined?(@version)
+
+ if Puppet[:config_version] == ""
+ @version = Time.now.to_i
+ return @version
+ end
+
+ @version = %x{#{Puppet[:config_version]}}.chomp
+ end
+
# Add a new file to be checked when we're checking to see if we should be
# reparsed. This is basically only used by the TemplateWrapper to let the
# parser know about templates that should be parsed.