blob: cb7d1fc75b48e6ae5d8ce0a8aa047cfdf8f3ab8b [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 Buynytskyybce1a512023-06-16 20:06:38 +00007 patch --strip=1 --no-backup-if-mismatch --directory="$top/build/soong" --input=../../build/make/tools/finalization/build_soong_java_droidstubs.go.revert_hack.diff
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +00008 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
Alex Buynytskyybce1a512023-06-16 20:06:38 +000013 patch --strip=1 --no-backup-if-mismatch --directory="$top/frameworks/base" --input=../../build/make/tools/finalization/frameworks_base.revert_resource_sdk_int.diff
Alex Buynytskyyf7a5e2f2023-04-14 11:50:04 -070014 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 Buynytskyybce1a512023-06-16 20:06:38 +000019 patch --strip=1 --no-backup-if-mismatch --directory="$top/frameworks/base" --input=../../build/make/tools/finalization/frameworks_base.apply_hack.diff
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +000020 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 Buynytskyy00a88ec2023-05-05 22:10:53 +000037 # Mark all versions "released".
38 sed -i 's/\(PLATFORM_VERSION_CODENAME\.[^[:space:]]*\) := [^[:space:]]*/\1 := REL/g' "$top/build/make/core/version_defaults.mk"
Alex Buynytskyyafddc072023-02-09 22:40:53 +000039
40 # cts
Alex Buynytskyy0fa58fa2023-02-13 20:22:10 +000041 echo "$FINAL_PLATFORM_VERSION" > "$top/cts/tests/tests/os/assets/platform_versions.txt"
Alex Buynytskyybdcef7b2023-02-19 18:40:44 +000042 if [ "$FINAL_PLATFORM_CODENAME" != "$CURRENT_PLATFORM_CODENAME" ]; then
43 echo "$CURRENT_PLATFORM_CODENAME" >> "./cts/tests/tests/os/assets/platform_versions.txt"
44 fi
Alex Buynytskyy0fa58fa2023-02-13 20:22:10 +000045 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 +000046
47 # system/sepolicy
Alex Buynytskyy0fa58fa2023-02-13 20:22:10 +000048 mkdir -p "$top/system/sepolicy/prebuilts/api/${FINAL_PLATFORM_SDK_VERSION}.0/"
49 cp -r "$top/system/sepolicy/public/" "$top/system/sepolicy/prebuilts/api/${FINAL_PLATFORM_SDK_VERSION}.0/"
50 cp -r "$top/system/sepolicy/private/" "$top/system/sepolicy/prebuilts/api/${FINAL_PLATFORM_SDK_VERSION}.0/"
Alex Buynytskyyafddc072023-02-09 22:40:53 +000051
52 # prebuilts/abi-dumps/ndk
Hsin-Yi Chenebce0d92023-04-06 15:04:03 +080053 mkdir -p "$top/prebuilts/abi-dumps/ndk/$FINAL_PLATFORM_SDK_VERSION"
54 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 +000055
Alex Buynytskyyafddc072023-02-09 22:40:53 +000056 # prebuilts/abi-dumps/platform
Hsin-Yi Chenebce0d92023-04-06 15:04:03 +080057 mkdir -p "$top/prebuilts/abi-dumps/platform/$FINAL_PLATFORM_SDK_VERSION"
58 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 -070059
Alex Buynytskyy01db2a92023-04-29 00:04:23 +000060 if [ "$FINAL_STATE" != "sdk" ] || [ "$FINAL_PLATFORM_CODENAME" == "$CURRENT_PLATFORM_CODENAME" ] ; then
Alex Buynytskyyf7a5e2f2023-04-14 11:50:04 -070061 # prebuilts/abi-dumps/vndk
62 mv "$top/prebuilts/abi-dumps/vndk/$CURRENT_PLATFORM_CODENAME" "$top/prebuilts/abi-dumps/vndk/$FINAL_PLATFORM_SDK_VERSION"
63 fi;
Alex Buynytskyyafddc072023-02-09 22:40:53 +000064}
65
66finalize_sdk_rel
67