Merge "Clean generated source dir if .proto/.rs is gonee." into nyc-dev
am: bfffd93a02
* commit 'bfffd93a02fed91e98373524677c98482adba893':
Clean generated source dir if .proto/.rs is gonee.
This commit is contained in:
commit
489af869c7
2 changed files with 31 additions and 23 deletions
|
@ -46,6 +46,8 @@ $(proto_java_sources_file_stamp) : $(proto_sources_fullpath) $(PROTOC)
|
|||
$(call transform-proto-to-java)
|
||||
|
||||
#TODO: protoc should output the dependencies introduced by imports.
|
||||
|
||||
ALL_MODULES.$(my_register_name).PROTO_FILES := $(proto_sources_fullpath)
|
||||
endif # proto_sources
|
||||
|
||||
#########################################
|
||||
|
@ -266,6 +268,9 @@ $(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_MANIFEST_INSTRUMENTATION_FOR := $(LOCAL_
|
|||
ifdef aidl_sources
|
||||
ALL_MODULES.$(my_register_name).AIDL_FILES := $(aidl_sources)
|
||||
endif
|
||||
ifdef renderscript_sources
|
||||
ALL_MODULES.$(my_register_name).RS_FILES := $(renderscript_sources_fullpath)
|
||||
endif
|
||||
endif # !LOCAL_IS_HOST_MODULE
|
||||
|
||||
$(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_ALL_JAVA_LIBRARIES := $(full_java_libs)
|
||||
|
|
|
@ -54,27 +54,30 @@ current_package_overlay_config :=
|
|||
current_all_packages_config :=
|
||||
|
||||
#######################################################
|
||||
# Check if we need to delete obsolete aidl-generated java files.
|
||||
# When an aidl file gets deleted (or renamed), the generated java file is obsolete.
|
||||
previous_aidl_config := $(TARGET_OUT_COMMON_INTERMEDIATES)/previous_aidl_config.mk
|
||||
current_aidl_config := $(TARGET_OUT_COMMON_INTERMEDIATES)/current_aidl_config.mk
|
||||
# Check if we need to delete obsolete generated java files.
|
||||
# When an aidl/proto/etc file gets deleted (or renamed), the generated java file is obsolete.
|
||||
previous_gen_java_config := $(TARGET_OUT_COMMON_INTERMEDIATES)/previous_gen_java_config.mk
|
||||
current_gen_java_config := $(TARGET_OUT_COMMON_INTERMEDIATES)/current_gen_java_config.mk
|
||||
|
||||
$(shell rm -rf $(current_aidl_config) \
|
||||
&& mkdir -p $(dir $(current_aidl_config))\
|
||||
&& touch $(current_aidl_config))
|
||||
-include $(previous_aidl_config)
|
||||
$(shell rm -rf $(current_gen_java_config) \
|
||||
&& mkdir -p $(dir $(current_gen_java_config))\
|
||||
&& touch $(current_gen_java_config))
|
||||
-include $(previous_gen_java_config)
|
||||
|
||||
intermediates_to_clean :=
|
||||
modules_with_aidl_files :=
|
||||
modules_with_gen_java_files :=
|
||||
$(foreach p, $(ALL_MODULES), \
|
||||
$(if $(ALL_MODULES.$(p).AIDL_FILES),\
|
||||
$(eval modules_with_aidl_files += $(p))\
|
||||
$(shell echo 'AIDL_FILES.$(p) := $(ALL_MODULES.$(p).AIDL_FILES)' >> $(current_aidl_config)))\
|
||||
$(if $(filter-out $(ALL_MODULES.$(p).AIDL_FILES),$(AIDL_FILES.$(p))),\
|
||||
$(eval gs := $(strip $(ALL_MODULES.$(p).AIDL_FILES)\
|
||||
$(ALL_MODULES.$(p).PROTO_FILES)\
|
||||
$(ALL_MODULES.$(p).RS_FILES)))\
|
||||
$(if $(gs),\
|
||||
$(eval modules_with_gen_java_files += $(p))\
|
||||
$(shell echo 'GEN_SRC_FILES.$(p) := $(gs)' >> $(current_gen_java_config)))\
|
||||
$(if $(filter-out $(gs),$(GEN_SRC_FILES.$(p))),\
|
||||
$(eval intermediates_to_clean += $(ALL_MODULES.$(p).INTERMEDIATE_SOURCE_DIR))))
|
||||
intermediates_to_clean := $(strip $(intermediates_to_clean))
|
||||
ifdef intermediates_to_clean
|
||||
$(info *** Obsolete aidl-generated files detected, clean intermediate files...)
|
||||
$(info *** Obsolete generated java files detected, clean intermediate files...)
|
||||
$(info *** rm -rf $(intermediates_to_clean))
|
||||
$(shell rm -rf $(intermediates_to_clean))
|
||||
intermediates_to_clean :=
|
||||
|
@ -82,15 +85,15 @@ endif
|
|||
|
||||
# For modules not loaded by the current build (e.g. you are running mm/mmm),
|
||||
# we copy the info from the previous bulid.
|
||||
$(foreach p, $(filter-out $(ALL_MODULES),$(MODULES_WITH_AIDL_FILES)),\
|
||||
$(shell echo 'AIDL_FILES.$(p) := $(AIDL_FILES.$(p))' >> $(current_aidl_config)))
|
||||
MODULES_WITH_AIDL_FILES := $(sort $(MODULES_WITH_AIDL_FILES) $(modules_with_aidl_files))
|
||||
$(shell echo 'MODULES_WITH_AIDL_FILES := $(MODULES_WITH_AIDL_FILES)' >> $(current_aidl_config))
|
||||
$(foreach p, $(filter-out $(ALL_MODULES),$(MODULES_WITH_GEN_JAVA_FILES)),\
|
||||
$(shell echo 'GEN_SRC_FILES.$(p) := $(GEN_SRC_FILES.$(p))' >> $(current_gen_java_config)))
|
||||
MODULES_WITH_GEN_JAVA_FILES := $(sort $(MODULES_WITH_GEN_JAVA_FILES) $(modules_with_gen_java_files))
|
||||
$(shell echo 'MODULES_WITH_GEN_JAVA_FILES := $(MODULES_WITH_GEN_JAVA_FILES)' >> $(current_gen_java_config))
|
||||
|
||||
# Now current becomes previous.
|
||||
$(shell cmp $(current_aidl_config) $(previous_aidl_config) > /dev/null 2>&1 || mv -f $(current_aidl_config) $(previous_aidl_config))
|
||||
$(shell cmp $(current_gen_java_config) $(previous_gen_java_config) > /dev/null 2>&1 || mv -f $(current_gen_java_config) $(previous_gen_java_config))
|
||||
|
||||
MODULES_WITH_AIDL_FILES :=
|
||||
modules_with_aidl_files :=
|
||||
previous_aidl_config :=
|
||||
current_aidl_config :=
|
||||
MODULES_WITH_GEN_JAVA_FILES :=
|
||||
modules_with_gen_java_files :=
|
||||
previous_gen_java_config :=
|
||||
current_gen_java_config :=
|
||||
|
|
Loading…
Reference in a new issue