The Swift Package Index logo.Swift Package Index

Build Information

Successful build of HandySwift, reference main (f30a47), with Swift 6.0 for macOS (SPM) on 17 Feb 2026 21:47:47 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/FlineDev/HandySwift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/FlineDev/HandySwift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at f30a47c Remove ContextKit artifacts during Indie workspace cleanup in favor of shared skills
Cloned https://github.com/FlineDev/HandySwift.git
Revision (git rev-parse @):
f30a47c7a1c5ae7bd5d3be9a25a6a259e030cc96
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/FlineDev/HandySwift.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/FlineDev/HandySwift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-5BDAB9E9C0126B9D.txt
[3/37] Emitting module HandySwift
[4/40] Compiling HandySwift ArrayExt.swift
[5/40] Compiling HandySwift CaseIterableExt.swift
[6/40] Compiling HandySwift CollectionExt.swift
[7/40] Compiling HandySwift ComparableExt.swift
[8/40] Compiling HandySwift JSONDecoderExt.swift
[9/40] Compiling HandySwift JSONEncoderExt.swift
[10/40] Compiling HandySwift NSRangeExt.swift
[11/40] Compiling HandySwift RandomAccessCollectionExt.swift
[12/40] Compiling HandySwift PrintResponsePlugin.swift
[13/40] Compiling HandySwift RESTClient.swift
[14/40] Compiling HandySwift SortedArray.swift
[15/40] Compiling HandySwift DoubleExt.swift
[16/40] Compiling HandySwift DurationExt.swift
[17/40] Compiling HandySwift FloatExt.swift
[18/40] Compiling HandySwift IntExt.swift
[19/40] Compiling HandySwift Withable.swift
[20/40] Compiling HandySwift Debouncer.swift
[21/40] Compiling HandySwift FrequencyTable.swift
[22/40] Compiling HandySwift GregorianDay.swift
[23/40] Compiling HandySwift LogResponsePlugin.swift
[24/40] Compiling HandySwift OperatingSystem.swift
[25/40] Compiling HandySwift PrintRequestPlugin.swift
[26/40] Compiling HandySwift DataExt.swift
[27/40] Compiling HandySwift DateExt.swift
[28/40] Compiling HandySwift DictionaryExt.swift
[29/40] Compiling HandySwift DispatchTimeIntervalExt.swift
[30/40] Compiling HandySwift GregorianTime.swift
[31/40] Compiling HandySwift HandyRegex.swift
[32/40] Compiling HandySwift LogRequestPlugin.swift
[33/40] Compiling HandySwift TimeIntervalExt.swift
[34/40] Compiling HandySwift Globals.swift
[35/40] Compiling HandySwift AutoConforming.swift
[36/40] Compiling HandySwift DivisibleArithmetic.swift
[37/40] Compiling HandySwift SequenceExt.swift
[38/40] Compiling HandySwift StringExt.swift
[39/40] Compiling HandySwift StringProtocolExt.swift
[40/40] Compiling HandySwift SymmetricKeyExt.swift
Build complete! (6.33s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "HandySwift",
  "name" : "HandySwift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "HandySwift",
      "targets" : [
        "HandySwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "HandySwiftTests",
      "module_type" : "SwiftTarget",
      "name" : "HandySwiftTests",
      "path" : "Tests/HandySwiftTests",
      "sources" : [
        "Extensions/ArrayExtTests.swift",
        "Extensions/CollectionExtTests.swift",
        "Extensions/ComparableExtTests.swift",
        "Extensions/DictionaryExtTests.swift",
        "Extensions/DispatchTimeIntervalExtTests.swift",
        "Extensions/DoubleExtTests.swift",
        "Extensions/FloatExtTests.swift",
        "Extensions/IntExtTests.swift",
        "Extensions/NSObjectExtTests.swift",
        "Extensions/NSRangeExtTests.swift",
        "Extensions/StringExtTests.swift",
        "Extensions/TimeIntervalExtTests.swift",
        "Protocols/WithableTests.swift",
        "Structs/FrequencyTableTests.swift",
        "Structs/GregorianDayTests.swift",
        "Structs/HandyRegexTests.swift",
        "Structs/SortedArrayTests.swift",
        "Types/RESTClientTests.swift"
      ],
      "target_dependencies" : [
        "HandySwift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HandySwift",
      "module_type" : "SwiftTarget",
      "name" : "HandySwift",
      "path" : "Sources/HandySwift",
      "product_memberships" : [
        "HandySwift"
      ],
      "sources" : [
        "Extensions/ArrayExt.swift",
        "Extensions/CaseIterableExt.swift",
        "Extensions/CollectionExt.swift",
        "Extensions/ComparableExt.swift",
        "Extensions/DataExt.swift",
        "Extensions/DateExt.swift",
        "Extensions/DictionaryExt.swift",
        "Extensions/DispatchTimeIntervalExt.swift",
        "Extensions/DoubleExt.swift",
        "Extensions/DurationExt.swift",
        "Extensions/FloatExt.swift",
        "Extensions/IntExt.swift",
        "Extensions/JSONDecoderExt.swift",
        "Extensions/JSONEncoderExt.swift",
        "Extensions/NSRangeExt.swift",
        "Extensions/RandomAccessCollectionExt.swift",
        "Extensions/SequenceExt.swift",
        "Extensions/StringExt.swift",
        "Extensions/StringProtocolExt.swift",
        "Extensions/SymmetricKeyExt.swift",
        "Extensions/TimeIntervalExt.swift",
        "Globals.swift",
        "Protocols/AutoConforming.swift",
        "Protocols/DivisibleArithmetic.swift",
        "Protocols/Withable.swift",
        "Types/Debouncer.swift",
        "Types/FrequencyTable.swift",
        "Types/GregorianDay.swift",
        "Types/GregorianTime.swift",
        "Types/HandyRegex.swift",
        "Types/LogRequestPlugin.swift",
        "Types/LogResponsePlugin.swift",
        "Types/OperatingSystem.swift",
        "Types/PrintRequestPlugin.swift",
        "Types/PrintResponsePlugin.swift",
        "Types/RESTClient.swift",
        "Types/SortedArray.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/flinedev/handyswift/main
Repository:               FlineDev/HandySwift
Swift version used:       6.0
Target:                   HandySwift
Extracting symbol information for 'HandySwift'...
Finished extracting symbol information for 'HandySwift'. (2.58s)
Building documentation for 'HandySwift'...
warning: Return value documented for initializer returning void
  --> ../Extensions/DictionaryExt.swift:22:8-22:147
20 |    /// - Requires: The number of elements in `keys` must be equal to the number of elements in `values`.
21 |    ///
22 +    /// - Returns: A new dictionary initialized with the provided keys and values arrays, or `nil` if the number of elements in the arrays differs.
   |        ╰─suggestion: Remove return value documentation
23 |    @inlinable
24 |    public init?(keys: [Key], values: [Value]) {
warning: External name 'randomWithLength' used to document parameter
  --> ../Extensions/StringExt.swift:59:12-59:28
57 |    ///
58 |    /// - Parameters:
59 +    ///   - randomWithLength: The length of the random string to create.
   |            ╰─suggestion: Replace 'randomWithLength' with 'length'
60 |    ///   - allowedCharactersType: The type of allowed characters, see enum ``AllowedCharacters``.
61 |    public init(randomWithLength length: Int, allowedCharactersType: AllowedCharacters) {
warning: Return value documented for initializer returning void
  --> ../Extensions/SymmetricKeyExt.swift:34:11-34:122
32 |       ///
33 |       /// - Parameter base64Encoded: The Base64-encoded string representing the symmetric key.
34 +       /// - Returns: A symmetric key initialized from the Base64-encoded string, or `nil` if the input string is invalid.
   |           ╰─suggestion: Remove return value documentation
35 |       public init?(base64Encoded: String) {
36 |          guard let data = Data(base64Encoded: base64Encoded) else { return nil }
warning: 'JSONDecoder.snakeCase' doesn't exist at '/HandySwift/Extensions'
   --> Essentials/Extensions.md:141:12-141:33
139 | ```
140 |
141 + Just use ``JSONDecoder.snakeCase`` to decode and ``JSONEncoder.snakeCase`` to encode instead of configuring a new instance each time!
    |            ╰─suggestion: Replace 'JSONDecoder.snakeCase' with 'JSON-Snake-Case-Conversion'
142 |
143 | #### Symmetric Data Cryptography
warning: 'JSONEncoder.snakeCase' doesn't exist at '/HandySwift/Extensions'
   --> Essentials/Extensions.md:141:52-141:73
139 | ```
140 |
141 + Just use ``JSONDecoder.snakeCase`` to decode and ``JSONEncoder.snakeCase`` to encode instead of configuring a new instance each time!
142 |
143 | #### Symmetric Data Cryptography
warning: '83bbm' isn't a disambiguation for 'delay(for:id:operation:)' at '/HandySwift/Debouncer'
   --> Essentials/New Types.md:108:169-108:175
106 | ```
107 |
108 + Note that the ``Debouncer`` was stored in a property so ``Debouncer/cancelAll()`` could be called on disappear for cleanup. But the ``Debouncer/delay(for:id:operation:)-83bbm`` is where the magic happens – and you don't have to deal with the details!
    |                                                                                                                                                                         ├─suggestion: Replace '-83bbm' with '-72xv9' for'func delay(for duration: Duration, id: String = "default", operation: @escaping () -> Void)'
    |                                                                                                                                                                         ╰─suggestion: Replace '-83bbm' with '-6kzv2' for'func delay(for interval: TimeInterval, id: String = "default", operation: @escaping () -> Void)'
109 |
110 | > Note: If you need multiple debouncing operations in one view, you don't need multiple debouncers. Just pass an `id` to the delay function.
warning: '8iw4f' isn't a disambiguation for 'delay(by:qosClass:_:)' at '/HandySwift'
   --> Essentials/New Types.md:185:26-185:32
183 | ### Other
184 |
185 + - ``delay(by:qosClass:_:)-8iw4f``
    |                          ├─suggestion: Replace '-8iw4f' with '-7mmlv' for'func delay(by duration: Duration, qosClass: DispatchQoS.QoSClass? = nil, _ closure: @escaping () -> Void)'
    |                          ╰─suggestion: Replace '-8iw4f' with '-3vtd4' for'func delay(by timeInterval: TimeInterval, qosClass: DispatchQoS.QoSClass? = nil, _ closure: @escaping () -> Void)'
186 | - ``delay(by:qosClass:_:)-yedf``
187 | - ``HandyRegex``
warning: 'yedf' isn't a disambiguation for 'delay(by:qosClass:_:)' at '/HandySwift'
   --> Essentials/New Types.md:186:26-186:31
184 |
185 | - ``delay(by:qosClass:_:)-8iw4f``
186 + - ``delay(by:qosClass:_:)-yedf``
    |                          ├─suggestion: Replace '-yedf' with '-7mmlv' for'func delay(by duration: Duration, qosClass: DispatchQoS.QoSClass? = nil, _ closure: @escaping () -> Void)'
    |                          ╰─suggestion: Replace '-yedf' with '-3vtd4' for'func delay(by timeInterval: TimeInterval, qosClass: DispatchQoS.QoSClass? = nil, _ closure: @escaping () -> Void)'
187 | - ``HandyRegex``
warning: Parameter 'regex' not found in instance method declaration
   --> ../Types/HandyRegex.swift:163:12-163:66
161 |    ///
162 |    /// - parameters:
163 +    ///     - regex: A regular expression to match against `self`.
    |            ╰─suggestion: Remove 'regex' parameter documentation
164 |    ///     - template: A template string used to replace matches.
165 |    ///     - count: The maximum count of matches to replace, beginning with the first match.
warning: Parameter 'input' is missing documentation
   --> ../Types/HandyRegex.swift:166:8-166:8
164 |    ///     - template: A template string used to replace matches.
    |            ╰─suggestion: Document 'input' parameter
165 |    ///     - count: The maximum count of matches to replace, beginning with the first match.
166 +    ///
167 |    /// - returns: A string with all matches of `regex` replaced by `template`.
168 |    @available(*, deprecated, message: "The HandyRegex will be removed in a future version. Migrate to Swift.Regex<Output> if possible.")
warning: Parameter 'array' not found in initializer declaration
  --> ../Types/SortedArray.swift:50:12-50:64
48 |    ///
49 |    /// - Parameters:
50 +    ///     - array: The array to be initially sorted and saved.
   |            ╰─suggestion: Remove 'array' parameter documentation
51 |    public init<S: Sequence>(_ sequence: S) where S.Iterator.Element == Element {
52 |       self.init(sequence: sequence, preSorted: false)
warning: Parameter 'sequence' is missing documentation
  --> ../Types/SortedArray.swift:50:64-50:64
48 |    ///
49 |    /// - Parameters:
50 +    ///     - array: The array to be initially sorted and saved.
   |                                                                ╰─suggestion: Document 'sequence' parameter
51 |    public init<S: Sequence>(_ sequence: S) where S.Iterator.Element == Element {
52 |       self.init(sequence: sequence, preSorted: false)Finished building documentation for 'HandySwift' (0.49s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/flinedev/handyswift/main
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2171] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.19s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (2.55s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3658] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.22s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.63s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.6
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[0/8] Write snippet-extract-tool-entitlement.plist
[0/8] Write sources
[4/8] Write swift-version-5BDAB9E9C0126B9D.txt
[6/53] Emitting module Snippets
[7/53] Compiling Snippets Snippet.swift
[8/53] Compiling Snippets SnippetParser.swift
[9/53] Compiling SymbolKit GenericConstraint.swift
[10/53] Compiling SymbolKit GenericParameter.swift
[11/53] Compiling SymbolKit Generics.swift
[12/53] Compiling SymbolKit Namespace.swift
[13/57] Compiling SymbolKit Mixin+Equals.swift
[14/57] Compiling SymbolKit Mixin+Hash.swift
[15/57] Compiling SymbolKit Mixin.swift
[16/57] Compiling SymbolKit LineList.swift
[17/57] Compiling SymbolKit Position.swift
[18/57] Compiling SymbolKit Identifier.swift
[19/57] Compiling SymbolKit KindIdentifier.swift
[20/57] Compiling SymbolKit Location.swift
[21/57] Compiling SymbolKit Mutability.swift
[22/57] Compiling SymbolKit Relationship.swift
[23/57] Compiling SymbolKit RelationshipKind.swift
[24/57] Compiling SymbolKit SourceOrigin.swift
[25/57] Compiling SymbolKit GenericConstraints.swift
[26/57] Compiling SymbolKit Swift.swift
[27/57] Compiling SymbolKit Names.swift
[28/57] Compiling SymbolKit SPI.swift
[29/57] Compiling SymbolKit Snippet.swift
[30/57] Compiling SymbolKit Extension.swift
[31/57] Compiling SymbolKit SemanticVersion.swift
[32/57] Compiling SymbolKit AccessControl.swift
[33/57] Compiling SymbolKit Availability.swift
[34/57] Compiling SymbolKit AvailabilityItem.swift
[35/57] Compiling SymbolKit Domain.swift
[36/57] Compiling SymbolKit DeclarationFragments.swift
[37/57] Compiling SymbolKit Fragment.swift
[38/57] Compiling SymbolKit FragmentKind.swift
[39/57] Compiling SymbolKit FunctionParameter.swift
[40/57] Compiling SymbolKit FunctionSignature.swift
[41/57] Compiling SymbolKit SourceRange.swift
[42/57] Compiling SymbolKit Metadata.swift
[43/57] Compiling SymbolKit Module.swift
[44/57] Compiling SymbolKit OperatingSystem.swift
[45/57] Compiling SymbolKit Platform.swift
[46/57] Compiling SymbolKit Symbol.swift
[47/57] Compiling SymbolKit SymbolKind.swift
[48/57] Compiling SymbolKit SymbolGraph.swift
[49/57] Compiling SymbolKit GraphCollector.swift
[50/57] Emitting module SymbolKit
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.13s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
Build of target: 'HandySwift' complete! (0.17s)
    1271
11	/Users/admin/builder/spi-builder-workspace/.docs/flinedev/handyswift/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/flinedev/handyswift/main
File count: 1271
Doc size:   11.0MB
Preparing doc bundle ...
Uploading prod-flinedev-handyswift-main-c8ffc367.zip to s3://spi-docs-inbox/prod-flinedev-handyswift-main-c8ffc367.zip
Copying... [11%]
Copying... [22%]
Copying... [30%]
Copying... [41%]
Copying... [50%]
Copying... [61%]
Copying... [72%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.