Implement fake vendor snapshot

A fake vendor snapshot is a vendor snapshot whose prebuilt binaries and
captured headers are all empty. It's much faster to be built than the
real vendor snapshot, so users can exploit the fake vendor snapshot to
reduce the size of vendor snapshot they need, by installing the fake
snapshot and then inspecting the ninja dependencies.

Bug: 157967325
Test: m dist vendor-fake-snapshot
Change-Id: I7fa5d5033a296965b21e840765cc7fe02fd1f44e
This commit is contained in:
Inseob Kim 2021-01-05 20:00:08 +09:00
parent 939e511748
commit c497641e6f
1 changed files with 12 additions and 0 deletions

View File

@ -22,6 +22,11 @@ vendor-snapshot: $(SOONG_VENDOR_SNAPSHOT_ZIP)
$(call dist-for-goals, vendor-snapshot, $(SOONG_VENDOR_SNAPSHOT_ZIP))
.PHONY: vendor-fake-snapshot
vendor-fake-snapshot: $(SOONG_VENDOR_FAKE_SNAPSHOT_ZIP)
$(call dist-for-goals, vendor-fake-snapshot, $(SOONG_VENDOR_FAKE_SNAPSHOT_ZIP):fake/$(notdir $(SOONG_VENDOR_FAKE_SNAPSHOT_ZIP)))
else # BOARD_VNDK_VERSION is NOT set to 'current'
.PHONY: vendor-snapshot
@ -31,4 +36,11 @@ vendor-snapshot:
"CANNOT generate Vendor snapshot. BOARD_VNDK_VERSION must be set to 'current'.")
exit 1
.PHONY: vendor-fake-snapshot
vendor-fake-snapshot: PRIVATE_MAKEFILE := $(current_makefile)
vendor-fake-snapshot:
$(call echo-error,$(PRIVATE_MAKEFILE),\
"CANNOT generate Vendor snapshot. BOARD_VNDK_VERSION must be set to 'current'.")
exit 1
endif # BOARD_VNDK_VERSION