| load("@rules_java//java:defs.bzl", "java_binary", "java_import", "java_library", "java_plugin") | |
| load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test") | |
| load("@rules_shell//shell:sh_binary.bzl", "sh_binary") | |
| load("//rules:min_sdk_version.bzl", "min_sdk_version") | |
| load(":defs.bzl", "android_jar", "run_ijar", "run_singlejar") | |
| package( | |
| default_applicable_licenses = ["//:license"], | |
| default_visibility = ["//visibility:public"], | |
| ) | |
| exports_files( | |
| ["build_java8_legacy_dex.sh"], | |
| visibility = ["//test/tools/android:__pkg__"], | |
| ) | |
| 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"], | |
| ) | |
| genrule( | |
| name = "android_jar_for_test", | |
| testonly = 1, | |
| srcs = [":android_jar"], | |
| outs = ["android_jar_for_test.jar"], | |
| cmd = "cp $(SRCS) $@", | |
| visibility = ["//src/tools/javatests:__subpackages__"], | |
| ) | |
| # TODO(b/175833857): This is a stub, should remove. | |
| alias( | |
| name = "merge_manifests", | |
| actual = ":fail", | |
| 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 = [ | |
| "//src/tools/java/com/google/devtools/build/android:databinding_exec_jar", | |
| ], | |
| ) | |
| alias( | |
| name = "zip", | |
| actual = "//toolchains/android:zip", | |
| visibility = ["//visibility:public"], | |
| ) | |
| alias( | |
| name = "unzip", | |
| actual = "//toolchains/android:unzip", | |
| visibility = ["//visibility:public"], | |
| ) | |
| genrule( | |
| name = "full_desugar_jdk_libs_config_json", | |
| srcs = [ | |
| "@rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration_nio", | |
| ], | |
| outs = ["full_desugar_jdk_libs_config.json"], | |
| cmd = "unzip -q -c " + | |
| "$(location @rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration_nio) " + | |
| "META-INF/desugar/d8/desugar.json > $@", | |
| visibility = ["//visibility:public"], | |
| ) | |
| genrule( | |
| name = "minimal_desugar_jdk_libs_config_json", | |
| srcs = [ | |
| "@rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration_minimal", | |
| ], | |
| outs = ["minimal_desugar_jdk_libs_config.json"], | |
| 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 $< $@", | |
| visibility = ["//visibility:public"], | |
| ) | |
| genrule( | |
| name = "minify_desugar_jdk_libs_pgcfg", | |
| srcs = [ | |
| "//src/tools/extract_desugar_pgcfg_flags", | |
| ":desugar_jdk_libs_json", | |
| ], | |
| outs = ["minify_desugar_jdk_libs.pgcfg"], | |
| cmd = "$(location //src/tools/extract_desugar_pgcfg_flags) --input_json $(location :desugar_jdk_libs_json) --output_file $@", | |
| ) | |
| _MIN_SDK_VERSION = str(min_sdk_version.DEX_DESUGAR) | |
| genrule( | |
| name = "build_java8_legacy_dex_params", | |
| outs = ["build_java8_legacy_dex_params.txt"], | |
| cmd = "echo -n --min-api %s > $@" % _MIN_SDK_VERSION, | |
| visibility = ["//visibility:private"], | |
| ) | |
| genrule( | |
| name = "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"], | |
| }), | |
| outs = ["desugared_jdk_libs_from_maven.jar"], | |
| cmd = "cp $< $@", | |
| ) | |
| run_singlejar( | |
| name = "desugar_jdk_libs_all", | |
| srcs = [ | |
| ":desugared_jdk_libs_from_maven_jar", | |
| "@rules_android_maven//:com_android_tools_desugar_jdk_libs_configuration", | |
| ], | |
| out = "desugar_jdk_libs_all.jar", | |
| ) | |
| run_singlejar( | |
| name = "bootclasspath", | |
| srcs = [ | |
| ":android_jar", | |
| ":desugar_java8_extra_bootclasspath", | |
| ], | |
| out = "android_bootclasspath.jar", | |
| ) | |
| genrule( | |
| name = "desugared_jdk_libs_jar", | |
| srcs = [ | |
| ":bootclasspath", | |
| ":desugar_jdk_libs_all", | |
| ":full_desugar_jdk_libs_config_json", | |
| ], | |
| outs = ["desugared_jdk_libs.jar"], | |
| cmd = "$(location //src/tools/java/com/google/devtools/build/android/r8:core_library_desugar) " + | |
| "--desugar_supported_core_libs " + | |
| "--desugared_lib_config=$(location :full_desugar_jdk_libs_config_json) " + | |
| "--bootclasspath_entry=$(location :bootclasspath) " + | |
| "--min_sdk_version=%d " % min_sdk_version.DEX_DESUGAR + | |
| "--input=$(location :desugar_jdk_libs_all) --output=$@", | |
| tools = ["//src/tools/java/com/google/devtools/build/android/r8:core_library_desugar"], | |
| ) | |
| sh_binary( | |
| name = "build_java8_legacy_dex", | |
| srcs = ["build_java8_legacy_dex.sh"], | |
| data = [ | |
| "build_java8_legacy_dex_params", | |
| ":d8", | |
| ":desugared_jdk_libs_jar", | |
| ":minify_desugar_jdk_libs.pgcfg", | |
| ":r8", | |
| ":tracereferences", | |
| ":zip", | |
| "@rules_shell//shell/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 " + _MIN_SDK_VERSION + " > $@", | |
| visibility = ["//visibility:private"], | |
| ) | |
| genrule( | |
| name = "desugar_min_sdk_version_txt", | |
| outs = ["desugar_min_sdk_version.txt"], | |
| cmd = "echo -n " + _MIN_SDK_VERSION + " > $@", | |
| visibility = ["//visibility:public"], | |
| ) | |
| sh_binary( | |
| name = "desugar_java8", | |
| srcs = [":d8_desugar.sh"], | |
| data = [ | |
| ":d8_desugar_params", | |
| ":full_desugar_jdk_libs_config_json", | |
| "//src/tools/java/com/google/devtools/build/android/r8:desugar", | |
| "@rules_shell//shell/runfiles", | |
| ], | |
| visibility = ["//visibility:public"], | |
| ) | |
| run_ijar( | |
| name = "ijar_desugared_java8_legacy_libs", | |
| jar = ":desugared_jdk_libs.jar", | |
| visibility = ["//visibility:public"], | |
| ) | |
| java_import( | |
| name = "desugared_java8_legacy_apis", | |
| constraints = ["android"], | |
| jars = [":ijar_desugared_java8_legacy_libs"], | |
| neverlink = 1, | |
| visibility = ["//visibility:public"], | |
| ) | |
| # Flags to make OpenJDK perform reasonably on D8. | |
| _JVM_FLAGS = [ | |
| "-XX:+TieredCompilation", | |
| "-XX:TieredStopAtLevel=1", | |
| # Consistent with what we use for desugar. | |
| "-Xms8g", | |
| "-Xmx8g", | |
| ] | |
| java_binary( | |
| name = "d8", | |
| jvm_flags = _JVM_FLAGS, | |
| main_class = "com.android.tools.r8.D8", | |
| visibility = ["//visibility:public"], | |
| runtime_deps = ["@rules_android_maven//:com_android_tools_r8"], | |
| ) | |
| java_binary( | |
| name = "r8", | |
| jvm_flags = _JVM_FLAGS, | |
| main_class = "com.android.tools.r8.R8", | |
| visibility = ["//visibility:public"], | |
| runtime_deps = ["@rules_android_maven//:com_android_tools_r8"], | |
| ) | |
| java_binary( | |
| name = "tracereferences", | |
| jvm_flags = _JVM_FLAGS, | |
| main_class = "com.android.tools.r8.tracereferences.TraceReferences", | |
| visibility = ["//visibility:public"], | |
| runtime_deps = ["@rules_android_maven//:com_android_tools_r8"], | |
| ) | |
| java_binary( | |
| name = "keep_radius_html_report_generator", | |
| jvm_flags = _JVM_FLAGS, | |
| main_class = "com.android.tools.r8.keepradius.KeepRadiusHtmlReportGenerator", | |
| visibility = ["//visibility:public"], | |
| runtime_deps = ["@rules_android_maven//:com_android_tools_r8"], | |
| ) | |
| 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 = "merge_dexzips", | |
| actual = "//src/tools/java/com/google/devtools/build/android/ziputils:reducer", | |
| visibility = ["//visibility:public"], | |
| ) | |
| alias( | |
| name = "shuffle_jars", | |
| actual = "//src/tools/java/com/google/devtools/build/android/ziputils:mapper", | |
| visibility = ["//visibility:public"], | |
| ) | |
| alias( | |
| name = "zip_filter", | |
| actual = "//src/tools/java/com/google/devtools/build/android:ZipFilterAction", | |
| visibility = ["//visibility:public"], | |
| ) | |
| java_binary( | |
| name = "databinding_exec", | |
| main_class = "android.databinding.AndroidDataBinding", | |
| visibility = ["//visibility:public"], | |
| runtime_deps = [ | |
| "//src/tools/java/com/google/devtools/build/android:databinding_exec_jar", | |
| ], | |
| ) | |
| # 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/java/com/google/devtools/build/android/r8"], | |
| ) | |
| alias( | |
| name = "dexbuilder", | |
| actual = ":d8_dexbuilder", | |
| visibility = ["//visibility:public"], | |
| ) | |
| alias( | |
| name = "dexbuilder_after_proguard", | |
| actual = ":d8_dexbuilder", | |
| visibility = ["//visibility:public"], | |
| ) | |
| alias( | |
| name = "dexsharder", | |
| actual = "//src/tools/java/com/google/devtools/build/android/dexer:DexFileSplitter", | |
| visibility = ["//visibility:public"], | |
| ) | |
| java_binary( | |
| name = "d8_dexmerger", | |
| main_class = "com.google.devtools.build.android.r8.DexFileMerger", | |
| visibility = ["//visibility:private"], | |
| runtime_deps = ["//src/tools/java/com/google/devtools/build/android/r8"], | |
| ) | |
| java_binary( | |
| name = "global_synthetics_generator", | |
| jvm_flags = [ | |
| "-XX:+TieredCompilation", | |
| "-XX:TieredStopAtLevel=1", | |
| # Consistent with what we use for desugar. | |
| "-Xms8g", | |
| "-Xmx8g", | |
| ], | |
| main_class = "com.android.tools.r8.GlobalSyntheticsGenerator", | |
| runtime_deps = ["@rules_android_maven//:com_android_tools_r8"], | |
| ) | |
| alias( | |
| name = "dexmerger", | |
| actual = ":d8_dexmerger", | |
| visibility = ["//visibility:public"], | |
| ) | |
| # 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 = [ | |
| "@rules_java//toolchains:platformclasspath", | |
| ], | |
| out = "java_base_extras.jar", | |
| include_prefixes = [ | |
| "java/lang/invoke/StringConcatFactory.class", | |
| "java/lang/invoke/LambdaMetafactory.class", | |
| "java/lang/invoke/SerializedLambda.class", | |
| "java/lang/invoke/ConstantBootstraps.class", | |
| "java/lang/runtime/SwitchBootstraps.class", | |
| "java/lang/constant/*.class", | |
| "java/lang/Enum*.class", | |
| "java/lang/annotation/*", | |
| "javax/lang/model/element/Modifier.class", | |
| "sun/misc/Unsafe.class", | |
| "java/nio/file/Files.class", | |
| ], | |
| visibility = ["//visibility:private"], | |
| ) | |
| sh_binary( | |
| name = "dex_list_obfuscator", | |
| srcs = ["dex_list_obfuscator.sh"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| # 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"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| py_library( | |
| name = "junction_lib", | |
| srcs = ["junction.py"], | |
| visibility = ["//visibility:private"], | |
| ) | |
| py_library( | |
| name = "json_worker_wrapper", | |
| srcs = ["json_worker_wrapper.py"], | |
| visibility = ["//visibility:private"], | |
| ) | |
| py_binary( | |
| name = "aar_embedded_jars_extractor", | |
| srcs = ["aar_embedded_jars_extractor.py"], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":json_worker_wrapper", | |
| ":junction_lib", | |
| "@py_absl//absl:app", | |
| ], | |
| ) | |
| py_library( | |
| name = "proguard_extractor_lib", | |
| srcs = ["proguard_extractor_lib.py"], | |
| visibility = ["//visibility:private"], | |
| ) | |
| py_binary( | |
| name = "aar_embedded_proguard_extractor", | |
| srcs = ["aar_embedded_proguard_extractor.py"], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":json_worker_wrapper", | |
| ":junction_lib", | |
| ":proguard_extractor_lib", | |
| "@py_absl//absl:app", | |
| ], | |
| ) | |
| py_binary( | |
| name = "jar_embedded_proguard_extractor", | |
| srcs = ["jar_embedded_proguard_extractor.py"], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":json_worker_wrapper", | |
| ":junction_lib", | |
| ":proguard_extractor_lib", | |
| "@py_absl//absl:app", | |
| ], | |
| ) | |
| py_binary( | |
| name = "aar_native_libs_zip_creator", | |
| srcs = [ | |
| "aar_native_libs_zip_creator.py", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":json_worker_wrapper", | |
| ":junction_lib", | |
| "@py_absl//absl:app", | |
| ], | |
| ) | |
| py_binary( | |
| name = "aar_resources_extractor", | |
| srcs = ["aar_resources_extractor.py"], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":json_worker_wrapper", | |
| ":junction_lib", | |
| "@py_absl//absl:app", | |
| ], | |
| ) | |
| py_test( | |
| name = "aar_native_libs_zip_creator_test", | |
| srcs = ["aar_native_libs_zip_creator_test.py"], | |
| deps = [":aar_native_libs_zip_creator"], | |
| ) | |
| py_test( | |
| name = "aar_embedded_jars_extractor_test", | |
| srcs = ["aar_embedded_jars_extractor_test.py"], | |
| deps = [":aar_embedded_jars_extractor"], | |
| ) | |
| py_test( | |
| name = "aar_embedded_proguard_extractor_test", | |
| srcs = ["aar_embedded_proguard_extractor_test.py"], | |
| deps = [ | |
| ":aar_embedded_proguard_extractor", | |
| ":proguard_extractor_lib", | |
| ], | |
| ) | |
| py_test( | |
| name = "jar_embedded_proguard_extractor_test", | |
| srcs = ["jar_embedded_proguard_extractor_test.py"], | |
| deps = [ | |
| ":jar_embedded_proguard_extractor", | |
| ":proguard_extractor_lib", | |
| ], | |
| ) | |
| py_test( | |
| name = "aar_resources_extractor_test", | |
| srcs = ["aar_resources_extractor_test.py"], | |
| deps = [":aar_resources_extractor"], | |
| ) | |
| py_test( | |
| name = "junction_test", | |
| srcs = ["junction_test.py"], | |
| # TODO: This test was migrated from Bazel and is missing some | |
| # Bazel-intrinsic test deps. | |
| tags = ["manual"], | |
| deps = [":junction_lib"], | |
| ) | |
| java_binary( | |
| name = "apkdeployer", | |
| main_class = "com.android.tools.deployer.DeployerRunner", | |
| visibility = ["//visibility:public"], | |
| runtime_deps = [ | |
| "@rules_android_maven//:com_android_tools_apkdeployer_apkdeployer", | |
| ], | |
| ) | |
| java_library( | |
| name = "auto_service_lib", | |
| exports = [ | |
| "@rules_android_maven//:com_google_auto_service_auto_service", | |
| "@rules_android_maven//:com_google_auto_service_auto_service_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "autovalue_lib", | |
| exports = [ | |
| ":auto_service_lib", | |
| "@rules_android_maven//:com_google_auto_auto_common", | |
| ], | |
| ) | |
| java_plugin( | |
| name = "autovalue_plugin", | |
| processor_class = "com.google.auto.value.processor.AutoValueProcessor", | |
| deps = [ | |
| "@rules_android_maven//:com_google_auto_value_auto_value", | |
| ], | |
| ) | |
| java_plugin( | |
| name = "auto_annotation_plugin", | |
| processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor", | |
| deps = [ | |
| "@rules_android_maven//:com_google_auto_value_auto_value", | |
| ], | |
| ) | |
| java_plugin( | |
| name = "auto_builder_plugin", | |
| processor_class = "com.google.auto.value.processor.AutoBuilderProcessor", | |
| deps = [ | |
| "@rules_android_maven//:com_google_auto_value_auto_value", | |
| ], | |
| ) | |
| java_library( | |
| name = "auto_value_api", | |
| exports = [ | |
| "@rules_android_maven//:com_google_auto_value_auto_value_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "autovalue", | |
| exported_plugins = [ | |
| ":autovalue_plugin", | |
| ":auto_annotation_plugin", | |
| ":auto_builder_plugin", | |
| ], | |
| visibility = ["//src/tools/java/com/google/devtools/build/android:__subpackages__"], | |
| exports = [ | |
| ":auto_value_api", | |
| ], | |
| ) | |
| java_library( | |
| name = "error_prone_annotations", | |
| exports = [ | |
| "@rules_android_maven//:com_google_errorprone_error_prone_annotations", | |
| "@rules_android_maven//:com_google_errorprone_error_prone_type_annotations", | |
| ], | |
| ) | |
| java_library( | |
| name = "error_prone", | |
| exports = [ | |
| ":error_prone_annotations", | |
| "@rules_android_maven//:com_google_errorprone_error_prone_check_api", | |
| "@rules_android_maven//:com_google_errorprone_error_prone_core", | |
| ], | |
| ) | |
| genrule( | |
| name = "desugar_globals", | |
| outs = ["desugar.globals"], | |
| cmd = "$(JAVA) -Dcom.android.tools.r8.disableLambdaMethodAnnotations -jar $(location :global_synthetics_generator_deploy.jar) --min-api {} --output $@".format(min_sdk_version.DEX_DESUGAR), | |
| toolchains = ["//tools/jdk:current_host_java_runtime"], | |
| tools = [":global_synthetics_generator_deploy.jar"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| genrule( | |
| name = "desugar_globals_dex_archive", | |
| srcs = [":desugar.globals"], | |
| outs = ["desugar_globals.zip"], | |
| cmd = """ | |
| $(JAVA) -jar $(location :d8_deploy.jar) --no-desugaring --globals $(location :desugar.globals) --output $(@) | |
| """, | |
| toolchains = ["//tools/jdk:current_host_java_runtime"], | |
| tools = [":d8_deploy.jar"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| genrule( | |
| name = "desugar_globals_classes", | |
| outs = ["desugar_globals_classes.zip"], | |
| cmd = "$(JAVA) -Dcom.android.tools.r8.disableLambdaMethodAnnotations -jar $(location :global_synthetics_generator_deploy.jar) --min-api {} --classfile --output $@".format(min_sdk_version.DEX_DESUGAR), | |
| toolchains = ["//tools/jdk:current_host_java_runtime"], | |
| tools = [":global_synthetics_generator_deploy.jar"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| genrule( | |
| name = "desugar_globals_jar", | |
| srcs = [":desugar_globals_classes.zip"], | |
| outs = ["desugar_globals.jar"], | |
| cmd = """ | |
| tmp=$$(mktemp -d) | |
| unzip $(location :desugar_globals_classes.zip) -d $${tmp} | |
| rm $${tmp}/kind | |
| rm $${tmp}/compilerinfo | |
| mv $${tmp}/com/android/tools/r8/RecordTag.global $${tmp}/com/android/tools/r8/RecordTag.class | |
| mv $${tmp}/com/android/tools/r8/DesugarMethodHandlesLookup.global $${tmp}/com/android/tools/r8/DesugarMethodHandlesLookup.class | |
| mv $${tmp}/com/android/tools/r8/DesugarVarHandle.global $${tmp}/com/android/tools/r8/DesugarVarHandle.class | |
| mv $${tmp}'/com/android/tools/r8/DesugarVarHandle$$$$ExternalSyntheticBackportWithForwarding0.global' $${tmp}'/com/android/tools/r8/DesugarVarHandle$$$$ExternalSyntheticBackportWithForwarding0.class' | |
| out=$$(pwd)/$(@) | |
| cd $${tmp} | |
| zip -r $${out} . | |
| """, | |
| visibility = ["//visibility:public"], | |
| ) |