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

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",
)

alias(
    name = "dexbuilder",
    actual = "//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",
)

alias(
    name = "dexmerger",
    actual = "//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_lang_extras.jar"],
    visibility = ["//visibility:public"],
)

java_import(
    name = "singlejar_deploy",
    jars = select({
        "//src/conditions:windows": ["@bazel_tools//tools/jdk:singlejar"],
        "//conditions:default": [],
    }),
    visibility = ["//visibility:private"],
)

java_binary(
    name = "singlejar_javabin",
    main_class = "com.google.devtools.build.singlejar.SingleJar",
    runtime_deps = select({
        "//src/conditions:windows": [":singlejar_deploy"],
        "//conditions:default": [],
    }),
    visibility = ["//visibility:private"],
)

gen_java_lang_extras_jar_cmd = """
    for jar in $(locations @local_jdk//:bootclasspath); do
      if [[ "$${jar}" == *"/rt.jar" ]]; then
        $(location %s) \
            --exclude_build_data \
            --dont_change_compression \
            --sources $${jar} \
            --include_prefixes "java/lang/invoke/" \
            --include_prefixes "java/lang/annotation/" \
            --output $@
        break
      fi
    done
    """

# javac needs this Jar to compile lambdas, method references, and type annotations.
# These classes are not part of the android.jar.
genrule(
    name = "gen_java_lang_extras_jar",
    srcs = [
        "@local_jdk//:bootclasspath"
    ],
    tools = select({
        "//src/conditions:windows": [":singlejar_javabin"],
        "//conditions:default": ["@bazel_tools//tools/jdk:singlejar"],
    }),
    outs = ["java_lang_extras.jar"],
    cmd = select({
        "//src/conditions:windows": gen_java_lang_extras_jar_cmd % ":singlejar_javabin",
        "//conditions:default": gen_java_lang_extras_jar_cmd % "@bazel_tools//tools/jdk:singlejar",
    }),
    visibility = ["//visibility:private"],
)

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

genrule(
    name = "ijar_desugared_java8_legacy_libs",
    srcs = ["desugared_java8_legacy_libs"],
    outs = ["desugared_java8_legacy_libs-ijar.jar"],
    cmd = "$(location //third_party/ijar) $< $@",
    tools = ["//third_party/ijar"],
    visibility = ["//visibility:private"],
)

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

genrule(
    name = "java8_legacy_dex",
    srcs = ["desugared_java8_legacy_libs"],
    outs = ["java8_legacy.dex.zip"],
    cmd = """$(location :dexer) --dex "--output=$@" $<""",
    tools = [":dexer"],
    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 = ["desugar_jdk_libs.jar"],
    outs = ["desugared_java8_legacy_libs.jar"],
    cmd = """
    classpath=()
    for j in $(locations //tools/jdk:bootclasspath); do
      classpath+=("--classpath_entry")
      classpath+=("$${j}")
    done
    $(location :desugar_java8) \
        --input $< \
        --output $@ \
        "$${classpath[@]}" \
        --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/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/time/ \
        --rewrite_core_library_prefix java/util/stream/ \
        --rewrite_core_library_prefix java/util/function/ \
        --rewrite_core_library_prefix java/util/Arrays8 \
        --rewrite_core_library_prefix java/util/Comparators \
        --rewrite_core_library_prefix java/util/Date8 \
        --rewrite_core_library_prefix java/util/DoubleSummaryStatistics \
        --rewrite_core_library_prefix java/util/IntSummaryStatistics \
        --rewrite_core_library_prefix java/util/LinkedHashSet8 \
        --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/SortedSet\$$1 \
        --rewrite_core_library_prefix java/util/Spliterator \
        --rewrite_core_library_prefix java/util/StringJoiner \
        --rewrite_core_library_prefix java/util/TimeZone8 \
        --rewrite_core_library_prefix java/util/Tripwire \
        --retarget_core_library_member "java/util/Arrays#stream->java/util/Arrays8" \
        --retarget_core_library_member "java/util/Arrays#spliterator->java/util/Arrays8" \
        --retarget_core_library_member "java/util/LinkedHashSet#spliterator->java/util/LinkedHashSet8" \
        --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",
        "//tools/jdk:bootclasspath",
    ],
    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",
    runtime_deps = ["//external:android/dx_jar_import"],
    visibility = ["//visibility:private"],
)

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"],
    deps = ["//third_party/py/gflags"],
)

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

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

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

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

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

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

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

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

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

py_library(
    name = "junction_lib",
    srcs = ["junction.py"],
    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"],
)

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 = "jarjar_bin",
    actual = "//third_party/java/jarjar:jarjar_bin",
)

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",
    proguard = ":error_message",
    aapt = ":error_message",
    dx = ":error_message",
    main_dex_list_creator = ":error_message",
    adb = ":error_message",
    framework_aidl = ":error_message",
    aidl = ":error_message",
    android_jar = ":error_message.jar",
    shrinked_android_jar = ":error_message.jar",
    main_dex_classes = ":error_message",
    apksigner = ":error_message",
    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. 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",
    default_value = "true",
    allowed_values = ["true", "false"],
)

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

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

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