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 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.