From d0bbf98cc9e0992fe14a98079dc8447c68303237 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 11 Jan 2017 20:00:55 +0100 Subject: Update submodules on '5.6' in qt5 Change-Id: I5599c7876c25f21fb286013a2d8cccda5efebe02 Reviewed-by: Liang Qi Reviewed-by: Qt CI Bot --- qtbase | 2 +- qtserialport | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qtbase b/qtbase index 2cfcd8a6..10481cb9 160000 --- a/qtbase +++ b/qtbase @@ -1 +1 @@ -Subproject commit 2cfcd8a63e03783b76a36a9f96ff9c754cf06294 +Subproject commit 10481cb9e7066886b9e76a286b66e54a7192a05b diff --git a/qtserialport b/qtserialport index 45c51309..9e4b9d27 160000 --- a/qtserialport +++ b/qtserialport @@ -1 +1 @@ -Subproject commit 45c513093c9e7c40327e2c440a0321d99de36211 +Subproject commit 9e4b9d276f0de2d298da4ffdf6f15a9960402194 -- cgit v1.2.3 From 43c9b16100d575b02ce38ef100ee344a091444e7 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Sun, 15 Jan 2017 20:00:40 +0100 Subject: Update submodules on '5.6' in qt5 Change-Id: Ie8aa9fd84a4b85c280831771c261b621238c9bf4 Reviewed-by: Liang Qi --- qtdeclarative | 2 +- qtwebsockets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qtdeclarative b/qtdeclarative index 2c6bd456..600951e6 160000 --- a/qtdeclarative +++ b/qtdeclarative @@ -1 +1 @@ -Subproject commit 2c6bd4569878e9248311a7557661304e60a62878 +Subproject commit 600951e6d8a95e172439e347523aab1654c33135 diff --git a/qtwebsockets b/qtwebsockets index d24e9bec..d3032491 160000 --- a/qtwebsockets +++ b/qtwebsockets @@ -1 +1 @@ -Subproject commit d24e9bec079a5f8c66a372643148fb87bb9fb9f3 +Subproject commit d3032491971e1cee8f1171f16b8e6d3d2fa42eed -- cgit v1.2.3 From 07cc7ef71a32f2463bf7ce0d7be1736e65653dc9 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Sat, 21 Jan 2017 12:31:34 +0100 Subject: Update submodules on '5.6' in qt5 Change-Id: I57bbccaf30143e1ca8b56ca31a229b007111a34f Reviewed-by: Liang Qi Reviewed-by: Qt CI Bot --- qtbase | 2 +- qtdeclarative | 2 +- qtqa | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/qtbase b/qtbase index 10481cb9..88e6542e 160000 --- a/qtbase +++ b/qtbase @@ -1 +1 @@ -Subproject commit 10481cb9e7066886b9e76a286b66e54a7192a05b +Subproject commit 88e6542ecc0451df2f291db928c4d4d549aa0ca2 diff --git a/qtdeclarative b/qtdeclarative index 600951e6..533f9591 160000 --- a/qtdeclarative +++ b/qtdeclarative @@ -1 +1 @@ -Subproject commit 600951e6d8a95e172439e347523aab1654c33135 +Subproject commit 533f9591595c3933ac56a3b3f4422a8aa821cb00 diff --git a/qtqa b/qtqa index ecdfbf2e..583ae213 160000 --- a/qtqa +++ b/qtqa @@ -1 +1 @@ -Subproject commit ecdfbf2e7b3c01b06b0c1547516b85aa7c30e5c5 +Subproject commit 583ae213c1e34a93d01d1872c1a89cc4d7b48838 -- cgit v1.2.3 From eeea4e5c3a8e5adb78ad08fcbf6b133d98fa072c Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Wed, 7 Sep 2016 09:17:07 +0300 Subject: Add Android NDK/SDK to provision for macOS 10.10 and 10.11 Install latest Android sdk and ndk. It also runs update for SDK API level 18 Task-number: QTBUG-58370 Change-Id: I1bf8cb42dd3e753be27fa9fcd2c1ac8ccbdb87c3 Reviewed-by: Simon Hausmann --- coin/provisioning/common/01-macos-removethemall.sh | 49 ++++++++++ .../01-macos-removethemall.sh | 4 + coin/provisioning/qtci-osx-10.10-x86_64/android.sh | 102 +++++++++++++++++++++ .../qtci-osx-10.10-x86_64/crashreporter.sh | 2 + .../01-macos-removethemall.sh | 4 + coin/provisioning/qtci-osx-10.11-x86_64/android.sh | 102 +++++++++++++++++++++ .../qtci-osx-10.11-x86_64/crashreporter.sh | 2 + 7 files changed, 265 insertions(+) create mode 100644 coin/provisioning/common/01-macos-removethemall.sh create mode 100644 coin/provisioning/qtci-osx-10.10-x86_64/01-macos-removethemall.sh create mode 100644 coin/provisioning/qtci-osx-10.10-x86_64/android.sh create mode 100644 coin/provisioning/qtci-osx-10.10-x86_64/crashreporter.sh create mode 100644 coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh create mode 100644 coin/provisioning/qtci-osx-10.11-x86_64/android.sh create mode 100644 coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh diff --git a/coin/provisioning/common/01-macos-removethemall.sh b/coin/provisioning/common/01-macos-removethemall.sh new file mode 100644 index 00000000..f0e26480 --- /dev/null +++ b/coin/provisioning/common/01-macos-removethemall.sh @@ -0,0 +1,49 @@ +#!/bin/sh +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +function RemoveDir { + param=$1 + + if [ ! -d $param ] + then + echo "'$param' don't exists" + else + echo "Removing $param..." + sudo rm -fr $param + fi +} + +# Remove Android +param="/opt/android" +RemoveDir $param diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/01-macos-removethemall.sh b/coin/provisioning/qtci-osx-10.10-x86_64/01-macos-removethemall.sh new file mode 100644 index 00000000..6b56aac4 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.10-x86_64/01-macos-removethemall.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +source "$BASEDIR/../common/01-macos-removethemall.sh" + diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/android.sh b/coin/provisioning/qtci-osx-10.10-x86_64/android.sh new file mode 100644 index 00000000..559eabd6 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.10-x86_64/android.sh @@ -0,0 +1,102 @@ +#!/bin/sh + +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script install Android sdk and ndk. + +# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and - build-tools + +# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. +# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device. +# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6. + +set -e +targetFolder="/opt/android" +baseUrl="http://ci-files01-hki.ci.local/input/android" + +# SDK +sdkVersion="android-sdk_r24.4.1-macosx.zip" +sdkBuildToolsVersion="24.0.2" +sdkApiLevel="android-18" +sdkUrl="$baseUrl/$sdkVersion" +sdkSha1="85a9cccb0b1f9e6f1f616335c5f07107553840cd" +sdkTargetFile="$targetFolder/$sdkVersion" +sdkExtract="unzip $sdkTargetFile -d $targetFolder" +sdkFolderName="android-sdk-macosx" +sdkName="sdk" + +# NDK +ndkVersion="android-ndk-r10e-darwin-x86_64.zip" +ndkUrl="$baseUrl/$ndkVersion" +ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294" +ndkTargetFile="$targetFolder/$ndkVersion" +ndkExtract="unzip $ndkTargetFile -d $targetFolder" +ndkFolderName="android-ndk-r10e" +ndkName="ndk" + +function InstallAndroidPackage { + targetFolder=$1 + version=$2 + url=$3 + sha1=$4 + targetFile=$5 + extract=$6 + folderName=$7 + name=$8 + + sudo curl --retry 5 --retry-delay 10 --retry-max-time 60 $url -o $targetFile || echo "Failed to download '$url' multiple times" + shasum $targetFile |grep $sha1 || echo "shasum check failed !" + sudo chmod 755 $targetFile + sudo $extract || echo "Failed to extract $url" + sudo chown -R qt:wheel $targetFolder/$folderName + sudo mv $targetFolder/$folderName $targetFolder/$name || echo "Failed to rename $name" + sudo rm -fr $targetFolder/$version || echo "Failed to remove $targetFolder/$version" +} + +sudo mkdir $targetFolder +# Install Android SDK +echo "Installing Android SDK version $sdkVersion..." +InstallAndroidPackage $targetFolder $sdkVersion $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName + +# Install Android NDK +echo "Installing Android NDK version $ndkVersion..." +InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName + +# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools +echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." +echo "y" |$targetFolder/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update" + +# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18 +# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one. +echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/crashreporter.sh b/coin/provisioning/qtci-osx-10.10-x86_64/crashreporter.sh new file mode 100644 index 00000000..ba8dbdd3 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.10-x86_64/crashreporter.sh @@ -0,0 +1,2 @@ +#!/bin/sh +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh b/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh new file mode 100644 index 00000000..6b56aac4 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +source "$BASEDIR/../common/01-macos-removethemall.sh" + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh b/coin/provisioning/qtci-osx-10.11-x86_64/android.sh new file mode 100644 index 00000000..559eabd6 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/android.sh @@ -0,0 +1,102 @@ +#!/bin/sh + +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script install Android sdk and ndk. + +# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and - build-tools + +# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. +# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device. +# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6. + +set -e +targetFolder="/opt/android" +baseUrl="http://ci-files01-hki.ci.local/input/android" + +# SDK +sdkVersion="android-sdk_r24.4.1-macosx.zip" +sdkBuildToolsVersion="24.0.2" +sdkApiLevel="android-18" +sdkUrl="$baseUrl/$sdkVersion" +sdkSha1="85a9cccb0b1f9e6f1f616335c5f07107553840cd" +sdkTargetFile="$targetFolder/$sdkVersion" +sdkExtract="unzip $sdkTargetFile -d $targetFolder" +sdkFolderName="android-sdk-macosx" +sdkName="sdk" + +# NDK +ndkVersion="android-ndk-r10e-darwin-x86_64.zip" +ndkUrl="$baseUrl/$ndkVersion" +ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294" +ndkTargetFile="$targetFolder/$ndkVersion" +ndkExtract="unzip $ndkTargetFile -d $targetFolder" +ndkFolderName="android-ndk-r10e" +ndkName="ndk" + +function InstallAndroidPackage { + targetFolder=$1 + version=$2 + url=$3 + sha1=$4 + targetFile=$5 + extract=$6 + folderName=$7 + name=$8 + + sudo curl --retry 5 --retry-delay 10 --retry-max-time 60 $url -o $targetFile || echo "Failed to download '$url' multiple times" + shasum $targetFile |grep $sha1 || echo "shasum check failed !" + sudo chmod 755 $targetFile + sudo $extract || echo "Failed to extract $url" + sudo chown -R qt:wheel $targetFolder/$folderName + sudo mv $targetFolder/$folderName $targetFolder/$name || echo "Failed to rename $name" + sudo rm -fr $targetFolder/$version || echo "Failed to remove $targetFolder/$version" +} + +sudo mkdir $targetFolder +# Install Android SDK +echo "Installing Android SDK version $sdkVersion..." +InstallAndroidPackage $targetFolder $sdkVersion $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName + +# Install Android NDK +echo "Installing Android NDK version $ndkVersion..." +InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName + +# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools +echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." +echo "y" |$targetFolder/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update" + +# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18 +# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one. +echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh b/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh new file mode 100644 index 00000000..ba8dbdd3 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh @@ -0,0 +1,2 @@ +#!/bin/sh +defaults write com.apple.CrashReporter DialogType server -- cgit v1.2.3 From 3276f075b9649489d0d61fe624e3e8efac6e30ea Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Thu, 19 Jan 2017 11:49:24 +0200 Subject: Provision: Set bash_profile to read .bashrc The method (vmware tools) of launching a process inside a virtual machine results in the launch of a process that does not originate from a login shell. Therefore the CI system explicitly starts the agent with "bash -l -c" to enforce the invocation as login shell and thus execute settings from /etc/profile, ~/.bash_profile, etc. This brings the behavior of the system closer to what we see as developers. However the shell is a non-interactive shell, therefore ~/.bashrc is not read by default. On Linux systems such as RHEL, ~/.bash_profile is configured to still read ~/.bashrc. For consistency we apply the same logic to the macOS configurations. Change-Id: I417ecd7866bc4ae1b50beb14c19b456588b4050a Reviewed-by: Simon Hausmann --- coin/provisioning/qtci-osx-10.10-x86_64/003-bashprofile.sh | 5 +++++ coin/provisioning/qtci-osx-10.11-x86_64/003-bashprofile.sh | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 coin/provisioning/qtci-osx-10.10-x86_64/003-bashprofile.sh create mode 100644 coin/provisioning/qtci-osx-10.11-x86_64/003-bashprofile.sh diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/003-bashprofile.sh b/coin/provisioning/qtci-osx-10.10-x86_64/003-bashprofile.sh new file mode 100644 index 00000000..0fbe7628 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.10-x86_64/003-bashprofile.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/003-bashprofile.sh b/coin/provisioning/qtci-osx-10.11-x86_64/003-bashprofile.sh new file mode 100644 index 00000000..0fbe7628 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/003-bashprofile.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + -- cgit v1.2.3 From d4681ee6906f441d072df6e060599e6d7741d5a4 Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Wed, 25 Jan 2017 10:12:36 +0200 Subject: Android sdk and ndk to provisioning for Windows 7 Installs latest Android sdk and ndk. It also runs update for SDK API level 18, latest SDK- and platform- tools and build-tools version 23.0.3. Task-number: QTBUG-58369 Change-Id: Ib42f5149243fc5d262f6542e26726d1c8cbb2e8c Reviewed-by: Simon Hausmann --- .../common/01-windows_removethemall.ps1 | 5 ++ coin/provisioning/common/memorypershell.ps1 | 3 + .../qtci-windows-7-x86/02-memorypershell.ps1 | 1 + .../provisioning/qtci-windows-7-x86/06-android.ps1 | 65 ++++++++++++++++++++++ .../qtci-windows-7-x86/07-android_openssl.ps1 | 32 +++++++++++ .../qtci-windows-7-x86/android_openssl.ps1 | 32 ----------- 6 files changed, 106 insertions(+), 32 deletions(-) create mode 100644 coin/provisioning/common/memorypershell.ps1 create mode 100644 coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps1 create mode 100644 coin/provisioning/qtci-windows-7-x86/06-android.ps1 create mode 100644 coin/provisioning/qtci-windows-7-x86/07-android_openssl.ps1 delete mode 100644 coin/provisioning/qtci-windows-7-x86/android_openssl.ps1 diff --git a/coin/provisioning/common/01-windows_removethemall.ps1 b/coin/provisioning/common/01-windows_removethemall.ps1 index 8285ddae..9e64a34d 100644 --- a/coin/provisioning/common/01-windows_removethemall.ps1 +++ b/coin/provisioning/common/01-windows_removethemall.ps1 @@ -59,3 +59,8 @@ Function Remove-Path { Remove C:\Python27 Remove-Path C:\python27\scripts Remove-Path C:\python27 + +# Remove Android sdk and ndk +Remove C:\utils\android* +[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME",$null,"User") +[Environment]::SetEnvironmentVariable("ANDROID_SDK_HOME",$null,"User") diff --git a/coin/provisioning/common/memorypershell.ps1 b/coin/provisioning/common/memorypershell.ps1 new file mode 100644 index 00000000..2a8ebb68 --- /dev/null +++ b/coin/provisioning/common/memorypershell.ps1 @@ -0,0 +1,3 @@ +# This is needed e.g. for Android NDK installation for Windows 7 x86 +echo "Increase value of MaxMemoryPerShellMB to avoid 'out of memory' exception" +set-item wsman:localhost\Shell\MaxMemoryPerShellMB 2048 diff --git a/coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps1 b/coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps1 new file mode 100644 index 00000000..ba24f9d7 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\memorypershell.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/06-android.ps1 b/coin/provisioning/qtci-windows-7-x86/06-android.ps1 new file mode 100644 index 00000000..96be39a3 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/06-android.ps1 @@ -0,0 +1,65 @@ +. "$PSScriptRoot\..\common\helpers.ps1" + +# This script installs Android sdk and ndk +# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and build-tools version $sdkBuildToolsVersion +# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. +# E.g the bluetooth features that require Android 18 will disable themselves dynamically when running on Android 16 device. +# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6. + +# NDK +$ndkVersion = "r10e" +$ndkCachedUrl = "http://ci-files01-hki.ci.local/input/android/android-ndk-$ndkVersion-windows-x86.zip" +$ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86.zip" +$ndkChecksum = "1d0b8f2835be741f3048fb03c0a3e9f71ab7f357" +$ndkFolder = "c:\utils\android-ndk-$ndkVersion" +$ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" + +# SDK +$sdkVersion = "r24.4.1" +$sdkApi = "ANDROID_API_VERSION" +$sdkApiLevel = "android-18" +$sdkBuildToolsVersion = "23.0.3" +$sdkCachedUrl= "http://ci-files01-hki.ci.local/input/android/android-sdk_$sdkVersion-windows.zip" +$sdkOfficialUrl = "https://dl.google.com/android/android-sdk_$sdkVersion-windows.zip" +$sdkChecksum = "66b6a6433053c152b22bf8cab19c0f3fef4eba49" +$sdkFolder = "c:\utils\android-sdk-windows" +$sdkZip = "c:\Windows\Temp\android_sdk_$sdkVersion.zip" + +function Install($1, $2, $3, $4) { + $cacheUrl = $1 + $zip = $2 + $checksum = $3 + $offcialUrl = $4 + + Download $offcialUrl $cacheUrl $zip + Verify-Checksum $zip "$checksum" + Extract-Zip $zip C:\Utils +} + +function SdkUpdate ($1, $2) { + echo "Running Android SDK update for $1..." + cmd /c "echo y |$1\tools\android update sdk --no-ui --all --filter $2" +} + +echo "Installing Android ndk $nkdVersion" +Install $ndkCachedUrl $ndkZip $ndkChecksum $ndkOfficialUrl +echo "Set environment variable ANDROID_NDK_HOME=$ndkFolder" +[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME", $ndkFolder, "Machine") +echo "Set environment variable ANDROID_NDK_ROOT=$ndkFolder" +[Environment]::SetEnvironmentVariable("ANDROID_NDK_ROOT", $ndkFolder, "Machine") + +#echo "Installing Android sdk $sdkVersion" +Install $sdkCachedUrl $sdkZip $sdkChecksum $sdkOfficialUrl +echo "Set environment variable ANDROID_SDK_HOME=$sdkFolder" +[Environment]::SetEnvironmentVariable("ANDROID_SDK_HOME", $sdkFolder, "Machine") +echo "Set environment variable ANDROID_API_VERSION $sdkApiLevel" +[Environment]::SetEnvironmentVariable("ANDROID_API_VERSION", $sdkApiLevel, "Machine") + +# SDK update +SdkUpdate $sdkFolder $sdkApiLevel +SdkUpdate $sdkFolder tools +SdkUpdate $sdkFolder platform-tools +SdkUpdate $sdkFolder build-tools-$sdkBuildToolsVersion + +# kill adb. This process prevent's provisioning to continue +taskkill /im adb.exe /f diff --git a/coin/provisioning/qtci-windows-7-x86/07-android_openssl.ps1 b/coin/provisioning/qtci-windows-7-x86/07-android_openssl.ps1 new file mode 100644 index 00000000..a1b656c6 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/07-android_openssl.ps1 @@ -0,0 +1,32 @@ +. "$PSScriptRoot\..\common\helpers.ps1" + +# OpenSSL need to be configured from sources for Android build in windows 7 +# Msys need to be installed to target machine +# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html + +$version = "1.0.2j" +$zip = "c:\users\qt\downloads\openssl-$version.tar.gz" +$sha1 = "bdfbdb416942f666865fa48fe13c2d0e588df54f" +$destination = "C:\Utils\openssl-android-master" + +Download https://www.openssl.org/source/openssl-$version.tar.gz http://ci-files01-hki.ci.local/input/openssl/openssl-$version.tar.gz $zip +Verify-Checksum $zip $sha1 + +C:\Utils\sevenzip\7z.exe x $zip -oC:\Utils +C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-$version.tar -oC:\Utils +Remove-Item $destination -Force -Recurse +Rename-Item C:\Utils\openssl-$version $destination +Remove-Item $zip +Remove-Item C:\Utils\openssl-$version.tar + +set CC=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gcc +set AR=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ar +set ANDROID_DEV=C:\utils\android-ndk-r10e\platforms\android-18\arch-arm\usr +$env:Path = $env:Path + ";C:\msys\1.0\bin" + +echo "Configuring OpenSSL $version for Android..." +cd $destination +C:\msys\1.0\bin\bash.exe -c "perl Configure shared android" + +# Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed. +# C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h diff --git a/coin/provisioning/qtci-windows-7-x86/android_openssl.ps1 b/coin/provisioning/qtci-windows-7-x86/android_openssl.ps1 deleted file mode 100644 index a1b656c6..00000000 --- a/coin/provisioning/qtci-windows-7-x86/android_openssl.ps1 +++ /dev/null @@ -1,32 +0,0 @@ -. "$PSScriptRoot\..\common\helpers.ps1" - -# OpenSSL need to be configured from sources for Android build in windows 7 -# Msys need to be installed to target machine -# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html - -$version = "1.0.2j" -$zip = "c:\users\qt\downloads\openssl-$version.tar.gz" -$sha1 = "bdfbdb416942f666865fa48fe13c2d0e588df54f" -$destination = "C:\Utils\openssl-android-master" - -Download https://www.openssl.org/source/openssl-$version.tar.gz http://ci-files01-hki.ci.local/input/openssl/openssl-$version.tar.gz $zip -Verify-Checksum $zip $sha1 - -C:\Utils\sevenzip\7z.exe x $zip -oC:\Utils -C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-$version.tar -oC:\Utils -Remove-Item $destination -Force -Recurse -Rename-Item C:\Utils\openssl-$version $destination -Remove-Item $zip -Remove-Item C:\Utils\openssl-$version.tar - -set CC=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gcc -set AR=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ar -set ANDROID_DEV=C:\utils\android-ndk-r10e\platforms\android-18\arch-arm\usr -$env:Path = $env:Path + ";C:\msys\1.0\bin" - -echo "Configuring OpenSSL $version for Android..." -cd $destination -C:\msys\1.0\bin\bash.exe -c "perl Configure shared android" - -# Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed. -# C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h -- cgit v1.2.3