APEX extraction rule mentions APEXes
so that it's triggered even when APEX list shrinks.
(-d explain will print "command line changed for ...")
To repro:
- Pick one VAPEX with vintf fragment.
- Copy the fragment to /vendor/etc/vintf/manifest (DEVICE_MANIFEST_FILE)
- `m check-vintf-all` should fail
- Remove the APEX from PRODUCT_PACKAGES
- `m check-vintf-all` should pass
Bug: 304769672
Test: m check-vintf-all
(see above)
Change-Id: Iae9da91105faebfb8a5127fbb02a414b9ffdca10
diff --git a/core/Makefile b/core/Makefile
index 453a013..c06911e 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -5049,8 +5049,11 @@
APEX_INFO_FILE := $(APEX_OUT)/apex-info-list.xml
# apexd_host scans/activates APEX files and writes /apex/apex-info-list.xml
+# Note that `@echo $(PRIVATE_APEX_FILES)` line is added to trigger the rule when the APEX list is changed.
+$(APEX_INFO_FILE): PRIVATE_APEX_FILES := $(apex_files)
$(APEX_INFO_FILE): $(HOST_OUT_EXECUTABLES)/apexd_host $(apex_files)
@echo "Extracting apexes..."
+ @echo $(PRIVATE_APEX_FILES) > /dev/null
@rm -rf $(APEX_OUT)
@mkdir -p $(APEX_OUT)
$< --vendor_path $(TARGET_OUT_VENDOR) \