Android: provision Gradle dependencies for all hosts

Add scripts to download and cache Gradle distribution
and its dependencies during provisioning for all hosts
so that Qt builds don't have to fetch them on every Qt
module and test build.

Add those scripts to various RHEL, Ubuntu, macos and
windows configurations after Android has been run
since the Gradle build for Android requires Android
SDK.

Prior to this, to avoid having a full Gradle project added
to the coin tree, some Gradle files were being fetched from
qtbase using a commit sha, that was aiming to reduce the
amount of changes each time, but that's a bit awkward since
the files here and this commit sha needs to be updated
anyways. So just have a full Gradle project here and update
its values whenever we bump Gradle or Android supported
versions.

Task-number: QTBUG-132915
Change-Id: Id4876ad90a09cdaada5b96c457820c691e2be426
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
This commit is contained in:
Assam Boudjelthia
2026-04-09 14:48:14 +03:00
parent 7b4a4cf35b
commit 23b2017121
57 changed files with 743 additions and 141 deletions

View File

@@ -0,0 +1,14 @@
# Android Gradle Project for COIN
Minimal Android project used at provisioning time to pre-cache the Gradle
dependencies. This avoids network downloads during Qt builds and tests
which use `--offline`.
Caches dependencies for:
- `com.android.application`: used by Qt test/example APK builds
- `com.android.library`: used by Qt JAR builds
- `org.jetbrains.kotlin.android`: used by some Qt modules
- AndroidX: used by app builds
These files should be updated each time Qt bumps the supported Android or
Gradle versions.