# This package contains an external repository that the Android rules # depend on at runtime. This is an interim solution to extract dependencies # out from the Bazel binary to minimize its size. The final goal is to # extract all Android rules and tools out of Bazel and into rules_android # and tools_android. load("@rules_pkg//pkg:tar.bzl", "pkg_tar") filegroup( name = "srcs", srcs = [ "BUILD.android_tools", "BUILD.bazel", "WORKSPACE.android_tools", ], visibility = [ "//tools/android:__pkg__", ], ) # :android_tools creates a tarball containing the outputs of this genrule. genrule( name = "strip_android_tools_suffix", srcs = [ "BUILD.android_tools", "WORKSPACE.android_tools", ], outs = [ "BUILD", "WORKSPACE", ], cmd = """ cp $(location BUILD.android_tools) $(location BUILD) && \ cp $(location WORKSPACE.android_tools) $(location WORKSPACE) """, tags = [ "manual", "no_windows", ], ) genrule( name = "gen_version_txt", outs = ["version.txt"], cmd = """ embed_label="$$(grep BUILD_EMBED_LABEL bazel-out/stable-status.txt | cut -d ' ' -f 2-)" if [[ -z "$$embed_label" ]]; then # this happens when building for tests version="not_set" bazel_version="not_set" bazel_repo_commit="not_set" elif [[ "$$embed_label" =~ ^[0-9]+[.][0-9]+[.][0-9]+\\ [0-9]+[.][0-9]+[.][0-9]+(-pre[.][0-9]{8}[.][0-9]+)?\\ [0-9a-f]{40}$$ ]]; then version="$$(echo $$embed_label | cut -d ' ' -f 1)" bazel_version="$$(echo $$embed_label | cut -d ' ' -f 2)" bazel_repo_commit="$$(echo $$embed_label | cut -d ' ' -f 3)" else echo "bad format for --embed_label" exit 1 fi cat > $@ << EOF bazel_android_tools_version $$version bazel_repo_commit $$bazel_repo_commit built_with_bazel_version $$bazel_version EOF """, stamp = True, ) genrule( name = "desugar_jdk_libs", srcs = ["@desugar_jdk_libs"], outs = ["desugar_jdk_libs.jar"], cmd = "cp $< $@", ) pkg_tar( name = "android_tools", srcs = [ "BUILD", "WORKSPACE", ":desugar_jdk_libs.jar", ":version.txt", "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker_deploy.jar", "//src/tools/android/java/com/google/devtools/build/android:all_android_tools_deploy.jar", ], remap_paths = { "src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker_deploy.jar": "ImportDepsChecker_deploy.jar", "src/tools/android/java/com/google/devtools/build/android:all_android_tools_deploy.jar": "all_android_tools_deploy.jar", }, visibility = ["//src/test/shell/bazel:__subpackages__"], )