Loading core/definitions.mk +24 −75 Original line number Diff line number Diff line Loading @@ -2206,13 +2206,26 @@ define jar-args-sorted-files-in-directory @<(find $(1) -type f | sort | $(JAR_ARGS) $(1); echo "-C $(EMPTY_DIRECTORY) .") endef # Common definition to invoke javac on the host and target. # # 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 eclipse's compiler # doesn't like them. define write-java-source-list @echo "$($(PRIVATE_PREFIX)DISPLAY) Java source list: $(PRIVATE_MODULE)" $(hide) rm -f $@ $(call dump-words-to-file,$(sort $(PRIVATE_JAVA_SOURCES)),$@.tmp) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $@.tmp; \ fi $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $@.tmp) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $@.tmp) $(hide) tr ' ' '\n' < $@.tmp | $(NORMALIZE_PATH) | sort -u > $@ endef # Common definition to invoke javac on the host and target. # # $(1): javac # $(2): bootclasspath Loading @@ -2222,17 +2235,7 @@ $(hide) rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) $(PRIVATE_ANNO_INTERMEDIATES_D $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $(PRIVATE_CLASS_INTERMEDIATES_DIR) $(PRIVATE_ANNO_INTERMEDIATES_DIR) $(call unzip-jar-files,$(PRIVATE_STATIC_JAVA_LIBRARIES),$(PRIVATE_CLASS_INTERMEDIATES_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list; \ fi $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list ) $(hide) tr ' ' '\n' < $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list \ | $(NORMALIZE_PATH) | sort -u > $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq $(hide) if [ -s $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq ] ; then \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ $(SOONG_JAVAC_WRAPPER) $(1) -encoding UTF-8 \ $(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \ $(2) \ Loading @@ -2241,13 +2244,11 @@ $(hide) if [ -s $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq ] ; the $(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \ -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) -s $(PRIVATE_ANNO_INTERMEDIATES_DIR) \ $(PRIVATE_JAVACFLAGS) \ \@$(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq \ \@$(PRIVATE_JAVA_SOURCE_LIST) \ || ( rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) ; exit 41 ) \ fi $(if $(PRIVATE_JAVA_LAYERS_FILE), $(hide) build/tools/java-layers.py \ $(PRIVATE_JAVA_LAYERS_FILE) \@$(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq,) $(hide) rm -f $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list $(hide) rm -f $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq $(PRIVATE_JAVA_LAYERS_FILE) @$(PRIVATE_JAVA_SOURCE_LIST),) $(if $(PRIVATE_JAR_EXCLUDE_FILES), $(hide) find $(PRIVATE_CLASS_INTERMEDIATES_DIR) \ -name $(word 1, $(PRIVATE_JAR_EXCLUDE_FILES)) \ $(addprefix -o -name , $(wordlist 2, 999, $(PRIVATE_JAR_EXCLUDE_FILES))) \ Loading Loading @@ -2275,11 +2276,6 @@ $(call compile-java,$(TARGET_JAVAC),$(PRIVATE_BOOTCLASSPATH)) endef # Invoke Jack to compile java from source to dex and jack files. # # 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-java-to-dex $(hide) rm -f $@ $(hide) rm -f $(PRIVATE_CLASSES_JACK) Loading @@ -2288,17 +2284,6 @@ $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $(dir $(PRIVATE_CLASSES_JACK)) $(hide) mkdir -p $(PRIVATE_JACK_INTERMEDIATES_DIR) $(if $(PRIVATE_JACK_INCREMENTAL_DIR),$(hide) mkdir -p $(PRIVATE_JACK_INCREMENTAL_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list) $(if $(PRIVATE_SOURCE_INTERMEDIATES_DIR), \ $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list; \ fi) $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(hide) tr ' ' '\n' < $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list \ | $(NORMALIZE_PATH) | sort -u > $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(if $(PRIVATE_JACK_PROGUARD_FLAGS), \ $(hide) echo -basedirectory $(CURDIR) > $@.flags; \ echo $(PRIVATE_JACK_PROGUARD_FLAGS) >> $@.flags; \ Loading @@ -2313,8 +2298,8 @@ $(if $(PRIVATE_JACK_IMPORT_JAR), $(hide) mkdir -p $@.tmpjill.res $(hide) unzip -qo $(PRIVATE_JACK_IMPORT_JAR) -d $@.tmpjill.res $(hide) find $@.tmpjill.res -iname "*.class" -delete) $(hide) if [ -s $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq ] ; then \ export tmpEcjArg="@$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq"; \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ export tmpEcjArg="@$(PRIVATE_JAVA_SOURCE_LIST)"; \ else \ export tmpEcjArg=""; \ fi; \ Loading Loading @@ -2345,37 +2330,18 @@ $(call call-jack) \ $$tmpEcjArg \ || ( rm -rf $(PRIVATE_CLASSES_JACK); exit 41 ) $(hide) mv $(PRIVATE_JACK_INTERMEDIATES_DIR)/classes*.dex $(dir $@) $(hide) rm -f $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list $(if $(PRIVATE_EXTRA_JAR_ARGS),$(hide) rm -rf $@.res.tmp) $(hide) mv $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(PRIVATE_JACK_INTERMEDIATES_DIR).java-source-list $(if $(PRIVATE_JAR_PACKAGES), $(hide) echo unsupported options PRIVATE_JAR_PACKAGES in $@; exit 53) $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLUDE_PACKAGES in $@; exit 53) $(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 $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $@.java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $@.java-source-list ) $(hide) tr ' ' '\n' < $@.java-source-list \ | sort -u > $@.java-source-list-uniq $(hide) if [ -s $@.java-source-list-uniq ] ; then \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ $(call call-jack,$(PRIVATE_JACK_EXTRA_ARGS)) \ $(strip $(PRIVATE_JACK_FLAGS)) \ $(strip $(PRIVATE_JACK_DEBUG_FLAGS)) \ Loading @@ -2385,7 +2351,7 @@ $(hide) if [ -s $@.java-source-list-uniq ] ; then \ -D jack.android.min-api-level=$(PRIVATE_JACK_MIN_SDK_VERSION) \ -D jack.import.type.policy=keep-first \ $(if $(PRIVATE_JACK_INCREMENTAL_DIR),--incremental-folder $(PRIVATE_JACK_INCREMENTAL_DIR)) \ @$@.java-source-list-uniq; \ @$(PRIVATE_JAVA_SOURCE_LIST); \ fi touch $@ endef Loading Loading @@ -2471,27 +2437,12 @@ endif # TARGET_BUILD_APPS # Invoke Jack to compile java from source to jack files without shrink or obfuscation. # # 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 java-to-jack $(hide) rm -f $@ $(hide) rm -rf $(PRIVATE_JACK_INTERMEDIATES_DIR) $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $(PRIVATE_JACK_INTERMEDIATES_DIR) $(if $(PRIVATE_JACK_INCREMENTAL_DIR),$(hide) mkdir -p $(PRIVATE_JACK_INCREMENTAL_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list; \ fi $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(hide) tr ' ' '\n' < $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list \ | $(NORMALIZE_PATH) | sort -u > $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(if $(PRIVATE_JACK_PROGUARD_FLAGS), \ $(hide) echo -basedirectory $(CURDIR) > $@.flags; \ echo $(PRIVATE_JACK_PROGUARD_FLAGS) >> $@.flags; \ Loading @@ -2502,8 +2453,8 @@ $(if $(PRIVATE_EXTRA_JAR_ARGS), $(hide) $(call add-java-resources-to,$@.res.tmp.zip) $(hide) unzip -qo $@.res.tmp.zip -d $@.res.tmp $(hide) rm $@.res.tmp.zip) $(hide) if [ -s $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq ] ; then \ export tmpEcjArg="@$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq"; \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ export tmpEcjArg="@$(PRIVATE_JAVA_SOURCE_LIST)"; \ else \ export tmpEcjArg=""; \ fi; \ Loading @@ -2527,9 +2478,7 @@ $(call call-jack) \ $(if $(PRIVATE_JACK_PROGUARD_FLAGS),--config-proguard $@.flags) \ $$tmpEcjArg \ || ( rm -f $@ ; exit 41 ) $(hide) rm -f $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list $(if $(PRIVATE_EXTRA_JAR_ARGS),$(hide) rm -rf $@.res.tmp) $(hide) mv $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(PRIVATE_JACK_INTERMEDIATES_DIR).java-source-list $(if $(PRIVATE_JAR_PACKAGES), $(hide) echo unsupported options PRIVATE_JAR_PACKAGES in $@; exit 53) $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLUDE_PACKAGES in $@; exit 53) $(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53) Loading core/host_dalvik_java_library.mk +28 −14 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ 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 java_source_list_file := $(intermediates.COMMON)/java-source-list LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ Loading @@ -57,7 +58,8 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_jack) \ $(full_classes_jar) \ $(jack_check_timestamp) \ $(built_dex) $(built_dex) \ $(java_source_list_file) # See comment in java.mk ifndef LOCAL_CHECKED_MODULE Loading @@ -83,6 +85,16 @@ include $(BUILD_SYSTEM)/java_common.mk $(cleantarget): PRIVATE_CLEAN_FILES += $(intermediates.COMMON) # List of dependencies for anything that needs all java sources in place java_sources_deps := \ $(java_sources) \ $(java_resource_sources) \ $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(java_source_list_file): $(java_sources_deps) $(write-java-source-list) ifndef LOCAL_JACK_ENABLED $(full_classes_compiled_jar): PRIVATE_JAVA_LAYERS_FILE := $(layers_file) Loading @@ -91,15 +103,12 @@ $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_java_lib_deps) \ $(jar_manifest_file) \ $(proto_java_sources_file_stamp) \ $(annotation_processor_deps) \ $(NORMALIZE_PATH) \ $(JAR_ARGS) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) \ | $(SOONG_JAVAC_WRAPPER) $(transform-host-java-to-package) Loading Loading @@ -173,9 +182,14 @@ $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_MIN_SDK_VERSION := $(PLATFORM_JACK_MIN_SDK_VERSION) jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(jar_manifest_file) $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(NORMALIZE_PATH) $(JACK_DEFAULT_ARGS) $(JACK) jack_all_deps := \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_jack_deps) \ $(jar_manifest_file) \ $(NORMALIZE_PATH) \ $(JACK_DEFAULT_ARGS) \ $(JACK) ifneq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true) $(built_dex): PRIVATE_CLASSES_JACK := $(full_classes_jack) Loading core/host_java_library.mk +20 −11 Original line number Diff line number Diff line Loading @@ -34,10 +34,12 @@ endif 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 java_source_list_file := $(intermediates.COMMON)/java-source-list LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ $(full_classes_jarjar_jar) \ $(java_source_list_file) ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading @@ -58,22 +60,29 @@ ifeq ($(RUN_ERROR_PRONE),true) LOCAL_JAVACFLAGS += $(LOCAL_ERROR_PRONE_FLAGS) endif # List of dependencies for anything that needs all java sources in place java_sources_deps := \ $(java_sources) \ $(java_resource_sources) \ $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(java_source_list_file): $(java_sources_deps) $(write-java-source-list) $(full_classes_compiled_jar): PRIVATE_JAVA_LAYERS_FILE := $(layers_file) $(full_classes_compiled_jar): PRIVATE_JAVACFLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JAVACFLAGS) $(annotation_processor_flags) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_java_lib_deps) \ $(jar_manifest_file) \ $(proto_java_sources_file_stamp) \ $(annotation_processor_deps) \ $(NORMALIZE_PATH) \ $(JAR_ARGS) \ $(ZIPTIME) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) \ | $(SOONG_JAVAC_WRAPPER) $(transform-host-java-to-package) $(remove-timestamps-from-package) Loading core/java.mk +37 −19 Original line number Diff line number Diff line Loading @@ -121,6 +121,8 @@ full_classes_jarjar_jar := $(intermediates.COMMON)/$(jarjar_leaf) full_classes_proguard_jar := $(intermediates.COMMON)/classes-proguard.jar built_dex_intermediate := $(intermediates.COMMON)/$(built_dex_intermediate_leaf)/classes.dex full_classes_stubs_jar := $(intermediates.COMMON)/stubs.jar java_source_list_file := $(intermediates.COMMON)/java-source-list ifeq ($(LOCAL_MODULE_CLASS)$(LOCAL_SRC_FILES)$(LOCAL_STATIC_JAVA_LIBRARIES)$(LOCAL_SOURCE_FILES_ALL_GENERATED),APPS) # If this is an apk without any Java code (e.g. framework-res), we should skip compiling Java. Loading @@ -147,7 +149,8 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(noshrob_classes_jack) \ $(jack_check_timestamp) \ $(built_dex) \ $(full_classes_stubs_jar) $(full_classes_stubs_jar) \ $(java_source_list_file) LOCAL_INTERMEDIATE_SOURCE_DIR := $(intermediates.COMMON)/src Loading Loading @@ -434,23 +437,31 @@ LOCAL_JACK_FLAGS+= -D jack.dex.debug.vars=false -D jack.dex.debug.vars.synthetic endif endif # List of dependencies for anything that needs all java sources in place java_sources_deps := \ $(java_sources) \ $(java_resource_sources) \ $(RenderScript_file_stamp) \ $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(java_source_list_file): $(java_sources_deps) $(write-java-source-list) $(full_classes_compiled_jar): PRIVATE_JAVACFLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JAVACFLAGS) $(annotation_processor_flags) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(LOCAL_JAR_EXCLUDE_FILES) $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(LOCAL_JAR_PACKAGES) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := $(LOCAL_JAR_EXCLUDE_PACKAGES) $(full_classes_compiled_jar): PRIVATE_DONT_DELETE_JAR_META_INF := $(LOCAL_DONT_DELETE_JAR_META_INF) $(full_classes_compiled_jar): PRIVATE_JAVA_SOURCE_LIST := $(java_source_list_file) $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_java_lib_deps) \ $(jar_manifest_file) \ $(layers_file) \ $(RenderScript_file_stamp) \ $(proto_java_sources_file_stamp) \ $(annotation_processor_deps) \ $(NORMALIZE_PATH) \ $(JAR_ARGS) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) \ | $(SOONG_JAVAC_WRAPPER) $(transform-java-to-classes.jar) Loading Loading @@ -758,12 +769,19 @@ endif # LOCAL_PROGUARD_ENABLED defined $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(annotation_processor_flags) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(jar_manifest_file) $(layers_file) $(RenderScript_file_stamp) \ $(common_proguard_flag_files) $(proguard_flag_files) \ $(proto_java_sources_file_stamp) $(annotation_processor_deps) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(LOCAL_JARJAR_RULES) \ $(NORMALIZE_PATH) $(JACK_DEFAULT_ARGS) $(JACK) jack_all_deps := \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_jack_deps) \ $(jar_manifest_file) \ $(layers_file) \ $(common_proguard_flag_files) \ $(proguard_flag_files) \ $(annotation_processor_deps) \ $(LOCAL_JARJAR_RULES) \ $(NORMALIZE_PATH) \ $(JACK_DEFAULT_ARGS) \ $(JACK) $(jack_check_timestamp): $(jack_all_deps) | setup-jack-server @echo Checking build with Jack: $@ Loading core/java_common.mk +1 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_PROTO_SOURCES := $(if $(proto_sources $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/proto $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_RS_SOURCES := $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JAVA_SOURCES := $(all_java_sources) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JAVA_SOURCE_LIST := $(java_source_list_file) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RMTYPEDEFS := $(LOCAL_RMTYPEDEFS) Loading Loading
core/definitions.mk +24 −75 Original line number Diff line number Diff line Loading @@ -2206,13 +2206,26 @@ define jar-args-sorted-files-in-directory @<(find $(1) -type f | sort | $(JAR_ARGS) $(1); echo "-C $(EMPTY_DIRECTORY) .") endef # Common definition to invoke javac on the host and target. # # 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 eclipse's compiler # doesn't like them. define write-java-source-list @echo "$($(PRIVATE_PREFIX)DISPLAY) Java source list: $(PRIVATE_MODULE)" $(hide) rm -f $@ $(call dump-words-to-file,$(sort $(PRIVATE_JAVA_SOURCES)),$@.tmp) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $@.tmp; \ fi $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $@.tmp) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $@.tmp) $(hide) tr ' ' '\n' < $@.tmp | $(NORMALIZE_PATH) | sort -u > $@ endef # Common definition to invoke javac on the host and target. # # $(1): javac # $(2): bootclasspath Loading @@ -2222,17 +2235,7 @@ $(hide) rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) $(PRIVATE_ANNO_INTERMEDIATES_D $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $(PRIVATE_CLASS_INTERMEDIATES_DIR) $(PRIVATE_ANNO_INTERMEDIATES_DIR) $(call unzip-jar-files,$(PRIVATE_STATIC_JAVA_LIBRARIES),$(PRIVATE_CLASS_INTERMEDIATES_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list; \ fi $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' -and -not -name '.*' >> $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list ) $(hide) tr ' ' '\n' < $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list \ | $(NORMALIZE_PATH) | sort -u > $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq $(hide) if [ -s $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq ] ; then \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ $(SOONG_JAVAC_WRAPPER) $(1) -encoding UTF-8 \ $(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \ $(2) \ Loading @@ -2241,13 +2244,11 @@ $(hide) if [ -s $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq ] ; the $(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \ -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) -s $(PRIVATE_ANNO_INTERMEDIATES_DIR) \ $(PRIVATE_JAVACFLAGS) \ \@$(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq \ \@$(PRIVATE_JAVA_SOURCE_LIST) \ || ( rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) ; exit 41 ) \ fi $(if $(PRIVATE_JAVA_LAYERS_FILE), $(hide) build/tools/java-layers.py \ $(PRIVATE_JAVA_LAYERS_FILE) \@$(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq,) $(hide) rm -f $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list $(hide) rm -f $(PRIVATE_CLASS_INTERMEDIATES_DIR)/java-source-list-uniq $(PRIVATE_JAVA_LAYERS_FILE) @$(PRIVATE_JAVA_SOURCE_LIST),) $(if $(PRIVATE_JAR_EXCLUDE_FILES), $(hide) find $(PRIVATE_CLASS_INTERMEDIATES_DIR) \ -name $(word 1, $(PRIVATE_JAR_EXCLUDE_FILES)) \ $(addprefix -o -name , $(wordlist 2, 999, $(PRIVATE_JAR_EXCLUDE_FILES))) \ Loading Loading @@ -2275,11 +2276,6 @@ $(call compile-java,$(TARGET_JAVAC),$(PRIVATE_BOOTCLASSPATH)) endef # Invoke Jack to compile java from source to dex and jack files. # # 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-java-to-dex $(hide) rm -f $@ $(hide) rm -f $(PRIVATE_CLASSES_JACK) Loading @@ -2288,17 +2284,6 @@ $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $(dir $(PRIVATE_CLASSES_JACK)) $(hide) mkdir -p $(PRIVATE_JACK_INTERMEDIATES_DIR) $(if $(PRIVATE_JACK_INCREMENTAL_DIR),$(hide) mkdir -p $(PRIVATE_JACK_INCREMENTAL_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list) $(if $(PRIVATE_SOURCE_INTERMEDIATES_DIR), \ $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list; \ fi) $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(hide) tr ' ' '\n' < $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list \ | $(NORMALIZE_PATH) | sort -u > $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(if $(PRIVATE_JACK_PROGUARD_FLAGS), \ $(hide) echo -basedirectory $(CURDIR) > $@.flags; \ echo $(PRIVATE_JACK_PROGUARD_FLAGS) >> $@.flags; \ Loading @@ -2313,8 +2298,8 @@ $(if $(PRIVATE_JACK_IMPORT_JAR), $(hide) mkdir -p $@.tmpjill.res $(hide) unzip -qo $(PRIVATE_JACK_IMPORT_JAR) -d $@.tmpjill.res $(hide) find $@.tmpjill.res -iname "*.class" -delete) $(hide) if [ -s $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq ] ; then \ export tmpEcjArg="@$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq"; \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ export tmpEcjArg="@$(PRIVATE_JAVA_SOURCE_LIST)"; \ else \ export tmpEcjArg=""; \ fi; \ Loading Loading @@ -2345,37 +2330,18 @@ $(call call-jack) \ $$tmpEcjArg \ || ( rm -rf $(PRIVATE_CLASSES_JACK); exit 41 ) $(hide) mv $(PRIVATE_JACK_INTERMEDIATES_DIR)/classes*.dex $(dir $@) $(hide) rm -f $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list $(if $(PRIVATE_EXTRA_JAR_ARGS),$(hide) rm -rf $@.res.tmp) $(hide) mv $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(PRIVATE_JACK_INTERMEDIATES_DIR).java-source-list $(if $(PRIVATE_JAR_PACKAGES), $(hide) echo unsupported options PRIVATE_JAR_PACKAGES in $@; exit 53) $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLUDE_PACKAGES in $@; exit 53) $(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 $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $@.java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $@.java-source-list ) $(hide) tr ' ' '\n' < $@.java-source-list \ | sort -u > $@.java-source-list-uniq $(hide) if [ -s $@.java-source-list-uniq ] ; then \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ $(call call-jack,$(PRIVATE_JACK_EXTRA_ARGS)) \ $(strip $(PRIVATE_JACK_FLAGS)) \ $(strip $(PRIVATE_JACK_DEBUG_FLAGS)) \ Loading @@ -2385,7 +2351,7 @@ $(hide) if [ -s $@.java-source-list-uniq ] ; then \ -D jack.android.min-api-level=$(PRIVATE_JACK_MIN_SDK_VERSION) \ -D jack.import.type.policy=keep-first \ $(if $(PRIVATE_JACK_INCREMENTAL_DIR),--incremental-folder $(PRIVATE_JACK_INCREMENTAL_DIR)) \ @$@.java-source-list-uniq; \ @$(PRIVATE_JAVA_SOURCE_LIST); \ fi touch $@ endef Loading Loading @@ -2471,27 +2437,12 @@ endif # TARGET_BUILD_APPS # Invoke Jack to compile java from source to jack files without shrink or obfuscation. # # 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 java-to-jack $(hide) rm -f $@ $(hide) rm -rf $(PRIVATE_JACK_INTERMEDIATES_DIR) $(hide) mkdir -p $(dir $@) $(hide) mkdir -p $(PRIVATE_JACK_INTERMEDIATES_DIR) $(if $(PRIVATE_JACK_INCREMENTAL_DIR),$(hide) mkdir -p $(PRIVATE_JACK_INCREMENTAL_DIR)) $(call dump-words-to-file,$(PRIVATE_JAVA_SOURCES),$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list) $(hide) if [ -d "$(PRIVATE_SOURCE_INTERMEDIATES_DIR)" ]; then \ find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list; \ fi $(if $(PRIVATE_HAS_PROTO_SOURCES), \ $(hide) find $(PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(if $(PRIVATE_HAS_RS_SOURCES), \ $(hide) find $(PRIVATE_RS_SOURCE_INTERMEDIATES_DIR) -name '*.java' >> $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list ) $(hide) tr ' ' '\n' < $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list \ | $(NORMALIZE_PATH) | sort -u > $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(if $(PRIVATE_JACK_PROGUARD_FLAGS), \ $(hide) echo -basedirectory $(CURDIR) > $@.flags; \ echo $(PRIVATE_JACK_PROGUARD_FLAGS) >> $@.flags; \ Loading @@ -2502,8 +2453,8 @@ $(if $(PRIVATE_EXTRA_JAR_ARGS), $(hide) $(call add-java-resources-to,$@.res.tmp.zip) $(hide) unzip -qo $@.res.tmp.zip -d $@.res.tmp $(hide) rm $@.res.tmp.zip) $(hide) if [ -s $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq ] ; then \ export tmpEcjArg="@$(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq"; \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ export tmpEcjArg="@$(PRIVATE_JAVA_SOURCE_LIST)"; \ else \ export tmpEcjArg=""; \ fi; \ Loading @@ -2527,9 +2478,7 @@ $(call call-jack) \ $(if $(PRIVATE_JACK_PROGUARD_FLAGS),--config-proguard $@.flags) \ $$tmpEcjArg \ || ( rm -f $@ ; exit 41 ) $(hide) rm -f $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list $(if $(PRIVATE_EXTRA_JAR_ARGS),$(hide) rm -rf $@.res.tmp) $(hide) mv $(PRIVATE_JACK_INTERMEDIATES_DIR)/java-source-list-uniq $(PRIVATE_JACK_INTERMEDIATES_DIR).java-source-list $(if $(PRIVATE_JAR_PACKAGES), $(hide) echo unsupported options PRIVATE_JAR_PACKAGES in $@; exit 53) $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLUDE_PACKAGES in $@; exit 53) $(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53) Loading
core/host_dalvik_java_library.mk +28 −14 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ 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 java_source_list_file := $(intermediates.COMMON)/java-source-list LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ Loading @@ -57,7 +58,8 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_jack) \ $(full_classes_jar) \ $(jack_check_timestamp) \ $(built_dex) $(built_dex) \ $(java_source_list_file) # See comment in java.mk ifndef LOCAL_CHECKED_MODULE Loading @@ -83,6 +85,16 @@ include $(BUILD_SYSTEM)/java_common.mk $(cleantarget): PRIVATE_CLEAN_FILES += $(intermediates.COMMON) # List of dependencies for anything that needs all java sources in place java_sources_deps := \ $(java_sources) \ $(java_resource_sources) \ $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(java_source_list_file): $(java_sources_deps) $(write-java-source-list) ifndef LOCAL_JACK_ENABLED $(full_classes_compiled_jar): PRIVATE_JAVA_LAYERS_FILE := $(layers_file) Loading @@ -91,15 +103,12 @@ $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_java_lib_deps) \ $(jar_manifest_file) \ $(proto_java_sources_file_stamp) \ $(annotation_processor_deps) \ $(NORMALIZE_PATH) \ $(JAR_ARGS) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) \ | $(SOONG_JAVAC_WRAPPER) $(transform-host-java-to-package) Loading Loading @@ -173,9 +182,14 @@ $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_MIN_SDK_VERSION := $(PLATFORM_JACK_MIN_SDK_VERSION) jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(jar_manifest_file) $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(NORMALIZE_PATH) $(JACK_DEFAULT_ARGS) $(JACK) jack_all_deps := \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_jack_deps) \ $(jar_manifest_file) \ $(NORMALIZE_PATH) \ $(JACK_DEFAULT_ARGS) \ $(JACK) ifneq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true) $(built_dex): PRIVATE_CLASSES_JACK := $(full_classes_jack) Loading
core/host_java_library.mk +20 −11 Original line number Diff line number Diff line Loading @@ -34,10 +34,12 @@ endif 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 java_source_list_file := $(intermediates.COMMON)/java-source-list LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ $(full_classes_jarjar_jar) \ $(java_source_list_file) ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading @@ -58,22 +60,29 @@ ifeq ($(RUN_ERROR_PRONE),true) LOCAL_JAVACFLAGS += $(LOCAL_ERROR_PRONE_FLAGS) endif # List of dependencies for anything that needs all java sources in place java_sources_deps := \ $(java_sources) \ $(java_resource_sources) \ $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(java_source_list_file): $(java_sources_deps) $(write-java-source-list) $(full_classes_compiled_jar): PRIVATE_JAVA_LAYERS_FILE := $(layers_file) $(full_classes_compiled_jar): PRIVATE_JAVACFLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JAVACFLAGS) $(annotation_processor_flags) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_java_lib_deps) \ $(jar_manifest_file) \ $(proto_java_sources_file_stamp) \ $(annotation_processor_deps) \ $(NORMALIZE_PATH) \ $(JAR_ARGS) \ $(ZIPTIME) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) \ | $(SOONG_JAVAC_WRAPPER) $(transform-host-java-to-package) $(remove-timestamps-from-package) Loading
core/java.mk +37 −19 Original line number Diff line number Diff line Loading @@ -121,6 +121,8 @@ full_classes_jarjar_jar := $(intermediates.COMMON)/$(jarjar_leaf) full_classes_proguard_jar := $(intermediates.COMMON)/classes-proguard.jar built_dex_intermediate := $(intermediates.COMMON)/$(built_dex_intermediate_leaf)/classes.dex full_classes_stubs_jar := $(intermediates.COMMON)/stubs.jar java_source_list_file := $(intermediates.COMMON)/java-source-list ifeq ($(LOCAL_MODULE_CLASS)$(LOCAL_SRC_FILES)$(LOCAL_STATIC_JAVA_LIBRARIES)$(LOCAL_SOURCE_FILES_ALL_GENERATED),APPS) # If this is an apk without any Java code (e.g. framework-res), we should skip compiling Java. Loading @@ -147,7 +149,8 @@ LOCAL_INTERMEDIATE_TARGETS += \ $(noshrob_classes_jack) \ $(jack_check_timestamp) \ $(built_dex) \ $(full_classes_stubs_jar) $(full_classes_stubs_jar) \ $(java_source_list_file) LOCAL_INTERMEDIATE_SOURCE_DIR := $(intermediates.COMMON)/src Loading Loading @@ -434,23 +437,31 @@ LOCAL_JACK_FLAGS+= -D jack.dex.debug.vars=false -D jack.dex.debug.vars.synthetic endif endif # List of dependencies for anything that needs all java sources in place java_sources_deps := \ $(java_sources) \ $(java_resource_sources) \ $(RenderScript_file_stamp) \ $(proto_java_sources_file_stamp) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(java_source_list_file): $(java_sources_deps) $(write-java-source-list) $(full_classes_compiled_jar): PRIVATE_JAVACFLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JAVACFLAGS) $(annotation_processor_flags) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_FILES := $(LOCAL_JAR_EXCLUDE_FILES) $(full_classes_compiled_jar): PRIVATE_JAR_PACKAGES := $(LOCAL_JAR_PACKAGES) $(full_classes_compiled_jar): PRIVATE_JAR_EXCLUDE_PACKAGES := $(LOCAL_JAR_EXCLUDE_PACKAGES) $(full_classes_compiled_jar): PRIVATE_DONT_DELETE_JAR_META_INF := $(LOCAL_DONT_DELETE_JAR_META_INF) $(full_classes_compiled_jar): PRIVATE_JAVA_SOURCE_LIST := $(java_source_list_file) $(full_classes_compiled_jar): \ $(java_sources) \ $(java_resource_sources) \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_java_lib_deps) \ $(jar_manifest_file) \ $(layers_file) \ $(RenderScript_file_stamp) \ $(proto_java_sources_file_stamp) \ $(annotation_processor_deps) \ $(NORMALIZE_PATH) \ $(JAR_ARGS) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) \ | $(SOONG_JAVAC_WRAPPER) $(transform-java-to-classes.jar) Loading Loading @@ -758,12 +769,19 @@ endif # LOCAL_PROGUARD_ENABLED defined $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_FLAGS := $(GLOBAL_JAVAC_DEBUG_FLAGS) $(LOCAL_JACK_FLAGS) $(annotation_processor_flags) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION) jack_all_deps := $(java_sources) $(java_resource_sources) $(full_jack_deps) \ $(jar_manifest_file) $(layers_file) $(RenderScript_file_stamp) \ $(common_proguard_flag_files) $(proguard_flag_files) \ $(proto_java_sources_file_stamp) $(annotation_processor_deps) \ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(LOCAL_JARJAR_RULES) \ $(NORMALIZE_PATH) $(JACK_DEFAULT_ARGS) $(JACK) jack_all_deps := \ $(java_source_list_file) \ $(java_sources_deps) \ $(full_jack_deps) \ $(jar_manifest_file) \ $(layers_file) \ $(common_proguard_flag_files) \ $(proguard_flag_files) \ $(annotation_processor_deps) \ $(LOCAL_JARJAR_RULES) \ $(NORMALIZE_PATH) \ $(JACK_DEFAULT_ARGS) \ $(JACK) $(jack_check_timestamp): $(jack_all_deps) | setup-jack-server @echo Checking build with Jack: $@ Loading
core/java_common.mk +1 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,7 @@ $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_PROTO_SOURCES := $(if $(proto_sources $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_PROTO_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/proto $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_RS_SOURCES := $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JAVA_SOURCES := $(all_java_sources) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JAVA_SOURCE_LIST := $(java_source_list_file) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RMTYPEDEFS := $(LOCAL_RMTYPEDEFS) Loading