puppetlabs/puppet — pull request #882 by cprice-puppet (2012-06-25 05:24:52+00:00)
Title: FOR REVIEW ONLY: add modulepath lib during autoload

There are 5 commits in this series; they are mostly intended as a POC for resolving some of the issues that Jeff McCune has raise w/rt pluginsync, the module tool, and faces. Some of these commits should be considered regardless of whether they all make it in. They are:

1. Separate "confdir" and "vardir" settings from run_mode. This should be a big win for making settings more stable, and should probably make its way in one way or another. This goes a long way toward getting rid of run_mode entirely.
2. Change the autoloader so that it considers modulepath lib dirs when loading an individual file (i.e., not during loadall).
3. module face 'install' action creates the module directory if it doesn't exist
4. Fix several places where we were loading things without using the autoloader--this commit also should probably find its way in one way or another, as it takes some good steps toward centralizing all of our LOAD_PATH manipulation into the autoloader instead of having it scattered around everywhere.
5. Add support for 'gems' line in Modulefile; if provided, this will be treated as a list of gem dependencies for the module and the module face's 'install' action will attempt to install any missing gems via a puppet package provider.