Remove any special casing around the former android backend.

Review Request #3531 — Created March 2, 2016 and submitted

mateor
pants
3002
3530
pants-reviews
gmalmquist, jsirois, patricklaw, stuhood, zundel

This has to land along with the move to contrib
but I broke it up to make it easier to review.

This commit removes all the special casing that accrued
over the years as a consequence of having Android as a
separate backend. It also puts together some new
special casing that allows the android tests to still
be skipped in circumstances where that is needed.

  • This adds a flag to skip the new android contrib package
    when running CIs. Because OSX does not have container
    based CI it would have to download and bootstrap the SDK
    each run. That is not feasible for multiple reasons.

  • During the release of the package, it will not run the actual
    Android tests because the releaser will usually not have the
    SDK installed on their machine. This just checks to see if the
    various goals are installed.

CI.sh and release.sh passed.

A travis run with the code from both CR 3530 and 3531 is away at:
https://travis-ci.org/pantsbuild/pants/builds/113785902

Both of those commits will have to land at the same time.

  • 0
  • 0
  • 1
  • 0
  • 1
Description From Last Updated
  1. Ship It!
  2. 
      
  1. Thanks Timur, committed to master at be72476

    1. ack! this is the wrong review!

  2. 
      
  1. So this is not quite out of the woods yet - now that this is in contrib it runs the android tests by default. Those tests are designed to not run if ANDROID_HOME is not set - but we set it in ivysettings.xml. So either I need to hack a '--skip-android' into the CONTRIB tests or (even better) download the sdk into the travis container. John and I are planning to talk about that last idea sometime this week.

  2. 
      
  1. 
      
  2. build-support/bin/ci.sh (Diff revision 1)
     
     

    This fails the CI because ANDROID_HOME is actually being set to a value so the Android tests that require an SDK are actually being run. See review for potential mitigations.

    1. This is no longer true - all CIs pass now. A followup will turn on Android testing for linux.

  3. 
      
  1. This is all green - feel free to rubber stamp the two dependent CRs 3530 and 3531.
    The upshot is that gets the Android backend all green and all the examples to build. It then moves
    the entire Android backend out of backend and into its own contrib module. The -a flag on any
    ci scripts will still skip the Android backend as before.

  2. 
      
  1. Ship It!
  2. 
      
  1. 
      
  2. contrib/release_packages.sh (Diff revision 2)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Can you extract this pattern to a function?

    But note that most of these package release tests are not quite this thorough... this could take a while to run.

    1. I just deleted all but one - honestly all we care about is that the backend is loaded. I can't run anything more
      functional because the releasers most likely will not have the SDK installed.

  3. 
      
Review request changed

Status: Closed (submitted)

Change Summary:

Thanks - submitted as c898eb2eeea218158679fb03bec031d05bab3320 a join of CR 3530 and CR 3531.

Loading...