aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorHeikki Halmet <heikki.halmet@qt.io>2020-08-04 14:34:19 +0300
committerHeikki Halmet <heikki.halmet@qt.io>2020-09-08 14:52:22 +0300
commite3600116b3321001243767ddffb1846db3de2eb9 (patch)
tree1c4e1063b6237560f20b9253f268c8f984862655 /coin
parentbfe83a7ea2a415f2067a163796149f6468eda710 (diff)
Provisioning: Update Android ndk and build tools
Task-number: QTQAINFRA-3846 Change-Id: I5d3c0efce86e3b8bc3c6070ed4a9e438647bb955 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'coin')
-rw-r--r--coin/platform_configs/default.yaml2
-rw-r--r--coin/platform_configs/qt5.yaml2
-rw-r--r--coin/platform_configs/qtwebengine.yaml2
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh27
-rw-r--r--coin/provisioning/common/windows/android-openssl.ps12
-rw-r--r--coin/provisioning/common/windows/android.ps123
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-android.sh20
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/30-android.sh13
8 files changed, 50 insertions, 41 deletions
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml
index 36ff222e..45b2c437 100644
--- a/coin/platform_configs/default.yaml
+++ b/coin/platform_configs/default.yaml
@@ -55,7 +55,7 @@ Configurations:
Compiler: 'GCC'
Target compiler: 'Clang'
Features: ['DisableTests', 'UseLegacyInstructions']
- Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r21d -android-ndk-host linux-x86_64'
-
Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
Target os: 'QEMU'
diff --git a/coin/platform_configs/qt5.yaml b/coin/platform_configs/qt5.yaml
index a0864d50..d1e6cba9 100644
--- a/coin/platform_configs/qt5.yaml
+++ b/coin/platform_configs/qt5.yaml
@@ -15,4 +15,4 @@ Configurations:
Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
Target compiler: 'Clang'
Features: ['DisableTests', 'UseLegacyInstructions']
- Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r21d'
diff --git a/coin/platform_configs/qtwebengine.yaml b/coin/platform_configs/qtwebengine.yaml
index 3f266f48..f938bc94 100644
--- a/coin/platform_configs/qtwebengine.yaml
+++ b/coin/platform_configs/qtwebengine.yaml
@@ -45,7 +45,7 @@ Configurations:
Compiler: 'GCC'
Target compiler: 'Clang'
Features: ['DisableTests', 'UseLegacyInstructions']
- Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r21d -android-ndk-host linux-x86_64'
-
Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
Target os: 'QEMU'
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index ca9110b8..4cb62060 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -51,15 +51,15 @@ sdkTargetFolder="$targetFolder/sdk"
basePath="http://ci-files01-hki.intra.qt.io/input/android"
-toolsVersion="r26.1.1"
-toolsFile="sdk-tools-linux-4333796.zip"
-ndkVersion="r20"
+toolsVersion="2.1"
+toolsFile="commandlinetools-linux-6609375_latest.zip"
+ndkVersion="r21d"
ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip"
sdkBuildToolsVersion="28.0.3"
sdkApiLevel="android-28"
-toolsSha1="8c7c28554a32318461802c1291d76fccfafde054"
-ndkSha1="8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff"
+toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
+ndkSha1="bcf4023eb8cb6976a4c7cff0a8a8f145f162bf4d"
toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile"
@@ -88,17 +88,20 @@ sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
# But don't let the pipeline hide sdkmanager failures.
set -o pipefail
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1)
proxy_port=$(echo "$proxy" | cut -d':' -f3)
- echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
--no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval $sdkmanager_no_progress_bar_cmd
else
- echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval $sdkmanager_no_progress_bar_cmd
fi
@@ -118,16 +121,16 @@ echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt
-cd "$sdkTargetFolder/tools/bin"
-./sdkmanager --install "emulator" \
+cd "$sdkTargetFolder/cmdline-tools/tools/bin"
+./sdkmanager --install "emulator" --sdk_root=$sdkTargetFolder \
| eval $sdkmanager_no_progress_bar_cmd
-echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86" \
+echo "y" | ./sdkmanager --install "system-images;android-23;google_apis;x86" \
| eval $sdkmanager_no_progress_bar_cmd
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
-echo "no" | ./avdmanager create avd -n x86emulator -k "system-images;android-21;google_apis;x86" -c 2048M -f
+echo "no" | ./avdmanager create avd -n x86emulator -k "system-images;android-23;google_apis;x86" -c 2048M -f
# Purely informative, show the list of avd devices
./avdmanager list avd
diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1
index 010e7e76..acb68a3b 100644
--- a/coin/provisioning/common/windows/android-openssl.ps1
+++ b/coin/provisioning/common/windows/android-openssl.ps1
@@ -51,7 +51,7 @@ $sha1 = "b213a293f2127ec3e323fb3cfc0c9807664fd997"
$destination = "C:\Utils\openssl-android-master"
# msys unix style paths
-$ndkPath = "/c/Utils/Android/android-ndk-r20"
+$ndkPath = "/c/Utils/Android/android-ndk-r21d"
$openssl_path = "/c/Utils/openssl-android-master"
$cc_path = "$ndkPath/toolchains/llvm/prebuilt/windows-x86_64/bin"
Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip
diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1
index 2cf18cdc..f95a6f88 100644
--- a/coin/provisioning/common/windows/android.ps1
+++ b/coin/provisioning/common/windows/android.ps1
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -40,23 +40,24 @@
# That's why we need to use Andoid-21 API version in Qt 5.9.
# NDK
-$ndkVersion = "r20"
+$ndkVersion = "r21d"
$ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86_64.zip"
$ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86_64.zip"
-$ndkChecksum = "36e1dc77fad08ad2498fb94b13ad8caf26bbd9df"
+$ndkChecksum = "99175ce1210258f2280568cd340e0666c69955c7"
$ndkFolder = "c:\Utils\Android\android-ndk-$ndkVersion"
$ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip"
# SDK
-$toolsVersion = "26.1.1"
-$toolsFile = "sdk-tools-windows-4333796.zip"
+$toolsVersion = "2.1"
+$toolsFile = "commandlinetools-win-6609375_latest.zip"
$sdkApi = "ANDROID_API_VERSION"
$sdkApiLevel = "android-28"
$sdkBuildToolsVersion = "28.0.3"
$toolsCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\$toolsFile"
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
-$toolsChecksum = "aa298b5346ee0d63940d13609fe6bec621384510"
-$toolsFolder = "c:\Utils\Android\tools"
+$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
+$toolsFolder = "c:\Utils\Android\cmdline-tools"
+
$sdkZip = "c:\Windows\Temp\$toolsFile"
function Install($1, $2, $3, $4) {
@@ -76,7 +77,9 @@ Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolder
Set-EnvironmentVariable "ANDROID_NDK_ROOT" $ndkFolder
Install $toolsCachedUrl $sdkZip $toolsChecksum $sdkOfficialUrl
-Set-EnvironmentVariable "ANDROID_SDK_HOME" C:\Utils\Android
+New-Item -ItemType directory -Path $toolsFolder
+Move-Item -Path C:\Utils\Android\tools -Destination $toolsFolder\
+Set-EnvironmentVariable "ANDROID_SDK_HOME" "C:\Utils\Anrdoid"
Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel
if (IsProxyEnabled) {
@@ -98,8 +101,8 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8
# Attempt to catch all errors of sdkmanager.bat, even when hidden behind a pipeline.
$ErrorActionPreference = "Stop"
-cd $toolsFolder\bin\
-$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion"
+cd $toolsFolder\tools\bin\
+$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion", "--sdk_root=C:\Utils\Android"
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args | Out-Null'
Invoke-Expression $command
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses'
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
index bc123111..094dc356 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -37,7 +37,7 @@
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
-set -e
+set -ex
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
@@ -47,11 +47,11 @@ sdkTargetFolder="$targetFolder/sdk"
basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android"
-toolsVersion="r26.1.1"
+toolsVersion="2.1"
# toolsFile dertermines tools version
-toolsFile="sdk-tools-darwin-4333796.zip"
+toolsFile="commandlinetools-mac-6609375_latest.zip"
-ndkVersion="r20"
+ndkVersion="r21d"
ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
sdkBuildToolsVersion="28.0.3"
# this is compile sdk version
@@ -68,14 +68,14 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
-# Stop the sdkmanager from printing thousands of lines of #hashmarks.
-# Run the following command under `eval` or `sh -c` so that the shell properly splits it.
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
-# But don't let the pipeline hide sdkmanager failures.
-set -o pipefail
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
-(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval $sdkmanager_no_progress_bar_cmd
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
index aa0935f0..094dc356 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -47,11 +47,11 @@ sdkTargetFolder="$targetFolder/sdk"
basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android"
-toolsVersion="r26.1.1"
+toolsVersion="2.1"
# toolsFile dertermines tools version
-toolsFile="sdk-tools-darwin-4333796.zip"
+toolsFile="commandlinetools-mac-6609375_latest.zip"
-ndkVersion="r20"
+ndkVersion="r21d"
ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
sdkBuildToolsVersion="28.0.3"
# this is compile sdk version
@@ -71,8 +71,11 @@ sudo chown -R qt:wheel "$targetFolder"
# Run the following command under `eval` or `sh -c` so that the shell properly splits it
sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
-(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval $sdkmanager_no_progress_bar_cmd