Collect and store proguard obfuscation dictionary files.

Collect and store proguard obfuscation dictionary files.
Only do this for apps_only build for now.

Bug: 9407666
Change-Id: I0324eed6bb236abb0d3725f8d2a0b6c5c31935fe
diff --git a/core/Makefile b/core/Makefile
index 55ab6a5..43dcf51 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -1391,6 +1391,24 @@
 
 endif # EMMA_INSTRUMENT=true
 
+#------------------------------------------------------------------
+# A zip of Proguard obfuscation dictionary files.
+# Only for apps_only build.
+#
+ifdef TARGET_BUILD_APPS
+PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/proguard-dict-$(FILE_NAME_TAG).zip
+# the dependency will be set up later in build/core/main.mk.
+$(PROGUARD_DICT_ZIP) :
+	@echo "Packaging proguard obfuscation dictionary files."
+	$(hide) dict_files="$(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*/proguard_dictionary"; \
+		if [ -n "$$dict_files" ]; then \
+		  zip $@ $$dict_files; \
+		else \
+		  touch $@; \
+		fi
+
+endif # TARGET_BUILD_APPS
+
 # -----------------------------------------------------------------
 # dalvik something
 .PHONY: dalvikfiles
diff --git a/core/main.mk b/core/main.mk
index 282d9c3..3af4306 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -819,6 +819,9 @@
     $(call dist-for-goals,apps_only, $(EMMA_META_ZIP))
   endif
 
+  $(PROGUARD_DICT_ZIP) : $(apps_only_installed_files)
+  $(call dist-for-goals,apps_only, $(PROGUARD_DICT_ZIP))
+
 .PHONY: apps_only
 apps_only: $(unbundled_build_modules)