The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

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.