Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions lib/puppet/functions/deprecation.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Function to print deprecation warnings, Logs a warning once for a given key. The uniqueness key - can appear once. The msg is the message text including any positional information that is formatted by the user/caller of the method It is affected by the puppet setting 'strict', which can be set to :error (outputs as an error message), :off (no message / error is displayed) and :warning (default, outputs a warning) *Type*: String, String.
#

Puppet::Functions.create_function(:deprecation) do
dispatch :deprecation do
Expand All @@ -9,13 +8,16 @@

def deprecation(key, message)
# depending on configuration setting of strict
caller_infos = caller.first.split(":")
case Puppet.settings[:strict]
when :off
# do nothing
when :error
fail("deprecation. #{key}. #{message}")
err_message = "#{message} : #{caller_infos[0]} : #{caller_infos[1]}"
fail("deprecation. #{key}. #{err_message}")
else
Puppet.deprecation_warning(message, key)
err_message = "#{message} : #{caller_infos[0]} : #{caller_infos[1]}"
Puppet.deprecation_warning(err_message, key)
end
end
end
4 changes: 3 additions & 1 deletion lib/puppet/functions/validate_legacy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ def validate_legacy(target_type, previous_validation, value, *prev_args)
Puppet.warn("Accepting previously invalid value for target_type '#{target_type}'")
end
else
caller_infos = caller.first.split(":")
inferred_type = Puppet::Pops::Types::TypeCalculator.infer_set(value)
error_msg = Puppet::Pops::Types::TypeMismatchDescriber.new.describe_mismatch(previous_validation, target_type, inferred_type)
message = Puppet::Pops::Types::TypeMismatchDescriber.new.describe_mismatch(previous_validation, target_type, inferred_type)
error_msg = "#{message} : #{caller_infos[0]} : #{caller_infos[1]}"
if previous_validation(previous_validation, value, *prev_args)
Puppet.warn(error_msg)
else
Expand Down
4 changes: 3 additions & 1 deletion lib/puppet/parser/functions/deprecation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ module Puppet::Parser::Functions
message = arguments[1]

if ENV['STDLIB_LOG_DEPRECATIONS'] == "true"
warning("deprecation. #{key}. #{message}")
caller_infos = caller.first.split(":")
err_message = "#{message} : #{caller_infos[0]} : #{caller_infos[1]}"
warning("deprecation. #{key}. #{err_message}")
end
end
end