xref: /aosp_15_r20/build/make/tools/finalization/step-1.sh (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker#!/bin/bash
2*9e94795aSAndroid Build Coastguard Worker# Script to perform a 1st step of Android Finalization: API/SDK finalization, create CLs and upload to Gerrit.
3*9e94795aSAndroid Build Coastguard Worker
4*9e94795aSAndroid Build Coastguard Workerset -ex
5*9e94795aSAndroid Build Coastguard Worker
6*9e94795aSAndroid Build Coastguard Workerfunction commit_step_1_changes() {
7*9e94795aSAndroid Build Coastguard Worker    set +e
8*9e94795aSAndroid Build Coastguard Worker    repo forall -c '\
9*9e94795aSAndroid Build Coastguard Worker        if [[ $(git status --short) ]]; then
10*9e94795aSAndroid Build Coastguard Worker            repo start "'$repo_branch'" ;
11*9e94795aSAndroid Build Coastguard Worker            git add -A . ;
12*9e94795aSAndroid Build Coastguard Worker            git commit -m "$FINAL_PLATFORM_CODENAME is now $FINAL_PLATFORM_SDK_VERSION and extension version $FINAL_MAINLINE_EXTENSION" \
13*9e94795aSAndroid Build Coastguard Worker                       -m "Ignore-AOSP-First: $FINAL_PLATFORM_CODENAME Finalization
14*9e94795aSAndroid Build Coastguard WorkerBug: $FINAL_BUG_ID
15*9e94795aSAndroid Build Coastguard WorkerTest: build";
16*9e94795aSAndroid Build Coastguard Worker            repo upload '"$repo_upload_dry_run_arg"' --cbr --no-verify -o nokeycheck -t -y . ;
17*9e94795aSAndroid Build Coastguard Worker        fi'
18*9e94795aSAndroid Build Coastguard Worker}
19*9e94795aSAndroid Build Coastguard Worker
20*9e94795aSAndroid Build Coastguard Workerfunction finalize_step_1_main() {
21*9e94795aSAndroid Build Coastguard Worker    local top="$(dirname "$0")"/../../../..
22*9e94795aSAndroid Build Coastguard Worker    source $top/build/make/tools/finalization/environment.sh
23*9e94795aSAndroid Build Coastguard Worker    local repo_branch="$FINAL_PLATFORM_CODENAME-SDK-Finalization"
24*9e94795aSAndroid Build Coastguard Worker    source $top/build/make/tools/finalization/command-line-options.sh
25*9e94795aSAndroid Build Coastguard Worker
26*9e94795aSAndroid Build Coastguard Worker    source $top/build/make/tools/finalization/finalize-sdk-resources.sh
27*9e94795aSAndroid Build Coastguard Worker
28*9e94795aSAndroid Build Coastguard Worker    # move all changes to finalization branch/topic and upload to gerrit
29*9e94795aSAndroid Build Coastguard Worker    commit_step_1_changes
30*9e94795aSAndroid Build Coastguard Worker
31*9e94795aSAndroid Build Coastguard Worker    # build to confirm everything is OK
32*9e94795aSAndroid Build Coastguard Worker    local m_next="$top/build/soong/soong_ui.bash --make-mode TARGET_RELEASE=next TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
33*9e94795aSAndroid Build Coastguard Worker    $m_next
34*9e94795aSAndroid Build Coastguard Worker
35*9e94795aSAndroid Build Coastguard Worker    local m_fina="$top/build/soong/soong_ui.bash --make-mode TARGET_RELEASE=fina_1 TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
36*9e94795aSAndroid Build Coastguard Worker    $m_fina
37*9e94795aSAndroid Build Coastguard Worker}
38*9e94795aSAndroid Build Coastguard Worker
39*9e94795aSAndroid Build Coastguard Workerfinalize_step_1_main $@
40