diff --git a/finalize-aidl-vndk-sdk-resources.sh b/finalize-aidl-vndk-sdk-resources.sh new file mode 100755 index 0000000000..5d4fbe33d3 --- /dev/null +++ b/finalize-aidl-vndk-sdk-resources.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +set -ex + +function finalize_aidl_vndk_sdk_resources() { + local top="$(dirname "$0")"/../.. + + # default target to modify tree and build SDK + local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug" + + # This script is WIP and only finalizes part of the Android branch for release. + # The full process can be found at (INTERNAL) go/android-sdk-finalization. + + # VNDK snapshot (TODO) + # SDK snapshots (TODO) + # Update references in the codebase to new API version (TODO) + # ... + + AIDL_TRANSITIVE_FREEZE=true $m aidl-freeze-api create_reference_dumps + + # Generate ABI dumps + ANDROID_BUILD_TOP="$top" \ + out/host/linux-x86/bin/create_reference_dumps \ + -p aosp_arm64 --build-variant user + + # Update new versions of files. See update-vndk-list.sh (which requires envsetup.sh) + $m check-vndk-list || \ + { cp $top/out/soong/vndk/vndk.libraries.txt $top/build/make/target/product/gsi/current.txt; } + + # Finalize resources + "$top/frameworks/base/tools/aapt2/tools/finalize_res.py" \ + "$top/frameworks/base/core/res/res/values/public-staging.xml" \ + "$top/frameworks/base/core/res/res/values/public-final.xml" + + # SDK finalization + local sdk_codename='public static final int UPSIDE_DOWN_CAKE = CUR_DEVELOPMENT;' + local sdk_version='public static final int UPSIDE_DOWN_CAKE = 34;' + local sdk_build="$top/frameworks/base/core/java/android/os/Build.java" + + sed -i "s%$sdk_codename%$sdk_version%g" $sdk_build + + # Update the current.txt + $m update-api +} + +finalize_aidl_vndk_sdk_resources + diff --git a/finalize-step-1.sh b/finalize-step-1.sh index 857b47f667..e7234029b0 100755 --- a/finalize-step-1.sh +++ b/finalize-step-1.sh @@ -23,7 +23,7 @@ function finalize_step_1_main() { revert_local_changes # vndk etc finalization - source $top/build/make/finalize_branch_for_release.sh + source $top/build/make/finalize-aidl-vndk-sdk-resources.sh # move all changes to fina-step1 branch and commit with a robot message repo forall -c 'if [[ $(git status --short) ]]; then repo start fina-step1 ; git add -A . ; git commit -m FINALIZATION_STEP_1_SCRIPT_COMMIT -m WILL_BE_AUTOMATICALLY_REVERTED ; repo upload --cbr --no-verify -t -y . ; fi' diff --git a/finalize_branch_for_release.sh b/finalize_branch_for_release.sh index c5114fe1fd..b46390dffb 100755 --- a/finalize_branch_for_release.sh +++ b/finalize_branch_for_release.sh @@ -8,39 +8,8 @@ function finalize_main() { # default target to modify tree and build SDK local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug" - # This script is WIP and only finalizes part of the Android branch for release. - # The full process can be found at (INTERNAL) go/android-sdk-finalization. - - # VNDK snapshot (TODO) - # SDK snapshots (TODO) - # Update references in the codebase to new API version (TODO) - # ... - - AIDL_TRANSITIVE_FREEZE=true $m aidl-freeze-api create_reference_dumps - - # Generate ABI dumps - ANDROID_BUILD_TOP="$top" \ - out/host/linux-x86/bin/create_reference_dumps \ - -p aosp_arm64 --build-variant user - - # Update new versions of files. See update-vndk-list.sh (which requires envsetup.sh) - $m check-vndk-list || \ - { cp $top/out/soong/vndk/vndk.libraries.txt $top/build/make/target/product/gsi/current.txt; } - - # Finalize resources - "$top/frameworks/base/tools/aapt2/tools/finalize_res.py" \ - "$top/frameworks/base/core/res/res/values/public-staging.xml" \ - "$top/frameworks/base/core/res/res/values/public-final.xml" - - # SDK finalization - local sdk_codename='public static final int UPSIDE_DOWN_CAKE = CUR_DEVELOPMENT;' - local sdk_version='public static final int UPSIDE_DOWN_CAKE = 34;' - local sdk_build="$top/frameworks/base/core/java/android/os/Build.java" - - sed -i "s%$sdk_codename%$sdk_version%g" $sdk_build - - # Update the current.txt - $m update-api + # Build finalization artifacts. + source $top/build/make/finalize-aidl-vndk-sdk-resources.sh # This command tests: # The release state for AIDL.