Loading core/definitions.mk +32 −0 Original line number Diff line number Diff line Loading @@ -2069,6 +2069,38 @@ $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLU $(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53) endef # Invoke Jack to compile java source just to check it compiles correctly. # # Some historical notes: # - below we write the list of java files to java-source-list to avoid argument # list length problems with Cygwin # - we filter out duplicate java file names because Jack doesn't like them. define jack-check-java $(hide) rm -f $@ $(hide) rm -f $@.java-source-list $(hide) rm -f $@.java-source-list-uniq $(hide) mkdir -p $(dir $@) $(if $(PRIVATE_JACK_INCREMENTAL_DIR),$(hide) mkdir -p $(PRIVATE_JACK_INCREMENTAL_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$@.java-source-list) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $@.java-source-list; \ fi $(hide) tr ' ' '\n' < $@.java-source-list \ | sort -u > $@.java-source-list-uniq $(hide) if [ -s $@.java-source-list-uniq ] ; then \ $(call call-jack,$(PRIVATE_JACK_EXTRA_ARGS)) \ $(strip $(PRIVATE_JACK_FLAGS)) \ $(strip $(PRIVATE_JACK_DEBUG_FLAGS)) \ $(addprefix --classpath ,$(strip \ $(call normalize-path-list,$(call reverse-list,$(PRIVATE_STATIC_JACK_LIBRARIES)) $(PRIVATE_BOOTCLASSPATH_JAVA_LIBRARIES) $(PRIVATE_ALL_JACK_LIBRARIES)))) \ -D jack.import.resource.policy=keep-first \ -D jack.import.type.policy=keep-first \ $(if $(PRIVATE_JACK_INCREMENTAL_DIR),--incremental-folder $(PRIVATE_JACK_INCREMENTAL_DIR)) \ @$@.java-source-list-uniq; \ fi touch $@ endef define transform-jar-to-jack $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $@.tmpjill.res Loading core/host_dalvik_java_library.mk +16 −5 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ full_classes_compiled_jar := $(intermediates.COMMON)/classes-full-debug.jar full_classes_jarjar_jar := $(intermediates.COMMON)/classes-jarjar.jar full_classes_jar := $(intermediates.COMMON)/classes.jar full_classes_jack := $(intermediates.COMMON)/classes.jack jack_check_timestamp := $(intermediates.COMMON)/jack.check.timestamp built_dex := $(intermediates.COMMON)/classes.dex LOCAL_INTERMEDIATE_TARGETS += \ Loading @@ -42,12 +43,17 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_jarjar_jar) \ $(full_classes_jack) \ $(full_classes_jar) \ $(jack_check_timestamp) \ $(built_dex) # See comment in java.mk ifndef LOCAL_CHECKED_MODULE ifdef LOCAL_JACK_ENABLED LOCAL_CHECKED_MODULE := $(jack_check_timestamp) else LOCAL_CHECKED_MODULE := $(full_classes_compiled_jar) endif endif ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading Loading @@ -120,16 +126,21 @@ else $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_JACK_INCREMENTAL_DIR := endif $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(built_dex): PRIVATE_CLASSES_JACK := $(full_classes_jack) $(built_dex): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(built_dex): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(built_dex): $(java_sources) $(java_resource_sources) $(full_jack_deps) \ jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(jar_manifest_file) $(proto_java_sources_file_stamp) $(LOCAL_MODULE_MAKEFILE_DEP) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JACK) | setup-jack-server $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JACK) $(built_dex): PRIVATE_CLASSES_JACK := $(full_classes_jack) $(built_dex): $(jack_all_deps) | setup-jack-server @echo Building with Jack: $@ $(jack-java-to-dex) $(jack_check_timestamp): $(jack_all_deps) | setup-jack-server @echo Checking build with Jack: $@ $(jack-check-java) # $(full_classes_jack) is just by-product of $(built_dex). # The dummy command was added because, without it, make misses the fact the $(built_dex) also # change $(full_classes_jack). Loading core/host_dalvik_static_java_library.mk +3 −2 Original line number Diff line number Diff line Loading @@ -34,8 +34,9 @@ LOCAL_INTERMEDIATE_TARGETS += \ include $(BUILD_SYSTEM)/host_java_library.mk # proguard is not supported # *.proto files are not supported $(full_classes_jack): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(full_classes_jack): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(full_classes_jack): PRIVATE_JARJAR_RULES := $(LOCAL_JARJAR_RULES) $(full_classes_jack): \ PRIVATE_JACK_INTERMEDIATES_DIR := $(intermediates.COMMON)/jack-rsc Loading core/java.mk +14 −5 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ endif full_classes_jack := $(intermediates.COMMON)/classes.jack # intermediate Jack library without shrink and obfuscation noshrob_classes_jack := $(intermediates.COMMON)/classes.noshrob.jack jack_check_timestamp := $(intermediates.COMMON)/jack.check.timestamp LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ Loading @@ -133,6 +134,7 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(built_dex_intermediate) \ $(full_classes_jack) \ $(noshrob_classes_jack) \ $(jack_check_timestamp) \ $(built_dex) \ $(full_classes_stubs_jar) Loading Loading @@ -330,9 +332,13 @@ endif # command line. ifndef LOCAL_CHECKED_MODULE ifdef full_classes_jar ifdef LOCAL_JACK_ENABLED LOCAL_CHECKED_MODULE := $(jack_check_timestamp) else LOCAL_CHECKED_MODULE := $(full_classes_compiled_jar) endif endif endif ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading Loading @@ -638,9 +644,13 @@ $(LOCAL_INTERMEDIATE_TARGETS): \ ifeq ($(LOCAL_JACK_ENABLED),incremental) $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-incremental $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-noshrob-incremental $(jack_check_timestamp): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-check-incremental else $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_JACK_INCREMENTAL_DIR := $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(jack_check_timestamp): PRIVATE_JACK_INCREMENTAL_DIR := endif ifdef full_classes_jar Loading Loading @@ -673,6 +683,10 @@ jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(proto_java_sources_file_stamp) $(LOCAL_ADDITIONAL_DEPENDENCIES) $(LOCAL_JARJAR_RULES) \ $(LOCAL_MODULE_MAKEFILE_DEP) $(JACK) $(jack_check_timestamp): $(jack_all_deps) @echo Checking build with Jack: $@ $(jack-check-java) ifeq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true) $(full_classes_jack): $(jack_all_deps) | setup-jack-server @echo Building with Jack: $@ Loading Loading @@ -710,11 +724,6 @@ $(call define-dex-to-toc-rule, $(intermediates.COMMON)) endif #LOCAL_IS_STATIC_JAVA_LIBRARY $(noshrob_classes_jack): PRIVATE_JACK_INTERMEDIATES_DIR := $(intermediates.COMMON)/jack-noshrob-rsc ifeq ($(LOCAL_JACK_ENABLED),incremental) $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-noshrob-incremental else $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := endif $(noshrob_classes_jack): PRIVATE_JACK_PROGUARD_FLAGS := $(noshrob_classes_jack): $(jack_all_deps) | setup-jack-server @echo Building with Jack: $@ Loading core/package_internal.mk +1 −0 Original line number Diff line number Diff line Loading @@ -388,6 +388,7 @@ $(noshrob_classes_jack): $(R_file_stamp) endif ifneq ($(full_classes_jack),) $(full_classes_jack): $(R_file_stamp) $(jack_check_timestamp): $(R_file_stamp) endif endif # LOCAL_JACK_ENABLED Loading Loading
core/definitions.mk +32 −0 Original line number Diff line number Diff line Loading @@ -2069,6 +2069,38 @@ $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLU $(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53) endef # Invoke Jack to compile java source just to check it compiles correctly. # # Some historical notes: # - below we write the list of java files to java-source-list to avoid argument # list length problems with Cygwin # - we filter out duplicate java file names because Jack doesn't like them. define jack-check-java $(hide) rm -f $@ $(hide) rm -f $@.java-source-list $(hide) rm -f $@.java-source-list-uniq $(hide) mkdir -p $(dir $@) $(if $(PRIVATE_JACK_INCREMENTAL_DIR),$(hide) mkdir -p $(PRIVATE_JACK_INCREMENTAL_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$@.java-source-list) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $@.java-source-list; \ fi $(hide) tr ' ' '\n' < $@.java-source-list \ | sort -u > $@.java-source-list-uniq $(hide) if [ -s $@.java-source-list-uniq ] ; then \ $(call call-jack,$(PRIVATE_JACK_EXTRA_ARGS)) \ $(strip $(PRIVATE_JACK_FLAGS)) \ $(strip $(PRIVATE_JACK_DEBUG_FLAGS)) \ $(addprefix --classpath ,$(strip \ $(call normalize-path-list,$(call reverse-list,$(PRIVATE_STATIC_JACK_LIBRARIES)) $(PRIVATE_BOOTCLASSPATH_JAVA_LIBRARIES) $(PRIVATE_ALL_JACK_LIBRARIES)))) \ -D jack.import.resource.policy=keep-first \ -D jack.import.type.policy=keep-first \ $(if $(PRIVATE_JACK_INCREMENTAL_DIR),--incremental-folder $(PRIVATE_JACK_INCREMENTAL_DIR)) \ @$@.java-source-list-uniq; \ fi touch $@ endef define transform-jar-to-jack $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $@.tmpjill.res Loading
core/host_dalvik_java_library.mk +16 −5 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ full_classes_compiled_jar := $(intermediates.COMMON)/classes-full-debug.jar full_classes_jarjar_jar := $(intermediates.COMMON)/classes-jarjar.jar full_classes_jar := $(intermediates.COMMON)/classes.jar full_classes_jack := $(intermediates.COMMON)/classes.jack jack_check_timestamp := $(intermediates.COMMON)/jack.check.timestamp built_dex := $(intermediates.COMMON)/classes.dex LOCAL_INTERMEDIATE_TARGETS += \ Loading @@ -42,12 +43,17 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_jarjar_jar) \ $(full_classes_jack) \ $(full_classes_jar) \ $(jack_check_timestamp) \ $(built_dex) # See comment in java.mk ifndef LOCAL_CHECKED_MODULE ifdef LOCAL_JACK_ENABLED LOCAL_CHECKED_MODULE := $(jack_check_timestamp) else LOCAL_CHECKED_MODULE := $(full_classes_compiled_jar) endif endif ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading Loading @@ -120,16 +126,21 @@ else $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_JACK_INCREMENTAL_DIR := endif $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(built_dex): PRIVATE_CLASSES_JACK := $(full_classes_jack) $(built_dex): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(built_dex): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(built_dex): $(java_sources) $(java_resource_sources) $(full_jack_deps) \ jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(jar_manifest_file) $(proto_java_sources_file_stamp) $(LOCAL_MODULE_MAKEFILE_DEP) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JACK) | setup-jack-server $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JACK) $(built_dex): PRIVATE_CLASSES_JACK := $(full_classes_jack) $(built_dex): $(jack_all_deps) | setup-jack-server @echo Building with Jack: $@ $(jack-java-to-dex) $(jack_check_timestamp): $(jack_all_deps) | setup-jack-server @echo Checking build with Jack: $@ $(jack-check-java) # $(full_classes_jack) is just by-product of $(built_dex). # The dummy command was added because, without it, make misses the fact the $(built_dex) also # change $(full_classes_jack). Loading
core/host_dalvik_static_java_library.mk +3 −2 Original line number Diff line number Diff line Loading @@ -34,8 +34,9 @@ LOCAL_INTERMEDIATE_TARGETS += \ include $(BUILD_SYSTEM)/host_java_library.mk # proguard is not supported # *.proto files are not supported $(full_classes_jack): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(full_classes_jack): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(full_classes_jack): PRIVATE_JARJAR_RULES := $(LOCAL_JARJAR_RULES) $(full_classes_jack): \ PRIVATE_JACK_INTERMEDIATES_DIR := $(intermediates.COMMON)/jack-rsc Loading
core/java.mk +14 −5 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ endif full_classes_jack := $(intermediates.COMMON)/classes.jack # intermediate Jack library without shrink and obfuscation noshrob_classes_jack := $(intermediates.COMMON)/classes.noshrob.jack jack_check_timestamp := $(intermediates.COMMON)/jack.check.timestamp LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ Loading @@ -133,6 +134,7 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(built_dex_intermediate) \ $(full_classes_jack) \ $(noshrob_classes_jack) \ $(jack_check_timestamp) \ $(built_dex) \ $(full_classes_stubs_jar) Loading Loading @@ -330,9 +332,13 @@ endif # command line. ifndef LOCAL_CHECKED_MODULE ifdef full_classes_jar ifdef LOCAL_JACK_ENABLED LOCAL_CHECKED_MODULE := $(jack_check_timestamp) else LOCAL_CHECKED_MODULE := $(full_classes_compiled_jar) endif endif endif ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading Loading @@ -638,9 +644,13 @@ $(LOCAL_INTERMEDIATE_TARGETS): \ ifeq ($(LOCAL_JACK_ENABLED),incremental) $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-incremental $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-noshrob-incremental $(jack_check_timestamp): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-check-incremental else $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_JACK_INCREMENTAL_DIR := $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(jack_check_timestamp): PRIVATE_JACK_INCREMENTAL_DIR := endif ifdef full_classes_jar Loading Loading @@ -673,6 +683,10 @@ jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(proto_java_sources_file_stamp) $(LOCAL_ADDITIONAL_DEPENDENCIES) $(LOCAL_JARJAR_RULES) \ $(LOCAL_MODULE_MAKEFILE_DEP) $(JACK) $(jack_check_timestamp): $(jack_all_deps) @echo Checking build with Jack: $@ $(jack-check-java) ifeq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true) $(full_classes_jack): $(jack_all_deps) | setup-jack-server @echo Building with Jack: $@ Loading Loading @@ -710,11 +724,6 @@ $(call define-dex-to-toc-rule, $(intermediates.COMMON)) endif #LOCAL_IS_STATIC_JAVA_LIBRARY $(noshrob_classes_jack): PRIVATE_JACK_INTERMEDIATES_DIR := $(intermediates.COMMON)/jack-noshrob-rsc ifeq ($(LOCAL_JACK_ENABLED),incremental) $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-noshrob-incremental else $(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := endif $(noshrob_classes_jack): PRIVATE_JACK_PROGUARD_FLAGS := $(noshrob_classes_jack): $(jack_all_deps) | setup-jack-server @echo Building with Jack: $@ Loading
core/package_internal.mk +1 −0 Original line number Diff line number Diff line Loading @@ -388,6 +388,7 @@ $(noshrob_classes_jack): $(R_file_stamp) endif ifneq ($(full_classes_jack),) $(full_classes_jack): $(R_file_stamp) $(jack_check_timestamp): $(R_file_stamp) endif endif # LOCAL_JACK_ENABLED Loading