blob: 6f1a6f646e8b4e006579da881614416d435594de [file] [log] [blame]
Steven Moreland0f84e4b2023-12-16 02:51:26 +00001#!/bin/bash
2
3set -ex
4
5function finalize_vintf_resources() {
6 local top="$(dirname "$0")"/../../../..
7 source $top/build/make/tools/finalization/environment.sh
Devin Moorebdc54ad2024-02-09 23:18:55 +00008 # environment needed to build dependencies and run scripts
9 # These should remain the same for all steps here to speed up build time
10 export ANDROID_BUILD_TOP="$top"
11 export ANDROID_HOST_OUT="$ANDROID_BUILD_TOP/out/host/linux-x86"
12 export ANDROID_PRODUCT_OUT="$ANDROID_BUILD_TOP/out/target/product/generic_arm64"
13 export PATH="$PATH:$ANDROID_HOST_OUT/bin/"
14 export TARGET_BUILD_VARIANT=userdebug
15 export DIST_DIR=out/dist
16 export TARGET_RELEASE=fina_0
17 export TARGET_PRODUCT=aosp_arm64
Steven Moreland0f84e4b2023-12-16 02:51:26 +000018
Inseob Kim9d5066b2024-01-19 21:28:09 +090019 # system/sepolicy
Devin Mooredf129fb2024-02-02 22:08:32 +000020 "$top/system/sepolicy/tools/finalize-vintf-resources.sh" "$top" "$FINAL_BOARD_API_LEVEL"
Steven Moreland0f84e4b2023-12-16 02:51:26 +000021
Devin Moore56f8a772024-02-02 01:06:45 +000022 create_new_compat_matrix_and_kernel_configs
Devin Moorea1339af2024-01-11 23:51:22 +000023
Steven Moreland0f84e4b2023-12-16 02:51:26 +000024 # pre-finalization build target (trunk)
Devin Moorebdc54ad2024-02-09 23:18:55 +000025 local aidl_m="$top/build/soong/soong_ui.bash --make-mode"
Hsin-Yi Chena7d22002024-02-07 17:12:53 +080026 AIDL_TRANSITIVE_FREEZE=true $aidl_m aidl-freeze-api create_reference_dumps
27
28 # Generate LLNDK ABI dumps
29 # This command depends on ANDROID_BUILD_TOP
30 "$ANDROID_HOST_OUT/bin/create_reference_dumps" -release "$TARGET_RELEASE" --build-variant "$TARGET_BUILD_VARIANT" --lib-variant LLNDK
Steven Moreland0f84e4b2023-12-16 02:51:26 +000031}
32
Devin Moore56f8a772024-02-02 01:06:45 +000033function create_new_compat_matrix_and_kernel_configs() {
Devin Moorea1339af2024-01-11 23:51:22 +000034 # The compatibility matrix versions are bumped during vFRC
35 # These will change every time we have a new vFRC
Justin Yun7fc38022024-07-19 08:43:20 +090036 local CURRENT_COMPATIBILITY_MATRIX_LEVEL="$FINAL_BOARD_API_LEVEL"
37 local NEXT_COMPATIBILITY_MATRIX_LEVEL="$FINAL_NEXT_BOARD_API_LEVEL"
Devin Moore56f8a772024-02-02 01:06:45 +000038 # The kernel configs need the letter of the Android release
Justin Yun7fc38022024-07-19 08:43:20 +090039 local CURRENT_RELEASE_LETTER="$FINAL_CORRESPONDING_VERSION_LETTER"
40 local NEXT_RELEASE_LETTER="$FINAL_NEXT_CORRESPONDING_VERSION_LETTER"
Devin Moorea1339af2024-01-11 23:51:22 +000041
Devin Moorebdc54ad2024-02-09 23:18:55 +000042
Devin Moorea1339af2024-01-11 23:51:22 +000043 # build the targets required before touching the Android.bp/Android.mk files
Devin Moorebdc54ad2024-02-09 23:18:55 +000044 local build_cmd="$top/build/soong/soong_ui.bash --make-mode"
Devin Moorea1339af2024-01-11 23:51:22 +000045 $build_cmd bpmodify
Devin Moorea1339af2024-01-11 23:51:22 +000046
Justin Yun7fc38022024-07-19 08:43:20 +090047 "$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" "$FINAL_CORRESPONDING_PLATFORM_VERSION"
Devin Moorebdc54ad2024-02-09 23:18:55 +000048
49 # Freeze the current framework manifest file. This relies on the
50 # aosp_cf_x86_64-trunk_staging build target to get the right manifest
51 # fragments installed.
52 "$top/system/libhidl/vintfdata/freeze.sh" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL"
Devin Moorea1339af2024-01-11 23:51:22 +000053}
54
Devin Moorebdc54ad2024-02-09 23:18:55 +000055function freeze_framework_manifest() {
56 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
57
58}
59
60
Steven Moreland0f84e4b2023-12-16 02:51:26 +000061finalize_vintf_resources
62