Support for transitioning to making all backends opt-in.

Review Request #3972 — Created June 3, 2016 and submitted

benjyw
pants
pants-reviews
jsirois, patricklaw, stuhood, zundel

Replaces the hard-coded list of backends with an already-deprecated
option. A deprecation warning will issue if that option's values
aren't repeated in --backend-packages.

This allows repos to opt out of currently hard-coded backends,
by removing them from --default-backend-packages. The deprecation
messages encourage repos to explicitly list the backends they
want in --backend-packages, in advance of switching to an entirely
opt-in system.

In short: this change allows repos to opt out, a future change
will require repos to opt in.

Note that the comment about dependencies between backends was bogus.
The fact that the python backend uses the page() target type is
irrelevant to loading the python backend at runtime.

CI passes: http://jenkins.pantsbuild.org/job/pantsbuild/job/pants/branch/PR-3553/1/

  1. I think more of your explanation from the review description needs to go in the deprecation messages. It might even be worth linking to a very quick doc somewhere explaining what is happening?

  2. Not clear what "all of them" means in this context... should the message refer to --default-backend-packages, or is the reference above sufficient?

    1. I enhanced the message with more detail on how to find out what "all of them" means...

  3. 
      
  1. Anyone else want to comment on this before I ship it?

  2. 
      
  1. Ship It!
  2. 
      
Review request changed

Status: Closed (submitted)

Change Summary:

d01fdb74f98fcd8bc63b75cc510b1a516200787c

Loading...