Create new JDK8 and JDK10 platform targets and aliases. (#174)

* Create new JDK8 and JDK10 platform targets and aliases.
diff --git a/configs/debian8_clang/0.3.0/BUILD b/configs/debian8_clang/0.3.0/BUILD
index e6a3391..7283e10 100644
--- a/configs/debian8_clang/0.3.0/BUILD
+++ b/configs/debian8_clang/0.3.0/BUILD
@@ -31,11 +31,76 @@
     java_home = "/usr/lib/jvm/zulu" + JDK_VERSION + "-linux_x64-allmodules",
 )
 
-# Latest RBE Debian8 container.
-# Update every time when a new container is released.
+# Update every time when a new container is available publically.
+LATEST_CLANG_VERSION = "r337145"
+
+# Latest RBE Debian8 container with JDK10
+alias(
+    name = "rbe_debian8_jdk10",
+    actual = ":rbe_debian8_" + LATEST_CLANG_VERSION + "_jdk10",
+)
+
+# Latest RBE Debian8 container with JDK8 (deprecated)
+alias(
+    name = "rbe_debian8_jdk8",
+    actual = ":rbe_debian8_" + LATEST_CLANG_VERSION + "_jdk8",
+    deprecation = "This target has been deprecated, please switch to use rbe_debian8_jdk10 if you are using Bazel with version >= 0.17.1",
+)
+
+# Latest RBE Debian8 container (deprecated)
 alias(
     name = "rbe_debian8",
-    actual = ":rbe_debian8_r337145",
+    actual = ":rbe_debian8_" + LATEST_CLANG_VERSION,
+    deprecation = "This target has been deprecated, please switch to use rbe_debian8_jdk10 if you are using Bazel with version >= 0.17.1",
+)
+
+# We use an additional remote_execution_propertie called "jdk-version" to
+# to collect usage of JDK8 and JDK10.
+
+# ======================== RBE Debian8 r337145 targets ========================
+
+# RBE Debian8 r337145 with JDK 10
+platform(
+    name = "rbe_debian8_r337145_jdk10",
+    constraint_values = [
+        "@bazel_tools//platforms:x86_64",
+        "@bazel_tools//platforms:linux",
+        "@bazel_tools//tools/cpp:clang",
+        "//constraints/sanitizers:support_msan",
+        "//constraints:jessie",
+    ],
+    remote_execution_properties = """
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-debian8@sha256:46c4fd30ed413f16a8be697833f7c07997c61997c0dceda651e9167068ca2cd3"
+        }
+        properties: {
+          name: "jdk-version"
+          value:"10"
+        }
+        """,
+)
+
+# RBE Debian8 r337145 with JDK 8
+platform(
+    name = "rbe_debian8_r337145_jdk8",
+    constraint_values = [
+        "@bazel_tools//platforms:x86_64",
+        "@bazel_tools//platforms:linux",
+        "@bazel_tools//tools/cpp:clang",
+        "//constraints/sanitizers:support_msan",
+        "//constraints:jessie",
+    ],
+    remote_execution_properties = """
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-debian8@sha256:46c4fd30ed413f16a8be697833f7c07997c61997c0dceda651e9167068ca2cd3"
+        }
+        properties: {
+          name: "jdk-version"
+          value:"8"
+        }
+        """,
 )
 
 # RBE Debian8 r337145
@@ -49,13 +114,15 @@
         "//constraints:jessie",
     ],
     remote_execution_properties = """
-          properties: {
-            name: "container-image"
-            value:"docker://gcr.io/cloud-marketplace/google/rbe-debian8@sha256:46c4fd30ed413f16a8be697833f7c07997c61997c0dceda651e9167068ca2cd3"
-         }
-         """,
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-debian8@sha256:46c4fd30ed413f16a8be697833f7c07997c61997c0dceda651e9167068ca2cd3"
+        }
+        """,
 )
 
+# ======================== RBE Debian8 r328903 targets ========================
+
 # RBE Debian8 r328903
 platform(
     name = "rbe_debian8_r328903",
@@ -67,9 +134,9 @@
         "//constraints:jessie",
     ],
     remote_execution_properties = """
-          properties: {
-            name: "container-image"
-            value:"docker://gcr.io/cloud-marketplace/google/rbe-debian8@sha256:0d5db936f8fa04638ca31e4fc117415068dca43dc343d605c0db2a15f433a327"
-         }
-         """,
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-debian8@sha256:0d5db936f8fa04638ca31e4fc117415068dca43dc343d605c0db2a15f433a327"
+        }
+        """,
 )
diff --git a/configs/ubuntu16_04_clang/1.0/BUILD b/configs/ubuntu16_04_clang/1.0/BUILD
index ea7ae20..d22fdad 100644
--- a/configs/ubuntu16_04_clang/1.0/BUILD
+++ b/configs/ubuntu16_04_clang/1.0/BUILD
@@ -31,11 +31,76 @@
     java_home = "/usr/lib/jvm/zulu" + JDK_VERSION + "-linux_x64-allmodules",
 )
 
-# Latest RBE Ubuntu16_04 container
-# Update every time when a new container is released.
+# Update every time when a new container is available publically.
+LATEST_CLANG_VERSION = "r337145"
+
+# Latest RBE Ubuntu16_04 container with JDK 10
+alias(
+    name = "rbe_ubuntu1604_jdk10",
+    actual = ":rbe_ubuntu1604_" + LATEST_CLANG_VERSION + "_jdk10",
+)
+
+# Latest RBE Ubuntu16_04 container with JDK 8 (deprecated)
+alias(
+    name = "rbe_ubuntu1604_jdk8",
+    actual = ":rbe_ubuntu1604_" + LATEST_CLANG_VERSION + "_jdk8",
+    deprecation = "This target has been deprecated, please switch to use rbe_ubuntu1604_jdk10 if you are using Bazel with version >= 0.17.1",
+)
+
+# Latest RBE Ubuntu16_04 container (deprecated)
 alias(
     name = "rbe_ubuntu1604",
-    actual = ":rbe_ubuntu1604_r337145",
+    actual = ":rbe_ubuntu1604_" + LATEST_CLANG_VERSION,
+    deprecation = "This target has been deprecated, please switch to use rbe_ubuntu1604_jdk10 if you are using Bazel with version >= 0.17.1",
+)
+
+# We use an additional remote_execution_propertie called "jdk-version" to
+# to collect usage of JDK8 and JDK10.
+
+# ====================== RBE Ubuntu16_04 r337145 targets ======================
+
+# RBE Ubuntu16_04 r337145 with JDK 10
+platform(
+    name = "rbe_ubuntu1604_r337145_jdk10",
+    constraint_values = [
+        "@bazel_tools//platforms:x86_64",
+        "@bazel_tools//platforms:linux",
+        "@bazel_tools//tools/cpp:clang",
+        "//constraints:xenial",
+        "//constraints/sanitizers:support_msan",
+    ],
+    remote_execution_properties = """
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:b348b2e63253d5e2d32613a349747f07dc82b6b1ecfb69e8c7ac81a653b857c2"
+        }
+        properties: {
+          name: "jdk-version"
+          value:"10"
+        }
+        """,
+)
+
+# RBE Ubuntu16_04 r337145 with JDK 8
+platform(
+    name = "rbe_ubuntu1604_r337145_jdk8",
+    constraint_values = [
+        "@bazel_tools//platforms:x86_64",
+        "@bazel_tools//platforms:linux",
+        "@bazel_tools//tools/cpp:clang",
+        "//constraints:xenial",
+        "//constraints/sanitizers:support_msan",
+    ],
+    remote_execution_properties = """
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:b348b2e63253d5e2d32613a349747f07dc82b6b1ecfb69e8c7ac81a653b857c2"
+        }
+        properties: {
+          name: "jdk-version"
+          value:"8"
+        }
+        """,
 )
 
 # RBE Ubuntu16_04 r337145
@@ -49,13 +114,15 @@
         "//constraints/sanitizers:support_msan",
     ],
     remote_execution_properties = """
-          properties: {
-            name: "container-image"
-            value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:b348b2e63253d5e2d32613a349747f07dc82b6b1ecfb69e8c7ac81a653b857c2"
-         }
-         """,
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:b348b2e63253d5e2d32613a349747f07dc82b6b1ecfb69e8c7ac81a653b857c2"
+        }
+        """,
 )
 
+# ====================== RBE Ubuntu16_04 r328903 targets ======================
+
 # RBE Ubuntu16_04 r328903
 platform(
     name = "rbe_ubuntu1604_r328903",
@@ -67,11 +134,11 @@
         "//constraints/sanitizers:support_msan",
     ],
     remote_execution_properties = """
-          properties: {
-            name: "container-image"
-            value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:59bf0e191a6b5cc1ab62c2224c810681d1326bad5a27b1d36c9f40113e79da7f"
-         }
-         """,
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:59bf0e191a6b5cc1ab62c2224c810681d1326bad5a27b1d36c9f40113e79da7f"
+        }
+        """,
 )
 
 # Experimental ubuntu1604 based container with Docker.
@@ -85,9 +152,9 @@
         "//constraints/sanitizers:support_msan",
     ],
     remote_execution_properties = """
-          properties: {
-            name: "container-image"
-            value:"docker://gcr.io/asci-toolchain/nosla-xenial-docker@sha256:780a96ba94b7666e31ba9a184e5a1742c3398250d47f5b87b1b4a60f8c41f164"
-         }
-         """,
+        properties: {
+          name: "container-image"
+          value:"docker://gcr.io/asci-toolchain/nosla-xenial-docker@sha256:780a96ba94b7666e31ba9a184e5a1742c3398250d47f5b87b1b4a60f8c41f164"
+        }
+        """,
 )