generate-version-details.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/usr/bin/env bash
  2. set -e
  3. CURRENT_COMMIT=$(git rev-parse --short HEAD)
  4. echo "CURRENT_COMMIT: ${CURRENT_COMMIT}"
  5. DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
  6. if [[ -n ${CI_TAG} ]]; then
  7. echo "Building release from tag"
  8. APP_VERSION_NAME=$(cat ${DIR}/../../RELEASE_NAME)
  9. # v1.2.3 Release Name -> 1.2.3 Release Name
  10. # v1.2.3-rc4 Release Name -> 1.2.3 RC4 Release Name
  11. APP_VERSION_STR="$(app_version_str ${CI_TAG}) - ${APP_VERSION_NAME}"
  12. # v1.2.3-rc4 arm7 -> 0102030400
  13. APK_VERSION_CODE=$(apk_version_code "${CI_TAG}" "${ARCH}")
  14. # ^-- SC2155: Declare and assign separately to avoid masking return values.
  15. export APP_NAME="QField"
  16. export APP_PACKAGE_NAME="qfield"
  17. export APP_ICON="qfield_logo"
  18. export APP_VERSION="${CI_TAG}" # v1.2.3 or v1.2.3-rc4
  19. export APP_VERSION_STR
  20. export APK_VERSION_CODE
  21. elif [[ ${CI_PULL_REQUEST} = false ]]; then
  22. echo "Building dev (nightly)"
  23. ARCH_NUMBER=$(arch_to_build_number ${ARCH})
  24. # get numbers of masters commits
  25. CUSTOM_APP_PACKAGE_NAME=$(echo ${NIGHTLY_PACKAGE_NAME} | awk '{print $NF}' FS=.)
  26. export APP_NAME="${CUSTOM_APP_NAME:-QField Dev}"
  27. export APP_PACKAGE_NAME="${CUSTOM_APP_PACKAGE_NAME:-qfield_dev}"
  28. export APP_ICON="qfield_logo_beta"
  29. export APP_VERSION=""
  30. # take 0 + (1940000 + number of CI runs) + arch
  31. # 01940000 has no meaning - it's just where we had to start
  32. # max = 2100000000
  33. export APP_VERSION_STR="${CI_BRANCH}-dev"
  34. if [[ -n ${CUSTOM_APP_PACKAGE_NAME} ]]; then
  35. export APK_VERSION_CODE="${CI_RUN_NUMBER}${ARCH_NUMBER}"
  36. else
  37. export APK_VERSION_CODE=0$((1940000+CI_RUN_NUMBER))${ARCH_NUMBER}
  38. fi
  39. else
  40. echo "Building pull request beta"
  41. export APP_NAME="QField Beta ${CI_PULL_REQUEST_NUMBER}"
  42. export APP_PACKAGE_NAME="qfield_beta"
  43. export APP_ICON="qfield_logo_pr"
  44. export APP_VERSION=""
  45. export APP_VERSION_STR="PR${CI_PULL_REQUEST_NUMBER}"
  46. export APK_VERSION_CODE="1"
  47. fi
  48. echo "Arch number: ${ARCH_NUMBER}"
  49. echo "APP_NAME: ${APP_NAME}"
  50. echo "APP_PACKAGE_NAME: ${APP_PACKAGE_NAME}"
  51. echo "APP_ICON: ${APP_ICON}"
  52. echo "APP_VERSION: ${APP_VERSION}"
  53. echo "APP_VERSION_STR: ${APP_VERSION_STR}"
  54. echo "ANDROID_NDK_PLATFORM : ${ANDROID_NDK_PLATFORM}"
  55. echo "APK_VERSION_CODE: ${APK_VERSION_CODE}"
  56. # safe guard to avoid too big number
  57. # remove leading 0 to avoid var recognized as an octal number
  58. if [[ ( $(echo "${APK_VERSION_CODE}" | sed 's/^0*//') -gt 2000000000 ) ]] ; then
  59. echo "APK_VERSION_CODE is getting too big!"
  60. exit 1
  61. fi