Issue #7688 has been updated by Trevor Vaughan.

Just wanted to clarify some design decisions on this but first credit where 
credit is due. Morgan Haskel (Onyx Point) wrote the vast majority of the 
original module for which I am most grateful.

* parent_build makes me worry that we are introducing strong grouping semantics 
through a back-channel; it might be redundant to just depending on the other 
file, or it might be deeper than that
* -> This was so that you could do multiple concat files and then automatically 
concat them all into another file without making your brain bleed. A more 
graceful way of doing this would be nice.

* needs some documentation polish. (eg: in the :unique param, the comment about 
sort precedence is not clear to me.)
* -> This means that the output will be equivalent to sort | uniq not uniq | 
sort at a Linux shell.

* the order property kind of scares me. I am really, really not sure what the 
semantics are, or should be, or why. Especially if you don’t specify a glob, 
but rather a subset of files, or an array of globs, or…
* -> This unfortunately ended up being what we found was the most useful in 
most cases. You can sort it however you like. Especially useful is something 
like: [ "header.txt", "*.whatever", "footer.txt" ]. You can get in trouble with 
overlapping globs but there are cases where even that might be wanted (though 
it will be a crazy edge case).

* These two are completely valid but, in our experience, we needed to be able 
to specify a 'file' object that tied to this object. Yes, we don't check 
'insync', but that got into levels of complexity that we just didn't want to 
tackle and, since we wanted to be authoritative about the content, we just 
overwrote the target and used the 'file' object to do what we wanted to do.
* -> order seems to kind of trick our logic about building the file, rather 
than delegating insync or whatever
* -> the fragment stuff also seems to trick our sync logic

----------------------------------------
Feature #7688: Review and potentially merge Onyx Point Concat module
https://projects.puppetlabs.com/issues/7688

Author: James Turnbull
Status: Needs Decision
Priority: Normal
Assignee: Nigel Kersten
Category: plug-ins
Target version: Telly
Affected Puppet version: 
Keywords: 
Branch: https://github.com/onyxpoint/pupmod-concat


Puppet Concat Module - This is a module that provides a native type for 
performing multi-part file concatenation, generally referred to by the Puppet 
Labs team as the File Fragment Pattern.

https://github.com/onyxpoint/pupmod-concat






-- 
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