Parallel installation of Xcode (#2432)

* parallel xcode installation

* resolve comments

* fix changes

* resolve comments and change ErrorActionPreference

* return imports

* switch ErrorActionPreference to Stop

* add log for threadCount

* add errorAction

* use new approach for warning

* change to bash -c

* change approach to install xcodes through to parallel foreach

* use & bash -c "command"

* mv upper ErrorActionPreference and work on logs

* mv $env:SPACESHIP_SKIP_2FA_UPGRADE = 1

* change process count to 5

* Invoke-XCVersion add out-host
This commit is contained in:
Dmitry Shibanov
2021-02-18 15:08:41 +03:00
committed by GitHub
parent 6ca717465d
commit 25efb10e32
2 changed files with 23 additions and 7 deletions

View File

@@ -18,9 +18,14 @@ $os = Get-OSVersion
$xcodeVersions = Get-ToolsetValue "xcode.versions"
$defaultXcode = Get-ToolsetValue "xcode.default"
[Array]::Reverse($xcodeVersions)
$threadCount = "5"
Write-Host "Installing Xcode versions..."
$xcodeVersions | ForEach-Object {
$xcodeVersions | ForEach-Object -ThrottleLimit $threadCount -Parallel {
$ErrorActionPreference = "Stop"
Import-Module "$env:HOME/image-generation/helpers/Common.Helpers.psm1"
Import-Module "$env:HOME/image-generation/helpers/Xcode.Installer.psm1"
Install-XcodeVersion -Version $_.version -LinkTo $_.link
Confirm-XcodeIntegrity -Version $_.link
Approve-XcodeLicense -Version $_.link
@@ -31,7 +36,9 @@ if ($os.IsLessThanCatalina) {
$latestXcodeVersion = $xcodeVersions | Select-Object -Last 1 -ExpandProperty link
Install-XcodeAdditionalPackages -Version $latestXcodeVersion
}
$xcodeVersions | ForEach-Object { Invoke-XcodeRunFirstLaunch -Version $_.link }
$xcodeVersions | ForEach-Object {
Invoke-XcodeRunFirstLaunch -Version $_.link
}
Invoke-XcodeRunFirstLaunch -Version $defaultXcode
Write-Host "Configuring Xcode symlinks..."