| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/usr/bin/env bash
- # GNU prefix command for mac os support (gsed, gsplit)
- GP=
- if [[ "${OSTYPE}" =~ darwin* ]]; then
- GP=g
- fi
- # give the ARCH name and it returns an integer as build number increment
- # arg1: ARCH
- arch_to_build_number() {
- ARCH=$1
- if [[ ${ARCH} == armv7 ]]; then
- echo 1
- elif [[ ${ARCH} == arm64_v8a ]]; then
- echo 2
- elif [[ ${ARCH} == x86 ]]; then
- echo 3
- elif [[ ${ARCH} == x86_64 ]]; then
- echo 4
- else
- echo 0
- fi
- }
- # version to version code
- # arg1: APP_VERSION (e.g. v1.2.3 or v1.2.3-rc4)
- # arg2: ARCH
- apk_version_code() {
- APP_VERSION=$1
- ARCH=$2
- ARCH_BUILD_NUMBER=$(arch_to_build_number ${ARCH})
- VERSION_MAJOR=$(echo "${APP_VERSION}" | cut -f 2 -dv | cut -f1 -d.)
- VERSION_MINOR=$(echo "${APP_VERSION}" | cut -f 2 -d.)
- VERSION_FIX=$(echo "${APP_VERSION}" | cut -f 3 -d. | cut -f1 -d-)
- VERSION_NUMBER=$(echo "${APP_VERSION}" | ${GP}sed -r -e 's/^.*-rc([0-9]+)/\1/;t;d') # v.1.2.3-rc4 => 4, v1.2.3 => NULL
- APK_VERSION_CODE=$(printf "%02d%02d%02d%02d%01d" ${VERSION_MAJOR} ${VERSION_MINOR} ${VERSION_FIX} ${VERSION_NUMBER:-99} ${ARCH_BUILD_NUMBER})
- echo ${APK_VERSION_CODE}
- }
- # version to version str
- # arg1: APP_VERSION (e.g. v1.2.3 or v1.2.3-rc4)
- # returns: 1.2.3 or 1.2.3 RC4
- app_version_str() {
- APP_VERSION=$1
- echo ${APP_VERSION} | ${GP}sed -r 's/^v//; s/-(rc[0-9]+)/ \U\1/'
- }
|