diff options
author | Heikki Halmet <heikki.halmet@qt.io> | 2020-08-04 14:34:19 +0300 |
---|---|---|
committer | Heikki Halmet <heikki.halmet@qt.io> | 2020-09-08 14:52:22 +0300 |
commit | e3600116b3321001243767ddffb1846db3de2eb9 (patch) | |
tree | 1c4e1063b6237560f20b9253f268c8f984862655 /coin | |
parent | bfe83a7ea2a415f2067a163796149f6468eda710 (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.yaml | 2 | ||||
-rw-r--r-- | coin/platform_configs/qt5.yaml | 2 | ||||
-rw-r--r-- | coin/platform_configs/qtwebengine.yaml | 2 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/android_linux.sh | 27 | ||||
-rw-r--r-- | coin/provisioning/common/windows/android-openssl.ps1 | 2 | ||||
-rw-r--r-- | coin/provisioning/common/windows/android.ps1 | 23 | ||||
-rwxr-xr-x | coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh | 20 | ||||
-rwxr-xr-x | coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh | 13 |
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 |