#!/bin/bash # Continuous Integration script for *-finalization-2 branches. # Reverts previous finalization script commits and runs local build. set -ex function revert_to_unfinalized_state() { declare -a projects=( "build/make/" "build/soong/" "cts/" "frameworks/base/" "frameworks/hardware/interfaces/" "frameworks/libs/modules-utils/" "frameworks/libs/net/" "hardware/interfaces/" "libcore/" "packages/services/Car/" "platform_testing/" "prebuilts/abi-dumps/ndk/" "prebuilts/abi-dumps/platform/" "prebuilts/abi-dumps/vndk/" "system/hardware/interfaces/" "system/tools/aidl/" "tools/platform-compat" "device/generic/car" "development" ) for project in "${projects[@]}" do local git_path="$top/$project" echo "Reverting: $git_path" baselineHash="$(git -C $git_path log --format=%H --no-merges --max-count=1 --grep ^FINALIZATION_STEP_1_BASELINE_COMMIT)" ; if [[ $baselineHash ]]; then previousHash="$(git -C $git_path log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT $baselineHash..HEAD | tr \n \040)" ; else previousHash="$(git -C $git_path log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT | tr \n \040)" ; fi ; if [[ $previousHash ]]; then git -C $git_path revert --no-commit --strategy=ort --strategy-option=ours $previousHash ; fi ; done } function finalize_step_2_main() { local top="$(dirname "$0")"/../.. local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug" revert_to_unfinalized_state # vndk etc finalization source $top/build/make/finalize-aidl-vndk-sdk-resources.sh # prebuilts etc source $top/build/make/finalize-sdk-rel.sh # build to confirm everything is OK AIDL_FROZEN_REL=true $m } finalize_step_2_main