xref: /aosp_15_r20/build/make/tools/finalization/finalize-sdk-rel.sh (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker#!/bin/bash
2*9e94795aSAndroid Build Coastguard Worker
3*9e94795aSAndroid Build Coastguard Workerset -ex
4*9e94795aSAndroid Build Coastguard Worker
5*9e94795aSAndroid Build Coastguard Workerfunction revert_droidstubs_hack() {
6*9e94795aSAndroid Build Coastguard Worker    if grep -q 'STOPSHIP: RESTORE THIS LOGIC WHEN DECLARING "REL" BUILD' "$top/build/soong/java/droidstubs.go" ; then
7*9e94795aSAndroid Build Coastguard Worker        patch --strip=1 --no-backup-if-mismatch --directory="$top/build/soong" --input=../../build/make/tools/finalization/build_soong_java_droidstubs.go.revert_hack.diff
8*9e94795aSAndroid Build Coastguard Worker    fi
9*9e94795aSAndroid Build Coastguard Worker}
10*9e94795aSAndroid Build Coastguard Worker
11*9e94795aSAndroid Build Coastguard Workerfunction apply_prerelease_sdk_hack() {
12*9e94795aSAndroid Build Coastguard Worker    if ! grep -q 'STOPSHIP: hack for the pre-release SDK' "$top/frameworks/base/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java" ; then
13*9e94795aSAndroid Build Coastguard Worker        patch --strip=1 --no-backup-if-mismatch --directory="$top/frameworks/base" --input=../../build/make/tools/finalization/frameworks_base.apply_hack.diff
14*9e94795aSAndroid Build Coastguard Worker    fi
15*9e94795aSAndroid Build Coastguard Worker}
16*9e94795aSAndroid Build Coastguard Worker
17*9e94795aSAndroid Build Coastguard Workerfunction finalize_sdk_rel() {
18*9e94795aSAndroid Build Coastguard Worker    local top="$(dirname "$0")"/../../../..
19*9e94795aSAndroid Build Coastguard Worker    source $top/build/make/tools/finalization/environment.sh
20*9e94795aSAndroid Build Coastguard Worker
21*9e94795aSAndroid Build Coastguard Worker    # revert droidstubs hack now we are switching to REL
22*9e94795aSAndroid Build Coastguard Worker    revert_droidstubs_hack
23*9e94795aSAndroid Build Coastguard Worker
24*9e94795aSAndroid Build Coastguard Worker    # let the apps built with pre-release SDK parse
25*9e94795aSAndroid Build Coastguard Worker    apply_prerelease_sdk_hack
26*9e94795aSAndroid Build Coastguard Worker
27*9e94795aSAndroid Build Coastguard Worker    # cts
28*9e94795aSAndroid Build Coastguard Worker    if ! grep -q "${FINAL_PLATFORM_VERSION}" "$top/cts/tests/tests/os/assets/platform_versions.txt" ; then
29*9e94795aSAndroid Build Coastguard Worker        echo ${FINAL_PLATFORM_VERSION} >> "$top/cts/tests/tests/os/assets/platform_versions.txt"
30*9e94795aSAndroid Build Coastguard Worker    fi
31*9e94795aSAndroid Build Coastguard Worker    if [ "$FINAL_PLATFORM_CODENAME" != "$CURRENT_PLATFORM_CODENAME" ]; then
32*9e94795aSAndroid Build Coastguard Worker        echo "$CURRENT_PLATFORM_CODENAME" >> "./cts/tests/tests/os/assets/platform_versions.txt"
33*9e94795aSAndroid Build Coastguard Worker    fi
34*9e94795aSAndroid Build Coastguard Worker    git -C "$top/cts" mv hostsidetests/theme/assets/${FINAL_PLATFORM_CODENAME} hostsidetests/theme/assets/${FINAL_PLATFORM_SDK_VERSION}
35*9e94795aSAndroid Build Coastguard Worker
36*9e94795aSAndroid Build Coastguard Worker    # prebuilts/abi-dumps/platform
37*9e94795aSAndroid Build Coastguard Worker    "$top/build/soong/soong_ui.bash" --make-mode TARGET_RELEASE=next TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug create_reference_dumps
38*9e94795aSAndroid Build Coastguard Worker    ANDROID_BUILD_TOP="$top" "$top/out/host/linux-x86/bin/create_reference_dumps" -release next --build-variant userdebug --lib-variant APEX
39*9e94795aSAndroid Build Coastguard Worker}
40*9e94795aSAndroid Build Coastguard Worker
41*9e94795aSAndroid Build Coastguard Workerfinalize_sdk_rel
42*9e94795aSAndroid Build Coastguard Worker
43