From 1ce450def9dbfa548344e55a2c90e41ead7c7d88 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Tue, 6 Oct 2020 11:09:20 +0300 Subject: [PATCH 1/3] Remove Xcode 12 beta --- images/macos/provision/core/xcode-tools.sh | 19 +++---------------- images/macos/tests/Xcode.Tests.ps1 | 8 ++++---- images/macos/toolsets/toolset-10.15.json | 2 +- images/macos/toolsets/toolset-11.0.json | 2 +- 4 files changed, 9 insertions(+), 22 deletions(-) diff --git a/images/macos/provision/core/xcode-tools.sh b/images/macos/provision/core/xcode-tools.sh index ef9bf648c..643dc2932 100755 --- a/images/macos/provision/core/xcode-tools.sh +++ b/images/macos/provision/core/xcode-tools.sh @@ -35,13 +35,7 @@ do echo "Extracting Xcode.app ($VERSION_TO_INSTALL) to ${WORK_DIR} ..." extractXcodeXip $WORK_DIR "$VERSION_TO_INSTALL" - # Remove "beta" postfix from version - if [[ $XCODE_VERSION == "12_beta" ]] && is_Catalina ; then - # trick to install Xcode 12 GM and Xcode 12 beta 6 side by side - XCODE_VERSION="12_beta" - else - XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) - fi + XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) echo "Checking if unpacked Xcode ${XCODE_VERSION} is valid" validateXcodeIntegrity "$WORK_DIR" @@ -55,9 +49,7 @@ do # Creating a symlink for all Xcode 10* and Xcode 9.3, 9.4 to stay backwards compatible with consumers of the Xcode beta version createBetaSymlink $XCODE_VERSION - if [ ! $(echo $XCODE_VERSION | grep "beta") ]; then - createXamarinProvisionatorSymlink "$XCODE_VERSION" - fi + createXamarinProvisionatorSymlink "$XCODE_VERSION" find $WORK_DIR -mindepth 1 -delete done @@ -74,12 +66,7 @@ do continue fi - if [[ $XCODE_VERSION == "12_beta" ]] && is_Catalina ; then - # trick to install Xcode 12 GM and Xcode 12 beta 6 side by side - XCODE_VERSION="12_beta" - else - XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) - fi + XCODE_VERSION=$(echo $XCODE_VERSION | cut -d"_" -f 1) echo "Running 'runFirstLaunch' for Xcode ${XCODE_VERSION}..." runFirstLaunch $XCODE_VERSION diff --git a/images/macos/tests/Xcode.Tests.ps1 b/images/macos/tests/Xcode.Tests.ps1 index ff8d5e932..f8e7ccfe8 100644 --- a/images/macos/tests/Xcode.Tests.ps1 +++ b/images/macos/tests/Xcode.Tests.ps1 @@ -40,7 +40,7 @@ Describe "Xcode" { It "Xcode has correct beta symlink" -TestCases $testCases { param ( [string] $XcodeVersion ) - $xcodesWithBetaSymlink = @("12", "12_beta", "9.3", "9.4") + $xcodesWithBetaSymlink = @("12", "9.3", "9.4") $shouldBetaSymlinkExists = $XcodeVersion.StartsWith("10") -or $XcodeVersion.StartsWith("11") -or ($XcodeVersion -in $xcodesWithBetaSymlink) $betaSymlinkPath = Get-XcodeRootPath -Version "${XcodeVersion}_beta" @@ -76,7 +76,7 @@ Describe "Xcode" { $variableName = "XCODE_${MajorXcodeVersion}_DEVELOPER_DIR" $actualPath = Get-EnvironmentVariable $variableName $expectedPath = Join-Path (Get-XcodeRootPath -Version $ExpectedVersion) "Contents/Developer" - + $actualPath | Should -Exist $actualPath | Should -Be $expectedPath } @@ -86,13 +86,13 @@ Describe "Xcode" { Describe "Xcode simulators" { $XCODE_VERSIONS | Where-Object { Test-XcodeStableVersion $_ } | ForEach-Object { Switch-Xcode -Version $_ - + Context "$_" { It "No duplicates in devices" { [array]$devicesList = @(Get-XcodeDevicesList | Where-Object { $_ }) Validate-ArrayWithoutDuplicates $devicesList -Because "Found duplicate device simulators" } - + It "No duplicates in pairs" { [array]$pairsList = @(Get-XcodePairsList | Where-Object { $_ }) Validate-ArrayWithoutDuplicates $pairsList -Because "Found duplicate pairs simulators" diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json index f834385c2..e5bef8d57 100644 --- a/images/macos/toolsets/toolset-10.15.json +++ b/images/macos/toolsets/toolset-10.15.json @@ -2,7 +2,7 @@ "xcode": { "default": "11.7", "versions": [ - "12.2_beta", "12", "12_beta", "11.7", "11.6", "11.5", "11.4.1", "11.4", "11.3.1", "11.2.1", "11.1", "11", "10.3" + "12.2_beta", "12", "11.7", "11.6", "11.5", "11.4.1", "11.4", "11.3.1", "11.2.1", "11.1", "11", "10.3" ] }, "xamarin": { diff --git a/images/macos/toolsets/toolset-11.0.json b/images/macos/toolsets/toolset-11.0.json index f4e9a57c8..93ada0d73 100644 --- a/images/macos/toolsets/toolset-11.0.json +++ b/images/macos/toolsets/toolset-11.0.json @@ -2,7 +2,7 @@ "xcode": { "default": "11.7", "versions": [ - "12.2_beta", "12_beta", "11.7" + "12.2_beta", "11.7" ] }, "xamarin": { From f80d9cdc669cc741543b468fad41f45b109da026 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Tue, 6 Oct 2020 11:11:36 +0300 Subject: [PATCH 2/3] reuse function --- images/macos/helpers/Xcode.Helpers.psm1 | 23 ++++++++--------------- images/macos/tests/Xcode.Tests.ps1 | 4 ++-- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/images/macos/helpers/Xcode.Helpers.psm1 b/images/macos/helpers/Xcode.Helpers.psm1 index 8ea137e63..52a182d57 100644 --- a/images/macos/helpers/Xcode.Helpers.psm1 +++ b/images/macos/helpers/Xcode.Helpers.psm1 @@ -46,11 +46,17 @@ function Switch-Xcode { } function Test-XcodeStableRelease { - param( - [Parameter(Mandatory)] + param ( + [Parameter(ParameterSetName = 'Version')] + [string] $Version, + [Parameter(ParameterSetName = 'Path')] [string] $XcodeRootPath ) + if ($PSCmdlet.ParameterSetName -eq "Version") { + $XcodeRootPath = Get-XcodeRootPath $Version + } + $licenseInfoPlistPath = Join-Path $XcodeRootPath "Contents" "Resources" "LicenseInfo.plist" $releaseType = & defaults read $licenseInfoPlistPath "licenseType" return -not ($releaseType -match "beta") @@ -102,17 +108,4 @@ function Get-XcodePairsList { $result += "$watchName $phoneName" } return $result -} - -function Test-XcodeStableVersion { - param([Parameter(Mandatory)][string]$Version) - - if ($Version -match "beta") { - return $false - } - if ($Version -match "GM") { - return $false - } - - return $true } \ No newline at end of file diff --git a/images/macos/tests/Xcode.Tests.ps1 b/images/macos/tests/Xcode.Tests.ps1 index f8e7ccfe8..dc03e400a 100644 --- a/images/macos/tests/Xcode.Tests.ps1 +++ b/images/macos/tests/Xcode.Tests.ps1 @@ -56,7 +56,7 @@ Describe "Xcode" { } Context "XCODE_DEVELOPER_DIR" { - $stableXcodeVersions = $XCODE_VERSIONS | Where-Object { Test-XcodeStableVersion $_ } + $stableXcodeVersions = $XCODE_VERSIONS | Where-Object { Test-XcodeStableRelease -Version $_ } $majorXcodeVersions = $stableXcodeVersions | ForEach-Object { $_.Split(".")[0] } | Select-Object -Unique $testCases = $majorXcodeVersions | ForEach-Object { $majorXcodeVersion = $_ @@ -84,7 +84,7 @@ Describe "Xcode" { } Describe "Xcode simulators" { - $XCODE_VERSIONS | Where-Object { Test-XcodeStableVersion $_ } | ForEach-Object { + $XCODE_VERSIONS | Where-Object { Test-XcodeStableRelease -Version $_ } | ForEach-Object { Switch-Xcode -Version $_ Context "$_" { From bab7c0d07f6488df433abd7d8474cab9adebed4c Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Wed, 7 Oct 2020 12:19:32 +0300 Subject: [PATCH 3/3] Update Xcode.Tests.ps1 --- images/macos/tests/Xcode.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/macos/tests/Xcode.Tests.ps1 b/images/macos/tests/Xcode.Tests.ps1 index dc03e400a..74bbee4a6 100644 --- a/images/macos/tests/Xcode.Tests.ps1 +++ b/images/macos/tests/Xcode.Tests.ps1 @@ -56,7 +56,7 @@ Describe "Xcode" { } Context "XCODE_DEVELOPER_DIR" { - $stableXcodeVersions = $XCODE_VERSIONS | Where-Object { Test-XcodeStableRelease -Version $_ } + $stableXcodeVersions = $testCases | Where-Object { Test-XcodeStableRelease -Version $_ } $majorXcodeVersions = $stableXcodeVersions | ForEach-Object { $_.Split(".")[0] } | Select-Object -Unique $testCases = $majorXcodeVersions | ForEach-Object { $majorXcodeVersion = $_