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/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__",
     ],