Issue #13336 has been reported by Chris Price.

----------------------------------------
Refactor #13336: explore improvements to Puppet::Application life cycle 
accessibility / method names
https://projects.puppetlabs.com/issues/13336

Author: Chris Price
Status: Accepted
Priority: Normal
Assignee: 
Category: API
Target version: Waldorf
Affected Puppet version: 
Keywords: 
Branch: 


Currently, the life cycle of a puppet app is roughly expressed by the following 
series of method calls:

* CommandLine#parse_global_options
* CommandLine# (parse configuration file--this isn't actually expressed as a 
method of CommandLine but probably should be, for accessibility)
* Application#initialize_app_defaults
* Application#preinit
* Application#setup
* Application#configure_indirector_routes
* Application#run_command

My concerns around accessibility are mostly related to the possibility that 
people will need to trigger individual phases outside of the normal execution 
chain (even if only for testing).

My concerns around naming have to do with the fact that many (perhaps most) of 
these methods can be overridden by subclasses to Application (or faces), and 
based on the names alone it would be almost impossible for a caller to guess 
what the order of execution would be.  We'll probably never get to a point 
where the names are clear enough to be completely intuitive without the caller 
needing to rely on documentation, but they could probably be more clear than 
they are right now.

If/when we introduce name changes we'll need to make sure to keep 
backwards-compatible signatures around for some period of time, and log 
deprecation warnings... so that we won't break third-party puppet applications.


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