Automated g4 rollback of commit dba22f337a20d3e8f3ac8dfd23bc6fa69e4528da.

*** Reason for rollback ***

Use Java implementation of singlejar on FreeBSD, and roll forward change 157473007.

*** Original change description ***

Automated g4 rollback of commit d894345ed88f8adce600b66a310b5210d0bcb59c.

*** Reason for rollback ***

Breaks Bazel on FreeBSD: http://ci.bazel.io/view/Dashboard/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=freebsd-11/1542/console

*** Original change description ***

Use cc implementation of singlejar except on Windows.

Change-Id: Ie4a2db2a6fa1ea86f4bdd42cd806f6804a0c56d4
PiperOrigin-RevId: 157729503
diff --git a/site/docs/query.html b/site/docs/blaze-query-v2.html
similarity index 100%
rename from site/docs/query.html
rename to site/docs/blaze-query-v2.html
diff --git a/site/docs/bazel-user-manual.html b/site/docs/blaze-user-manual.html
similarity index 100%
rename from site/docs/bazel-user-manual.html
rename to site/docs/blaze-user-manual.html
diff --git a/src/BUILD b/src/BUILD
index 659f942..8d12da5 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -143,7 +143,6 @@
         "//src/main/protobuf:srcs",
         "//src/java_tools/buildjar:JavaBuilderDeploy",
         "//src/java_tools/buildjar:VanillaJavaBuilder_deploy.jar",
-        "//src/java_tools/singlejar:SingleJar_deploy.jar",
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:GenClass_deploy.jar",
         "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:Runner_deploy.jar",
         "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:ExperimentalRunner_deploy.jar",
@@ -164,6 +163,26 @@
             "//third_party/ijar:zipper",
         ],
     }) + select({
+        # TODO(bazel-team): Once https://github.com/bazelbuild/bazel/issues/3096
+        # is resolved, use cc implementation of singlejar on freebsd
+        ":freebsd": [
+            "//src/java_tools/singlejar:SingleJar_deploy.jar",
+        ],
+        # TODO(bazel-team): Once https://github.com/bazelbuild/bazel/issues/2241
+        # is resolved, use cc implementation of singlejar on windows
+        ":windows": [
+            "//src/java_tools/singlejar:SingleJar_deploy.jar",
+        ],
+        ":windows_msys": [
+            "//src/java_tools/singlejar:SingleJar_deploy.jar",
+        ],
+        ":windows_msvc": [
+            "//src/java_tools/singlejar:SingleJar_deploy.jar",
+        ],
+        "//conditions:default": [
+            "//src/tools/singlejar:singlejar",
+        ],
+    }) + select({
         "//tools/jdk:jdk7": [],
         "//conditions:default": [
             "//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_deploy.jar",
diff --git a/src/create_embedded_tools.sh b/src/create_embedded_tools.sh
index a687495..b5aaa6b 100755
--- a/src/create_embedded_tools.sh
+++ b/src/create_embedded_tools.sh
@@ -39,10 +39,11 @@
     *turbine_deploy.jar) OUTPUT_PATH=tools/jdk/turbine_deploy.jar ;;
     *javac-9-dev-r4023-2.jar) OUTPUT_PATH=third_party/java/jdk/langtools/javac-9-dev-r4023-2.jar ;;
     *javac7.jar) OUTPUT_PATH=third_party/java/jdk/langtools/javac7.jar ;;
-    *SingleJar_deploy.jar) OUTPUT_PATH=tools/jdk/SingleJar_deploy.jar ;;
+    *SingleJar_deploy.jar) OUTPUT_PATH=tools/jdk/singlejar/SingleJar_deploy.jar ;;
     *GenClass_deploy.jar) OUTPUT_PATH=tools/jdk/GenClass_deploy.jar ;;
     *ExperimentalRunner_deploy.jar) OUTPUT_PATH=tools/jdk/ExperimentalTestRunner_deploy.jar ;;
     *Runner_deploy.jar) OUTPUT_PATH=tools/jdk/TestRunner_deploy.jar ;;
+    *singlejar) OUTPUT_PATH=tools/jdk/singlejar/singlejar ;;
     *ijar.exe) OUTPUT_PATH=tools/jdk/ijar/ijar.exe ;;
     *ijar) OUTPUT_PATH=tools/jdk/ijar/ijar ;;
     *zipper.exe) OUTPUT_PATH=tools/zip/zipper/zipper.exe ;;
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index b0ac3fd..088c5a3 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -30,7 +30,6 @@
         "//src:bazel",
         "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:GenClass_deploy.jar",
         "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:Runner_deploy.jar",
-        "//src/java_tools/singlejar:SingleJar_deploy.jar",
         "//src/main/tools:linux-sandbox",
         "//src/main/tools:process-wrapper",
         "//src/test/shell:bashunit",
@@ -45,7 +44,17 @@
         # TODO(cushon): migrate to extclasspath and delete
         "@local_jdk//:extdir",
         "@local_jdk//:jdk",
-    ],
+    ] + select({
+        # TODO(bazel-team): Once https://github.com/bazelbuild/bazel/issues/3096
+        # is resolved, use cc implementation of singlejar on freebsd
+        "//src:freebsd": ["//src/java_tools/singlejar:SingleJar_deploy.jar"],
+        # TODO(bazel-team): Once https://github.com/bazelbuild/bazel/issues/2241
+        # is resolved, use cc implementation of singlejar on windows
+        "//src:windows": ["//src/java_tools/singlejar:SingleJar_deploy.jar"],
+        "//src:windows_msys": ["//src/java_tools/singlejar:SingleJar_deploy.jar"],
+        "//src:windows_msvc": ["//src/java_tools/singlejar:SingleJar_deploy.jar"],
+        "//conditions:default": ["//src/tools/singlejar:singlejar"],
+    }),
     visibility = [
         "//src/test/shell:__subpackages__",
     ],
diff --git a/tools/android/BUILD.tools b/tools/android/BUILD.tools
index 7effede..adfa914 100644
--- a/tools/android/BUILD.tools
+++ b/tools/android/BUILD.tools
@@ -61,13 +61,13 @@
         "@local_jdk//:bootclasspath"
     ],
     tools = [
-        "@bazel_tools//tools/jdk:SingleJar_binary",
+        "@bazel_tools//tools/jdk:singlejar",
     ],
     outs = ["java_lang_extras.jar"],
     cmd = """
           for jar in $(locations @local_jdk//:bootclasspath); do
             if [[ "$${jar}" == *"/rt.jar" ]]; then
-              $(location @bazel_tools//tools/jdk:SingleJar_binary) \
+              $(location @bazel_tools//tools/jdk:singlejar) \
                   --exclude_build_data \
                   --dont_change_compression \
                   --sources $${jar} \
diff --git a/tools/jdk/BUILD b/tools/jdk/BUILD
index 005ae91..d526810 100644
--- a/tools/jdk/BUILD
+++ b/tools/jdk/BUILD
@@ -63,6 +63,17 @@
     srcs = glob(["ijar/*"]),
 )
 
+# On Windows, Java implementation of singlejar is used. We create a little
+# filegroup that contains the appropriate platform-dependent file.
+# Once https://github.com/bazelbuild/bazel/issues/2241 is fixed (that is,
+# the native singlejar is used on windows), this file group can be reused since
+# on Windows, executables end in ".exe", but the label we reach it through
+# must be platform-independent.
+filegroup(
+    name = "singlejar",
+    srcs = glob(["singlejar/*"]),
+)
+
 filegroup(
     name = "genclass",
     srcs = ["//tools/jdk:GenClass_deploy.jar"],
@@ -74,11 +85,6 @@
 )
 
 filegroup(
-    name = "singlejar",
-    srcs = ["//tools/jdk:SingleJar_deploy.jar"],
-)
-
-filegroup(
     name = "javabuilder",
     srcs = ["//tools/jdk:JavaBuilder_deploy.jar"],
 )
@@ -152,7 +158,7 @@
     misc = [
         "-XDskipDuplicateBridges=true",
     ],
-    singlejar = ["@bazel_tools//tools/jdk:SingleJar_deploy.jar"],
+    singlejar = ["@bazel_tools//tools/jdk:singlejar"],
     source_version = "8",
     target_version = "8",
 )
@@ -201,14 +207,3 @@
     name = "JacocoCoverage",
     jars = [":JacocoCoverage_deploy.jar"],
 )
-
-java_import(
-    name = "SingleJar",
-    jars = ["SingleJar_deploy.jar"],
-)
-
-java_binary(
-    name = "SingleJar_binary",
-    main_class = "com.google.devtools.build.singlejar.SingleJar",
-    runtime_deps = [":SingleJar"],
-)