Add tool for comparing ojluni sources against upstreams

Add a python script that:

 - Produces a comparison matrix of upstreams vs. openjdk_java_files,
   listing whether the file is identical to, different from, or
   missing from the upstream. Upstream default to OpenJDK7u40,
   8u60 and 8u121-b13 (instructions for checking them out are
   included in the toplevel documentation).

 - Can copy all files from OpenJDK8u121-b13 that correspond to
   ojluni openjdk_java_files to a new directory, to allow easy
   directory comparison (and detailed diff inspection for each
   file) using standard tools such as kdiff3.

This python script will likely be improved in future, but it is
already useful so it seems worth checking into version control.

Bug: 35910877
Test: Downloaded all OpenJDK upstreams per instructions from the
   documentation, then ran:
   ./oj_upstream_comparison.py --upstream_root=/tmp/openjdk/
 - Used the output to identify the set of openjdk_java_files
   missing from OpenJDK8u121-b13 (bug 36429512).
 - Used the output to identify an incomplete list of 111 .java
   files that seem to have been missed in the OpenJDK8u121-b13
   / 8u60 update (bug 36461944).
Test: ./oj_upstream_comparison.py --upstream_root=/tmp/openjdk/ \
   --output_dir=tmp
 - Used kdiff3 to inspect some sample differences between
   tmp and ojluni/src/main/java.

Change-Id: I85959f41f1b1555af77a149306a5abb95d7f6bc8
1 file changed