• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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