The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Kipple, reference 0.14.3 (7c6844), with Swift 6.2 for macOS (SPM) on 21 Jun 2025 14:05:09 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

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 /Users/admin/builder/spi-builder-workspace/.git/
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:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/bdrelling/Kipple.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
[1/1] Compiling plugin SwiftFormatPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/15] Write sources
[14/15] Write swift-version-1EA4D86E10B52AF.txt
[16/68] Compiling InternalCollectionsUtilities Debugging.swift
[17/69] Compiling InternalCollectionsUtilities Descriptions.swift
[18/69] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[19/69] Compiling InternalCollectionsUtilities UInt+reversed.swift
[20/69] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[21/69] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[22/69] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[23/69] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[24/69] Compiling InternalCollectionsUtilities Integer rank.swift
[25/69] Emitting module InternalCollectionsUtilities
[26/69] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[27/69] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[28/69] Compiling InternalCollectionsUtilities _SortedCollection.swift
[29/69] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[30/69] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[31/125] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[32/125] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[33/125] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[34/125] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[35/125] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[36/125] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[37/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[38/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[39/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[40/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[41/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[42/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[43/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[44/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[45/131] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[46/131] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[47/131] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[48/131] Compiling OrderedCollections OrderedSet+Sendable.swift
[49/131] Compiling OrderedCollections OrderedSet+Codable.swift
[50/131] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[51/131] Compiling OrderedCollections OrderedSet+Descriptions.swift
[52/131] Compiling OrderedCollections OrderedSet+Diffing.swift
[53/131] Compiling OrderedCollections OrderedSet+Equatable.swift
[54/131] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[55/131] Compiling OrderedCollections OrderedDictionary+Elements.swift
[56/131] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[57/131] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[58/131] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[59/131] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[60/131] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[61/131] Compiling OrderedCollections OrderedSet+Hashable.swift
[62/131] Compiling OrderedCollections OrderedSet+Initializers.swift
[63/131] Compiling OrderedCollections OrderedSet+Insertions.swift
[64/131] Compiling OrderedCollections OrderedSet+Invariants.swift
[65/131] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[66/131] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[67/131] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[68/131] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[69/131] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[70/131] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[71/131] Compiling OrderedCollections OrderedDictionary+Values.swift
[72/131] Compiling OrderedCollections OrderedDictionary.swift
[73/131] Compiling OrderedCollections _Hashtable+Header.swift
[74/131] Compiling OrderedCollections OrderedDictionary+Codable.swift
[75/131] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[76/131] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[77/131] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[78/131] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[79/131] Compiling KippleCombine Publisher+Result.swift
[80/131] Emitting module KippleCombine
[81/131] Compiling OrderedCollections _HashTable+Bucket.swift
[82/131] Compiling OrderedCollections _HashTable+BucketIterator.swift
[83/131] Compiling OrderedCollections _HashTable+Constants.swift
[84/131] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[85/131] Compiling OrderedCollections _HashTable+Testing.swift
[86/131] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[87/131] Compiling OrderedCollections _HashTable.swift
[88/131] Compiling OrderedCollections OrderedSet+SubSequence.swift
[89/131] Compiling OrderedCollections OrderedSet+Testing.swift
[90/131] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[91/131] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[92/131] Compiling OrderedCollections OrderedSet.swift
[93/131] Compiling OrderedCollections _UnsafeBitset.swift
[94/131] Emitting module OrderedCollections
[95/137] Compiling KippleCollections InterleavableDictionary.swift
[96/137] Compiling KippleCollections RangeReplaceableCollection+Rotating.swift
[97/137] Compiling KippleCollections Array+RemoveDuplicates.swift
[98/137] Compiling KippleCollections BidirectionalCollection+Looping.swift
[99/137] Emitting module KippleCollections
[100/137] Compiling KippleCollections Exports.swift
[101/137] Compiling KippleLogging ConsoleLogHandler.swift
[102/137] Compiling KippleCodable CodableDefaultStrategy.swift
[103/138] Compiling KippleFoundation SemanticVersion.swift
[104/139] Compiling KippleCodable CodableIgnored.swift
/Users/admin/builder/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
/Users/admin/builder/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
[107/139] Compiling KippleFoundation Swift+Modulo.swift
[108/139] Compiling KippleFoundation URLConvertible.swift
[111/139] Compiling KippleCodable CodableDefault.swift
[112/139] Compiling KippleCodable JSONDecoder+DecodeCleaned.swift
[113/139] Compiling KippleCodable PropertyListDecoder+DecodeCleaned.swift
[116/139] Emitting module KippleCodable
[119/139] Compiling KippleCodable Encodable+PrettyPrinted.swift
[120/139] Compiling KippleFoundation AppInfo.swift
[121/139] Compiling KippleFoundation BundleInfo.swift
[122/139] Compiling KippleLocalStorage UserDefaults+RemoveAllObjects.swift
[123/139] Compiling KippleLocalStorage UserDefaults+Mocked.swift
[124/139] Compiling KippleCodable DecodingError+Cleaned.swift
[125/139] Compiling KippleCodable Dictionary+AsJSONSerializedData.swift
[126/139] Compiling KippleCodable Encodable+AsDictionary.swift
[127/139] Compiling KippleLogging Logger+Convenience.swift
[128/139] Compiling KippleLogging Exports.swift
[129/139] Emitting module KippleLogging
[130/139] Compiling KippleLocalStorage UserDefaults+Key.swift
[133/139] Emitting module KippleFoundation
/Users/admin/builder/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
[136/139] Emitting module KippleLocalStorage
[137/139] Compiling KippleLocalStorage UserDefaults+Codable.swift
[138/142] Emitting module KippleDevice
[139/142] Compiling KippleDevice DeviceInfo.swift
[140/142] Compiling KippleDevice DeviceFamily.swift
[141/142] Emitting module KeychainAccess
[142/142] Compiling KeychainAccess Keychain.swift
[143/146] Compiling KippleKeychain Keychain+Key.swift
[144/146] Compiling KippleKeychain Exports.swift
[145/146] Compiling KippleKeychain Keychain+Default.swift
[146/146] Emitting module KippleKeychain
[147/148] Emitting module Kipple
[148/148] Compiling Kipple Exports.swift
remark: Incremental compilation has been disabled: Exports.swift has no swiftDeps file
remark: Incremental compilation has been disabled: Exports.swift has no swiftDeps file
remark: Incremental compilation has been disabled: malformed dependencies file 'none?!'
Build complete! (70.15s)
Fetching https://github.com/apple/swift-log
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/bdrelling/KippleTools
Fetching https://github.com/kishikawakatsumi/KeychainAccess
Fetching https://github.com/devicekit/DeviceKit
[1/720] Fetching kippletools
[73/4556] Fetching kippletools, swift-log
[265/8942] Fetching kippletools, swift-log, keychainaccess
[397/25582] Fetching kippletools, swift-log, keychainaccess, swift-collections
[457/29654] Fetching kippletools, swift-log, keychainaccess, swift-collections, devicekit
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (1.33s)
[16283/25268] Fetching kippletools, swift-log, swift-collections, devicekit
Fetched https://github.com/bdrelling/KippleTools from cache (1.63s)
Fetched https://github.com/apple/swift-collections from cache (1.63s)
Fetched https://github.com/devicekit/DeviceKit from cache (1.63s)
Fetched https://github.com/apple/swift-log from cache (1.63s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (2.20s)
Computing version for https://github.com/bdrelling/KippleTools
Computed https://github.com/bdrelling/KippleTools at 0.5.4 (0.52s)
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/nicklockwood/SwiftFormat
[1/15380] Fetching swift-argument-parser
[5846/64321] Fetching swift-argument-parser, swiftformat
Fetched https://github.com/apple/swift-argument-parser from cache (51.98s)
Fetched https://github.com/nicklockwood/SwiftFormat from cache (51.98s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (52.65s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (0.41s)
Computing version for https://github.com/devicekit/DeviceKit
Computed https://github.com/devicekit/DeviceKit at 5.6.0 (0.48s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.2.0 (0.49s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.56.4 (0.48s)
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/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
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/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.56.4
warning: 'devicekit': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Info.plist
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Device.swift.gyb
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" : "/Users/admin/builder/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"
}
Done.