#!/bin/bash -e # Copyright (C) 2023 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. source $(cd $(dirname $BASH_SOURCE) &> /dev/null && pwd)/../shell_utils.sh require_top function print_help() { echo -e "overrideflags is used to set default value for local build." echo -e "\nOptions:" echo -e "\t--release-config \tPath to release configuration directory. Required" echo -e "\t--no-edit \tIf present, skip editing flag value file." echo -e "\t-h/--help \tShow this help." } function main() { while (($# > 0)); do case $1 in --release-config) if [[ $# -le 1 ]]; then echo "--release-config requires a path" return 1 fi local release_config_dir="$2" shift 2 ;; --no-edit) local no_edit="true" shift 1 ;; -h|--help) print_help return ;; *) echo "$1 is unrecognized" print_help return 1 ;; esac done case $(uname -s) in Darwin) local host_arch=darwin-x86 ;; Linux) local host_arch=linux-x86 ;; *) >&2 echo Unknown host $(uname -s) return ;; esac if [[ -z "${release_config_dir}" ]]; then echo "Please provide release configuration path by --release-config" exit 1 elif [ ! -d "${release_config_dir}" ]; then echo "${release_config_dir} is an invalid directory" exit 1 fi local T="$(gettop)" local aconfig_dir="${T}"/build/make/tools/aconfig/ local overrideflag_py="${aconfig_dir}"/overrideflags/overrideflags.py local overridefile="${release_config_dir}/aconfig/override_values.textproto" # Edit override file if [[ -z "${no_edit}" ]]; then editor="${EDITOR:-$(which vim)}" eval "${editor} ${overridefile}" if [ $? -ne 0 ]; then echo "Fail to set override values" return 1 fi fi ${T}/prebuilts/build-tools/${host_arch}/bin/py3-cmd -u "${overrideflag_py}" \ --overrides "${overridefile}" \ --out "${release_config_dir}/aconfig" } main "$@"