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