Merge "Delete jack support"
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 76711f2..23eba4f 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -436,6 +436,12 @@
$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -name 'linux_x86*' | xargs rm -rf)
$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -name 'linux_common*' | xargs rm -rf)
+# Remove old aidl/logtags files that may be in the generated source directory
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/*/*_intermediates/src)
+$(call add-clean-step, rm -f $(OUT_DIR)/target/common/obj/*/*_intermediates/java-source-list)
+$(call add-clean-step, rm -rf $(OUT_DIR)/host/common/obj/*/*_intermediates/src)
+$(call add-clean-step, rm -f $(OUT_DIR)/host/common/obj/*/*_intermediates/java-source-list)
+
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************
diff --git a/core/aapt2.mk b/core/aapt2.mk
index 287f933..c7cae44 100644
--- a/core/aapt2.mk
+++ b/core/aapt2.mk
@@ -69,23 +69,11 @@
$(my_res_package): PRIVATE_SHARED_ANDROID_LIBRARIES := $(my_shared_library_resources)
$(my_res_package): PRIVATE_PROGUARD_OPTIONS_FILE := $(proguard_options_file)
$(my_res_package): PRIVATE_ASSET_DIRS := $(my_asset_dirs)
-$(my_res_package): $(full_android_manifest) $(my_static_library_resources) $(my_shared_library_resources)
-$(my_res_package): $(my_full_asset_paths)
-$(my_res_package): $(my_res_resources_flat) $(my_overlay_resources_flat) \
- $(my_generated_resources_flata) $(my_static_library_resources) \
- $(AAPT2)
- @echo "AAPT2 link $@"
- $(call aapt2-link)
+$(my_res_package): .KATI_IMPLICIT_OUTPUTS :=
ifdef R_file_stamp
-$(R_file_stamp) : $(my_res_package) | $(ACP)
- @echo "target R.java/Manifest.java: $(PRIVATE_MODULE) ($@)"
- @rm -rf $@ && mkdir -p $(dir $@)
- $(call find-generated-R.java)
-endif
-
-ifdef proguard_options_file
-$(proguard_options_file) : $(my_res_package)
+$(my_res_package): PRIVATE_R_FILE_STAMP := $(R_file_stamp)
+$(my_res_package): .KATI_IMPLICIT_OUTPUTS += $(R_file_stamp)
endif
resource_export_package :=
@@ -94,10 +82,27 @@
# other packages can use to build their own PRODUCT-agnostic R.java (etc.)
# files.
resource_export_package := $(intermediates.COMMON)/package-export.apk
-$(R_file_stamp) : $(resource_export_package)
+$(my_res_package): PRIVATE_RESOURCE_EXPORT_PACKAGE := $(resource_export_package)
+$(my_res_package): .KATI_IMPLICIT_OUTPUTS += $(resource_export_package)
+endif
-$(resource_export_package) : $(my_res_package) | $(ACP)
- @echo "target Export Resources: $(PRIVATE_MODULE) $(@)"
- $(copy-file-to-new-target)
+ifdef proguard_options_file
+$(my_res_package): .KATI_IMPLICIT_OUTPUTS += $(proguard_options_file)
+endif
+$(my_res_package): $(full_android_manifest) $(my_static_library_resources) $(my_shared_library_resources)
+$(my_res_package): $(my_full_asset_paths)
+$(my_res_package): $(my_res_resources_flat) $(my_overlay_resources_flat) \
+ $(my_generated_resources_flata) $(my_static_library_resources) \
+ $(AAPT2)
+ @echo "AAPT2 link $@"
+ $(call aapt2-link)
+ifdef R_file_stamp
+ @rm -f $(PRIVATE_R_FILE_STAMP)
+ $(call find-generated-R.java,$(PRIVATE_R_FILE_STAMP))
+endif
+ifdef LOCAL_EXPORT_PACKAGE_RESOURCES
+ @rm -f $(PRIVATE_RESOURCE_EXPORT_PACKAGE)
+
+ cp $@ $(PRIVATE_RESOURCE_EXPORT_PACKAGE)
endif
diff --git a/core/definitions.mk b/core/definitions.mk
index 73e80a0..550634b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -2046,9 +2046,11 @@
$(addprefix --rename-manifest-package , $(PRIVATE_MANIFEST_PACKAGE_NAME)) \
$(addprefix --rename-instrumentation-target-package , $(PRIVATE_MANIFEST_INSTRUMENTATION_FOR)) \
--skip-symbols-without-default-localization
+# So that we re-run aapt when the list of input files change
+$(hide) echo $(PRIVATE_RESOURCE_LIST) >/dev/null
endef
-# Search for generated R.java/Manifest.java, copy the found R.java as $@.
+# Search for generated R.java/Manifest.java, copy the found R.java as $1.
# Also copy them to a central 'R' directory to make it easier to add the files to an IDE.
define find-generated-R.java
$(hide) for GENERATED_MANIFEST_FILE in `find $(PRIVATE_SOURCE_INTERMEDIATES_DIR) \
@@ -2063,11 +2065,11 @@
mkdir -p $(TARGET_COMMON_OUT_ROOT)/R/$$dir; \
$(ACP) -fp $$GENERATED_R_FILE $(TARGET_COMMON_OUT_ROOT)/R/$$dir \
|| exit 31; \
- $(ACP) -fp $$GENERATED_R_FILE $@ || exit 32; \
+ $(ACP) -fp $$GENERATED_R_FILE $1 || exit 32; \
done;
@# Ensure that the target file is always created, i.e. also in case we did not
@# enter the GENERATED_R_FILE-loop above. This avoids unnecessary rebuilding.
-$(hide) touch $@
+$(hide) touch $1
endef
###########################################################
@@ -2436,6 +2438,8 @@
$(addprefix --rename-instrumentation-target-package , $(PRIVATE_MANIFEST_INSTRUMENTATION_FOR)) \
--skip-symbols-without-default-localization \
-F $@
+# So that we re-run aapt when the list of input files change
+$(hide) echo $(PRIVATE_RESOURCE_LIST) >/dev/null
endef
# We need the extra blank line, so that the command will be on a separate line.
diff --git a/core/dpi_specific_apk.mk b/core/dpi_specific_apk.mk
index 46e13bc..18c8d6e 100644
--- a/core/dpi_specific_apk.mk
+++ b/core/dpi_specific_apk.mk
@@ -17,6 +17,7 @@
$(built_dpi_apk): PRIVATE_RESOURCE_DIR := $(LOCAL_RESOURCE_DIR)
$(built_dpi_apk): PRIVATE_ASSET_DIR := $(LOCAL_ASSET_DIR)
$(built_dpi_apk): PRIVATE_AAPT_INCLUDES := $(all_library_res_package_exports)
+$(built_dpi_apk): PRIVATE_RESOURCE_LIST := $(all_res_assets)
ifneq (,$(filter-out current system_current test_current, $(LOCAL_SDK_VERSION)))
$(built_dpi_apk): PRIVATE_DEFAULT_APP_TARGET_SDK := $(LOCAL_SDK_VERSION)
else
diff --git a/core/java.mk b/core/java.mk
index 5af666d..5eddb0e 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -306,7 +306,7 @@
endif # LOCAL_SDK_VERSION
$(foreach s,$(aidl_sources),\
- $(eval $(call define-aidl-java-rule,$(s),$(intermediates.COMMON),aidl_java_sources)))
+ $(eval $(call define-aidl-java-rule,$(s),$(intermediates.COMMON)/aidl,aidl_java_sources)))
$(foreach java,$(aidl_java_sources), \
$(call include-depfile,$(java:%.java=%.P),$(java)))
@@ -338,11 +338,11 @@
###########################################################
ifneq ($(strip $(logtags_sources)),)
-logtags_java_sources := $(patsubst %.logtags,%.java,$(addprefix $(intermediates.COMMON)/src/, $(logtags_sources)))
+logtags_java_sources := $(patsubst %.logtags,%.java,$(addprefix $(intermediates.COMMON)/logtags/, $(logtags_sources)))
logtags_sources := $(addprefix $(LOCAL_PATH)/, $(logtags_sources))
$(logtags_java_sources): PRIVATE_MERGED_TAG := $(TARGET_OUT_COMMON_INTERMEDIATES)/all-event-log-tags.txt
-$(logtags_java_sources): $(intermediates.COMMON)/src/%.java: $(LOCAL_PATH)/%.logtags $(TARGET_OUT_COMMON_INTERMEDIATES)/all-event-log-tags.txt $(JAVATAGS) build/tools/event_log_tags.py
+$(logtags_java_sources): $(intermediates.COMMON)/logtags/%.java: $(LOCAL_PATH)/%.logtags $(TARGET_OUT_COMMON_INTERMEDIATES)/all-event-log-tags.txt $(JAVATAGS) build/tools/event_log_tags.py
$(transform-logtags-to-java)
else
diff --git a/core/package_internal.mk b/core/package_internal.mk
index 526ed6d..5a1ef05 100644
--- a/core/package_internal.mk
+++ b/core/package_internal.mk
@@ -389,11 +389,12 @@
$(R_file_stamp): PRIVATE_RESOURCE_PUBLICS_OUTPUT := \
$(intermediates.COMMON)/public_resources.xml
$(R_file_stamp): PRIVATE_PROGUARD_OPTIONS_FILE := $(proguard_options_file)
+$(R_file_stamp): PRIVATE_RESOURCE_LIST := $(all_res_assets)
$(R_file_stamp): $(all_res_assets) $(full_android_manifest) $(RenderScript_file_stamp) $(AAPT) | $(ACP)
@echo "target R.java/Manifest.java: $(PRIVATE_MODULE) ($@)"
@rm -rf $@ && mkdir -p $(dir $@)
$(create-resource-java-files)
- $(call find-generated-R.java)
+ $(call find-generated-R.java,$@)
$(proguard_options_file): $(R_file_stamp)
@@ -409,6 +410,7 @@
# can't know anything about PRODUCT. Clear it out just for this target.
$(resource_export_package): PRIVATE_PRODUCT_AAPT_CONFIG :=
$(resource_export_package): PRIVATE_PRODUCT_AAPT_PREF_CONFIG :=
+$(resource_export_package): PRIVATE_RESOURCE_LIST := $(all_res_assets)
$(resource_export_package): $(all_res_assets) $(full_android_manifest) $(RenderScript_file_stamp) $(AAPT)
@echo "target Export Resources: $(PRIVATE_MODULE) ($@)"
$(create-empty-package)
@@ -543,6 +545,7 @@
$(LOCAL_BUILT_MODULE): PRIVATE_RES_PACKAGE := $(my_res_package)
$(LOCAL_BUILT_MODULE) : $(my_res_package) $(AAPT2) | $(ACP)
else
+$(LOCAL_BUILT_MODULE): PRIVATE_RESOURCE_LIST := $(all_res_assets)
$(LOCAL_BUILT_MODULE) : $(all_res_assets) $(full_android_manifest) $(AAPT)
endif
@echo "target Package: $(PRIVATE_MODULE) ($@)"
diff --git a/core/static_java_library.mk b/core/static_java_library.mk
index 09b5082..ca3b071 100644
--- a/core/static_java_library.mk
+++ b/core/static_java_library.mk
@@ -159,6 +159,7 @@
include $(BUILD_SYSTEM)/aapt2.mk
$(my_res_package) : $(framework_res_package_export_deps)
else
+$(R_file_stamp): PRIVATE_RESOURCE_LIST := $(all_resources)
$(R_file_stamp) : $(all_resources) $(full_android_manifest) $(AAPT) $(framework_res_package_export_deps)
@echo "target R.java/Manifest.java: $(PRIVATE_MODULE) ($@)"
$(create-resource-java-files)