Updated static_java_library.mk to support proguard options.
For reference we are trying to build an AAR and want to filter out anything private and anything marked @hide.
Test: built dist and verified package contents.
Change-Id: I2b9847501d677f56d3918ac0694e6e1f6cda32c8
diff --git a/core/static_java_library.mk b/core/static_java_library.mk
index 258c5f8..5004611 100644
--- a/core/static_java_library.mk
+++ b/core/static_java_library.mk
@@ -69,7 +69,7 @@
proguard_options_file :=
-ifneq ($(LOCAL_PROGUARD_ENABLED),custom)
+ifneq ($(filter custom,$(LOCAL_PROGUARD_ENABLED)),custom)
proguard_options_file := $(intermediates.COMMON)/proguard_options
endif
@@ -169,14 +169,22 @@
$(noshrob_classes_jack) $(full_classes_jack) $(jack_check_timestamp) \
: $(R_file_stamp)
+
+# if we have custom proguarding done use the proguarded classes jar instead of the normal classes jar
+ifeq ($(filter custom,$(LOCAL_PROGUARD_ENABLED)),custom)
+aar_classes_jar = $(full_classes_proguard_jar)
+else
+aar_classes_jar = $(full_classes_jar)
+endif
+
# Rule to build AAR, archive including classes.jar, resource, etc.
built_aar := $(intermediates.COMMON)/javalib.aar
$(built_aar): PRIVATE_MODULE := $(LOCAL_MODULE)
$(built_aar): PRIVATE_ANDROID_MANIFEST := $(full_android_manifest)
-$(built_aar): PRIVATE_CLASSES_JAR := $(full_classes_jar)
+$(built_aar): PRIVATE_CLASSES_JAR := $(aar_classes_jar)
$(built_aar): PRIVATE_RESOURCE_DIR := $(LOCAL_RESOURCE_DIR)
$(built_aar): PRIVATE_R_TXT := $(LOCAL_INTERMEDIATE_SOURCE_DIR)/R.txt
-$(built_aar) : $(full_classes_jar) $(full_android_manifest)
+$(built_aar) : $(aar_classes_jar) $(full_android_manifest)
@echo "target AAR: $(PRIVATE_MODULE) ($@)"
$(hide) rm -rf $(dir $@)aar && mkdir -p $(dir $@)aar/res
$(hide) cp $(PRIVATE_ANDROID_MANIFEST) $(dir $@)aar/AndroidManifest.xml
@@ -192,5 +200,6 @@
endif # need_compile_res
# Reset internal variables.
+aar_classes_jar :=
all_res_assets :=
LOCAL_IS_STATIC_JAVA_LIBRARY :=