Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c465e204 authored by Inseob Kim's avatar Inseob Kim
Browse files

Implement vendor snapshot

Vendor snapshot can be captured with "m dist vendor-snapshot". With
vendor snapshot and vndk snapshot, older version of /vendor and newer
version of /system will be able to be built together by setting
BOARD_VNDK_VERSION to past vendor's version.

Only vendor modules under AOSP are to be captured. In detail, modules
under following directories are ignored:
- cts/
- device/
- external/clang/
- external/llvm/
- hardware/, except for:
    - interfaces/, libhardware/, libhardware_legacy/, ril/
- vendor/

Bug: 65377115
Test: m dist vendor-snapshot
Change-Id: Ib5859e409f8ab281ca137cae21e9ea08abd8a0b1
parent 4b26ce07
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

current_makefile := $(lastword $(MAKEFILE_LIST))

# BOARD_VNDK_VERSION must be set to 'current' in order to generate a vendor snapshot.
ifeq ($(BOARD_VNDK_VERSION),current)

.PHONY: vendor-snapshot
vendor-snapshot: $(SOONG_VENDOR_SNAPSHOT_ZIP)

$(call dist-for-goals, vendor-snapshot, $(SOONG_VENDOR_SNAPSHOT_ZIP))

else # BOARD_VNDK_VERSION is NOT set to 'current'

.PHONY: vendor-snapshot
vendor-snapshot: PRIVATE_MAKEFILE := $(current_makefile)
vendor-snapshot:
	$(call echo-error,$(PRIVATE_MAKEFILE),\
		"CANNOT generate Vendor snapshot. BOARD_VNDK_VERSION must be set to 'current'.")
	exit 1

endif # BOARD_VNDK_VERSION
+2 −1
Original line number Diff line number Diff line
@@ -43,8 +43,9 @@ endif # BOARD_VNDK_VERSION
ifneq (,$(error_msg))

.PHONY: vndk
vndk: PRIVATE_MAKEFILE := $(current_makefile)
vndk:
	$(call echo-error,$(current_makefile),$(error_msg))
	$(call echo-error,$(PRIVATE_MAKEFILE),$(error_msg))
	exit 1

endif