diff --git a/aosp-merger/aosp-merger.sh b/aosp-merger/aosp-merger.sh new file mode 100755 index 0000000..9dfe22c --- /dev/null +++ b/aosp-merger/aosp-merger.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# +# SPDX-FileCopyrightText: 2022 The Calyx Institute +# +# SPDX-License-Identifier: Apache-2.0 +# +# merge-aosp: +# +# Merge the latest AOSP release based on variables +# +# +############################################################################## + + +### SET ### + +# use bash strict mode +set -euo pipefail + + +### TRAPS ### + +# trap signals for clean exit +trap 'exit $?' EXIT +trap 'error_m interrupted!' SIGINT + +### CONSTANTS ### +readonly script_path="$(cd "$(dirname "$0")";pwd -P)" +readonly vars_path="${script_path}/../vars" + +source "${vars_path}/common" + +## HELP MESSAGE (USAGE INFO) +# TODO + +### FUNCTIONS ### + +merge_aosp_forks() { + "${script_path}"/merge-aosp-forks.sh merge "${prev_aosp_tag}" "${aosp_tag}" +} + +squash_aosp_merge() { + "${script_path}"/squash.sh merge "${prev_aosp_tag}" "${aosp_tag}" +} + +# error message +# ARG1: error message for STDERR +# ARG2: error status +error_m() { + echo "ERROR: ${1:-'failed.'}" 1>&2 + return "${2:-1}" +} + +# print help message. +help_message() { + echo "${help_message:-'No help available.'}" +} + +main() { + merge_aosp_forks + read -p "Waiting for conflict resolution before squashing. Press enter when done." + read -p "Once more, just to be safe" + squash_aosp_merge + echo "TODO: Implement gerrit upload" + echo "Don't forget to update the manifest!" +} + +### RUN PROGRAM ### + +main "${@}" + + +##