Issue #8233 has been updated by Luke Kanies.

Yeah, it's absolutely an interface-breaking change.

I think in the end there were only 2 or three actual incompatibilities, and 
everything else was just removal.  I removed parameter shadowing, which was 
only used in one place, I think, and one of the methods (parameters? something 
like that) changed its behavior.  For the rest, I could relatively easily build 
a shim on top of the new API to duplicate the old API.

Given that we don't have a versioned API, we're limited in our ability to make 
real change without causing failure.

Should I build that shim for compatibility?
----------------------------------------
Refactor #8233: Puppet::Type parameter handling should be cleaner
https://projects.puppetlabs.com/issues/8233#change-68719

Author: Luke Kanies
Status: In Topic Branch Pending Review
Priority: Normal
Assignee: 
Category: RAL
Target version: 
Affected Puppet version: 
Keywords: 
Branch: luke/refactor/3.x/8233-refactor_parameter_management


In the course of trying a few approaches to refactoring how the RAL is built, 
it's become clear that one of the main impediments to it is the crusty 
interface for managing parameters in Puppet::Type - e.g., lots of redundant 
methods for managing parameters, properties, and metaparameters, and a ton of 
confusing naming.

These should be cleaned up, both for short-term sanity and for long-term 
refactoring enablement.

I've got a branch that does exactly that, fortunately. :)

The only potential issues with my branch are:

* It changes the interface of Puppet::Type.parameters - this previously 
returned a list of names, and now it returns the class referred to by a given 
parameter name

* It removes the old methods, rather than keeping them around for backward 
compatibility.

In other words, this branch breaks compatibility with some methods used in 
managing builtin resource types.  I expect a better approach is to retain 
backward compatibility, but I wanted to post the code and get feedback rather 
than deciding on my own.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to