Description
Describe the bug
When building the Android version of Jamulus, Jamulus.pro
currently relies on the git commit count to generate the ANDROID_VERSION_CODE
.
Currently, the | wc -l
used to generate the count limits the build to running on a Linux-based machine. This command fails on Windows (hence #3083).
The git log --oneline
introduces a dependency on
git
being installed- the build being run against the
git
repo rather than the source tarball
To Reproduce
- Working example using git repo and Linux:
git checkout main
# Switched to branch 'main'
# Your branch is up-to-date with 'origin/main'.
qmake Jamulus.pro -spec android-clang ANDROID_ABIS="armeabi-v7a arm64-v8a x86 x86_64"
# Project MESSAGE: building version "3.9.1dev-f47b6a7a" (intermediate in git repository)
# Project MESSAGE: Setting ANDROID_VERSION_NAME=3.9.1dev-f47b6a7a ANDROID_VERSION_CODE=5471
where 5471
is the result of git log --oneline | wc -l
.
- Failure case no. 1
- Use the source tarball on Linux
- Run the qmake command as above
- The
git log --oneline
will fail, causing theqmake
to error out
- Failure case no. 2
- Use the git repo on a Windows machine
- Run the qmake command as above
- The
wc -l
command will fail, causing theqmake
to error out
Expected behavior
The ANDROID_VERSION_CODE
is used by Google Play Store to distinguish versions of an application. Each version should have a higher number than any it is intended to supercede, hence:
- any build intended to be distributed via Google Play Store should be able to be built from any supported build platform
- other versions should also be able to be built on any supported build platform.
From #3083 (comment)
The VERSION variable should be independent of a git install if possible
That is, any environment Android Qt build environment should be able to build Jamulus, either for Google Play Store or not, from the source tarball.
Metadata
Metadata
Assignees
Type
Projects
Status