aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules/android_binary_internal/impl.bzl17
-rw-r--r--rules/proguard.bzl18
2 files changed, 23 insertions, 12 deletions
diff --git a/rules/android_binary_internal/impl.bzl b/rules/android_binary_internal/impl.bzl
index e49b628..0c156de 100644
--- a/rules/android_binary_internal/impl.bzl
+++ b/rules/android_binary_internal/impl.bzl
@@ -658,7 +658,6 @@ def _process_optimize(ctx, deploy_ctx, packaged_resources_ctx, bp_ctx, **_unused
proguard_specs_for_manifest = [packaged_resources_ctx.resource_minsdk_proguard_config] if packaged_resources_ctx.resource_minsdk_proguard_config else [],
)
has_proguard_specs = bool(proguard_specs)
- proguard_output = struct()
is_resource_shrinking_enabled = _resources.is_resource_shrinking_enabled(
ctx.attr.shrink_resources,
@@ -741,14 +740,14 @@ def _process_optimize(ctx, deploy_ctx, packaged_resources_ctx, bp_ctx, **_unused
providers = []
providers.append(
AndroidOptimizationInfo(
- optimized_jar = proguard_output.output_jar if proguard_output else None,
- mapping = proguard_output.mapping if proguard_output else None,
- seeds = proguard_output.seeds if proguard_output else None,
- library_jar = proguard_output.library_jar if proguard_output else None,
- config = proguard_output.config if proguard_output else None,
- proto_mapping = proguard_output.proto_mapping if proguard_output else None,
- rewritten_startup_profile = proguard_output.startup_profile_rewritten if proguard_output else None,
- rewriten_merged_baseline_profile = proguard_output.baseline_profile_rewritten if proguard_output else None,
+ optimized_jar = proguard_output.output_jar,
+ mapping = proguard_output.mapping,
+ seeds = proguard_output.seeds,
+ library_jar = proguard_output.library_jar,
+ config = proguard_output.config,
+ proto_mapping = proguard_output.proto_mapping,
+ rewritten_startup_profile = proguard_output.startup_profile_rewritten,
+ rewriten_merged_baseline_profile = proguard_output.baseline_profile_rewritten,
optimized_resource_apk = optimized_resource_output.resources_apk,
shrunk_resource_apk = shrunk_resource_output.resources_apk if shrunk_resource_output else None,
shrunk_resource_zip = shrunk_resource_output.resources_zip if shrunk_resource_output else None,
diff --git a/rules/proguard.bzl b/rules/proguard.bzl
index 374e2f8..9599658 100644
--- a/rules/proguard.bzl
+++ b/rules/proguard.bzl
@@ -355,17 +355,29 @@ def _apply_proguard(
A struct of proguard outputs.
"""
if not proguard_specs:
+ outputs = _get_proguard_output(
+ ctx,
+ proguard_output_jar = proguard_output_jar,
+ proguard_seeds = None,
+ proguard_usage = None,
+ proguard_output_map = proguard_output_map,
+ combined_library_jar = None,
+ startup_profile_rewritten = None,
+ baseline_profile_rewritten = None,
+ )
+
# Fail at execution time if these artifacts are requested, to avoid issue where outputs are
# declared without having any proguard specs. This can happen if specs is a select() that
# resolves to an empty list.
_fail_action(
ctx,
- proguard_output_jar,
- proguard_output_map,
+ outputs.output_jar,
+ outputs.mapping,
+ outputs.config,
proguard_seeds,
proguard_usage,
)
- return None
+ return outputs
library_jar_list = [get_android_sdk(ctx).android_jar]
if ctx.fragments.android.desugar_java8: