Various refactoring of PythonChroot and related code.
Review Request #2327 — Created June 5, 2015 and submitted
- Fold all pex interaction into PythonChroot/temporary_chroot().
Clients of PythonChroot no longer use PEX, PEXBuilder etc. directly.
- Get rid of resolver.py and move its functionality into its only
client - PythonChroot. So instead of passing in many arguments,
it can read from self.
- Make most optional arguments required, in methods we were always
passing those arguments into anyway.
- Rename the egg_cache_dir option to the more precise 'resolver_cache_dir',
and move the global cache ttl option to be a PythonSetup option.
- Make the order of various arguments uniform.
All this simplification is good in its own right, but my motivation for doing it now is as a means to the future end of implementing caching of entire chroots, which in turn will make many things, including test running, much faster.
CI passed here: https://travis-ci.org/pantsbuild/pants/builds/65667369.
Address code review comments.
Revision 2 (+116 -167)