Back down the minimum required java version for running Pants tools to java 7

Review Request #4314 — Created Oct. 15, 2016 and submitted

benjyw, jsirois, stuhood, wisechengyi

The pants 1.2.0rc1 release requried java8 to run tests. This backs down that requirement to java7 for all the pants tools. (Square has hadoop dependencies that we still want to test under the Java 7 jvm.)

The change to require java 8 was introduced in:

This will also require a subsequent update to re-publish the artifacts and bump the junit-runner verison.

Passed junit tests locally
Tested the runner locally in Square's java repo

CI running at

  1. Looks fine to me, although I'm a little sad that this is necessary...

    1. As a developer, I like writing in Java 8 too. We keep up with the latest hadoop releases but still run them on the 1.7 jvm.

  1. Do you have any insight into the window on this? From your description it sounded like the testing on 7 was ~optional - likely you want to mirror production vms in tests.  If so is pants just blocked on jvm upgrades in the Square hadoop fleet (I'm assuming hadoop can run just fine on 8, but that's a big untested assumption on my part and the hadoop official jvm rec only go to 7 right now).
    1. We use Hadoop from Cloudera, in one case it looks like we are using a recent enough version to use the java 8 JVM (> 5.3).

      Basically, I don't want to move the testing to the new JVM until they are ready to move the fleet over - otherwise devs could accidentally add references to unsupported JDK methods.

  2. src/docs/ (Diff revision 1)
    I missed this when fixing up for libffi a while back, if you don't mind fixing it here to match, looks like so:
  1. Eric: how would you feel about leaving the default platform at 8, and changing the platform on targets under src/java/ to 7 (ie, everything consumed by pants)?

    Continuing to test with 8 (while targetting 7 only where we need to) seems sane.

    1. And: sorry for the trouble. The initial bump slipped by without our noticing, and only became defacto when nobody complained.

    2. That sounds good, I'll work on that. At least then its explicit what we want from each target.

  1. Compromise in Stu's comment is likewise fine with me.

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

Status: Closed (submitted)

Change Summary:

Commit d0566dfc7ede5e6d834a5f8e866412079ec0b4e4