On 2013-28-08 18:05, Ryan Coleman wrote:
On Wed, Aug 28, 2013 at 8:04 AM, Henrik Lindberg
<[email protected] <mailto:[email protected]>>
wrote:
Questions
=========
* Do you think it is of value to have a "R3" language revision in
Puppet 4?
Would the language changes correspond to major.minor revisions in
Puppet? If so, keep in mind that very soon, module authors will be able
to express Puppet version support in module metadata which would be
available to other tools in addition to Forge.
Not necessarily, and over time less so I imagine, I can see major
changes taking place in the puppet runtime that does not change the
language revision. I.e. the runtime is not backwards compatible
(different settings, commands etc.) but the language is compatible.
Failing that, I'd welcome the addition of a new key/value in the module
metadata to cover the language revision expression. Feel free to mail me
off-list for more details on module metadata.
Great, good to know. Right now I am mostly interested in the approach to
take, figure out dependencies between the things we need to do and to
prioritize.
* Is it meaningful to have major.minor revisions, or is a single
number progression enough?
* Is the ability to allow different version per module overkill?
(The alternative is to fail if a module is not compliant with the
stated runtime language revision, or yet another alternative is to
just try to use it and fail - leaving the language rev dependency to
be resolved when adding modules.
* How should we handle "multi version compatible/conditional" modules?
For simplicity sake, why not keep the language version expression at the
module level and not allow one class in a module to use R3 and a second
class to use R6. This strikes me as complex without much benefit. The
module level should be granular enough IMO.
Absolutelty right, this should be specified at the module level.
I was thinking about the case where a module author wants to support and
use new feature while still supporting older versions with the same
module. Your answer could be interpreted as, no they have to publish a
new version of their module with different meta-data (and content).
I think it is a really bad idea to support this with something like
"conditional compilation" where the parser skips sections based on its
version (bad idea as in "over my dead body" kind of bad idea), but I
wonder if there is some other smart solution (doubtful, but this is a
forum filled with people with ideas).
I am happy if we end up with "one module version => one specification of
puppet version, language revision constraints").
- henrik
--
You received this message because you are subscribed to the Google Groups "Puppet
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev.
For more options, visit https://groups.google.com/groups/opt_out.