1#!/bin/bash 2# 3# This script generates the apex manifest version number (which is also used for 4# the outer aab/jar object's version available to PackageManager). 5# 6# That version is limited to INT_MAX 7# Strategy: 8# if(local eng build) 9# version = 2147480000 10# else 11# version = numeric part of build number 12# 13# 2147480000 is chosen as being a value that can install over any expected build 14# server build number that is still a little smaller than INT_MAX to leave room 15# for maneuvering 16 17default_eng_build_number=2147480000 18 19build_number=$(cat $OUT_DIR/soong/build_number.txt) 20if [[ "$build_number" == "eng."* ]]; then 21 numeric_build_number=$default_eng_build_number 22else 23 numeric_build_number=$(cat $OUT_DIR/soong/build_number.txt | tr -d -c 0-9) 24 if [[ -z "$numeric_build_number" ]]; then 25 numeric_build_number=$default_eng_build_number 26 fi 27 if ((numeric_build_number < 1)); then 28 numeric_build_number=1 29 fi 30 if ((numeric_build_number >= default_eng_build_number)); then 31 numeric_build_number=$((default_eng_build_number-1)) 32 fi 33fi 34 35cat $1 | sed -E "s/\{BUILD_NUMBER\}/$numeric_build_number/g" | sed -E "s/\{BUILD_ID\}/$build_number/g" > $2 36 37