blob: 0c5ece64a032144096c9b4f23b0c007c060787dd [file]
load(":defs.bzl", "android_jar")
config_setting(
name = "minimal_desugaring",
values = {
"define": "java8_library_desugaring=minimal",
}
)
config_setting(
name = "full_desugaring",
values = {
"define": "java8_library_desugaring=full",
}
)
android_jar(
name = "android_jar",
visibility = ["//visibility:public"],
)
# TODO(b/175833857): This is a stub, should remove.
alias(
name = "merge_manifests",
actual = ":fail",
visibility = ["//visibility:public"],
)
alias(
name = "debug_keystore",
actual = "@bazel_tools//tools/android:debug_keystore",
visibility = ["//visibility:public"],
)
genrule(
name = "gen_fail",
outs = ["fail.sh"],
cmd = "echo 'exit 1' > $@",
executable = 1,
visibility = ["//visibility:public"],
)
sh_binary(
name = "fail",
srcs = [":fail.sh"],
)
java_binary(
name = "bundletool",
main_class = "com.android.tools.build.bundletool.BundleToolMain",
visibility = ["//visibility:public"],
runtime_deps = ["@rules_android_maven//:com_android_tools_build_bundletool"],
)
java_plugin(
name = "compiler_annotation_processor",
generates_api = True,
processor_class = "android.databinding.annotationprocessor.ProcessDataBinding",
visibility = ["//visibility:public"],
deps = [
"@bazel_tools//src/tools/android/java/com/google/devtools/build/android:all_android_tools",
],
)
alias(
name = "zip",
actual = "//toolchains/android:zip",
visibility = ["//visibility:public"],
)
genrule(
name = "full_desugar_jdk_libs_config_json",
outs = ["full_desugar_jdk_libs_config.json"],
srcs = [
"@rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration_nio",
],
cmd = "unzip -q -c " +
"$(location @rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration_nio) " +
"META-INF/desugar/d8/desugar.json > $@",
)
genrule(
name = "minimal_desugar_jdk_libs_config_json",
outs = ["minimal_desugar_jdk_libs_config.json"],
srcs = [
"@rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration_minimal",
],
cmd = "unzip -q -c " +
"$(location @rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration_minimal) " +
"META-INF/desugar/d8/desugar.json > $@",
)
genrule(
name = "desugar_jdk_libs_json",
srcs = select({
"full_desugaring": [":full_desugar_jdk_libs_config_json"],
"minimal_desugaring": [":minimal_desugar_jdk_libs_config_json"],
"//conditions:default": [":full_desugar_jdk_libs_config_json"],
}),
outs = ["desugar_jdk_libs.json"],
cmd = "cp $< $@",
)
genrule(
name = "minify_desugar_jdk_libs_pgcfg",
outs = ["minify_desugar_jdk_libs.pgcfg"],
srcs = [
"//src/tools/extract_desugar_pgcfg_flags",
":desugar_jdk_libs_json",
],
cmd = "$(location //src/tools/extract_desugar_pgcfg_flags) --input_json $(location :desugar_jdk_libs_json) --output_file $@"
)
genrule(
name = "build_java8_legacy_dex_params",
outs = ["build_java8_legacy_dex_params.txt"],
cmd = "echo -n --min-api 19 > $@",
visibility = ["//visibility:private"],
)
genrule(
name = "desugared_jdk_libs_from_maven_jar",
outs = ["desugared_jdk_libs_from_maven.jar"],
srcs = select({
"full_desugaring": ["@rules_android_maven//:com_android_tools_desugar_jdk_libs_nio"],
"minimal_desugaring": ["@rules_android_maven//:com_android_tools_desugar_jdk_libs_minimal"],
"//conditions:default": ["@rules_android_maven//:com_android_tools_desugar_jdk_libs_nio"],
}),
cmd = "cp $< $@",
)
genrule(
name = "desugared_jdk_libs_jar",
outs = ["desugared_jdk_libs.jar"],
srcs = [":desugared_jdk_libs_from_maven.jar", ":full_desugar_jdk_libs_config_json"],
tools = [":desugar_java8"],
cmd = "$(location :desugar_java8) " +
"--desugared_lib_config $(location :full_desugar_jdk_libs_config_json) " +
"--input=$(location :desugared_jdk_libs_from_maven.jar) --output=$@",
)
sh_binary(
name = "build_java8_legacy_dex",
srcs = ["build_java8_legacy_dex.sh"],
data = [
"build_java8_legacy_dex_params",
":minify_desugar_jdk_libs.pgcfg",
":desugared_jdk_libs_jar",
":d8",
":r8",
":tracereferences",
":zip",
"@bazel_tools//tools/bash/runfiles",
],
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"],
)
genrule(
name = "d8_desugar_params",
outs = ["d8_desugar_params.txt"],
cmd = "echo -n --min_sdk_version 19 > $@",
visibility = ["//visibility:private"],
)
sh_binary(
name = "desugar_java8",
srcs = [":d8_desugar.sh"],
data = [
":d8_desugar_params",
"@bazel_tools//src/tools/android/java/com/google/devtools/build/android/r8:desugar",
":full_desugar_jdk_libs_config_json",
"@bazel_tools//tools/bash/runfiles",
],
visibility = ["//visibility:public"],
)
alias(
name = "desugared_java8_legacy_apis",
actual = ":gen_fail", # TODO(#122): Fix library desugaring
visibility = ["//visibility:public"],
)
java_binary(
name = "d8",
main_class = "com.android.tools.r8.D8",
visibility = ["//visibility:public"],
runtime_deps = ["@android_gmaven_r8//jar"],
)
java_binary(
name = "r8",
main_class = "com.android.tools.r8.R8",
visibility = ["//visibility:public"],
runtime_deps = ["@android_gmaven_r8//jar"],
)
java_binary(
name = "tracereferences",
main_class = "com.android.tools.r8.tracereferences.TraceReferences",
visibility = ["//visibility:public"],
runtime_deps = ["@android_gmaven_r8//jar"],
)
java_binary(
name = "resource_shrinker",
main_class = "com.android.build.shrinker.ResourceShrinkerCli",
visibility = ["//visibility:public"],
runtime_deps = ["@rules_android_maven//:com_android_tools_build_gradle"],
)
alias(
name = "dexbuilder",
actual = "@bazel_tools//tools/android:dexbuilder",
visibility = ["//visibility:public"],
)
alias(
name = "dexmerger",
actual = "@bazel_tools//tools/android:dexmerger",
visibility = ["//visibility:public"],
)