#!/bin/bash # # This script generates the apex manifest version number (which is also used for # the outer aab/jar object's version available to PackageManager). # # That version is limited to INT_MAX # Strategy: # if(local eng build) # version = 2147480000 # else # version = numeric part of build number # # 2147480000 is chosen as being a value that can install over any expected build # server build number that is still a little smaller than INT_MAX to leave room # for maneuvering default_eng_build_number=2147480000 build_number=$(cat $OUT_DIR/soong/build_number.txt) if [[ "$build_number" == "eng."* ]]; then numeric_build_number=$default_eng_build_number else numeric_build_number=$(cat $OUT_DIR/soong/build_number.txt | tr -d -c 0-9) if [[ -z "$numeric_build_number" ]]; then numeric_build_number=$default_eng_build_number fi if ((numeric_build_number < 1)); then numeric_build_number=1 fi if ((numeric_build_number >= default_eng_build_number)); then numeric_build_number=$((default_eng_build_number-1)) fi fi cat $1 | sed -E "s/\{BUILD_NUMBER\}/$numeric_build_number/g" | sed -E "s/\{BUILD_ID\}/$build_number/g" > $2