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>
This commit is contained in:
Heikki Halmet
2020-08-04 14:34:19 +03:00
parent bfe83a7ea2
commit e3600116b3
8 changed files with 50 additions and 41 deletions

View File

@@ -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'

View File

@@ -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'

View File

@@ -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'

View File

@@ -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

View File

@@ -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

View File

@@ -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'

View File

@@ -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

View File

@@ -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