Upgrade the java_tools to javac10 v3.1.

Also add an alias for the default java_toolchain that points to the toolchain inside the remote repository instead of the toolchain inside of `@bazel_tools`.

For more details on the release see https://github.com/bazelbuild/java_tools/issues/6.

Closes #8194.

PiperOrigin-RevId: 245893623
diff --git a/WORKSPACE b/WORKSPACE
index b69c8f3..c53db29 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -109,9 +109,9 @@
     archives = [
         "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
         "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-        "java_tools_javac10_linux-v3.0.zip",
-        "java_tools_javac10_windows-v3.0.zip",
-        "java_tools_javac10_darwin-v3.0.zip",
+        "java_tools_javac10_linux-v3.1.zip",
+        "java_tools_javac10_windows-v3.1.zip",
+        "java_tools_javac10_darwin-v3.1.zip",
         "coverage_output_generator-v1.0.zip",
         "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz",
         "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
@@ -122,9 +122,9 @@
     sha256 = {
         "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
         "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "java_tools_javac10_linux-v3.0.zip": "a5cccbf1d89650e209522ef2e14280bda361adf76c333e5d55a619d988b95543",
-        "java_tools_javac10_windows-v3.0.zip": "976d6f509fd52dab729d66d1cd220d73367dac0f683846304c2e4a489911f5de",
-        "java_tools_javac10_darwin-v3.0.zip": "3df083b8f5372bc384306b1fa40973debac1d7fa4b791e3dd35b1c462fb9bc61",
+        "java_tools_javac10_linux-v3.1.zip": "a0cd51f9db1bf05a722ff7f5c60a07fa1c7d27428fff0815c342d32aa6c53576",
+        "java_tools_javac10_windows-v3.1.zip": "9585c7a513ce274bdde4765f6535e4a6927bd2d5a92e6e5bead4f0a02ac2c4f9",
+        "java_tools_javac10_darwin-v3.1.zip": "c646aad8808b8ec5844d6a80a1287fc8e13203375fe40d6af4819eff48b9bbaf",
         "coverage_output_generator-v1.0.zip": "cc470e529fafb6165b5be3929ff2d99b38429b386ac100878687416603a67889",
         "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz": "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f",
         "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
@@ -140,14 +140,14 @@
             "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
             "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
         ],
-        "java_tools_javac10_linux-v3.0.zip": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_linux-v3.0.zip",
+        "java_tools_javac10_linux-v3.1.zip": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_linux-v3.1.zip",
         ],
-        "java_tools_javac10_windows-v3.0.zip": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_windows-v3.0.zip",
+        "java_tools_javac10_windows-v3.1.zip": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_windows-v3.1.zip",
         ],
-        "java_tools_javac10_darwin-v3.0.zip": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_darwin-v3.0.zip",
+        "java_tools_javac10_darwin-v3.1.zip": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_darwin-v3.1.zip",
         ],
         "coverage_output_generator-v1.0.zip": [
             "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v1.0.zip",
@@ -370,9 +370,9 @@
         "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz",
         "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip",
         "jdk10-server-release-1804.tar.xz",
-        "java_tools_javac10_linux-v3.0.zip",
-        "java_tools_javac10_windows-v3.0.zip",
-        "java_tools_javac10_darwin-v3.0.zip",
+        "java_tools_javac10_linux-v3.1.zip",
+        "java_tools_javac10_windows-v3.1.zip",
+        "java_tools_javac10_darwin-v3.1.zip",
         "coverage_output_generator-v1.0.zip",
         "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
         "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
@@ -392,9 +392,9 @@
         "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz": "e669c9a897413d855b550b4e39d79614392e6fb96f494e8ef99a34297d9d85d3",
         "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip": "c39e7700a8d41794d60985df5a20352435196e78ecbc6a2b30df7be8637bffd5",
         "jdk10-server-release-1804.tar.xz": "b7098b7aaf6ee1ffd4a2d0371a0be26c5a5c87f6aebbe46fe9a92c90583a84be",
-        "java_tools_javac10_linux-v3.0.zip": "a5cccbf1d89650e209522ef2e14280bda361adf76c333e5d55a619d988b95543",
-        "java_tools_javac10_windows-v3.0.zip": "976d6f509fd52dab729d66d1cd220d73367dac0f683846304c2e4a489911f5de",
-        "java_tools_javac10_darwin-v3.0.zip": "3df083b8f5372bc384306b1fa40973debac1d7fa4b791e3dd35b1c462fb9bc61",
+        "java_tools_javac10_linux-v3.1.zip": "a0cd51f9db1bf05a722ff7f5c60a07fa1c7d27428fff0815c342d32aa6c53576",
+        "java_tools_javac10_windows-v3.1.zip": "9585c7a513ce274bdde4765f6535e4a6927bd2d5a92e6e5bead4f0a02ac2c4f9",
+        "java_tools_javac10_darwin-v3.1.zip": "c646aad8808b8ec5844d6a80a1287fc8e13203375fe40d6af4819eff48b9bbaf",
         "coverage_output_generator-v1.0.zip": "cc470e529fafb6165b5be3929ff2d99b38429b386ac100878687416603a67889",
         "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz": "232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75",
         "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz": "1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb",
@@ -413,9 +413,9 @@
         "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz": ["https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz"],
         "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip": ["https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip"],
         "jdk10-server-release-1804.tar.xz": ["https://mirror.bazel.build/openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz"],
-        "java_tools_javac10_linux-v3.0.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_linux-v3.0.zip"],
-        "java_tools_javac10_windows-v3.0.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_windows-v3.0.zip"],
-        "java_tools_javac10_darwin-v3.0.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_darwin-v3.0.zip"],
+        "java_tools_javac10_linux-v3.1.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_linux-v3.1.zip"],
+        "java_tools_javac10_windows-v3.1.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_windows-v3.1.zip"],
+        "java_tools_javac10_darwin-v3.1.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_darwin-v3.1.zip"],
         "coverage_output_generator-v1.0.zip": ["https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v1.0.zip"],
         "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz": ["https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz"],
         "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz": ["https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz"],
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
index 5e45d5b..b202c9b 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
@@ -206,25 +206,25 @@
 
 http_archive(
     name = "remote_java_tools_linux",
-    sha256 = "a5cccbf1d89650e209522ef2e14280bda361adf76c333e5d55a619d988b95543",
+    sha256 = "a0cd51f9db1bf05a722ff7f5c60a07fa1c7d27428fff0815c342d32aa6c53576",
     urls = [
-        "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_linux-v3.0.zip",
+        "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_linux-v3.1.zip",
     ],
 )
 
 http_archive(
     name = "remote_java_tools_windows",
-    sha256 = "976d6f509fd52dab729d66d1cd220d73367dac0f683846304c2e4a489911f5de",
+    sha256 = "9585c7a513ce274bdde4765f6535e4a6927bd2d5a92e6e5bead4f0a02ac2c4f9",
     urls = [
-        "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_windows-v3.0.zip",
+        "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_windows-v3.1.zip",
     ],
 )
 
 http_archive(
     name = "remote_java_tools_darwin",
-    sha256 = "3df083b8f5372bc384306b1fa40973debac1d7fa4b791e3dd35b1c462fb9bc61",
+    sha256 = "c646aad8808b8ec5844d6a80a1287fc8e13203375fe40d6af4819eff48b9bbaf",
     urls = [
-        "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.0/java_tools_javac10_darwin-v3.0.zip",
+        "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_darwin-v3.1.zip",
     ],
 )
 
diff --git a/src/test/shell/bazel/bazel_example_test.sh b/src/test/shell/bazel/bazel_example_test.sh
index 7472f1e..1bf5339 100755
--- a/src/test/shell/bazel/bazel_example_test.sh
+++ b/src/test/shell/bazel/bazel_example_test.sh
@@ -93,7 +93,7 @@
   local java_native_main=//examples/java-native/src/main/java/com/example/myproject
 
   assert_build "-- //examples/java-native/... -${java_native_main}:hello-error-prone"
-  JAVA_VERSION="1.$(bazel query  --output=build '@bazel_tools//tools/jdk:remote_toolchain' | grep source_version | cut -d '"' -f 2)"
+  JAVA_VERSION="1.$(bazel query  --output=build '@bazel_tools//tools/jdk:legacy_toolchain' | grep source_version | cut -d '"' -f 2)"
   assert_test_ok "${java_native_tests}:hello"
   assert_test_ok "${java_native_tests}:custom"
   assert_test_fails "${java_native_tests}:fail"
diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh
index e1468bd..a0a9366 100755
--- a/src/test/shell/bazel/bazel_java_test.sh
+++ b/src/test/shell/bazel/bazel_java_test.sh
@@ -1532,7 +1532,7 @@
   attrs = {
     'output_jar' : attr.label(allow_single_file=True),
     'source_jars' : attr.label_list(allow_files=['.jar']),
-    "_java_toolchain": attr.label(default = Label("//tools/jdk:remote_toolchain"))
+    "_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:remote_toolchain"))
   }
 )
 EOF
diff --git a/tools/jdk/BUILD b/tools/jdk/BUILD
index 4e9581b..d99fb7a 100644
--- a/tools/jdk/BUILD
+++ b/tools/jdk/BUILD
@@ -320,15 +320,31 @@
 # Default to the Java 8 language level.
 # TODO(cushon): consider if/when we should increment this?
 default_java_toolchain(
-    name = "toolchain",
+    name = "legacy_toolchain",
     source_version = "8",
     target_version = "8",
 )
 
-default_java_toolchain(
+alias(
+    name = "toolchain",
+    actual = select({
+        "//src/conditions:darwin": "@remote_java_tools_darwin//:toolchain",
+        "//src/conditions:darwin_x86_64": "@remote_java_tools_darwin//:toolchain",
+        "//src/conditions:windows": "@remote_java_tools_windows//:toolchain",
+        "//src/conditions:linux_x86_64": "@remote_java_tools_linux//:toolchain",
+        "//conditions:default": "@bazel_tools//tools/jdk:legacy_toolchain",
+    }),
+)
+
+alias(
     name = "remote_toolchain",
-    source_version = "8",
-    target_version = "8",
+    actual = select({
+        "//src/conditions:darwin": "@remote_java_tools_darwin//:toolchain",
+        "//src/conditions:darwin_x86_64": "@remote_java_tools_darwin//:toolchain",
+        "//src/conditions:windows": "@remote_java_tools_windows//:toolchain",
+        "//src/conditions:linux_x86_64": "@remote_java_tools_linux//:toolchain",
+        "//conditions:default": "@bazel_tools//tools/jdk:legacy_toolchain",
+    }),
 )
 
 # The 'vanilla' toolchain is an unsupported alternative to the default.