mirror of
https://github.com/actions/runner-images.git
synced 2025-12-12 12:06:59 +00:00
[macOS] Update Xcode runtimes installer helper and toolset format (#11763)
This commit is contained in:
@@ -33,7 +33,7 @@ Write-Host "Configuring Xcode versions..."
|
|||||||
$xcodeVersions | ForEach-Object {
|
$xcodeVersions | ForEach-Object {
|
||||||
Write-Host "Configuring Xcode $($_.link) ..."
|
Write-Host "Configuring Xcode $($_.link) ..."
|
||||||
Invoke-XcodeRunFirstLaunch -Version $_.link
|
Invoke-XcodeRunFirstLaunch -Version $_.link
|
||||||
Install-AdditionalSimulatorRuntimes -Version $_.link -Runtimes $_.install_runtimes
|
Install-AdditionalSimulatorRuntimes -Version $_.link -Arch $arch -Runtimes $_.install_runtimes
|
||||||
}
|
}
|
||||||
|
|
||||||
Invoke-XcodeRunFirstLaunch -Version $defaultXcode
|
Invoke-XcodeRunFirstLaunch -Version $defaultXcode
|
||||||
|
|||||||
@@ -175,33 +175,84 @@ function Install-AdditionalSimulatorRuntimes {
|
|||||||
[Parameter(Mandatory)]
|
[Parameter(Mandatory)]
|
||||||
[string] $Version,
|
[string] $Version,
|
||||||
[Parameter(Mandatory)]
|
[Parameter(Mandatory)]
|
||||||
[array] $Runtimes
|
[string] $Arch,
|
||||||
|
[Parameter(Mandatory)]
|
||||||
|
[object] $Runtimes
|
||||||
)
|
)
|
||||||
|
|
||||||
Write-Host "Installing Simulator Runtimes for Xcode $Version ..."
|
Write-Host "Installing Simulator Runtimes for Xcode $Version ..."
|
||||||
$xcodebuildPath = Get-XcodeToolPath -Version $Version -ToolName 'xcodebuild'
|
$xcodebuildPath = Get-XcodeToolPath -Version $Version -ToolName 'xcodebuild'
|
||||||
$validRuntimes = @("iOS", "watchOS", "tvOS", "visionOS")
|
$validRuntimes = @("iOS", "watchOS", "tvOS")
|
||||||
# Install all runtimes / skip all runtimes installation
|
|
||||||
if ($Runtimes.Count -eq 1) {
|
# visionOS is only available on arm64
|
||||||
if ($Runtimes[0] -eq "true") {
|
if ($Arch -eq "arm64") {
|
||||||
Write-Host "Installing all runtimes for Xcode $Version ..."
|
$validRuntimes += "visionOS"
|
||||||
Invoke-ValidateCommand "sudo $xcodebuildPath -downloadAllPlatforms" | Out-Null
|
|
||||||
return
|
|
||||||
} elseif ($Runtimes[0] -eq "false") {
|
|
||||||
Write-Host "Skipping runtimes installation for Xcode $Version ..."
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Validate and install specified runtimes
|
# Install all runtimes / skip runtimes
|
||||||
$invalidRuntimes = $Runtimes | Where-Object { $_ -notmatch "^($( $validRuntimes -join '|' ))(\s.*|$)" }
|
if ($Runtimes -eq "default") {
|
||||||
if ($invalidRuntimes) {
|
Write-Host "Installing all runtimes for Xcode $Version ..."
|
||||||
throw "Error: Invalid runtimes detected: $($invalidRuntimes -join ', '). Valid values are: $validRuntimes."
|
Invoke-ValidateCommand "sudo $xcodebuildPath -downloadAllPlatforms" | Out-Null
|
||||||
|
return
|
||||||
|
} elseif ($Runtimes -eq "none") {
|
||||||
|
Write-Host "Skipping runtimes installation for Xcode $Version ..."
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($runtime in $Runtimes) {
|
# Convert $Runtimes to hashtable
|
||||||
Write-Host "Installing runtime $runtime ..."
|
if ($Runtimes -is [System.Object[]]) {
|
||||||
Invoke-ValidateCommand "sudo $xcodebuildPath -downloadPlatform $runtime" | Out-Null
|
$convertedRuntimes = @{}
|
||||||
|
|
||||||
|
foreach ($entry in $Runtimes) {
|
||||||
|
if ($entry -is [PSCustomObject]) {
|
||||||
|
$entry = $entry | ConvertTo-Json -Compress | ConvertFrom-Json -AsHashtable
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy all keys and values from the entry to the converted runtimes
|
||||||
|
foreach ($key in $entry.Keys) {
|
||||||
|
if ($convertedRuntimes.ContainsKey($key)) {
|
||||||
|
$convertedRuntimes[$key] += $entry[$key]
|
||||||
|
} else {
|
||||||
|
$convertedRuntimes[$key] = $entry[$key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$Runtimes = $convertedRuntimes
|
||||||
|
}
|
||||||
|
|
||||||
|
# Validate runtimes format
|
||||||
|
if ($Runtimes -isnot [System.Collections.Hashtable]) {
|
||||||
|
throw "Invalid runtime format for Xcode $(Version): Expected hashtable, got [$($Runtimes.GetType())]"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Install runtimes for specified platforms
|
||||||
|
foreach ($platform in $validRuntimes) {
|
||||||
|
if (-not $Runtimes.ContainsKey($platform)) {
|
||||||
|
Write-Host "No runtimes specified for $platform in the toolset for Xcode $Version, please check the toolset."
|
||||||
|
return
|
||||||
|
}
|
||||||
|
foreach ($platformVersion in $Runtimes[$platform]) {
|
||||||
|
switch ($platformVersion) {
|
||||||
|
"skip" {
|
||||||
|
Write-Host "Skipping $platform runtimes installation for Xcode $Version ..."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
"default" {
|
||||||
|
Write-Host "Installing default $platform runtime for Xcode $Version ..."
|
||||||
|
Invoke-ValidateCommand "sudo $xcodebuildPath -downloadPlatform $platform" | Out-Null
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
# Version might be a semver or a build number
|
||||||
|
if (($platformVersion -match "^\d{1,2}\.\d(\.\d)?$") -or ($platformVersion -match "^[a-zA-Z0-9]{6,8}$")) {
|
||||||
|
Write-Host "Installing $platform $platformVersion runtime for Xcode $Version ..."
|
||||||
|
Invoke-ValidateCommand "sudo $xcodebuildPath -downloadPlatform $platform -buildVersion $platformVersion" | Out-Null
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
throw "$platformVersion is not a valid value for $platform version. Valid values are 'latest' or 'skip' or a semver from 0.0 to 99.9.(9)."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,19 @@
|
|||||||
- `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_<link>.app`
|
- `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_<link>.app`
|
||||||
- `version` points to Xcode version that will be downloaded and installed
|
- `version` points to Xcode version that will be downloaded and installed
|
||||||
- `symlinks` describes the list of aliases where symlinks will be created to
|
- `symlinks` describes the list of aliases where symlinks will be created to
|
||||||
- `install_runtimes` is an array or boolean function to control over the related simulator runtimes, set of possible values: [ `iOS`, `watchOS`, `visionOS`, `tvOS` ], use `true` if you want to install all runtimes, use `false` if you want to skip runtimes installation
|
|
||||||
- `sha256` used to check integrity of the Xcode installer file
|
- `sha256` used to check integrity of the Xcode installer file
|
||||||
- `default` - version of Xcode to set as default (should be metched with any `link` in `versions` property)
|
- `install_runtimes` – controls the installation of simulator runtimes:
|
||||||
|
- `default` – installs all default runtimes.
|
||||||
|
- `none` – skips runtime installation.
|
||||||
|
- **Hashtable** – allows manual selection:
|
||||||
|
- Mandatory keys: `[ "iOS", "watchOS", "tvOS" ]`, plus `visionOS` for arm64 images.
|
||||||
|
- Values [array of string]:
|
||||||
|
- `"default"` – installs the default runtime.
|
||||||
|
- `"skip"` – skips installation.
|
||||||
|
- Specific version numbers, e.g., `"18.2"`, `"2.2"`, `"18.3.1"`.
|
||||||
|
- Apple release version, e.g., `"22E5216h"`, `"17A577"`.
|
||||||
|
|
||||||
|
- `default` - version of Xcode to set as default (should be matched with any `link` in `versions` property)
|
||||||
**Example:** `"11.2"`
|
**Example:** `"11.2"`
|
||||||
|
|
||||||
**Note:**
|
**Note:**
|
||||||
@@ -22,10 +32,36 @@
|
|||||||
|
|
||||||
**Example:**
|
**Example:**
|
||||||
|
|
||||||
|
String format:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"versions": [
|
"versions": [
|
||||||
{ "link": "16_beta_4", "version": "16.0.0-Beta.4+16A5211f", "symlinks": ["16.0"], "install_runtimes": "false", "sha256": "4270cd8021b2f7f512ce91bfc4423b25bccab36cdab21834709d798c8daade72"},
|
{ "link": "16_beta_4", "version": "16.0.0-Beta.4+16A5211f", "symlinks": ["16.0"], "install_runtimes": "none", "sha256": "4270cd8021b2f7f512ce91bfc4423b25bccab36cdab21834709d798c8daade72"},
|
||||||
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
|
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "default", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Block format:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"versions": [
|
||||||
|
{
|
||||||
|
"link": "16.2",
|
||||||
|
"version": "16.2+16C5032a",
|
||||||
|
"sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de",
|
||||||
|
"install_runtimes": [
|
||||||
|
{ "iOS": ["18.0", "18.1", "18.2"] },
|
||||||
|
{ "watchOS": "default" },
|
||||||
|
{ "tvOS": "default" },
|
||||||
|
{ "visionOS": "2.2" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "16.1",
|
||||||
|
"version": "16.1+16B40",
|
||||||
|
"sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -3,22 +3,22 @@
|
|||||||
"default": "15.2",
|
"default": "15.2",
|
||||||
"x64": {
|
"x64": {
|
||||||
"versions": [
|
"versions": [
|
||||||
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
|
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "default", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
|
||||||
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
|
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "default", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
|
||||||
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
|
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "default", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
|
||||||
{ "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "true", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"},
|
{ "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "default", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"},
|
||||||
{ "link": "14.2", "version": "14.2.0+14C18", "install_runtimes": "true", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"},
|
{ "link": "14.2", "version": "14.2.0+14C18", "install_runtimes": "default", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"},
|
||||||
{ "link": "14.1", "version": "14.1.0+14B47b", "install_runtimes": "true", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"}
|
{ "link": "14.1", "version": "14.1.0+14B47b", "install_runtimes": "default", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"arm64":{
|
"arm64":{
|
||||||
"versions": [
|
"versions": [
|
||||||
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
|
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "default", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
|
||||||
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
|
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "default", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
|
||||||
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
|
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "default", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
|
||||||
{ "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "true", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"},
|
{ "link": "14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "default", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"},
|
||||||
{ "link": "14.2", "version": "14.2.0+14C18", "install_runtimes": "true", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"},
|
{ "link": "14.2", "version": "14.2.0+14C18", "install_runtimes": "default", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"},
|
||||||
{ "link": "14.1", "version": "14.1.0+14B47b", "install_runtimes": "true", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"}
|
{ "link": "14.1", "version": "14.1.0+14B47b", "install_runtimes": "default", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,24 +3,105 @@
|
|||||||
"default": "15.4",
|
"default": "15.4",
|
||||||
"x64": {
|
"x64": {
|
||||||
"versions": [
|
"versions": [
|
||||||
{ "link": "16.2", "version": "16.2+16C5032a", "install_runtimes": ["iOS -buildVersion 18.2", "watchOS", "tvOS"], "sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de"},
|
{
|
||||||
{ "link": "16.1", "version": "16.1+16B40", "install_runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
|
"link": "16.2",
|
||||||
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"},
|
"version": "16.2+16C5032a",
|
||||||
{ "link": "15.3", "version": "15.3.0+15E204a", "install_runtimes": "true", "sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234"},
|
"sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de",
|
||||||
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
|
"install_runtimes": [
|
||||||
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
|
{ "iOS": "18.2" },
|
||||||
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"}
|
{ "watchOS": "default" },
|
||||||
|
{ "tvOS": "default" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "16.1",
|
||||||
|
"version": "16.1+16B40",
|
||||||
|
"sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.4",
|
||||||
|
"version": "15.4.0+15F31d",
|
||||||
|
"sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.3",
|
||||||
|
"version": "15.3.0+15E204a",
|
||||||
|
"sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.2",
|
||||||
|
"version": "15.2.0+15C500b",
|
||||||
|
"sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.1",
|
||||||
|
"version": "15.1.0+15C65",
|
||||||
|
"sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.0.1",
|
||||||
|
"version": "15.0.1+15A507",
|
||||||
|
"sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8",
|
||||||
|
"symlinks": ["15.0"],
|
||||||
|
"install_runtimes": "default"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"arm64":{
|
"arm64":{
|
||||||
"versions": [
|
"versions": [
|
||||||
{ "link": "16.2", "version": "16.2+16C5032a", "install_runtimes": ["iOS -buildVersion 18.2", "watchOS", "tvOS"], "sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de"},
|
{
|
||||||
{ "link": "16.1", "version": "16.1+16B40", "install_runtimes": ["iOS", "watchOS", "tvOS"], "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
|
"link": "16.2",
|
||||||
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"},
|
"version": "16.2+16C5032a",
|
||||||
{ "link": "15.3", "version": "15.3.0+15E204a", "install_runtimes": "true", "sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234"},
|
"sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de",
|
||||||
{ "link": "15.2", "version": "15.2.0+15C500b", "install_runtimes": "true", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
|
"install_runtimes": [
|
||||||
{ "link": "15.1", "version": "15.1.0+15C65", "install_runtimes": "true", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
|
{ "iOS": "18.2" },
|
||||||
{ "link": "15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "true", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"}
|
{ "watchOS": "default" },
|
||||||
|
{ "tvOS": "default" },
|
||||||
|
{ "visionOS": "2.2" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "16.1",
|
||||||
|
"version": "16.1+16B40",
|
||||||
|
"sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.4",
|
||||||
|
"version": "15.4.0+15F31d",
|
||||||
|
"sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.3",
|
||||||
|
"version": "15.3.0+15E204a",
|
||||||
|
"sha256": "f13f6a2e2df432c3008e394640b8549a18c285acd7fd148d6c4bac8c3a5af234",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.2",
|
||||||
|
"version": "15.2.0+15C500b",
|
||||||
|
"sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.1",
|
||||||
|
"version": "15.1.0+15C65",
|
||||||
|
"sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.0.1",
|
||||||
|
"version": "15.0.1+15A507",
|
||||||
|
"sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8",
|
||||||
|
"symlinks": ["15.0"],
|
||||||
|
"install_runtimes": "default"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,40 +4,82 @@
|
|||||||
"x64": {
|
"x64": {
|
||||||
"versions": [
|
"versions": [
|
||||||
{
|
{
|
||||||
"link": "16.3_beta_3", "version": "16.3.0-Beta.3+16E5129f", "symlinks": ["16.3"],
|
"link": "16.3_beta_3",
|
||||||
"install_runtimes":
|
"version": "16.3.0-Beta.3+16E5129f",
|
||||||
[
|
"symlinks": ["16.3"],
|
||||||
"iOS -buildVersion 18.0", "iOS -buildVersion 18.1", "iOS -buildVersion 18.2", "iOS -buildVersion 18.3.1", "iOS -buildVersion 22E5232a",
|
"sha256": "5f709f7b418005c7c735d6f62076feb8fd9095f874f3d7c2d58a039ce9531348",
|
||||||
"watchOS -buildVersion 11.0", "watchOS -buildVersion 11.1", "watchOS -buildVersion 11.2", "watchOS -buildVersion 22T5244a",
|
"install_runtimes": [
|
||||||
"tvOS -buildVersion 18.0", "tvOS -buildVersion 18.1", "tvOS -buildVersion 18.2", "tvOS -buildVersion 22L5250a"
|
{ "iOS": ["18.0", "18.1", "18.2", "18.3.1", "22E5232a"] },
|
||||||
],
|
{ "watchOS": ["11.0", "11.1", "11.2", "22T5244a"] },
|
||||||
"sha256": "5f709f7b418005c7c735d6f62076feb8fd9095f874f3d7c2d58a039ce9531348"
|
{ "tvOS": ["18.0", "18.1", "18.2", "22L5250a"] }
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{ "link": "16.2", "version": "16.2+16C5032a", "install_runtimes": "false", "sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de"},
|
{
|
||||||
{ "link": "16.1", "version": "16.1+16B40", "install_runtimes": "false", "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
|
"link": "16.2",
|
||||||
{ "link": "16", "version": "16.0.0+16A242d", "symlinks": ["16.0"], "install_runtimes": "false", "sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3"},
|
"version": "16.2+16C5032a",
|
||||||
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
|
"sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de",
|
||||||
|
"install_runtimes": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "16.1",
|
||||||
|
"version": "16.1+16B40",
|
||||||
|
"sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720",
|
||||||
|
"install_runtimes": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "16",
|
||||||
|
"version": "16.0.0+16A242d",
|
||||||
|
"sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3",
|
||||||
|
"symlinks": ["16.0"],
|
||||||
|
"install_runtimes": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.4",
|
||||||
|
"version": "15.4.0+15F31d",
|
||||||
|
"sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"arm64":{
|
"arm64":{
|
||||||
"versions": [
|
"versions": [
|
||||||
{
|
{
|
||||||
"link": "16.3_beta_3",
|
"link": "16.3_beta_3",
|
||||||
"version": "16.3.0-Beta.3+16E5129f",
|
"version": "16.3.0-Beta.3+16E5129f",
|
||||||
"symlinks": ["16.3"],
|
"symlinks": ["16.3"],
|
||||||
"install_runtimes":
|
"sha256": "5f709f7b418005c7c735d6f62076feb8fd9095f874f3d7c2d58a039ce9531348",
|
||||||
[
|
"install_runtimes": [
|
||||||
"iOS -buildVersion 18.0", "iOS -buildVersion 18.1", "iOS -buildVersion 18.2", "iOS -buildVersion 18.3.1", "iOS -buildVersion 22E5232a",
|
{ "iOS": ["18.0", "18.1", "18.2", "18.3.1", "22E5232a"] },
|
||||||
"watchOS -buildVersion 11.0", "watchOS -buildVersion 11.1", "watchOS -buildVersion 11.2", "watchOS -buildVersion 22T5244a",
|
{ "watchOS": ["11.0", "11.1", "11.2", "22T5244a"] },
|
||||||
"tvOS -buildVersion 18.0", "tvOS -buildVersion 18.1", "tvOS -buildVersion 18.2", "tvOS -buildVersion 22L5250a",
|
{ "tvOS": ["18.0", "18.1", "18.2", "22L5250a"] },
|
||||||
"visionOS -buildVersion 2.0", "visionOS -buildVersion 2.1", "visionOS -buildVersion 2.2", "visionOS -buildVersion 2.3", "visionOS -buildVersion 22O5215f"
|
{ "visionOS": ["2.0", "2.1", "2.2", "2.3", "22O5215f"] }
|
||||||
],
|
]
|
||||||
"sha256": "5f709f7b418005c7c735d6f62076feb8fd9095f874f3d7c2d58a039ce9531348"
|
|
||||||
},
|
},
|
||||||
{ "link": "16.2", "version": "16.2+16C5032a", "install_runtimes": "false", "sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de"},
|
{
|
||||||
{ "link": "16.1", "version": "16.1+16B40", "install_runtimes": "false", "sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720"},
|
"link": "16.2",
|
||||||
{ "link": "16", "version": "16.0.0+16A242d", "symlinks": ["16.0"], "install_runtimes": "false", "sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3"},
|
"version": "16.2+16C5032a",
|
||||||
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
|
"sha256": "0e367d06eb7c334ea143bada5e4422f56688aabff571bedf0d2ad9434b7290de",
|
||||||
|
"install_runtimes": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "16.1",
|
||||||
|
"version": "16.1+16B40",
|
||||||
|
"sha256": "8ca961d55981f983d21b99a95a6b0ac04905b837f6e11346ee86d28f12afe720",
|
||||||
|
"install_runtimes": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "16",
|
||||||
|
"version": "16.0.0+16A242d",
|
||||||
|
"sha256": "4a26c3d102a55c7222fb145e0ee1503249c9c26c6e02dc64d783c8810b37b1e3",
|
||||||
|
"symlinks": ["16.0"],
|
||||||
|
"install_runtimes": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"link": "15.4",
|
||||||
|
"version": "15.4.0+15F31d",
|
||||||
|
"sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a",
|
||||||
|
"install_runtimes": "default"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user