From bdc54ada9d3705ff92608982a935759836b82292 Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Fri, 9 Feb 2024 23:18:55 +0000 Subject: [PATCH] finalization: add a step to freeze the framework manifest Make sure we aren't making backward incompatible changes to the framework HALs that system serves. Ignore-AOSP-First: b/304316873#comment10 Test: ./finalize-vintf-resources.sh Bug: 266741352 Change-Id: I056f2e6f92cdd496b88dc52bcd1c7a51e9ffb85f --- .../finalization/finalize-vintf-resources.sh | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/tools/finalization/finalize-vintf-resources.sh b/tools/finalization/finalize-vintf-resources.sh index 55c06bc6f7..ca61890ec3 100755 --- a/tools/finalization/finalize-vintf-resources.sh +++ b/tools/finalization/finalize-vintf-resources.sh @@ -5,6 +5,16 @@ set -ex function finalize_vintf_resources() { local top="$(dirname "$0")"/../../../.. source $top/build/make/tools/finalization/environment.sh + # environment needed to build dependencies and run scripts + # These should remain the same for all steps here to speed up build time + export ANDROID_BUILD_TOP="$top" + export ANDROID_HOST_OUT="$ANDROID_BUILD_TOP/out/host/linux-x86" + export ANDROID_PRODUCT_OUT="$ANDROID_BUILD_TOP/out/target/product/generic_arm64" + export PATH="$PATH:$ANDROID_HOST_OUT/bin/" + export TARGET_BUILD_VARIANT=userdebug + export DIST_DIR=out/dist + export TARGET_RELEASE=fina_0 + export TARGET_PRODUCT=aosp_arm64 # TODO(b/314010764): finalize LL_NDK @@ -14,7 +24,7 @@ function finalize_vintf_resources() { create_new_compat_matrix_and_kernel_configs # pre-finalization build target (trunk) - local aidl_m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_RELEASE=fina_0 TARGET_BUILD_VARIANT=userdebug DIST_DIR=out/dist" + local aidl_m="$top/build/soong/soong_ui.bash --make-mode" AIDL_TRANSITIVE_FREEZE=true $aidl_m aidl-freeze-api } @@ -27,12 +37,24 @@ function create_new_compat_matrix_and_kernel_configs() { local CURRENT_RELEASE_LETTER='v' local NEXT_RELEASE_LETTER='w' + # build the targets required before touching the Android.bp/Android.mk files - local build_cmd="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_RELEASE=fina_0 TARGET_BUILD_VARIANT=userdebug DIST_DIR=out/dist" + local build_cmd="$top/build/soong/soong_ui.bash --make-mode" $build_cmd bpmodify - ANDROID_BUILD_TOP="$top" PATH="$PATH:$top/out/host/linux-x86/bin/" "$top/prebuilts/build-tools/path/linux-x86/python3" "$top/hardware/interfaces/compatibility_matrices/bump.py" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" "$NEXT_COMPATIBILITY_MATRIX_LEVEL" "$CURRENT_RELEASE_LETTER" "$NEXT_RELEASE_LETTER" + "$top/prebuilts/build-tools/path/linux-x86/python3" "$top/hardware/interfaces/compatibility_matrices/bump.py" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" "$NEXT_COMPATIBILITY_MATRIX_LEVEL" "$CURRENT_RELEASE_LETTER" "$NEXT_RELEASE_LETTER" + + # Freeze the current framework manifest file. This relies on the + # aosp_cf_x86_64-trunk_staging build target to get the right manifest + # fragments installed. + "$top/system/libhidl/vintfdata/freeze.sh" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" } +function freeze_framework_manifest() { + ANDROID_PRODUCT_OUT=~/workspace/internal/main/out/target/product/vsoc_x86 ANDROID_BUILD_TOP=~/workspace/internal/main ANDROID_HOST_OUT=~/workspace/internal/main/out/host/linux-x86 ./freeze.sh 202404 + +} + + finalize_vintf_resources