Merge "Establish 8u222-b01 in compare-upstreams for Japanese era" am: ce2d884f91

Change-Id: I12d36049e8341a97fd153c1b3efa20809df08787
diff --git a/tools/upstream/src/main/java/libcore/CompareUpstreams.java b/tools/upstream/src/main/java/libcore/CompareUpstreams.java
index 0f4de21..d9588a7 100644
--- a/tools/upstream/src/main/java/libcore/CompareUpstreams.java
+++ b/tools/upstream/src/main/java/libcore/CompareUpstreams.java
@@ -47,7 +47,7 @@
  * - The ANDROID_BUILD_TOP environment variable must be set to point to the
  * AOSP root directory (parent of libcore).
  *
- * To check out upstreams OpenJDK 7u40, 8u60, 8u121-b13, and 9+181, run:
+ * To check out upstreams OpenJDK 7u40, 8u60, 8u121-b13, 8u222-b01 and 9+181, run:
  *
  *  mkdir ~/openjdk
  *  cd ~/openjdk
@@ -58,6 +58,8 @@
  *  (cd !$ ; hg update -r jdk8u121-b13 && sh get_source.sh && sh common/bin/hgforest.sh update -r jdk8u121-b13)
  *  hg clone http://hg.openjdk.java.net/jdk8u/jdk8u60/ 8u60
  *  (cd !$ ; sh get_source.sh)
+ *  hg clone http://hg.openjdk.java.net/jdk8u/jdk8u 8u222-b01
+ *  (cd !$ ; hg update -r jdk8u222-b01 && sh get_source.sh && sh common/bin/hgforest.sh update -r jdk8u222-b01)
  *  hg clone http://hg.openjdk.java.net/jdk9/jdk9/ 9+181
  *  (cd !$ ; hg update -r jdk-9+181 && sh get_source.sh && sh common/bin/hgforest.sh update -r jdk-9+181)
  *
diff --git a/tools/upstream/src/main/java/libcore/StandardRepositories.java b/tools/upstream/src/main/java/libcore/StandardRepositories.java
index 846b321..7047c60 100644
--- a/tools/upstream/src/main/java/libcore/StandardRepositories.java
+++ b/tools/upstream/src/main/java/libcore/StandardRepositories.java
@@ -35,6 +35,7 @@
     private final List<Repository> allUpstreams;
     // upstreams older than what is currently the default
     private final List<Repository> historicUpstreams;
+    private final Repository openJdk8u222;
     private final Repository openJdk8u121;
     private final Repository openJdk9b113;
     private final Repository openJdk9p181;
@@ -47,6 +48,7 @@
         allUpstreams.add(openJdk9(upstreamRoot, "9+181"));
         this.openJdk9b113 = addAndReturn(allUpstreams, openJdk9(upstreamRoot, "9b113+"));
         this.openJdk8u121 = addAndReturn(allUpstreams, openJdkLegacy(upstreamRoot, "8u121-b13"));
+        this.openJdk8u222 = addAndReturn(allUpstreams, openJdkLegacy(upstreamRoot, "8u222-b01"));
         this.openJdk9p181 = addAndReturn(allUpstreams, openJdk9(upstreamRoot, "9+181"));
         Repository openJdk8u60 = addAndReturn(allUpstreams, openJdkLegacy(upstreamRoot, "8u60"));
         this.openJdk7u40 = addAndReturn(allUpstreams, openJdkLegacy(upstreamRoot, "7u40"));
@@ -126,10 +128,25 @@
                     "jdk/internal/util/Preconditions.java"
                     )));
 
+    private static final Set<String> REL_PATHS_AT_OPENJDK8_222 = Collections.unmodifiableSet(
+            new HashSet<>(Arrays.asList(
+                    "java/time/chrono/JapaneseEra.java",
+                    "java/util/JapaneseImperialCalendar.java",
+                    "sun/util/calendar/Era.java",
+                    // Tests:
+                    "java/time/tck/java/time/chrono/TCKJapaneseChronology.java",
+                    "java/time/tck/java/time/chrono/TCKJapaneseEra.java",
+                    "java/time/test/java/time/chrono/TestJapaneseChronology.java",
+                    "java/time/test/java/time/chrono/TestUmmAlQuraChronology.java",
+                    "java/time/test/java/time/format/TestNonIsoFormatter.java"
+            )));
+
     public Repository referenceUpstream(Path relPath) {
         boolean isJsr166 = isJsr166(relPath);
         if (REL_PATHS_AT_OPENJDK9_181.contains(relPath.toString())) {
             return openJdk9p181;
+        } else if (REL_PATHS_AT_OPENJDK8_222.contains(relPath.toString())) {
+            return openJdk8u222;
         } else if (isJsr166) {
             return openJdk9b113;
         } else if (relPath.startsWith("java/sql/") || relPath.startsWith("javax/sql/")) {