am 29a29875: Merge "Running jarjar on Java resources."

* commit '29a29875627758aa3c76aa5256641c1782c904bf':
  Running jarjar on Java resources.
This commit is contained in:
Ying Wang 2015-01-22 00:13:33 +00:00 committed by Android Git Automerger
commit 0f205ad959
4 changed files with 28 additions and 36 deletions

View File

@ -1663,6 +1663,7 @@ $(if $(PRIVATE_JAR_MANIFEST), \
jar -cfm $@ $(dir $@)/manifest.mf \ jar -cfm $@ $(dir $@)/manifest.mf \
-C $(PRIVATE_CLASS_INTERMEDIATES_DIR) ., \ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) ., \
$(hide) jar -cf $@ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) .) $(hide) jar -cf $@ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) .)
$(if $(PRIVATE_EXTRA_JAR_ARGS),$(call add-java-resources-to,$@))
endef endef
define transform-java-to-classes.jar define transform-java-to-classes.jar
@ -1723,6 +1724,7 @@ $(if $(PRIVATE_JAR_MANIFEST), \
jar -cfm $@ $(dir $@)/manifest.mf \ jar -cfm $@ $(dir $@)/manifest.mf \
-C $(PRIVATE_CLASS_INTERMEDIATES_DIR) ., \ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) ., \
$(hide) jar -cf $@ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) .) $(hide) jar -cf $@ -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) .)
$(if $(PRIVATE_EXTRA_JAR_ARGS),$(call add-java-resources-to,$@))
$(hide) mv $(PRIVATE_CLASS_INTERMEDIATES_DIR)/newstamp $(PRIVATE_CLASS_INTERMEDIATES_DIR)/stamp $(hide) mv $(PRIVATE_CLASS_INTERMEDIATES_DIR)/newstamp $(PRIVATE_CLASS_INTERMEDIATES_DIR)/stamp
endef endef
@ -1770,6 +1772,15 @@ $(hide) zip -qd $@ dummy
$(hide) rm $(dir $@)dummy $(hide) rm $(dir $@)dummy
endef endef
# Copy an arhchive file and delete any class files and empty folders inside.
# $(1): the source archive file.
# $(2): the destination archive file.
define initialize-package-file
@mkdir -p $(dir $(2))
$(hide) cp -f $(1) $(2)
$(hide) zip -qd $(2) "*.class" "*/" || true # Ignore the error when nothing to delete.
endef
#TODO: we kinda want to build different asset packages for #TODO: we kinda want to build different asset packages for
# different configurations, then combine them later (or something). # different configurations, then combine them later (or something).
# Per-locale, etc. # Per-locale, etc.
@ -1821,24 +1832,12 @@ $(hide) zip -qj $@ $(dir $(PRIVATE_DEX_FILE))classes*.dex
endef endef
# Add java resources added by the current module. # Add java resources added by the current module.
# $(1) destination package
# #
define add-java-resources-to-package define add-java-resources-to
$(call dump-words-to-file, $(PRIVATE_EXTRA_JAR_ARGS), $(dir $@)jar-arg-list) $(call dump-words-to-file, $(PRIVATE_EXTRA_JAR_ARGS), $(1).jar-arg-list)
$(hide) jar uf $@ @$(dir $@)jar-arg-list $(hide) jar uf $(1) @$(1).jar-arg-list
@rm -f $(dir $@)jar-arg-list @rm -f $(1).jar-arg-list
endef
# Add java resources carried by static Java libraries.
#
define add-carried-java-resources
$(hide) if [ -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) ] ; then \
java_res_jar_flags=$$(find $(PRIVATE_CLASS_INTERMEDIATES_DIR) -type f -a -not -name "*.class" \
| sed -e "s?^$(PRIVATE_CLASS_INTERMEDIATES_DIR)/? -C $(PRIVATE_CLASS_INTERMEDIATES_DIR) ?"); \
if [ -n "$$java_res_jar_flags" ] ; then \
echo $$java_res_jar_flags >$(dir $@)java_res_jar_flags; \
jar uf $@ $$java_res_jar_flags; \
fi; \
fi
endef endef
# Sign a package using the specified key/cert. # Sign a package using the specified key/cert.
@ -1882,7 +1881,6 @@ endef
define transform-host-java-to-package define transform-host-java-to-package
@echo "host Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))" @echo "host Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))"
$(call compile-java,$(HOST_JAVAC),$(PRIVATE_BOOTCLASSPATH)) $(call compile-java,$(HOST_JAVAC),$(PRIVATE_BOOTCLASSPATH))
$(if $(PRIVATE_EXTRA_JAR_ARGS), $(call add-java-resources-to-package))
endef endef
########################################################### ###########################################################

View File

@ -101,13 +101,10 @@ $(built_dex): $(full_classes_jar) $(DX)
$(transform-classes.jar-to-dex) $(transform-classes.jar-to-dex)
$(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex) $(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex)
$(LOCAL_BUILT_MODULE): PRIVATE_SOURCE_ARCHIVE := $(full_classes_jarjar_jar)
$(LOCAL_BUILT_MODULE): $(built_dex) $(java_resource_sources) $(LOCAL_BUILT_MODULE): $(built_dex) $(java_resource_sources)
@echo "Host Jar: $(PRIVATE_MODULE) ($@)" @echo "Host Jar: $(PRIVATE_MODULE) ($@)"
$(create-empty-package) $(call initialize-package-file,$(PRIVATE_SOURCE_ARCHIVE),$@)
$(add-dex-to-package) $(add-dex-to-package)
$(add-carried-java-resources)
ifneq ($(extra_jar_args),)
$(add-java-resources-to-package)
endif
USE_CORE_LIB_BOOTCLASSPATH := USE_CORE_LIB_BOOTCLASSPATH :=

View File

@ -58,9 +58,6 @@ $(common_javalib.jar) : $(full_classes_jar)
endif endif
@echo "target Static Jar: $(PRIVATE_MODULE) ($@)" @echo "target Static Jar: $(PRIVATE_MODULE) ($@)"
$(copy-file-to-target) $(copy-file-to-target)
ifneq ($(extra_jar_args),)
$(add-java-resources-to-package)
endif
$(LOCAL_BUILT_MODULE): $(common_javalib.jar) $(LOCAL_BUILT_MODULE): $(common_javalib.jar)
$(copy-file-to-target) $(copy-file-to-target)
@ -68,14 +65,11 @@ $(LOCAL_BUILT_MODULE): $(common_javalib.jar)
else # !LOCAL_IS_STATIC_JAVA_LIBRARY else # !LOCAL_IS_STATIC_JAVA_LIBRARY
$(common_javalib.jar): PRIVATE_DEX_FILE := $(built_dex) $(common_javalib.jar): PRIVATE_DEX_FILE := $(built_dex)
$(common_javalib.jar): PRIVATE_SOURCE_ARCHIVE := $(full_classes_jarjar_jar)
$(common_javalib.jar) : $(built_dex) $(java_resource_sources) $(common_javalib.jar) : $(built_dex) $(java_resource_sources)
@echo "target Jar: $(PRIVATE_MODULE) ($@)" @echo "target Jar: $(PRIVATE_MODULE) ($@)"
$(create-empty-package) $(call initialize-package-file,$(PRIVATE_SOURCE_ARCHIVE),$@)
$(add-dex-to-package) $(add-dex-to-package)
$(add-carried-java-resources)
ifneq ($(extra_jar_args),)
$(add-java-resources-to-package)
endif
ifdef LOCAL_DEX_PREOPT ifdef LOCAL_DEX_PREOPT
ifneq ($(dexpreopt_boot_jar_module),) # boot jar ifneq ($(dexpreopt_boot_jar_module),) # boot jar

View File

@ -320,7 +320,12 @@ endif # LOCAL_NO_STANDARD_LIBRARIES
ifneq ($(full_classes_jar),) ifneq ($(full_classes_jar),)
$(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex) $(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex)
# Use the jarjar processed arhive as the initial package file.
$(LOCAL_BUILT_MODULE): PRIVATE_SOURCE_ARCHIVE := $(full_classes_jarjar_jar)
$(LOCAL_BUILT_MODULE): $(built_dex) $(LOCAL_BUILT_MODULE): $(built_dex)
else
$(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE :=
$(LOCAL_BUILT_MODULE): PRIVATE_SOURCE_ARCHIVE :=
endif # full_classes_jar endif # full_classes_jar
include $(BUILD_SYSTEM)/install_jni_libs.mk include $(BUILD_SYSTEM)/install_jni_libs.mk
@ -381,17 +386,15 @@ endif
endif endif
$(LOCAL_BUILT_MODULE): $(all_res_assets) $(jni_shared_libraries) $(full_android_manifest) $(LOCAL_BUILT_MODULE): $(all_res_assets) $(jni_shared_libraries) $(full_android_manifest)
@echo "target Package: $(PRIVATE_MODULE) ($@)" @echo "target Package: $(PRIVATE_MODULE) ($@)"
$(create-empty-package) $(if $(PRIVATE_SOURCE_ARCHIVE),\
$(call initialize-package-file,$(PRIVATE_SOURCE_ARCHIVE),$@),\
$(create-empty-package))
$(add-assets-to-package) $(add-assets-to-package)
ifneq ($(jni_shared_libraries),) ifneq ($(jni_shared_libraries),)
$(add-jni-shared-libs-to-package) $(add-jni-shared-libs-to-package)
endif endif
ifneq ($(full_classes_jar),) ifneq ($(full_classes_jar),)
$(add-dex-to-package) $(add-dex-to-package)
endif
$(add-carried-java-resources)
ifneq ($(extra_jar_args),)
$(add-java-resources-to-package)
endif endif
$(sign-package) $(sign-package)
ifdef LOCAL_DEX_PREOPT ifdef LOCAL_DEX_PREOPT