Extract the android plugin as an sdist.

Review Request #2249 — Created May 20, 2015 and submitted

jsirois
pants
jsirois/issues/1552
1370, 1552, 1574
5c68b7b...
pants-reviews
jinfeng, mateor, patricklaw, zundel
This change extracts the existing android backend as its own
distribution to help with
https://github.com/pantsbuild/pants/issues/1552, although ~all backends
will be extracted like this; so this also serves to lay the groundowrk
for those other extractions.

In order to support the release.sh and ci.sh scripts, some re-work of
source root registrations was needed.

In addition, the existing `--bootstrap-buildfiles` option was
in-effective in global scope since there is a 'bootstrap' goal that
claims the namespace.  Instead of attempting to fix this subtle problem
with namespace shadowing, I lifted up a subsystem for reading bootstrap
build files and reverted to the old namespace of goals.  This solves the
shadowing problem, isolates the bootstrap code to be killed better, and
presents slightly less thrash to users since the
`[DEFAULT]bootstrap_buildfiles` change has not been released yet.

 BUILD                                                             | 40 +++++-----------------------------------
 build-support/bin/ci.sh                                           | 16 ----------------
 build-support/bin/release.sh                                      | 30 +++++++++++++++++++++++++++++-
 contrib/BUILD                                                     | 16 ----------------
 contrib/README.md                                                 | 35 +++++++++++++++++++++++++----------
 contrib/buildgen/BUILD                                            |  5 +++++
 contrib/cpp/BUILD                                                 |  5 +++++
 contrib/release_packages.sh                                       |  8 +++++---
 contrib/scrooge/BUILD                                             |  6 ++++++
 contrib/spindle/BUILD                                             |  7 +++++++
 contrib/spindle/tests/thrift/org/pantsbuild/contrib/spindle/BUILD | 17 -----------------
 examples/BUILD                                                    | 21 +++++++++++++++++++++
 migrations/options/src/python/migrate_config.py                   |  2 +-
 pants.ini                                                         | 18 +++++++++++++-----
 src/python/pants/BUILD                                            |  2 +-
 src/python/pants/backend/__init__.py                              |  1 +
 src/python/pants/backend/android/BUILD                            |  9 +++++++--
 src/python/pants/base/BUILD                                       |  3 +--
 src/python/pants/base/extension_loader.py                         |  3 +--
 src/python/pants/bin/BUILD                                        |  6 ++++--
 src/python/pants/bin/goal_runner.py                               | 50 ++++++++++++++++++++++++++++++++++++--------------
 src/python/pants/option/global_options.py                         |  4 ----
 testprojects/BUILD                                                | 17 +++++++++++++++++
 tests/python/pants_test/pants_run_integration_test.py             | 38 +++++++++++++++++++-------------------
 24 files changed, 209 insertions(+), 150 deletions(-)

Manual runs of ./build-support/bin/release.sh as well as
CXX=g++ ./build-support/bin/ci.sh -u 0/10 -i 0/10

CI went green here:
https://travis-ci.org/pantsbuild/pants/builds/63434709

JS
ZU
  1. Ship It!
  2. 
      
MA
  1. LGTM, thanks for fixing this. As promised, the branch work in #2040 merges and runs with no conflicts.
    Am I going to be credentialed as a publisher for the android sdist or is
    the release process going to just stay the same?

    1. For now the release process stays the same - any of the listed owners on pypi [1] can be lobbied for a release of all pants sdists - including android - at once.
      [1] http://pantsbuild.github.io/release.html#dry-run
      
      You can always help things along by sending up the version bump/CHANGELOG RB that's needed just before any release - that's the part that's a bit of a pain.
  2. src/python/pants/bin/BUILD (Diff revision 1)
     
     

    s/adds a deps/adds deps/

  3. src/python/pants/bin/BUILD (Diff revision 1)
     
     

    s/seperate/separate/

  4. 
      
JS
JS
  1. Thanks guys - submitted @ https://github.com/pantsbuild/pants/commit/238143038b99eb087b513e7052a494bc3de6db75
  2. 
      
JS
Review request changed

Status: Closed (submitted)

Loading...