Remove singlejar from bazel binary

Remove singlejar from the bazel binary and use singlejar from the java_tools instead.

Upgrade the java_tools version in bazel to the version that includes singlejar.

Closes #7952.

PiperOrigin-RevId: 242643670
diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml
index a7287fc..4b6da83 100644
--- a/.bazelci/postsubmit.yml
+++ b/.bazelci/postsubmit.yml
@@ -18,6 +18,8 @@
     - "//third_party/ijar/..."
     - "//tools/android/..."
     - "//tools/aquery_differ/..."
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   ubuntu1604:
     shell_commands:
     - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -36,6 +38,8 @@
     - "//third_party/ijar/..."
     - "//tools/android/..."
     - "//tools/aquery_differ/..."
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   ubuntu1804:
     shell_commands:
     - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -54,6 +58,8 @@
     - "//third_party/ijar/..."
     - "//tools/android/..."
     - "//tools/aquery_differ/..."
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   ubuntu1804_nojava:
     build_flags:
     - "--javabase=@openjdk_linux_archive//:runtime"
@@ -111,6 +117,8 @@
     - "-//src/test/shell/integration:stub_finds_runfiles_test"
     - "-//src/test/shell/integration:test_test"
     - "-//src/tools/singlejar:zip64_test"
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   ubuntu1804_java9:
     shell_commands:
     - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -129,6 +137,8 @@
     - "//third_party/ijar/..."
     - "//tools/android/..."
     - "//tools/aquery_differ/..."
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   ubuntu1804_java10:
     shell_commands:
     - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -147,6 +157,8 @@
     - "//third_party/ijar/..."
     - "//tools/android/..."
     - "//tools/aquery_differ/..."
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   ubuntu1804_java11:
     shell_commands:
     - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -170,6 +182,8 @@
     - "-//src/test/shell/bazel:maven_test"
     # Re-enable once bootstrap works with Java 11
     - "-//src/test/shell/bazel:bazel_bootstrap_distfile_test"
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   macos:
     shell_commands:
     - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -197,6 +211,8 @@
     - "-//src/test/shell/integration:minimal_jdk_test"
       # C++ coverage is not supported on macOS yet.
     - "-//src/test/shell/bazel:bazel_cc_code_coverage_test"
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   windows:
     batch_commands:
     - powershell -Command "(Get-Content WORKSPACE) -Replace '# android_', 'android_' | Set-Content WORKSPACE"
@@ -218,6 +234,8 @@
     test_targets:
     - "--"
     - "//src:all_windows_tests"
+    # TODO(iirina): Re-enable after #7952 was released.
+    - "-//src/test/shell/bazel:embedded_tools_deps_test"
   rbe_ubuntu1604:
     shell_commands:
     - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/'
diff --git a/WORKSPACE b/WORKSPACE
index 83e3100..6f9c474 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -109,10 +109,9 @@
     archives = [
         "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
         "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-        "java_tools_pkg-0.5.1.tar.gz",
-        "java_tools_javac10_linux-x86_64-v1.0.zip",
-        "java_tools_javac10_windows-x86_64-v1.0_copy.zip",
-        "java_tools_javac10_darwin-v1.0.zip",
+        "java_tools_javac10_linux-x86_64-v2.1.zip",
+        "java_tools_javac10_windows-x86_64-v2.1.zip",
+        "java_tools_javac10_darwin-v2.1.zip",
         "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz",
         "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
         "0.16.2.zip",
@@ -122,10 +121,9 @@
     sha256 = {
         "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
         "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "java_tools_pkg-0.5.1.tar.gz": "bcfc1a3dd0d638a49fed50f17f0f1f7d77101debf19ae2c82119c82459a9a8d1",
-        "java_tools_javac10_linux-x86_64-v1.0.zip": "3eb952a53de09163024ad6c1ee964d6261bd6af2b1a644ea930d1b49f1cdfcc6",
-        "java_tools_javac10_windows-x86_64-v1.0_copy.zip": "56adebe4a120dea79c7cc1c0249490d3fcbadb1874d8b58020ab032d99b7fcf4",
-        "java_tools_javac10_darwin-v1.0.zip": "f5cd64d0474dca3ae4cef8e0325d7f5955223bff95dade15ce797821512bcd12",
+        "java_tools_javac10_linux-x86_64-v2.1.zip": "9163c9963f31e10101d538163c435db9534baf9db63d380508311b775fbe3c37",
+        "java_tools_javac10_windows-x86_64-v2.1.zip": "a7a99e34213eb80384b81dda0217582a38f876f420c7b648900f254bf9ea3bd7",
+        "java_tools_javac10_darwin-v2.1.zip": "5f6a7abf7ec0c491dc2d0b15add6a2abb594e31809f4cabc2cfde41efa995f92",
         "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz": "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f",
         "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
         "0.16.2.zip": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
@@ -140,17 +138,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_pkg-0.5.1.tar.gz": [
-            "https://mirror.bazel.build/bazel_java_tools/java_tools_pkg-0.5.1.tar.gz",
+        "java_tools_javac10_linux-x86_64-v2.1.zip": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_linux-x86_64-v2.1.zip",
         ],
-        "java_tools_javac10_linux-x86_64-v1.0.zip": [
-            "https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_linux-x86_64-v1.0.zip",
+        "java_tools_javac10_windows-x86_64-v2.1.zip": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_windows-x86_64-v2.1.zip",
         ],
-        "java_tools_javac10_windows-x86_64-v1.0_copy.zip": [
-            "https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_windows-x86_64-v1.0_copy.zip",
-        ],
-        "java_tools_javac10_darwin-v1.0.zip": [
-            "https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_darwin-v1.0.zip",
+        "java_tools_javac10_darwin-v2.1.zip": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_darwin-v2.1.zip",
         ],
         "2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz": [
             "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz",
@@ -341,9 +336,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-x86_64-v1.0.zip",
-        "java_tools_javac10_windows-x86_64-v1.0_copy.zip",
-        "java_tools_javac10_darwin-v1.0.zip",
+        "java_tools_javac10_linux-x86_64-v2.1.zip",
+        "java_tools_javac10_windows-x86_64-v2.1.zip",
+        "java_tools_javac10_darwin-v2.1.zip",
         "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
         "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
         "zulu11.2.3-jdk11.0.1-win_x64.zip",
@@ -362,9 +357,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-x86_64-v1.0.zip": "3eb952a53de09163024ad6c1ee964d6261bd6af2b1a644ea930d1b49f1cdfcc6",
-        "java_tools_javac10_windows-x86_64-v1.0_copy.zip": "56adebe4a120dea79c7cc1c0249490d3fcbadb1874d8b58020ab032d99b7fcf4",
-        "java_tools_javac10_darwin-v1.0.zip": "f5cd64d0474dca3ae4cef8e0325d7f5955223bff95dade15ce797821512bcd12",
+        "java_tools_javac10_linux-x86_64-v2.1.zip": "9163c9963f31e10101d538163c435db9534baf9db63d380508311b775fbe3c37",
+        "java_tools_javac10_windows-x86_64-v2.1.zip": "a7a99e34213eb80384b81dda0217582a38f876f420c7b648900f254bf9ea3bd7",
+        "java_tools_javac10_darwin-v2.1.zip": "5f6a7abf7ec0c491dc2d0b15add6a2abb594e31809f4cabc2cfde41efa995f92",
         "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz": "232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75",
         "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz": "1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb",
         "zulu11.2.3-jdk11.0.1-win_x64.zip": "8e1e2b8347de6746f3fd1538840dd643201533ab113abc4ed93678e342d28aa3",
@@ -382,9 +377,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-x86_64-v1.0.zip": ["https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_linux-x86_64-v1.0.zip"],
-        "java_tools_javac10_windows-x86_64-v1.0_copy.zip": ["https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_windows-x86_64-v1.0_copy.zip"],
-        "java_tools_javac10_darwin-v1.0.zip": ["https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_darwin-v1.0.zip"],
+        "java_tools_javac10_linux-x86_64-v2.1.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_linux-x86_64-v2.1.zip"],
+        "java_tools_javac10_windows-x86_64-v2.1.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_windows-x86_64-v2.1.zip"],
+        "java_tools_javac10_darwin-v2.1.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_darwin-v2.1.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"],
         "zulu11.2.3-jdk11.0.1-win_x64.zip": ["https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-win_x64.zip"],
diff --git a/src/BUILD b/src/BUILD
index 1e14e1c..effe314 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -121,16 +121,10 @@
 JAVA_TOOLS = [
     "//third_party/java/proguard:embedded_tools",
     "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs",
-    "//src/tools/singlejar:embedded_tools",
     "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:embedded_tools",
     "//third_party/java/jacoco:srcs",
     "//third_party/jarjar:embedded_build_and_license",
-] + select({
-    "//src/conditions:arm": [],
-    "//conditions:default": [
-        "//src/tools/singlejar:singlejar_local",
-    ],
-})
+]
 
 # TODO(philwo): Clean this up, once a Bazel that can run py_binary and sh_binary
 # in Skylark rules on Windows has been released.
@@ -188,7 +182,7 @@
     # WARNING: Only adjust the number in `expect` if you are intentionally
     # adding or removing embedded tools. Know that the more embedded tools there
     # are in Bazel, the bigger the binary becomes and the slower Bazel starts.
-    expect = 503,
+    expect = 470,
     margin = 5,  # percentage
 )
 
diff --git a/src/create_embedded_tools.py b/src/create_embedded_tools.py
index 3d64886..92eec34 100644
--- a/src/create_embedded_tools.py
+++ b/src/create_embedded_tools.py
@@ -38,8 +38,6 @@
     ('*jarjar_command_deploy.jar',
      lambda x: 'tools/jdk/jarjar_command_deploy.jar'),
     ('*BUILD.java_langtools', lambda x: 'third_party/java/jdk/langtools/BUILD'),
-    ('*singlejar_local.exe', lambda x: 'tools/jdk/singlejar/singlejar.exe'),
-    ('*singlejar_local', lambda x: 'tools/jdk/singlejar/singlejar'),
     ('*launcher.exe', lambda x: 'tools/launcher/launcher.exe'),
     ('*def_parser.exe', lambda x: 'tools/def_parser/def_parser.exe'),
     ('*zipper.exe', lambda x: 'tools/zip/zipper/zipper.exe'),
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 8b75a07..d1e2d04 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
@@ -208,27 +208,27 @@
 http_archive(
     name = "remote_java_tools_linux",
     build_file = "@bazel_tools//tools/jdk:BUILD.java_tools",
-    sha256 = "3eb952a53de09163024ad6c1ee964d6261bd6af2b1a644ea930d1b49f1cdfcc6",
+    sha256 = "9163c9963f31e10101d538163c435db9534baf9db63d380508311b775fbe3c37",
     urls = [
-        "https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_linux-x86_64-v1.0.zip",
+        "https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_linux-x86_64-v2.1.zip",
     ],
 )
 
 http_archive(
     name = "remote_java_tools_windows",
     build_file = "@bazel_tools//tools/jdk:BUILD.java_tools",
-    sha256 = "56adebe4a120dea79c7cc1c0249490d3fcbadb1874d8b58020ab032d99b7fcf4",
+    sha256 = "a7a99e34213eb80384b81dda0217582a38f876f420c7b648900f254bf9ea3bd7",
     urls = [
-        "https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_windows-x86_64-v1.0_copy.zip",
+        "https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_windows-x86_64-v2.1.zip",
     ],
 )
 
 http_archive(
     name = "remote_java_tools_darwin",
     build_file = "@bazel_tools//tools/jdk:BUILD.java_tools",
-    sha256 = "f5cd64d0474dca3ae4cef8e0325d7f5955223bff95dade15ce797821512bcd12",
+    sha256 = "5f6a7abf7ec0c491dc2d0b15add6a2abb594e31809f4cabc2cfde41efa995f92",
     urls = [
-        "https://mirror.bazel.build/bazel_java_tools/java_tools_javac10_darwin-v1.0.zip",
+        "https://mirror.bazel.build/bazel_java_tools/releases/java_tools_javac10_darwin-v2.1.zip",
     ],
 )
 
diff --git a/src/test/shell/bazel/testdata/embedded_tools_srcs_deps b/src/test/shell/bazel/testdata/embedded_tools_srcs_deps
index 9b0b128..4caa1c9 100644
--- a/src/test/shell/bazel/testdata/embedded_tools_srcs_deps
+++ b/src/test/shell/bazel/testdata/embedded_tools_srcs_deps
@@ -11,16 +11,6 @@
 //third_party/ijar:platform_utils
 //third_party/def_parser:def_parser
 //third_party/def_parser:def_parser_lib
-//src/tools/singlejar:singlejar_local
-//src/tools/singlejar:output_jar
-//src/tools/singlejar:options
-//src/tools/singlejar:port
-//src/tools/singlejar:token_stream
-//src/tools/singlejar:input_jar
-//src/tools/singlejar:combiners
-//src/tools/singlejar:diag
-//src/tools/singlejar:mapped_file
-//src/tools/singlejar:desugar_checking
 //third_party/zlib:zlib
 //src/tools/launcher:launcher
 //src/tools/launcher:python_launcher
@@ -29,9 +19,6 @@
 //src/tools/launcher:launcher_base
 //src/tools/launcher/util:data_parser
 //src/tools/launcher/util:util
-//src/main/cpp/util:util
-//src/main/cpp/util:numbers
-//src/main/cpp/util:md5
 //src/main/cpp/util:filesystem
 //src/main/native/windows:lib-file
 //src/main/native/windows:lib-util
diff --git a/src/tools/singlejar/BUILD b/src/tools/singlejar/BUILD
index 3dea231..9c9516d 100644
--- a/src/tools/singlejar/BUILD
+++ b/src/tools/singlejar/BUILD
@@ -31,12 +31,6 @@
 ]
 
 filegroup(
-    name = "embedded_tools",
-    srcs = SOURCES + ["BUILD"],
-    visibility = ["//visibility:public"],
-)
-
-filegroup(
     name = "embedded_java_tools",
     srcs = SOURCES + [
         "//src/main/cpp/util:embedded_java_tools",
diff --git a/tools/jdk/BUILD b/tools/jdk/BUILD
index 15376a4..4ded202 100644
--- a/tools/jdk/BUILD
+++ b/tools/jdk/BUILD
@@ -142,12 +142,9 @@
 # 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(
+remote_java_tools_filegroup(
     name = "singlejar",
-    srcs = select({
-        "//src/conditions:remote": ["//src/tools/singlejar:singlejar"],
-        "//conditions:default": glob(["singlejar/*"]),
-    }),
+    target = ":singlejar",
 )
 
 exports_files(["BUILD.java_tools"])
diff --git a/tools/jdk/BUILD.java_tools b/tools/jdk/BUILD.java_tools
index 2a56bf2..61962e8 100644
--- a/tools/jdk/BUILD.java_tools
+++ b/tools/jdk/BUILD.java_tools
@@ -99,6 +99,25 @@
 )
 
 alias(
+    name = "singlejar",
+    actual = select({
+         "//:remote": ":singlejar_cc_bin",
+         "//conditions:default": ":singlejar_prebuilt_or_cc_binary",
+     }),
+)
+
+alias(
+    name = "singlejar_prebuilt_or_cc_binary",
+    actual = select({
+          ":linux_x86_64": "java_tools/src/tools/singlejar/singlejar_local",
+          ":darwin": "java_tools/src/tools/singlejar/singlejar_local",
+          ":darwin_x86_64": "java_tools/src/tools/singlejar/singlejar_local",
+          ":windows": "java_tools/src/tools/singlejar/singlejar_local.exe",
+          "//conditions:default": "singlejar_cc_bin",
+      })
+)
+
+alias(
   name = "ijar",
   actual = select({
       ":remote": ":ijar_cc_binary",
@@ -340,7 +359,7 @@
 ##################### singlejar
 
 cc_binary(
-    name = "singlejar",
+    name = "singlejar_cc_bin",
     srcs = [
         "java_tools/src/tools/singlejar/singlejar_main.cc",
     ],
@@ -381,10 +400,12 @@
     name = "combiners",
     srcs = [
         "java_tools/src/tools/singlejar/combiners.cc",
+    ],
+    hdrs = [
+        "java_tools/src/tools/singlejar/combiners.h",
         ":transient_bytes",
         ":zip_headers",
     ],
-    hdrs = ["java_tools/src/tools/singlejar/combiners.h"],
     strip_include_prefix = "java_tools",
     deps = [
         "//java_tools/zlib",
@@ -428,17 +449,18 @@
 
 cc_library(
     name = "mapped_file",
-    srcs = ["java_tools/src/tools/singlejar/mapped_file.cc"] + select({
-        ":windows": ["java_tools/src/tools/singlejar/mapped_file_windows.inc"],
-        "//conditions:default": ["java_tools/src/tools/singlejar/mapped_file_posix.inc"],
-    }),
-    hdrs = ["java_tools/src/tools/singlejar/mapped_file.h"],
+    srcs = ["java_tools/src/tools/singlejar/mapped_file.cc"],
+    hdrs = ["java_tools/src/tools/singlejar/mapped_file.h"] +
+        select({
+            ":windows": ["java_tools/src/tools/singlejar/mapped_file_windows.inc"],
+            "//conditions:default": ["java_tools/src/tools/singlejar/mapped_file_posix.inc"],
+        }),
     visibility = ["//visibility:private"],
     strip_include_prefix = "java_tools",
     deps = [
         ":diag",
         ":singlejar_port",
-        "//src/main/cpp/util",
+        ":cpp_util",
     ],
 )
 
@@ -487,7 +509,7 @@
         ":mapped_file",
         ":options",
         ":singlejar_port",
-        "//src/main/cpp/util",
+        ":cpp_util",
         "//java_tools/zlib",
     ],
     strip_include_prefix = "java_tools",