Build Information
Successful build of Device, reference main (90b47e
), with Swift 6.1 for Android on 13 Jun 2025 09:56:18 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kudit/Device.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/kudit/Device
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 90b47ea v2.8.8
Cloned https://github.com/kudit/Device.git
Revision (git rev-parse @):
90b47ea784da3165d5b7a603738900cf58ba824f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/kudit/Device.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/kudit/Device.git
https://github.com/kudit/Device.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "color",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kudit/Color"
}
],
"manifest_display_name" : "Device",
"name" : "Device",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "11"
},
{
"name" : "watchos",
"version" : "4"
},
{
"name" : "ios",
"version" : "11"
}
],
"products" : [
{
"name" : "Device Library",
"targets" : [
"Device"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Device",
"module_type" : "SwiftTarget",
"name" : "Device",
"path" : "Sources",
"product_dependencies" : [
"Color Library"
],
"product_memberships" : [
"Device Library"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/Resources/SymbolAssets.xcassets",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AttributeListView.swift",
"Battery.swift",
"BatteryView.swift",
"CurrentDevice.swift",
"CurrentDeviceInfoView.swift",
"Device.swift",
"DeviceInfoView.swift",
"DeviceKitBridge.swift",
"EnvironmentsView.swift",
"For Compatibility.swift",
"Hardware.swift",
"Models/AppleTVs.swift",
"Models/AppleVision.swift",
"Models/AppleWatches.swift",
"Models/HomePods.swift",
"Models/Macs.swift",
"Models/iPads.swift",
"Models/iPhones.swift",
"Models/iPods.swift",
"Screen.swift",
"ScreenInfoView.swift",
"Screenshot.swift",
"StorageInfoView.swift",
"Symbols.swift",
"SystemInfoView.swift",
"Version.swift",
"ViewExtensions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Fetching https://github.com/kudit/Color
[1/592] Fetching color
Fetched https://github.com/kudit/Color from cache (0.48s)
Computing version for https://github.com/kudit/Color
Computed https://github.com/kudit/Color at 1.3.6 (1.00s)
Fetching https://github.com/kudit/Compatibility
[1/1997] Fetching compatibility
Fetched https://github.com/kudit/Compatibility from cache (0.36s)
Computing version for https://github.com/kudit/Compatibility
Computed https://github.com/kudit/Compatibility at 1.10.15 (1.48s)
Creating working copy for https://github.com/kudit/Color
Working copy of https://github.com/kudit/Color resolved at 1.3.6
Creating working copy for https://github.com/kudit/Compatibility
Working copy of https://github.com/kudit/Compatibility resolved at 1.10.15
Building for debugging...
[0/5] Write sources
[3/5] Copying SymbolAssets.xcassets
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/46] Compiling Compatibility Threading.swift
[7/46] Compiling Compatibility URL.swift
[8/46] Compiling Compatibility Version.swift
[9/46] Compiling Compatibility Backport.swift
[10/46] Compiling Compatibility BytesView.swift
[11/51] Compiling Compatibility Enum.swift
[12/51] Compiling Compatibility Int.swift
[13/51] Compiling Compatibility Introspection.swift
[14/51] Compiling Compatibility OrderedDictionary.swift
[15/51] Compiling Compatibility OrderedSet.swift
[16/51] Compiling Compatibility String.swift
[17/51] Compiling Compatibility CodingJSON.swift
[18/51] Compiling Compatibility CodingParameters.swift
[19/51] Compiling Compatibility Date.swift
[20/51] Compiling Compatibility DateString.swift
[21/51] Compiling Compatibility Dictionary.swift
[22/51] Compiling Compatibility Double.swift
[23/51] Compiling Compatibility ClearableTextField.swift
[24/51] Compiling Compatibility Embossed.swift
[25/51] Compiling Compatibility Menu.swift
[26/51] Compiling Compatibility OverlappingStack.swift
[27/51] Compiling Compatibility Pasteboard.swift
[28/51] Compiling Compatibility Shell.swift
[29/51] Compiling Compatibility Test.swift
[30/51] Compiling Compatibility UserDefaultsBacked.swift
[31/51] Compiling Compatibility Array.swift
[32/51] Compiling Compatibility Codable.swift
[33/51] Compiling Compatibility CodingFoundation.swift
[34/51] Emitting module Compatibility
[35/51] Compiling Compatibility DataStore.swift
[36/51] Compiling Compatibility Debug.swift
[37/51] Compiling Compatibility FileManager.swift
[38/51] Compiling Compatibility Graphics.swift
[39/51] Compiling Compatibility Network.swift
[40/51] Compiling Compatibility ObservableObject.swift
[41/51] Compiling Compatibility RadialLayout.swift
[42/51] Compiling Compatibility Placard.swift
[43/51] Compiling Compatibility Triangle.swift
[44/51] Compiling Compatibility SwiftUI.swift
[45/51] Compiling Compatibility TestUI.swift
[46/51] Compiling Compatibility Compatibility.swift
[47/51] Compiling Compatibility Application.swift
[48/51] Compiling Compatibility Bundle.swift
[49/51] Compiling Compatibility CloudStatus.swift
[50/51] Compiling Compatibility CloudStorage.swift
[51/51] Compiling Compatibility CloudStorageSync.swift
[53/59] Compiling Color Compatibility.swift
[54/59] Compiling Color Colorsets.swift
[55/59] Compiling Color ColorUI.swift
[56/59] Compiling Color Codable.swift
[57/59] Compiling Color CSSColors.swift
[58/59] Emitting module Color
[59/59] Compiling Color Color.swift
[61/86] Compiling Device StorageInfoView.swift
[62/86] Compiling Device Symbols.swift
[63/86] Compiling Device SystemInfoView.swift
[64/89] Compiling Device Version.swift
[65/89] Compiling Device ViewExtensions.swift
[66/89] Compiling Device resource_bundle_accessor.swift
[67/89] Compiling Device Screen.swift
[68/89] Compiling Device ScreenInfoView.swift
[69/89] Compiling Device Screenshot.swift
[70/89] Compiling Device iPads.swift
[71/89] Compiling Device iPhones.swift
[72/89] Compiling Device iPods.swift
[73/89] Compiling Device CurrentDeviceInfoView.swift
[74/89] Compiling Device Device.swift
[75/89] Compiling Device DeviceInfoView.swift
[76/89] Compiling Device DeviceKitBridge.swift
[77/89] Compiling Device EnvironmentsView.swift
[78/89] Compiling Device For Compatibility.swift
[79/89] Compiling Device Hardware.swift
[80/89] Compiling Device AppleTVs.swift
[81/89] Compiling Device AppleVision.swift
[82/89] Compiling Device AppleWatches.swift
[83/89] Compiling Device HomePods.swift
[84/89] Compiling Device Macs.swift
[85/89] Compiling Device AttributeListView.swift
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1043:9: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1041 | var animationTimer: Timer?
1042 | deinit {
1043 | if let timer {
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1046:15: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
1046 | timer = nil
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1047 | if let animationTimer {
1048 | animationTimer.invalidate()
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1047:9: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1045 | }
1046 | timer = nil
1047 | if let animationTimer {
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1050:24: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
1050 | animationTimer = nil
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1051 | }
1052 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[86/89] Compiling Device Battery.swift
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1043:9: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1041 | var animationTimer: Timer?
1042 | deinit {
1043 | if let timer {
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1046:15: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
1046 | timer = nil
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1047 | if let animationTimer {
1048 | animationTimer.invalidate()
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1047:9: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1045 | }
1046 | timer = nil
1047 | if let animationTimer {
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1050:24: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
1050 | animationTimer = nil
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1051 | }
1052 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[87/89] Compiling Device BatteryView.swift
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1043:9: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1041 | var animationTimer: Timer?
1042 | deinit {
1043 | if let timer {
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1046:15: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
1046 | timer = nil
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1047 | if let animationTimer {
1048 | animationTimer.invalidate()
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1047:9: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1045 | }
1046 | timer = nil
1047 | if let animationTimer {
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1050:24: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
1050 | animationTimer = nil
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1051 | }
1052 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[88/89] Compiling Device CurrentDevice.swift
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1043:9: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1041 | var animationTimer: Timer?
1042 | deinit {
1043 | if let timer {
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1046:15: warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1044 | timer.invalidate()
1045 | }
1046 | timer = nil
| `- warning: cannot access property 'timer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1047 | if let animationTimer {
1048 | animationTimer.invalidate()
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1047:9: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1045 | }
1046 | timer = nil
1047 | if let animationTimer {
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/host/spi-builder-workspace/Sources/CurrentDevice.swift:1050:24: warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1048 | animationTimer.invalidate()
1049 | }
1050 | animationTimer = nil
| `- warning: cannot access property 'animationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
1051 | }
1052 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
[89/89] Emitting module Device
Build complete! (28.54s)
Build complete.
{
"dependencies" : [
{
"identity" : "color",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kudit/Color"
}
],
"manifest_display_name" : "Device",
"name" : "Device",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "11"
},
{
"name" : "watchos",
"version" : "4"
},
{
"name" : "ios",
"version" : "11"
}
],
"products" : [
{
"name" : "Device Library",
"targets" : [
"Device"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Device",
"module_type" : "SwiftTarget",
"name" : "Device",
"path" : "Sources",
"product_dependencies" : [
"Color Library"
],
"product_memberships" : [
"Device Library"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/Resources/SymbolAssets.xcassets",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AttributeListView.swift",
"Battery.swift",
"BatteryView.swift",
"CurrentDevice.swift",
"CurrentDeviceInfoView.swift",
"Device.swift",
"DeviceInfoView.swift",
"DeviceKitBridge.swift",
"EnvironmentsView.swift",
"For Compatibility.swift",
"Hardware.swift",
"Models/AppleTVs.swift",
"Models/AppleVision.swift",
"Models/AppleWatches.swift",
"Models/HomePods.swift",
"Models/Macs.swift",
"Models/iPads.swift",
"Models/iPhones.swift",
"Models/iPods.swift",
"Screen.swift",
"ScreenInfoView.swift",
"Screenshot.swift",
"StorageInfoView.swift",
"Symbols.swift",
"SystemInfoView.swift",
"Version.swift",
"ViewExtensions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Done.