load("//tools/python:private/defs.bzl", "py_binary", "py_library")
load(":defs.bzl", "run_ijar", "run_singlejar")

package(default_visibility = ["//visibility:public"])

# The toolchain type used to distinguish Android SDK toolchains.
toolchain_type(name = "sdk_toolchain_type")

alias(
    name = "sdk",
    actual = "//external:android/sdk",
)

android_tools_defaults_jar(name = "android_jar")

android_library(
    name = "incremental_stub_application",
    exports = ["//src/tools/android/java/com/google/devtools/build/android/incrementaldeployment:incremental_stub_application"],
)

android_library(
    name = "incremental_split_stub_application",
    exports = ["//src/tools/android/java/com/google/devtools/build/android/incrementaldeployment:incremental_split_stub_application"],
)

alias(
    name = "busybox",
    actual = "//src/tools/android/java/com/google/devtools/build/android:ResourceProcessorBusyBox",
)

alias(
    name = "merge_dexzips",
    actual = "//src/tools/android/java/com/google/devtools/build/android/ziputils:reducer",
)

alias(
    name = "shuffle_jars",
    actual = "//src/tools/android/java/com/google/devtools/build/android/ziputils:mapper",
)

# Defines d8_dexbuilder using @<repo>//:d8_jar_import generated by android_sdk_repository rule
# without needing the SDK repo's name (typically @androidsdk but not required).
java_binary(
    name = "d8_dexbuilder",
    main_class = "com.google.devtools.build.android.r8.CompatDexBuilder",
    visibility = ["//visibility:private"],
    runtime_deps = ["//src/tools/android/java/com/google/devtools/build/android/r8"],
)

# NOTE: d8 dex builder doesn't support the persistent worker mode at the moment. To use this config,
# without a build error, --nouse_workers_with_dexbuilder flag must also be specified.
config_setting(
    name = "d8_incremental_dexing",
    values = {
        "define": "android_incremental_dexing_tool=d8_dexbuilder",
    },
)

config_setting(
    name = "dx_incremental_dexing",
    values = {
        "define": "android_incremental_dexing_tool=dx_dexbuilder",
    },
)

alias(
    name = "dexbuilder",
    actual = select({
        "d8_incremental_dexing": ":d8_dexbuilder",
        "dx_incremental_dexing": "//src/tools/android/java/com/google/devtools/build/android/dexer:DexBuilder",
        "//conditions:default": "//src/tools/android/java/com/google/devtools/build/android/dexer:DexBuilder",
    }),
)

alias(
    name = "dexbuilder_after_proguard",
    actual = "//src/tools/android/java/com/google/devtools/build/android/dexer:DexBuilder",
)

# Defines d8_dexmerger using @<repo>//:d8_jar_import generated by android_sdk_repository rule
# without needing the SDK repo's name (typically @androidsdk but not required).
java_binary(
    name = "d8_dexmerger",
    main_class = "com.google.devtools.build.android.r8.DexFileMerger",
    visibility = ["//visibility:private"],
    runtime_deps = ["//src/tools/android/java/com/google/devtools/build/android/r8"],
)

config_setting(
    name = "use_dx_dexmerger",
    values = {
        "define": "android_dexmerger_tool=dx_dexmerger",
    },
)

config_setting(
    name = "use_d8_dexmerger",
    values = {
        "define": "android_dexmerger_tool=d8_dexmerger",
    },
)

alias(
    name = "dexmerger",
    actual = select({
        "use_d8_dexmerger": ":d8_dexmerger",
        "use_dx_dexmerger": "//src/tools/android/java/com/google/devtools/build/android/dexer:DexFileMerger",
        "//conditions:default": "//src/tools/android/java/com/google/devtools/build/android/dexer:DexFileMerger",
    }),
)

alias(
    name = "dexsharder",
    actual = "//src/tools/android/java/com/google/devtools/build/android/dexer:DexFileSplitter",
)

sh_binary(
    name = "desugar_java8",
    srcs = ["desugar.sh"],
    data = ["//src/tools/android/java/com/google/devtools/build/android/desugar:Desugar"],
)

alias(
    name = "aar_import_deps_checker",
    actual = "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker_embedded",
    visibility = ["//visibility:public"],
)

alias(
    name = "zip_filter",
    actual = "//src/tools/android/java/com/google/devtools/build/android:ZipFilterAction",
)

# Bazel puts this on the bootclasspath of android_* targets to support Java 8
# if requested.
filegroup(
    name = "desugar_java8_extra_bootclasspath",
    srcs = ["java_base_extras.jar"],
    visibility = ["//visibility:public"],
)

# javac needs this Jar to compile lambdas, method references, and type annotations.
# These classes are not part of the android.jar.
run_singlejar(
    name = "gen_java_base_extras_jar",
    srcs = [
        "@bazel_tools//tools/jdk:platformclasspath",
    ],
    out = "java_base_extras.jar",
    include_prefixes = [
        "java/lang/invoke/",
        "java/lang/annotation/",
    ],
    visibility = ["//visibility:private"],
)

java_import(
    name = "desugared_java8_legacy_apis",
    jars = [":ijar_desugared_java8_legacy_libs"],
    neverlink = 1,
    visibility = ["//visibility:public"],
)

run_ijar(
    name = "ijar_desugared_java8_legacy_libs",
    jar = "desugared_java8_legacy_libs.jar",
    visibility = ["//visibility:private"],
)

sh_binary(
    name = "build_java8_legacy_dex",
    srcs = ["build_java8_legacy_dex.sh"],
    data = [
        "minify_java8_legacy_libs.cfg",
        ":desugared_java8_legacy_libs",
        ":dexer",
        "@bazel_tools//src/tools/android/java/com/google/devtools/build/android/desugar/scan:KeepScanner",
        "@bazel_tools//tools/jdk:proguard",
    ],
    visibility = ["//visibility:public"],
)

genrule(
    name = "java8_legacy_dex",
    outs = ["java8_legacy.dex.zip"],
    cmd = """$(location :build_java8_legacy_dex) --output $@""",
    tools = [":build_java8_legacy_dex"],
    visibility = ["//visibility:public"],
)

filegroup(
    name = "desugared_java8_legacy_libs",
    srcs = ["desugared_java8_legacy_libs.jar"],
    visibility = ["//visibility:private"],
)

genrule(
    name = "desugar_java8_legacy_libs",
    srcs = ["@android_tools//:desugar_jdk_libs.jar"],
    outs = ["desugared_java8_legacy_libs.jar"],
    cmd = """
    $(location :desugar_java8) \
        --input $< \
        --output $@ \
        --classpath_entry "$(location @bazel_tools//tools/jdk:platformclasspath)" \
        --core_library --allow_empty_bootclasspath \
        --nobest_effort_tolerate_missing_deps \
        --noemit_dependency_metadata_as_needed \
        --nodesugar_try_with_resources_if_needed \
        --desugar_supported_core_libs \
        --rewrite_core_library_prefix java/time/ \
        --rewrite_core_library_prefix java/lang/Double8 \
        --rewrite_core_library_prefix java/lang/Integer8 \
        --rewrite_core_library_prefix java/lang/Long8 \
        --rewrite_core_library_prefix java/lang/Math8 \
        --rewrite_core_library_prefix java/io/Desugar \
        --rewrite_core_library_prefix java/io/UncheckedIOException \
        --rewrite_core_library_prefix java/util/stream/ \
        --rewrite_core_library_prefix java/util/function/ \
        --rewrite_core_library_prefix java/util/Desugar \
        --rewrite_core_library_prefix java/util/DoubleSummaryStatistics \
        --rewrite_core_library_prefix java/util/IntSummaryStatistics \
        --rewrite_core_library_prefix java/util/LongSummaryStatistics \
        --rewrite_core_library_prefix java/util/Objects \
        --rewrite_core_library_prefix java/util/Optional \
        --rewrite_core_library_prefix java/util/PrimitiveIterator \
        --rewrite_core_library_prefix java/util/Spliterator \
        --rewrite_core_library_prefix java/util/StringJoiner \
        --rewrite_core_library_prefix javadesugar/testing/ \
        --rewrite_core_library_prefix java/util/concurrent/ConcurrentHashMap \
        --rewrite_core_library_prefix java/util/concurrent/ThreadLocalRandom \
        --rewrite_core_library_prefix java/util/concurrent/atomic/DesugarAtomic \
        --auto_desugar_shadowed_api_use \
        --emulate_core_library_interface java/util/Collection \
        --emulate_core_library_interface java/util/Map \
        --emulate_core_library_interface java/util/Map\\$$Entry \
        --emulate_core_library_interface java/util/Iterator \
        --emulate_core_library_interface java/util/Comparator \
        --dont_rewrite_core_library_invocation "java/util/Iterator#remove" """,
    tools = [
        ":desugar_java8",
        "@bazel_tools//tools/jdk:platformclasspath",
    ],
    visibility = ["//visibility:private"],
)

# No-one should depend on this but :desugared_java8_legacy_libs above
exports_files(
    ["desugar_jdk_libs.jar"],
    visibility = ["//visibility:private"],
)

# Mirrors @<repo>//:dx_binary generated by android_sdk_repository rule without
# needing the SDK repo's name (typically @androidsdk but not required).
java_binary(
    name = "dexer",
    main_class = "com.android.dx.command.Main",
    visibility = ["//visibility:private"],
    runtime_deps = ["//external:android/dx_jar_import"],
)

alias(
    name = "IdlClass",
    actual = "//src/tools/android/java/com/google/devtools/build/android/idlclass:IdlClass",
)

py_binary(
    name = "instrumentation_test_check",
    srcs = ["instrumentation_test_check.py"],
    python_version = "PY3",
    deps = ["//third_party/py/abseil"],
)

py_binary(
    name = "build_incremental_dexmanifest",
    srcs = [":build_incremental_dexmanifest.py"],
    python_version = "PY3",
    deps = [],
)

py_binary(
    name = "build_split_manifest",
    srcs = ["build_split_manifest.py"],
    python_version = "PY3",
    deps = [
        "//third_party/py/abseil",
    ],
)

py_binary(
    name = "incremental_install",
    srcs = ["incremental_install.py"],
    python_version = "PY3",
    deps = [
        "//third_party/py/abseil",
        "//third_party/py/concurrent:futures",
    ],
)

py_binary(
    name = "strip_resources",
    srcs = ["strip_resources.py"],
    python_version = "PY3",
    deps = [
        "//third_party/py/abseil",
    ],
)

py_binary(
    name = "aar_native_libs_zip_creator",
    srcs = [
        "aar_native_libs_zip_creator.py",
    ],
    python_version = "PY3",
    deps = [
        ":junction_lib",
        "//third_party/py/abseil",
    ],
)

py_binary(
    name = "stubify_manifest",
    srcs = ["stubify_manifest.py"],
    python_version = "PY3",
    deps = [
        "//third_party/py/abseil",
    ],
)

py_binary(
    name = "aar_embedded_proguard_extractor",
    srcs = ["aar_embedded_proguard_extractor.py"],
    python_version = "PY3",
    deps = [
        ":junction_lib",
        "//third_party/py/abseil",
    ],
)

py_binary(
    name = "aar_embedded_jars_extractor",
    srcs = ["aar_embedded_jars_extractor.py"],
    python_version = "PY3",
    deps = [
        ":junction_lib",
        "//third_party/py/abseil",
    ],
)

py_binary(
    name = "aar_resources_extractor",
    srcs = ["aar_resources_extractor.py"],
    python_version = "PY3",
    deps = [
        ":junction_lib",
        "//third_party/py/abseil",
    ],
)

py_binary(
    name = "resource_extractor",
    srcs = ["resource_extractor.py"],
    python_version = "PY3",
)

py_library(
    name = "junction_lib",
    srcs = ["junction.py"],
    # TODO(bazel-team): remove srcs_version = "PY2AND3" while fixing https://github.com/bazelbuild/bazel/issues/10127.
    srcs_version = "PY2AND3",
    visibility = ["//visibility:private"],
)

alias(
    name = "android_runtest",
    actual = "fail.sh",
)

alias(
    name = "adb_static",
    actual = "fail.sh",
)

alias(
    name = "adb",
    actual = "@androidsdk//:adb",
)

# If needed, this file can be regenerated by (validity is 30 * 365 days):
# keytool -genkeypair \
#    -alias androiddebugkey \
#    -dname "CN=Android Debug, O=Android, C=US" \
#    -keystore cica \
#    -sigalg SHA256withDSA \
#    -validity 10950
filegroup(
    name = "debug_keystore",
    srcs = ["bazel_debug.keystore"],
)

java_binary(
    name = "databinding_exec",
    main_class = "android.databinding.AndroidDataBinding",
    runtime_deps = [
        "//src/tools/android/java/com/google/devtools/build/android:all_android_tools",
    ],
)

alias(
    name = "databinding_annotation_processor",
    actual = "//external:databinding_annotation_processor",
)

# This is the default value of databinding_annotation_processor if the user does
# not provide one.
filegroup(name = "empty")

alias(
    name = "instrumentation_test_entry_point",
    actual = "@android_test_support//:instrumentation_test_runner",
)

# This is the default binding of //external:android/sdk. If someone attempts to
# build a rule that depends on //external:android/sdk without setting up
# android_sdk_repository in their WORKSPACE, the genrule will fail with a
# helpful error message.
android_sdk(
    name = "poison_pill_android_sdk",
    aapt = ":error_message",
    adb = ":error_message",
    aidl = ":error_message",
    android_jar = ":error_message.jar",
    apksigner = ":error_message",
    dx = ":error_message",
    framework_aidl = ":error_message",
    main_dex_classes = ":error_message",
    main_dex_list_creator = ":error_message",
    proguard = ":error_message",
    shrinked_android_jar = ":error_message.jar",
    zipalign = ":error_message",
)

genrule(
    name = "no_android_sdk_repository_error",
    outs = [
        "error_message",
        "error_message.jar",
    ],
    cmd = """echo \
    This build requires an Android SDK. Please add the android_sdk_repository \
    rule to your WORKSPACE. ; \
    exit 1 """,
)

# //external:has_androidsdk is bound to either
# @bazel_tools//tools/android:always_true or
# @bazel_tools//tools/android:always_false depending on whether
# android_sdk_repository has run and is valid. This allows targets to depend on
# targets from @androidsdk if and only if the user has an
# android_sdk_repository set up.

config_feature_flag(
    name = "true",
    allowed_values = [
        "true",
        "false",
    ],
    default_value = "true",
)

config_setting(
    name = "always_true",
    flag_values = {
        ":true": "true",
    },
)

config_setting(
    name = "always_false",
    flag_values = {
        ":true": "false",
    },
)

package_group(
    name = "android_device_allowlist",
    packages = ["//..."],
)

package_group(
    name = "export_deps_allowlist",
    packages = ["//..."],
)

package_group(
    name = "allow_android_library_deps_without_srcs_allowlist",
    packages = ["//..."],
)

sh_binary(
    name = "dex_list_obfuscator",
    srcs = ["dex_list_obfuscator.sh"],
    visibility = ["//visibility:public"],
)

filegroup(
    name = "bzl_srcs",
    srcs = glob(["*.bzl"]),
    visibility = ["//tools:__pkg__"],
)
