From 370fdfcefdee8b5f4103caeb199272b3b0b957a2 Mon Sep 17 00:00:00 2001 From: Heikki Halmet Date: Wed, 19 Apr 2017 12:23:20 +0300 Subject: Provisioning: MSVC 2017 Build Tools MSVC 2017 build tools are pre-provisioned to windows 10 templates Change-Id: I98d857101ad209acd6eea9f821e367e514359d8c Reviewed-by: Simon Hausmann --- coin/platform_configs/default.txt | 4 +- coin/platform_configs/qt5.txt | 6 +-- .../06-msvc_2017_build_tools.ps1 | 48 ++++++++++++++++++++++ .../06-msvc_2017_build_tools.ps1 | 48 ++++++++++++++++++++++ 4 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1 create mode 100644 coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps1 (limited to 'coin') diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index ae173eb7..917a8323 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -6,8 +6,8 @@ qtci-windows-8-x86-2 MSVC2013 qtci-windows-8-x86_64-2 MSVC2013 Packaging DebugAndRelease Release OpenGLDynamic qtci-windows-7-x86-2 MSVC2010 Release DeveloperBuild QtNamespace QtLibInfix OpenGLDynamic qtci-windows-7-x86-2 Mingw49 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-10-x86-4 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-10-x86_64-5 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic +qtci-windows-10-x86-5 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic +qtci-windows-10-x86_64-6 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic qtci-windows-8-x86_64-2 Windows_Phone_8_1 armv4 MSVC2013 Packaging DebugAndRelease Release DisableTests qtci-windows-8-x86_64-2 WinRT_8_1 MSVC2013 Packaging DebugAndRelease Release DisableTests qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index 0494e964..77e98693 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -1,8 +1,8 @@ Template Target OS Target arch Compiler Features --------------------------- ------------------- ----------- ----------- ----------------------------------------------------------------------------------------------- qtci-windows-8-x86_64-2 Windows_Phone_8_1 x86 MSVC2013 Packaging DebugAndRelease Release DisableTests -qtci-windows-10-x86_64-5 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release DisableTests -qtci-windows-10-x86_64-5 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-windows-10-x86_64-6 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-windows-10-x86_64-6 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests qtci-linux-RHEL-6.6-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker qtci-windows-7-x86-2 Android_ANY armv7 Mingw49 Packaging Release DisableTests OpenGLES2 qtci-windows-7-x86-2 Android_ANY x86 Mingw49 Packaging Release DisableTests OpenGLES2 @@ -12,6 +12,6 @@ qtci-linux-RHEL-6.6-x86_64 QNX_660 x86 GCC Packagin qtci-windows-7-x86-2 QNX_660 armv7 Mingw49 Packaging Release DisableTests OpenGLES2 qtci-windows-7-x86-2 QNX_660 x86 Mingw49 Packaging Release DisableTests OpenGLES2 # target arch is used here only for documentation the value is ignored -qtci-windows-10-x86_64-5 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-windows-10-x86_64-6 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests qtci-osx-10.11-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static diff --git a/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1 new file mode 100644 index 00000000..556a352f --- /dev/null +++ b/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1 @@ -0,0 +1,48 @@ +############################################################################ +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts 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$ +## +############################################################################# +. "$PSScriptRoot\..\common\helpers.ps1" + +# This script will install Visual Studio 2017 Build Tools +# https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017 + +$version = "2017_version_15.0" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/mu_build_tools_for_visual_studio_" + $version + "_x86_x64_10254482.exe" +$sha1 = "a31e099e5114fef80a21654689e6864afc544a16" +$msvcPackage = "C:\Windows\Temp\$version.exe" + +Download $url_cache $url_cache $msvcPackage +Verify-Checksum $msvcPackage $sha1 +cmd /c "$msvcPackage --all --passive --wait" +echo "Cleaning $msvcPackage.." +Remove-Item -Recurse -Force "$msvcPackage" +echo "Visual Studio Build Tools = $version" >> ~\versions.txt diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps1 new file mode 100644 index 00000000..556a352f --- /dev/null +++ b/coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps1 @@ -0,0 +1,48 @@ +############################################################################ +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts 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$ +## +############################################################################# +. "$PSScriptRoot\..\common\helpers.ps1" + +# This script will install Visual Studio 2017 Build Tools +# https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017 + +$version = "2017_version_15.0" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/mu_build_tools_for_visual_studio_" + $version + "_x86_x64_10254482.exe" +$sha1 = "a31e099e5114fef80a21654689e6864afc544a16" +$msvcPackage = "C:\Windows\Temp\$version.exe" + +Download $url_cache $url_cache $msvcPackage +Verify-Checksum $msvcPackage $sha1 +cmd /c "$msvcPackage --all --passive --wait" +echo "Cleaning $msvcPackage.." +Remove-Item -Recurse -Force "$msvcPackage" +echo "Visual Studio Build Tools = $version" >> ~\versions.txt -- cgit v1.2.3 From 2ea45a59a72402ba65cb484020576aa12a610038 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 24 Apr 2017 10:34:21 +0200 Subject: Improve Android SDK/NDK installation on macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove unused installation on macOS 10.10 as we only build packages on 10.11. * Replace the use of the ~1GB downloads of the zip files with a direct extraction via NFS. This is more resilient to flakyness in the network connection. Change-Id: I1bfe5bbf00a6614233b517801daf130069094ec9 Reviewed-by: Tony Sarajärvi --- coin/provisioning/qtci-osx-10.10-x86_64/android.sh | 102 --------------------- coin/provisioning/qtci-osx-10.11-x86_64/android.sh | 31 ++----- 2 files changed, 10 insertions(+), 123 deletions(-) delete mode 100644 coin/provisioning/qtci-osx-10.10-x86_64/android.sh (limited to 'coin') diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/android.sh b/coin/provisioning/qtci-osx-10.10-x86_64/android.sh deleted file mode 100644 index 559eabd6..00000000 --- a/coin/provisioning/qtci-osx-10.10-x86_64/android.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/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/android.sh b/coin/provisioning/qtci-osx-10.11-x86_64/android.sh index 559eabd6..da37ad52 100644 --- a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh +++ b/coin/provisioning/qtci-osx-10.11-x86_64/android.sh @@ -43,55 +43,44 @@ set -e targetFolder="/opt/android" -baseUrl="http://ci-files01-hki.ci.local/input/android" +basePath="/net/ci-files01-hki.ci.local/hdd/www/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" +sdkSourceFile="$basePath/$sdkVersion" +sdkExtract="unzip $sdkSourceFile -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" +ndkSourceFile="$basePath/$ndkVersion" +ndkExtract="unzip $ndkSourceFile -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 + extract=$3 + folderName=$4 + name=$5 - 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 +InstallAndroidPackage $targetFolder $sdkVersion "$sdkExtract" $sdkFolderName $sdkName # Install Android NDK echo "Installing Android NDK version $ndkVersion..." -InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName +InstallAndroidPackage $targetFolder $ndkVersion "$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..." -- cgit v1.2.3