blob: 6cf4124e35b6b539f249cb49fbc859d9b3f79eb5 [file] [log] [blame]
Alex Buynytskyyafddc072023-02-09 22:40:53 +00001#!/bin/bash
2
3set -ex
4
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +00005function revert_droidstubs_hack() {
Alex Buynytskyy775ad5f2023-02-21 19:28:48 +00006 if grep -q 'STOPSHIP: RESTORE THIS LOGIC WHEN DECLARING "REL" BUILD' "$top/build/soong/java/droidstubs.go" ; then
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +00007 git -C "$top/build/soong" apply --allow-empty ../../build/make/tools/finalization/build_soong_java_droidstubs.go.revert_hack.diff
8 fi
9}
10
Alex Buynytskyyf7a5e2f2023-04-14 11:50:04 -070011function revert_resources_sdk_int_fix() {
12 if grep -q 'public static final int RESOURCES_SDK_INT = SDK_INT;' "$top/frameworks/base/core/java/android/os/Build.java" ; then
13 git -C "$top/frameworks/base" apply --allow-empty ../../build/make/tools/finalization/frameworks_base.revert_resource_sdk_int.diff
14 fi
15}
16
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +000017function apply_prerelease_sdk_hack() {
Alex Buynytskyy775ad5f2023-02-21 19:28:48 +000018 if ! grep -q 'STOPSHIP: hack for the pre-release SDK' "$top/frameworks/base/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java" ; then
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +000019 git -C "$top/frameworks/base" apply --allow-empty ../../build/make/tools/finalization/frameworks_base.apply_hack.diff
20 fi
21}
22
Alex Buynytskyyafddc072023-02-09 22:40:53 +000023function finalize_sdk_rel() {
24 local top="$(dirname "$0")"/../../../..
25 source $top/build/make/tools/finalization/environment.sh
26
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +000027 # revert droidstubs hack now we are switching to REL
28 revert_droidstubs_hack
29
30 # let the apps built with pre-release SDK parse
31 apply_prerelease_sdk_hack
32
Alex Buynytskyyf7a5e2f2023-04-14 11:50:04 -070033 # in REL mode, resources would correctly set the resources_sdk_int, no fix required
34 revert_resources_sdk_int_fix
35
Alex Buynytskyyafddc072023-02-09 22:40:53 +000036 # build/make/core/version_defaults.mk
Alex Buynytskyy0fa58fa2023-02-13 20:22:10 +000037 sed -i -e "s/PLATFORM_VERSION_CODENAME.${FINAL_BUILD_PREFIX} := .*/PLATFORM_VERSION_CODENAME.${FINAL_BUILD_PREFIX} := REL/g" "$top/build/make/core/version_defaults.mk"
Alex Buynytskyyafddc072023-02-09 22:40:53 +000038
39 # cts
Alex Buynytskyy0fa58fa2023-02-13 20:22:10 +000040 echo "$FINAL_PLATFORM_VERSION" > "$top/cts/tests/tests/os/assets/platform_versions.txt"
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +000041 if [ "$FINAL_PLATFORM_CODENAME" != "$CURRENT_PLATFORM_CODENAME" ]; then
42 echo "$CURRENT_PLATFORM_CODENAME" >> "./cts/tests/tests/os/assets/platform_versions.txt"
43 fi
Alex Buynytskyy0fa58fa2023-02-13 20:22:10 +000044 git -C "$top/cts" mv hostsidetests/theme/assets/${FINAL_PLATFORM_CODENAME} hostsidetests/theme/assets/${FINAL_PLATFORM_SDK_VERSION}
Alex Buynytskyyafddc072023-02-09 22:40:53 +000045
46 # system/sepolicy
Alex Buynytskyy0fa58fa2023-02-13 20:22:10 +000047 mkdir -p "$top/system/sepolicy/prebuilts/api/${FINAL_PLATFORM_SDK_VERSION}.0/"
48 cp -r "$top/system/sepolicy/public/" "$top/system/sepolicy/prebuilts/api/${FINAL_PLATFORM_SDK_VERSION}.0/"
49 cp -r "$top/system/sepolicy/private/" "$top/system/sepolicy/prebuilts/api/${FINAL_PLATFORM_SDK_VERSION}.0/"
Alex Buynytskyyafddc072023-02-09 22:40:53 +000050
51 # prebuilts/abi-dumps/ndk
Hsin-Yi Chenebce0d92023-04-06 15:04:03 +080052 mkdir -p "$top/prebuilts/abi-dumps/ndk/$FINAL_PLATFORM_SDK_VERSION"
53 cp -r "$top/prebuilts/abi-dumps/ndk/current/64/" "$top/prebuilts/abi-dumps/ndk/$FINAL_PLATFORM_SDK_VERSION/"
Alex Buynytskyyafddc072023-02-09 22:40:53 +000054
Alex Buynytskyyafddc072023-02-09 22:40:53 +000055 # prebuilts/abi-dumps/platform
Hsin-Yi Chenebce0d92023-04-06 15:04:03 +080056 mkdir -p "$top/prebuilts/abi-dumps/platform/$FINAL_PLATFORM_SDK_VERSION"
57 cp -r "$top/prebuilts/abi-dumps/platform/current/64/" "$top/prebuilts/abi-dumps/platform/$FINAL_PLATFORM_SDK_VERSION/"
Alex Buynytskyyf7a5e2f2023-04-14 11:50:04 -070058
59 if [ "$FINAL_STATE" != "sdk" ] ; then
60 # prebuilts/abi-dumps/vndk
61 mv "$top/prebuilts/abi-dumps/vndk/$CURRENT_PLATFORM_CODENAME" "$top/prebuilts/abi-dumps/vndk/$FINAL_PLATFORM_SDK_VERSION"
62 fi;
Alex Buynytskyyafddc072023-02-09 22:40:53 +000063}
64
65finalize_sdk_rel
66