Retrofit PythonSetup and PythonRepos as subsystems.
Review Request #2139 - Created April 29, 2015 and submitted
Also make resetting subsystem state for tests much more aggressive. This is more succinct and less error-prone than having individual tests figure out what needs to be reset, and it should always be correct to nuke all state before each test.
CI passes: https://travis-ci.org/pantsbuild/pants/builds/60579878
Do we really have to pass these in? Couldn't we use PythonSetup.global_instance() and PythonRepos.global_instance()?
It looks like you changed the config section/scope from 'python-setup' to 'python-repos' here. Are changes needed to migrage_config.py?
But before you do that, consider that we seem to always use PythonSetup and PythonRepos together, maybe they should be combined into a single subsystem.
Technically, bootstrapper isn't a JVM compile specific task. 1) It isn't in the jvm backend. 2) If pants uses any build tool written in Java we would might need to use Bootstrapper.