summaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/windows
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/common/windows')
-rw-r--r--coin/provisioning/common/windows/helpers.ps116
-rw-r--r--coin/provisioning/common/windows/squishInstall.ps1163
2 files changed, 179 insertions, 0 deletions
diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1
index f6a9fd90..4248d0ed 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -127,3 +127,19 @@ function is64bitWinHost
return 0
}
}
+
+Function Execute-Command
+{
+ Param (
+ [string]$command
+ )
+ Try {
+ echo "Executing command '$command'..."
+ $process = Start-Process -FilePath "cmd" -ArgumentList "/c $command" -PassThru -Wait -WindowStyle Hidden
+ if ($process.ExitCode) {throw "Error running command: '$command'"}
+ }
+ Catch {
+ $_.Exception.Message
+ exit 1
+ }
+}
diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1
new file mode 100644
index 00000000..7641c9fe
--- /dev/null
+++ b/coin/provisioning/common/windows/squishInstall.ps1
@@ -0,0 +1,163 @@
+#############################################################################
+##
+## 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\helpers.ps1"
+
+
+# This script will install squish package for Windows.
+# Squish is need by Release Test Automation (RTA)
+
+$version = "6.3.0"
+# Qt branch without dot (*.*)
+$qtBranch = "59x"
+$targetDir = "C:\Utils\squish"
+$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
+$squishBranchUrl = "$squishUrl\$qtBranch"
+
+# Squish license
+$licensePackage = ".squish-3-license"
+
+$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
+
+# This can be removed when using vanilla os
+if((Test-Path -Path "$targetDir" )){
+ try {
+ echo "Renaming old Squish"
+ echo "Rename-Item -ErrorAction 'Stop' $targetDir $targetDir_deleted"
+ Rename-Item -ErrorAction 'Stop' "$targetDir" squish_deleted
+ } catch {}
+}
+
+Function DownloadAndInstallSquish {
+
+ Param (
+ [string]$version,
+ [string]$squishBranchUrl,
+ [string]$qtBranch,
+ [string]$bit,
+ [string]$targetDir,
+ [string]$squishPackage
+ )
+
+ $SquishUrl = $squishBranchUrl + "\squish-" + $version + "-qt" + $qtBranch + "-" + $bit + "-" + $squishPackage + ".exe"
+ $SquishInstaller = "$targetDir\$squishPackage.exe"
+ $SquishParameters = "unattended=1 targetdir=$targetDir\$squishPackage"
+ $Command = "$SquishInstaller $SquishParameters"
+
+ echo "Fetching from URL ..."
+ Copy-Item "$SquishUrl" "$SquishInstaller"
+ echo "Installing Squish"
+ Execute-Command $Command
+ remove-item $SquishInstaller
+}
+
+Function DownloadSquishLicence {
+
+ Param (
+ [string]$licensePackage,
+ [string]$squishUrl,
+ [string]$targetDir
+ )
+
+ # This can be removed when using vanilla os
+ if ($Env:SQUISH_LICENSEKEY_DIR)
+ {
+ echo "Removing SQUISH_LICENSEKEY_DIR env variable"
+ Remove-Item Env:\SQUISH_LICENSEKEY_DIR
+ }
+
+ echo "Installing Squish license to home directory"
+ Copy-Item $squishUrl\$licensePackage ~\$licensePackage
+}
+
+echo "Creating $targetDir"
+New-Item -ErrorAction Ignore -ItemType directory -Path "$targetDir"
+
+DownloadSquishLicence $licensePackage $squishUrl $targetDir
+
+if(($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 8.1 Enterprise"))
+{
+ # Squish for Visual Studio 2015
+ $squishPackage = "msvc14"
+ $squishPackage64bit = "msvc14_64"
+
+ if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64"))
+ {
+ echo "Installing $squishPackage_64"
+ DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage
+ mv $targetDir\$squishPackage $targetDir\$squishPackage64bit
+ }
+
+ echo "Installing $squishPackage"
+ DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win32 $targetDir $squishPackage
+}
+if($OSVersion -eq "Windows 8.1 Enterprise")
+{
+ # Squish for Visual Studio 2013
+ $squishPackage64bit = "msvc12_64"
+
+ if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64"))
+ {
+ echo "Installing $squishPackage_64"
+ DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage
+ mv $targetDir\$squishPackage $targetDir\$squishPackage64bit
+ }
+ else
+ {
+ echo "Change secret file to normal one"
+ attrib -h C:\Users\qt\.squish-3-license
+ }
+}
+else
+{
+ # Windows 7
+
+ # Squish for MinGW
+ $squishPackageMingw = "mingw_gcc53_posix_dwarf"
+ echo "Installing $squishPackageMingw"
+ DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win32 $targetDir $squishPackageMingw
+ mv $targetDir\$squishPackageMingw $targetDir\mingw
+
+ # Squish for Visual Studio 2015
+ $squishPackage = "msvc14"
+ $squishPackage64bit = "msvc14_64"
+
+ if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64"))
+ {
+ echo "Installing $squishPackage64bit"
+ DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage
+ mv $targetDir\$squishPackage $targetDir\$squishPackage64bit
+ }
+
+
+}