From 3342b73b6acf5e7c492fa352b16ba9aba3c60da8 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Mon, 31 Aug 2009 23:38:26 -0700 Subject: Fixing #2577 - clarifying and demoting the deprecation notice It's now just notice instead of a warning, and it clarifies that 0.24 clients can't be present. Signed-off-by: Luke Kanies --- lib/puppet/file_serving/configuration.rb | 2 +- lib/puppet/util/warnings.rb | 26 +++++++++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'lib') diff --git a/lib/puppet/file_serving/configuration.rb b/lib/puppet/file_serving/configuration.rb index a247f53dd..ac54a7a8a 100644 --- a/lib/puppet/file_serving/configuration.rb +++ b/lib/puppet/file_serving/configuration.rb @@ -41,7 +41,7 @@ class Puppet::FileServing::Configuration end if environment.module(mount_name) - Puppet::Util::Warnings.warnonce "DEPRECATION NOTICE: Found module '%s' without using the 'modules' mount; please prefix path with 'modules/'" % mount_name + Puppet::Util::Warnings.notice_once "DEPRECATION NOTICE: Files found in modules without specifying 'modules' in file path will be deprecated in the next major release. Please fix module '%s' when no 0.24.x clients are present" % mount_name return mounts["modules"] end diff --git a/lib/puppet/util/warnings.rb b/lib/puppet/util/warnings.rb index 97c96b74c..a63d91359 100644 --- a/lib/puppet/util/warnings.rb +++ b/lib/puppet/util/warnings.rb @@ -2,20 +2,28 @@ module Puppet::Util::Warnings module_function + def notice_once(msg) + Puppet::Util::Warnings.maybe_log(msg, self.class) { Puppet.notice msg } + end + + def warnonce(msg) - $stampwarnings ||= {} - $stampwarnings[self.class] ||= [] - unless $stampwarnings[self.class].include? msg - Puppet.warning msg - $stampwarnings[self.class] << msg - end + Puppet::Util::Warnings.maybe_log(msg, self.class) { Puppet.warning msg } + end + def clear_warnings() + @stampwarnings = {} return nil end - def clear_warnings() - $stampwarnings = {} + protected + + def self.maybe_log(message, klass) + @stampwarnings ||= {} + @stampwarnings[klass] ||= [] + return nil if @stampwarnings[klass].include? message + yield + @stampwarnings[klass] << message return nil end end - -- cgit