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 Kipple, reference 0.14.3 (7c6844), with Swift 6.2 (beta) for Linux on 21 Jun 2025 14:02:14 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bdrelling/Kipple.git
Reference: 0.14.3
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/bdrelling/Kipple
 * tag               0.14.3     -> FETCH_HEAD
HEAD is now at 7c68441 Improved BidrectionalCollection+Looping
Cloned https://github.com/bdrelling/Kipple.git
Revision (git rev-parse @):
7c68441e690e69c15f6c00ae0b4d3552f117048d
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/bdrelling/Kipple.git at 0.14.3
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.2
Building package at path:  $PWD
https://github.com/bdrelling/Kipple.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Fetching https://github.com/kishikawakatsumi/KeychainAccess
Fetching https://github.com/devicekit/DeviceKit
Fetching https://github.com/apple/swift-log
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/bdrelling/KippleTools
[1/720] Fetching kippletools
[721/4792] Fetching kippletools, devicekit
[2472/9178] Fetching kippletools, devicekit, keychainaccess
[5543/25818] Fetching kippletools, devicekit, keychainaccess, swift-collections
[7477/29654] Fetching kippletools, devicekit, keychainaccess, swift-collections, swift-log
Fetched https://github.com/devicekit/DeviceKit from cache (0.43s)
Fetched https://github.com/apple/swift-log from cache (0.44s)
[9433/21746] Fetching kippletools, keychainaccess, swift-collections
Fetched https://github.com/bdrelling/KippleTools from cache (0.99s)
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (1.00s)
Fetched https://github.com/apple/swift-collections from cache (1.01s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (1.37s)
Computing version for https://github.com/bdrelling/KippleTools
Computed https://github.com/bdrelling/KippleTools at 0.5.4 (0.37s)
Fetching https://github.com/nicklockwood/SwiftFormat
Fetching https://github.com/apple/swift-argument-parser
[1/15380] Fetching swift-argument-parser
[15381/64321] Fetching swift-argument-parser, swiftformat
Fetched https://github.com/apple/swift-argument-parser from cache (19.00s)
Fetched https://github.com/nicklockwood/SwiftFormat from cache (19.66s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (20.02s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (0.34s)
Computing version for https://github.com/devicekit/DeviceKit
Computed https://github.com/devicekit/DeviceKit at 5.6.0 (0.41s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.2.0 (0.71s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.56.4 (0.39s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.1
Creating working copy for https://github.com/devicekit/DeviceKit
Working copy of https://github.com/devicekit/DeviceKit resolved at 5.6.0
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.56.4
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.2.0
Creating working copy for https://github.com/bdrelling/KippleTools
Working copy of https://github.com/bdrelling/KippleTools resolved at 0.5.4
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess
Working copy of https://github.com/kishikawakatsumi/KeychainAccess resolved at 4.2.2
warning: 'devicekit': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Device.swift.gyb
    /host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Info.plist
[1/1] Compiling plugin SwiftFormatPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/15] Write sources
[14/15] Write swift-version-24593BA9C3E375BF.txt
[16/67] Emitting module Logging
[17/67] Emitting module KippleCombine
[18/67] Compiling KippleCombine Publisher+Result.swift
[20/68] Compiling InternalCollectionsUtilities Descriptions.swift
[21/68] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[22/68] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[23/69] Compiling KippleFoundation NSNumber+Boolean.swift
[24/69] Compiling KippleFoundation Result+Convenience.swift
[25/69] Compiling KippleFoundation Bundle+Convenience.swift
[26/69] Compiling KippleFoundation Bundle+Key.swift
[27/69] Compiling KippleFoundation String+Convenience.swift
[28/69] Compiling KippleFoundation String+LocalizedError.swift
[29/69] Compiling KippleFoundation Comparable+Clamped.swift
[30/69] Compiling KippleFoundation Int+Convenience.swift
[31/69] Compiling KippleFoundation BundleInfo.swift
[32/69] Compiling KippleFoundation SemanticVersion.swift
[33/70] Emitting module InternalCollectionsUtilities
[34/70] Compiling KippleFoundation BinaryInteger+Clamped.swift
[35/70] Compiling KippleFoundation Bool+Convenience.swift
[36/70] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[38/126] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[39/126] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[40/126] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[41/126] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[42/126] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[43/126] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[44/126] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[45/133] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[46/133] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[47/133] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[48/133] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[49/133] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[50/133] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[51/133] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[52/133] Compiling KippleCodable CodableDefaultStrategy.swift
[53/133] Compiling KippleCodable CodableDefault.swift
[54/134] Compiling KippleFoundation URLConvertible.swift
[55/134] Compiling Logging MetadataProvider.swift
[56/134] Compiling Logging Locks.swift
[57/134] Emitting module KippleLocalStorage
[58/134] Compiling OrderedCollections OrderedDictionary+Codable.swift
[59/134] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[60/134] Emitting module KippleFoundation
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[61/134] Compiling KippleLocalStorage UserDefaults+RemoveAllObjects.swift
[62/134] Compiling KippleCodable PropertyListDecoder+DecodeCleaned.swift
[63/134] Compiling KippleCodable JSONDecoder+DecodeCleaned.swift
[66/134] Emitting module KippleCodable
[67/134] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[68/134] Compiling OrderedCollections OrderedDictionary+Elements.swift
[69/134] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[70/134] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[73/134] Compiling OrderedCollections _HashTable+Bucket.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[74/134] Compiling OrderedCollections _HashTable+BucketIterator.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[75/134] Compiling OrderedCollections _HashTable+Constants.swift
[76/134] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[79/134] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[80/134] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[81/135] Compiling KippleLocalStorage UserDefaults+Codable.swift
[82/135] Compiling KippleLocalStorage UserDefaults+Key.swift
[83/135] Compiling KippleLocalStorage UserDefaults+Mocked.swift
[86/136] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[87/136] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[88/136] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[89/136] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[90/136] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[91/136] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[92/136] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[93/136] Compiling OrderedCollections OrderedDictionary+Values.swift
[94/136] Compiling OrderedCollections OrderedSet+Initializers.swift
[95/136] Compiling OrderedCollections OrderedSet+Insertions.swift
[96/136] Compiling OrderedCollections OrderedSet+Invariants.swift
[97/136] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[98/136] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[99/136] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[100/136] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[101/136] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[102/136] Compiling OrderedCollections OrderedDictionary.swift
[103/136] Compiling OrderedCollections OrderedSet+Codable.swift
[104/136] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[105/136] Compiling OrderedCollections OrderedSet+Descriptions.swift
[106/136] Compiling OrderedCollections OrderedSet+Diffing.swift
[107/136] Compiling OrderedCollections OrderedSet+Equatable.swift
[108/136] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[109/136] Compiling OrderedCollections OrderedSet+Hashable.swift
[110/136] Compiling KippleCodable CodableIgnored.swift
[120/144] Compiling OrderedCollections OrderedSet+Sendable.swift
[121/144] Compiling OrderedCollections OrderedSet+SubSequence.swift
[122/144] Compiling OrderedCollections OrderedSet+Testing.swift
[123/144] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[124/144] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[125/144] Compiling OrderedCollections OrderedSet.swift
[126/144] Compiling OrderedCollections _UnsafeBitset.swift
[127/144] Emitting module KippleKeychain
[128/144] Compiling KippleKeychain Keychain+Default.swift
[129/144] Compiling KippleKeychain Exports.swift
[130/144] Compiling KippleKeychain Keychain+Key.swift
[131/145] Compiling KippleDevice DeviceFamily.swift
[132/145] Compiling Logging Logging.swift
[133/145] Compiling Logging LogHandler.swift
[136/146] Emitting module KippleDevice
[137/150] Compiling KippleDevice DeviceInfo.swift
[139/151] Emitting module KippleLogging
[140/151] Compiling KippleLogging Exports.swift
[141/151] Compiling KippleLogging ConsoleLogHandler.swift
[142/151] Compiling KippleLogging Logger+Convenience.swift
[148/152] Compiling OrderedCollections _HashTable+Testing.swift
[149/152] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[150/152] Compiling OrderedCollections _HashTable.swift
[151/152] Compiling OrderedCollections _Hashtable+Header.swift
[152/152] Emitting module OrderedCollections
[154/159] Compiling KippleCollections Array+RemoveDuplicates.swift
[155/159] Compiling KippleCollections BidirectionalCollection+Looping.swift
[156/159] Compiling KippleCollections RangeReplaceableCollection+Rotating.swift
[157/159] Compiling KippleCollections InterleavableDictionary.swift
[158/159] Compiling KippleCollections Exports.swift
[159/159] Emitting module KippleCollections
[161/162] Emitting module Kipple
[162/162] Compiling Kipple Exports.swift
Build complete! (57.85s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "kippletools",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.3",
            "upper_bound" : "0.6.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/bdrelling/KippleTools"
    },
    {
      "identity" : "devicekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.3",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/devicekit/DeviceKit"
    },
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.2.2",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess"
    }
  ],
  "manifest_display_name" : "Kipple",
  "name" : "Kipple",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Kipple",
      "targets" : [
        "Kipple"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCodable",
      "targets" : [
        "KippleCodable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCollections",
      "targets" : [
        "KippleCollections"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCombine",
      "targets" : [
        "KippleCombine"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleFoundation",
      "targets" : [
        "KippleFoundation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleDevice",
      "targets" : [
        "KippleDevice"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleKeychain",
      "targets" : [
        "KippleKeychain"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLocalStorage",
      "targets" : [
        "KippleLocalStorage"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLogging",
      "targets" : [
        "KippleLogging"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KippleLoggingTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLoggingTests",
      "path" : "Tests/KippleLoggingTests",
      "sources" : [
        "Protocols/LogHandlerValidating.swift",
        "Tests/ConsoleLogHandlerTests.swift"
      ],
      "target_dependencies" : [
        "KippleLogging"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLogging",
      "module_type" : "SwiftTarget",
      "name" : "KippleLogging",
      "path" : "Sources/KippleLogging",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleLogging"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Logger+Convenience.swift",
        "Handlers/ConsoleLogHandler.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleLocalStorageTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorageTests",
      "path" : "Tests/KippleLocalStorageTests",
      "sources" : [
        "UserDefaultsExtensionsTests.swift"
      ],
      "target_dependencies" : [
        "KippleLocalStorage"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLocalStorage",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorage",
      "path" : "Sources/KippleLocalStorage",
      "product_memberships" : [
        "Kipple",
        "KippleLocalStorage"
      ],
      "sources" : [
        "UserDefaults/UserDefaults+Codable.swift",
        "UserDefaults/UserDefaults+Key.swift",
        "UserDefaults/UserDefaults+Mocked.swift",
        "UserDefaults/UserDefaults+RemoveAllObjects.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleKeychain",
      "module_type" : "SwiftTarget",
      "name" : "KippleKeychain",
      "path" : "Sources/KippleKeychain",
      "product_dependencies" : [
        "KeychainAccess"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleKeychain"
      ],
      "sources" : [
        "Exports.swift",
        "Keychain+Default.swift",
        "Keychain+Key.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleFoundationTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundationTests",
      "path" : "Tests/KippleFoundationTests",
      "sources" : [
        "AppInfoTests.swift",
        "BoolExtensionTests.swift",
        "BundleExtensionTests.swift",
        "BundleInfoTests.swift",
        "ComparableExtensionTests.swift",
        "Int64ClampedTests.swift",
        "IntExtensionTests.swift",
        "ModuloTests.swift",
        "NSNumberExtensionTests.swift",
        "ResultExtensionTests.swift",
        "SemanticVersionTests.swift",
        "StringExtensionTests.swift",
        "StringLocalizedErrorExtensionTests.swift",
        "UInt64ClampedTests.swift",
        "URLConvertibleTests.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleFoundation",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundation",
      "path" : "Sources/KippleFoundation",
      "product_memberships" : [
        "Kipple",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain"
      ],
      "sources" : [
        "Extensions/BinaryInteger+Clamped.swift",
        "Extensions/Bool+Convenience.swift",
        "Extensions/Bundle+Convenience.swift",
        "Extensions/Bundle+Key.swift",
        "Extensions/Comparable+Clamped.swift",
        "Extensions/Int+Convenience.swift",
        "Extensions/NSNumber+Boolean.swift",
        "Extensions/Result+Convenience.swift",
        "Extensions/String+Convenience.swift",
        "Extensions/String+LocalizedError.swift",
        "Extensions/Swift+Modulo.swift",
        "Models/AppInfo.swift",
        "Models/BundleInfo.swift",
        "Models/SemanticVersion.swift",
        "Protocols/URLConvertible.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleDeviceTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleDeviceTests",
      "path" : "Tests/KippleDeviceTests",
      "sources" : [
        "DeviceInfoTests.swift"
      ],
      "target_dependencies" : [
        "KippleDevice"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleDevice",
      "module_type" : "SwiftTarget",
      "name" : "KippleDevice",
      "path" : "Sources/KippleDevice",
      "product_dependencies" : [
        "DeviceKit"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleDevice"
      ],
      "sources" : [
        "DeviceFamily.swift",
        "DeviceInfo.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCombineTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombineTests",
      "path" : "Tests/KippleCombineTests",
      "sources" : [
        "PublisherResultTests.swift"
      ],
      "target_dependencies" : [
        "KippleCombine"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCombine",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombine",
      "path" : "Sources/KippleCombine",
      "product_memberships" : [
        "Kipple",
        "KippleCombine"
      ],
      "sources" : [
        "Publisher+Result.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCollectionsTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollectionsTests",
      "path" : "Tests/KippleCollectionsTests",
      "sources" : [
        "BidirectionalCollectionExtensionTests.swift",
        "InterleavableDictionaryTests.swift"
      ],
      "target_dependencies" : [
        "KippleCollections"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCollections",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollections",
      "path" : "Sources/KippleCollections",
      "product_dependencies" : [
        "OrderedCollections"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleCollections"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Array+RemoveDuplicates.swift",
        "Extensions/BidirectionalCollection+Looping.swift",
        "Extensions/RangeReplaceableCollection+Rotating.swift",
        "Protocols/InterleavableDictionary.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCodableTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodableTests",
      "path" : "Tests/KippleCodableTests",
      "sources" : [
        "CodableDefaultTests.swift",
        "CodableIgnoredTests.swift",
        "DecodingErrorCleanedTests.swift",
        "DictionaryExtensionTests.swift",
        "EncodableAsDictionaryTests.swift",
        "EncodablePrettyPrintedTests.swift"
      ],
      "target_dependencies" : [
        "KippleCodable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCodable",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodable",
      "path" : "Sources/KippleCodable",
      "product_memberships" : [
        "Kipple",
        "KippleCodable"
      ],
      "sources" : [
        "Errors/CleanedDecodingError.swift",
        "Errors/KippleCodableError.swift",
        "Extensions/DecodingError+Cleaned.swift",
        "Extensions/Dictionary+AsJSONSerializedData.swift",
        "Extensions/Encodable+AsDictionary.swift",
        "Extensions/Encodable+PrettyPrinted.swift",
        "Extensions/JSONDecoder+DecodeCleaned.swift",
        "Extensions/PropertyListDecoder+DecodeCleaned.swift",
        "PropertyWrappers/CodableDefault.swift",
        "PropertyWrappers/CodableDefaultStrategy.swift",
        "PropertyWrappers/CodableIgnored.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Kipple",
      "module_type" : "SwiftTarget",
      "name" : "Kipple",
      "path" : "Sources/Kipple",
      "product_memberships" : [
        "Kipple"
      ],
      "sources" : [
        "Exports.swift"
      ],
      "target_dependencies" : [
        "KippleCodable",
        "KippleCollections",
        "KippleCombine",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain",
        "KippleLocalStorage",
        "KippleLogging"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Done.