Skip to content

Commit d343d5a

Browse files
authored
Merge pull request #430 from pennig/patchable-cryptex-disk-image-kind
Add patchable cryptex disk image handling
2 parents 3b6255d + 478e239 commit d343d5a

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

Sources/XcodesKit/Models+Runtimes.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ extension DownloadableRuntime {
8080
case diskImage = "diskImage"
8181
case package = "package"
8282
case cryptexDiskImage = "cryptexDiskImage"
83+
case patchableCryptexDiskImage = "patchableCryptexDiskImage"
8384
}
8485

8586
enum Platform: String, Decodable {
@@ -133,6 +134,7 @@ extension InstalledRuntime {
133134
case cryptexDiskImage = "Cryptex Disk Image"
134135
case diskImage = "Disk Image"
135136
case legacyDownload = "Legacy Download"
137+
case patchableCryptexDiskImage = "Patchable Cryptex Disk Image"
136138
}
137139

138140
enum Platform: String, Decodable {

Sources/XcodesKit/RuntimeInstaller.swift

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class RuntimeInstaller {
2828
betaNumber: downloadable.betaNumber,
2929
version: downloadable.simulatorVersion.version,
3030
build: downloadable.simulatorVersion.buildUpdate,
31-
state: $0.kind))
31+
kind: $0.kind))
3232
}
3333
} else {
3434
mappedRuntimes.append(PrintableRuntime(platform: downloadable.platform,
@@ -47,7 +47,7 @@ public class RuntimeInstaller {
4747
betaNumber: resolvedBetaNumber,
4848
version: runtime.version,
4949
build: runtime.build,
50-
state: runtime.kind)
50+
kind: runtime.kind)
5151

5252
mappedRuntimes.indices {
5353
result.visibleIdentifier == $0.visibleIdentifier
@@ -71,17 +71,20 @@ public class RuntimeInstaller {
7171
}
7272

7373
for runtime in sortedRuntimes {
74-
if !includeBetas && runtime.betaNumber != nil && runtime.state == nil {
74+
if !includeBetas && runtime.betaNumber != nil && runtime.kind == nil {
7575
continue
7676
}
7777
var str = runtime.visibleIdentifier
7878
if runtime.hasDuplicateVersion {
7979
str += " (\(runtime.build))"
8080
}
81-
if runtime.state == .legacyDownload || runtime.state == .diskImage || runtime.state == .cryptexDiskImage {
82-
str += " (Installed)"
83-
} else if runtime.state == .bundled {
84-
str += " (Bundled with selected Xcode)"
81+
if let kind = runtime.kind {
82+
switch kind {
83+
case .bundled:
84+
str += " (Bundled with selected Xcode)"
85+
case .legacyDownload, .diskImage, .cryptexDiskImage, .patchableCryptexDiskImage:
86+
str += " (Installed)"
87+
}
8588
}
8689
Current.logging.log(str)
8790
}
@@ -118,7 +121,7 @@ public class RuntimeInstaller {
118121
let dmgUrl = try await downloadOrUseExistingArchive(runtime: matchedRuntime, to: destinationDirectory, downloader: downloader)
119122
try await installFromImage(dmgUrl: dmgUrl)
120123
deleteIfNeeded(dmgUrl)
121-
case .cryptexDiskImage:
124+
case .cryptexDiskImage, .patchableCryptexDiskImage:
122125
try await downloadAndInstallUsingXcodeBuild(runtime: matchedRuntime)
123126
}
124127
}
@@ -379,7 +382,7 @@ fileprivate struct PrintableRuntime {
379382
let betaNumber: Int?
380383
let version: String
381384
let build: String
382-
var state: InstalledRuntime.Kind? = nil
385+
var kind: InstalledRuntime.Kind? = nil
383386
var hasDuplicateVersion = false
384387

385388
var completeVersion: String {

0 commit comments

Comments
 (0)