The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of HandySwiftUI, reference 1.0.2 (c4e55e), with Swift 6.0 for macOS (SPM) on 3 Dec 2024 00:55:49 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats

Build Log

========================================
RunAll
========================================
Builder version: 4.58.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/FlineDev/HandySwiftUI.git
Reference: 1.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/FlineDev/HandySwiftUI
 * tag               1.0.2      -> FETCH_HEAD
HEAD is now at c4e55e0 Fix build issue only happening in Xcode 16.0.0 specifically
Cloned https://github.com/FlineDev/HandySwiftUI.git
Revision (git rev-parse @):
c4e55e03211300f62bd1926e9404470d31cc0562
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/FlineDev/HandySwiftUI.git at 1.0.2
Fetching https://github.com/FlineDev/HandySwift.git
[1/3324] Fetching handyswift
Fetched https://github.com/FlineDev/HandySwift.git from cache (1.34s)
Creating working copy for https://github.com/FlineDev/HandySwift.git
Working copy of https://github.com/FlineDev/HandySwift.git resolved at 4.3.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "handyswiftui",
      "name": "HandySwiftUI",
      "url": "https://github.com/FlineDev/HandySwiftUI.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/HandySwiftUI",
      "dependencies": [
        {
          "identity": "handyswift",
          "name": "HandySwift",
          "url": "https://github.com/FlineDev/HandySwift.git",
          "version": "4.3.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/HandySwift",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/FlineDev/HandySwiftUI.git
[1/1186] Fetching handyswiftui
Fetched https://github.com/FlineDev/HandySwiftUI.git from cache (1.52s)
Fetching https://github.com/FlineDev/HandySwift.git from cache
Fetched https://github.com/FlineDev/HandySwift.git from cache (0.43s)
Computing version for https://github.com/FlineDev/HandySwift.git
Computed https://github.com/FlineDev/HandySwift.git at 4.3.0 (0.42s)
Creating working copy for https://github.com/FlineDev/HandySwift.git
Working copy of https://github.com/FlineDev/HandySwift.git resolved at 4.3.0
Creating working copy for https://github.com/FlineDev/HandySwiftUI.git
Working copy of https://github.com/FlineDev/HandySwiftUI.git resolved at 1.0.2 (c4e55e0)
warning: '.resolve-product-dependencies': dependency 'handyswiftui' is not used by any target
Found 1 product dependencies
  - HandySwift
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/FlineDev/HandySwiftUI.git
{
  "default_localization" : "en",
  "dependencies" : [
    {
      "identity" : "handyswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.3.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/FlineDev/HandySwift.git"
    }
  ],
  "manifest_display_name" : "HandySwiftUI",
  "name" : "HandySwiftUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "HandySwiftUI",
      "targets" : [
        "HandySwiftUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "HandySwiftUI",
      "module_type" : "SwiftTarget",
      "name" : "HandySwiftUI",
      "path" : "Sources/HandySwiftUI",
      "product_dependencies" : [
        "HandySwift"
      ],
      "product_memberships" : [
        "HandySwiftUI"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Localizable.xcstrings",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Extensions/BindingExt.swift",
        "Extensions/ButtonExt.swift",
        "Extensions/CGFloatExt.swift",
        "Extensions/ColorExt.swift",
        "Extensions/CustomStringConvertibleExt.swift",
        "Extensions/ImageExt.swift",
        "Extensions/LabelExt.swift",
        "Extensions/NotificationNameExt.swift",
        "Extensions/PersistentModelExt.swift",
        "Extensions/PickerExt.swift",
        "Extensions/StringExt.swift",
        "Extensions/TextExt.swift",
        "Modifiers/ForegroundStyleMinContrast.swift",
        "Modifiers/ProgressOverlay.swift",
        "Modifiers/ThrowingTask.swift",
        "Modifiers/ViewExt.swift",
        "Styles/CheckboxUniversalToggleStyle.swift",
        "Styles/FixedIconWidthLabelStyle.swift",
        "Styles/HorizontalLabelStyle.swift",
        "Styles/PrimaryButtonStyle.swift",
        "Styles/PulsatingButtonStyle.swift",
        "Styles/SecondaryButtonStyle.swift",
        "Styles/VerticalLabelStyle.swift",
        "Styles/VerticalLabeledContentStyle.swift",
        "Types/Models/Emoji.swift",
        "Types/Models/SFSymbol.swift",
        "Types/Other/ColorSpaces.swift",
        "Types/Other/OpenPanel.swift",
        "Types/Other/Platform.swift",
        "Types/Other/ProgressState.swift",
        "Types/Other/Xcode.swift",
        "Types/Protocols/CustomLabelConvertible.swift",
        "Types/Protocols/CustomSymbolConvertible.swift",
        "Types/Protocols/NilPlaceholdable.swift",
        "Types/Views/AsyncButton.swift",
        "Types/Views/CachedAsyncImage.swift",
        "Types/Views/DisclosureSection.swift",
        "Types/Views/HPicker.swift",
        "Types/Views/LimitedTextField.swift",
        "Types/Views/MultiSelectionView.swift",
        "Types/Views/MultiSelector.swift",
        "Types/Views/SearchableGridPicker.swift",
        "Types/Views/SideTabView.swift",
        "Types/Views/VPicker.swift",
        "Types/Views/WebView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
Building for debugging...
[0/5] Write sources
[2/5] Copying Info.plist
[2/5] Copying Localizable.xcstrings
[4/5] Write swift-version--7754E27361AE5C74.txt
[6/33] Emitting module HandySwift
[7/36] Compiling HandySwift TimeIntervalExt.swift
[8/36] Compiling HandySwift Globals.swift
[9/36] Compiling HandySwift AutoConforming.swift
[10/36] Compiling HandySwift HandyRegex.swift
[11/36] Compiling HandySwift OperatingSystem.swift
[12/36] Compiling HandySwift SortedArray.swift
[13/36] Compiling HandySwift DurationExt.swift
[14/36] Compiling HandySwift FloatExt.swift
[15/36] Compiling HandySwift IntExt.swift
[16/36] Compiling HandySwift ArrayExt.swift
[17/36] Compiling HandySwift CaseIterableExt.swift
[18/36] Compiling HandySwift CollectionExt.swift
[19/36] Compiling HandySwift FrequencyTable.swift
[20/36] Compiling HandySwift GregorianDay.swift
[21/36] Compiling HandySwift GregorianTimeOfDay.swift
[22/36] Compiling HandySwift NSRangeExt.swift
[23/36] Compiling HandySwift RandomAccessCollectionExt.swift
[24/36] Compiling HandySwift SequenceExt.swift
[25/36] Compiling HandySwift DivisibleArithmetic.swift
[26/36] Compiling HandySwift Withable.swift
[27/36] Compiling HandySwift Debouncer.swift
[28/36] Compiling HandySwift ComparableExt.swift
[29/36] Compiling HandySwift DataExt.swift
[30/36] Compiling HandySwift DateExt.swift
[31/36] Compiling HandySwift StringExt.swift
[32/36] Compiling HandySwift StringProtocolExt.swift
[33/36] Compiling HandySwift SymmetricKeyExt.swift
[34/36] Compiling HandySwift DictionaryExt.swift
[35/36] Compiling HandySwift DispatchTimeIntervalExt.swift
[36/36] Compiling HandySwift DoubleExt.swift
[37/79] Compiling HandySwiftUI Xcode.swift
[38/79] Compiling HandySwiftUI CustomLabelConvertible.swift
[39/79] Compiling HandySwiftUI CustomSymbolConvertible.swift
[40/79] Compiling HandySwiftUI NilPlaceholdable.swift
[41/83] Compiling HandySwiftUI ViewExt.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[42/83] Compiling HandySwiftUI CheckboxUniversalToggleStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[43/83] Compiling HandySwiftUI FixedIconWidthLabelStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[44/83] Compiling HandySwiftUI HorizontalLabelStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[45/83] Compiling HandySwiftUI PrimaryButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[46/83] Compiling HandySwiftUI LimitedTextField.swift
[47/83] Compiling HandySwiftUI MultiSelectionView.swift
[48/83] Compiling HandySwiftUI MultiSelector.swift
[49/83] Compiling HandySwiftUI SearchableGridPicker.swift
[50/83] Compiling HandySwiftUI StringExt.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[51/83] Compiling HandySwiftUI TextExt.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[52/83] Compiling HandySwiftUI ForegroundStyleMinContrast.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[53/83] Compiling HandySwiftUI ProgressOverlay.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[54/83] Compiling HandySwiftUI ThrowingTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[55/83] Compiling HandySwiftUI BindingExt.swift
[56/83] Compiling HandySwiftUI ButtonExt.swift
[57/83] Compiling HandySwiftUI CGFloatExt.swift
[58/83] Compiling HandySwiftUI ColorExt.swift
[59/83] Compiling HandySwiftUI CustomStringConvertibleExt.swift
[60/83] Compiling HandySwiftUI SFSymbol.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[61/83] Compiling HandySwiftUI ColorSpaces.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[62/83] Compiling HandySwiftUI OpenPanel.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[63/83] Compiling HandySwiftUI Platform.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[64/83] Compiling HandySwiftUI ProgressState.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[65/83] Compiling HandySwiftUI ImageExt.swift
[66/83] Compiling HandySwiftUI LabelExt.swift
[67/83] Compiling HandySwiftUI NotificationNameExt.swift
[68/83] Compiling HandySwiftUI PersistentModelExt.swift
[69/83] Compiling HandySwiftUI PickerExt.swift
[70/83] Emitting module HandySwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[71/83] Compiling HandySwiftUI SideTabView.swift
[72/83] Compiling HandySwiftUI VPicker.swift
[73/83] Compiling HandySwiftUI WebView.swift
[74/83] Compiling HandySwiftUI resource_bundle_accessor.swift
[75/83] Compiling HandySwiftUI AsyncButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[76/83] Compiling HandySwiftUI CachedAsyncImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[77/83] Compiling HandySwiftUI DisclosureSection.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[78/83] Compiling HandySwiftUI HPicker.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[79/83] Compiling HandySwiftUI PulsatingButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[80/83] Compiling HandySwiftUI SecondaryButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[81/83] Compiling HandySwiftUI VerticalLabelStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[82/83] Compiling HandySwiftUI VerticalLabeledContentStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[83/83] Compiling HandySwiftUI Emoji.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
Build complete! (53.70s)
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
    {
      "identity" : "handyswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.3.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/FlineDev/HandySwift.git"
    }
  ],
  "manifest_display_name" : "HandySwiftUI",
  "name" : "HandySwiftUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "HandySwiftUI",
      "targets" : [
        "HandySwiftUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "HandySwiftUI",
      "module_type" : "SwiftTarget",
      "name" : "HandySwiftUI",
      "path" : "Sources/HandySwiftUI",
      "product_dependencies" : [
        "HandySwift"
      ],
      "product_memberships" : [
        "HandySwiftUI"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Localizable.xcstrings",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Extensions/BindingExt.swift",
        "Extensions/ButtonExt.swift",
        "Extensions/CGFloatExt.swift",
        "Extensions/ColorExt.swift",
        "Extensions/CustomStringConvertibleExt.swift",
        "Extensions/ImageExt.swift",
        "Extensions/LabelExt.swift",
        "Extensions/NotificationNameExt.swift",
        "Extensions/PersistentModelExt.swift",
        "Extensions/PickerExt.swift",
        "Extensions/StringExt.swift",
        "Extensions/TextExt.swift",
        "Modifiers/ForegroundStyleMinContrast.swift",
        "Modifiers/ProgressOverlay.swift",
        "Modifiers/ThrowingTask.swift",
        "Modifiers/ViewExt.swift",
        "Styles/CheckboxUniversalToggleStyle.swift",
        "Styles/FixedIconWidthLabelStyle.swift",
        "Styles/HorizontalLabelStyle.swift",
        "Styles/PrimaryButtonStyle.swift",
        "Styles/PulsatingButtonStyle.swift",
        "Styles/SecondaryButtonStyle.swift",
        "Styles/VerticalLabelStyle.swift",
        "Styles/VerticalLabeledContentStyle.swift",
        "Types/Models/Emoji.swift",
        "Types/Models/SFSymbol.swift",
        "Types/Other/ColorSpaces.swift",
        "Types/Other/OpenPanel.swift",
        "Types/Other/Platform.swift",
        "Types/Other/ProgressState.swift",
        "Types/Other/Xcode.swift",
        "Types/Protocols/CustomLabelConvertible.swift",
        "Types/Protocols/CustomSymbolConvertible.swift",
        "Types/Protocols/NilPlaceholdable.swift",
        "Types/Views/AsyncButton.swift",
        "Types/Views/CachedAsyncImage.swift",
        "Types/Views/DisclosureSection.swift",
        "Types/Views/HPicker.swift",
        "Types/Views/LimitedTextField.swift",
        "Types/Views/MultiSelectionView.swift",
        "Types/Views/MultiSelector.swift",
        "Types/Views/SearchableGridPicker.swift",
        "Types/Views/SideTabView.swift",
        "Types/Views/VPicker.swift",
        "Types/Views/WebView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/flinedev/handyswiftui/1.0.2
Repository:               FlineDev/HandySwiftUI
Swift version used:       6.0
Target:                   HandySwiftUI
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Extracting symbol information for 'HandySwiftUI'...
Finished extracting symbol information for 'HandySwiftUI'. (31.86s)
Building documentation for 'HandySwiftUI'...
warning: External name 'by' used to document parameter
   --> ../Extensions/ColorExt.swift:398:12-398:14
396 |    /// - Parameters:
397 |    ///   - attribute: The attribute to change.
398 +    ///   - by: The addition to be added to the current value of the attribute.
    |            ╰─suggestion: Replace 'by' with 'addition'
399 |    /// - Returns: The resulting new `Color` with the specified change applied.
400 |    public func change(_ attribute: ChangeableAttribute, by addition: Double) -> Self {
warning: External name 'to' used to document parameter
   --> ../Extensions/ColorExt.swift:438:12-438:14
436 |    /// - Parameters:
437 |    ///   - attribute: The attribute to change.
438 +    ///   - to: The new value to be set for the attribute.
    |            ╰─suggestion: Replace 'to' with 'newValue'
439 |    /// - Returns: The resulting new `Color` with the specified change applied.
440 |    public func change(_ attribute: ChangeableAttribute, to newValue: Double) -> Self {
warning: Return value documented for initializer returning void
  --> ../Extensions/ImageExt.swift:11:8-12:8
9  |    ///   - variableValue: An optional value for variable value symbols.
10 |    ///
11 +    /// - Returns: An `Image` view representing the system symbol.
   |        ╰─suggestion: Remove return value documentation
12 +    ///
13 |    /// - Example:
14 |    ///   ```swift
warning: 'CustomStringConvertible' doesn't exist at '/HandySwiftUI/SwiftUICore/Text/init(convertible:)'
 --> ../Extensions/TextExt.swift:5:84-5:107
3 |
4 | extension Text {
5 +    /// Creates a ``Text`` view using the `description` parameter of the provided ``CustomStringConvertible`` instance.
6 |    public init(convertible: CustomStringConvertible) {
7 |       self.init(convertible.description)
warning: External name 'format' used to document parameter
  --> ../Extensions/TextExt.swift:28:12-28:18
26 |    ///
27 |    /// - Parameters:
28 +    ///   - format: The string to be rendered as a Text.
   |            ╰─suggestion: Replace 'format' with 'formatString'
29 |    ///   - partialStyling: A dictionary with keys serving as names for HTML-like tags and values creating custom formatted `Text` objects for substrings.
30 |    public init(
warning: '!(value:)' doesn't exist at '/HandySwiftUI/Extensions'
   --> Essentials/Extensions.md:248:5-248:14
246 | ### Binding
247 |
248 + - ``!(value:)``
249 | - ``??(binding:fallback:)``
250 | - ``SwiftUICore/Binding/isPresent(wrappedType:)``
warning: '??(binding:fallback:)' doesn't exist at '/HandySwiftUI/Extensions'
   --> Essentials/Extensions.md:249:5-249:26
247 |
248 | - ``!(value:)``
249 + - ``??(binding:fallback:)``
250 | - ``SwiftUICore/Binding/isPresent(wrappedType:)``
251 |
warning: 'UIKit' doesn't exist at '/HandySwiftUI/Extensions'
   --> Essentials/Extensions.md:291:5-291:10
289 | - ``AppKit/NSImage/pngData()``
290 | - ``AppKit/NSImage/resized(maxWidth:maxHeight:)``
291 + - ``UIKit/UIImage/heicData(compressionQuality:)``
292 | - ``UIKit/UIImage/resized(maxWidth:maxHeight:)``
293 |
warning: 'UIKit' doesn't exist at '/HandySwiftUI/Extensions'
   --> Essentials/Extensions.md:292:5-292:10
290 | - ``AppKit/NSImage/resized(maxWidth:maxHeight:)``
291 | - ``UIKit/UIImage/heicData(compressionQuality:)``
292 + - ``UIKit/UIImage/resized(maxWidth:maxHeight:)``
293 |
294 | ### Label
warning: 'Notification' doesn't exist at '/HandySwiftUI/Foundation'
   --> Essentials/Extensions.md:300:16-300:28
298 | ### Notification.Name
299 |
300 + - ``Foundation/Notification/Name/publisher``
    |                ╰─suggestion: Replace 'Notification' with 'NSNotification'
301 | - ``Foundation/Notification/Name/post(object:)``
302 |
warning: 'Notification' doesn't exist at '/HandySwiftUI/Foundation'
   --> Essentials/Extensions.md:301:16-301:28
299 |
300 | - ``Foundation/Notification/Name/publisher``
301 + - ``Foundation/Notification/Name/post(object:)``
    |                ╰─suggestion: Replace 'Notification' with 'NSNotification'
302 |
303 | ### PersistentModel
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:485:10-485:110
483 |    ///
484 |    /// - Parameters:
485 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
487 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:487:8-487:8
485 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
486 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
487 +    ///
488 |    /// - Returns: A view with the confirmation dialog attached.
489 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'isPresented' not found in instance method declaration
   --> ../Modifiers/ViewExt.swift:550:10-550:110
548 |    /// - Parameters:
549 |    ///   - message: A localized string key for the custom warning message to display.
550 +    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
    |          ╰─suggestion: Remove 'isPresented' parameter documentation
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
552 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: Parameter 'item' is missing documentation
   --> ../Modifiers/ViewExt.swift:552:8-552:8
550 |    ///   - isPresented: A binding to a Boolean value that determines whether to show the confirmation dialog.
551 |    ///   - performDelete: A closure that gets called when the user confirms the delete action. The item to delete will be passed as a parameter.
    |          ╰─suggestion: Document 'item' parameter
552 +    ///
553 |    /// - Returns: A view with the confirmation dialog attached.
554 |    ///
warning: 'CheckboxToggleStyle' doesn't exist at '/HandySwiftUI/CheckboxUniversalToggleStyle'
 --> ../Styles/CheckboxUniversalToggleStyle.swift:3:45-3:64
1 | import SwiftUI
2 |
3 + /// A custom toggle style that works like ``CheckboxToggleStyle`` but supports all Apple platforms, not just macOS.
  |                                             ╰─suggestion: Replace 'CheckboxToggleStyle' with 'ToggleStyle-Implementations'
4 | public struct CheckboxUniversalToggleStyle: ToggleStyle {
5 |    public func makeBody(configuration: Configuration) -> some View {
warning: 'ToggleStyle.checkbox' doesn't exist at '/HandySwiftUI/SwiftUI/ToggleStyle/checkboxUniversal'
  --> ../Styles/CheckboxUniversalToggleStyle.swift:37:48-37:68
35 |
36 | extension ToggleStyle where Self == CheckboxUniversalToggleStyle {
37 +    /// A custom toggle style that works like ``ToggleStyle.checkbox`` but supports all Apple platforms, not just macOS.
38 |    public static var checkboxUniversal: CheckboxUniversalToggleStyle { .init() }
39 | }
warning: 'ToggleStyle.checkbox' doesn't exist at '/HandySwiftUI/CheckboxUniversalToggleStyle/checkboxUniversal'
  --> ../Styles/CheckboxUniversalToggleStyle.swift:37:48-37:68
35 |
36 | extension ToggleStyle where Self == CheckboxUniversalToggleStyle {
37 +    /// A custom toggle style that works like ``ToggleStyle.checkbox`` but supports all Apple platforms, not just macOS.
38 |    public static var checkboxUniversal: CheckboxUniversalToggleStyle { .init() }
39 | }
warning: 'Button' doesn't exist at '/HandySwiftUI/AsyncButton'
 --> ../Types/Views/AsyncButton.swift:3:9-3:15
1 | import SwiftUI
2 |
3 + /// A ``Button`` that creates a ``Task`` in its action closure which gets automatically cancelled ``.onDisappear``.
4 | /// The button shows both progress while the task is in progress and indicates success or failure when the task is completed or throws an error.
5 | ///
warning: 'Task' doesn't exist at '/HandySwiftUI/AsyncButton'
 --> ../Types/Views/AsyncButton.swift:3:35-3:39
1 | import SwiftUI
2 |
3 + /// A ``Button`` that creates a ``Task`` in its action closure which gets automatically cancelled ``.onDisappear``.
4 | /// The button shows both progress while the task is in progress and indicates success or failure when the task is completed or throws an error.
5 | ///
warning: '.onDisappear' doesn't exist at '/HandySwiftUI/AsyncButton'
 --> ../Types/Views/AsyncButton.swift:3:101-3:113
1 | import SwiftUI
2 |
3 + /// A ``Button`` that creates a ``Task`` in its action closure which gets automatically cancelled ``.onDisappear``.
  |                                                                                                     ╰─suggestion: Replace '.onDisappear' with 'onDisappear(perform:)'
4 | /// The button shows both progress while the task is in progress and indicates success or failure when the task is completed or throws an error.
5 | ///
warning: Parameter 'title' is missing documentation
  --> ../Types/Views/LimitedTextField.swift:14:69-14:69
12 |    /// - Parameters:
13 |    ///   - text: A binding to the `String` value representing the text input.
   |          ╰─suggestion: Document 'title' parameter
14 +    ///   - characterLimit: The maximum number of characters allowed.
15 |    public init(_ title: LocalizedStringKey, text: Binding<String>, characterLimit: Int) {
16 |       self.title = titleFinished building documentation for 'HandySwiftUI' (5.93s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/flinedev/handyswiftui/1.0.2
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2044] Fetching swift-docc-plugin
Updating https://github.com/FlineDev/HandySwift.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.27s)
Updated https://github.com/FlineDev/HandySwift.git (0.51s)
Computing version for https://github.com/FlineDev/HandySwift.git
Computed https://github.com/FlineDev/HandySwift.git at 4.3.0 (0.41s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (2.39s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3198] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.30s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.57s)
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
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.3
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Compiling Snippets SnippetParser.swift
[7/53] Emitting module Snippets
[8/53] Compiling Snippets Snippet.swift
[9/53] Emitting module SymbolKit
[10/57] Compiling SymbolKit Names.swift
[11/57] Compiling SymbolKit SPI.swift
[12/57] Compiling SymbolKit Snippet.swift
[13/57] Compiling SymbolKit Extension.swift
[14/57] Compiling SymbolKit Relationship.swift
[15/57] Compiling SymbolKit RelationshipKind.swift
[16/57] Compiling SymbolKit SourceOrigin.swift
[17/57] Compiling SymbolKit GenericConstraints.swift
[18/57] Compiling SymbolKit Swift.swift
[19/57] Compiling SymbolKit SourceRange.swift
[20/57] Compiling SymbolKit Metadata.swift
[21/57] Compiling SymbolKit Module.swift
[22/57] Compiling SymbolKit OperatingSystem.swift
[23/57] Compiling SymbolKit Platform.swift
[24/57] Compiling SymbolKit SemanticVersion.swift
[25/57] Compiling SymbolKit AccessControl.swift
[26/57] Compiling SymbolKit Availability.swift
[27/57] Compiling SymbolKit AvailabilityItem.swift
[28/57] Compiling SymbolKit Domain.swift
[29/57] Compiling SymbolKit GenericConstraint.swift
[30/57] Compiling SymbolKit GenericParameter.swift
[31/57] Compiling SymbolKit Generics.swift
[32/57] Compiling SymbolKit Namespace.swift
[33/57] Compiling SymbolKit DeclarationFragments.swift
[34/57] Compiling SymbolKit Fragment.swift
[35/57] Compiling SymbolKit FragmentKind.swift
[36/57] Compiling SymbolKit FunctionParameter.swift
[37/57] Compiling SymbolKit FunctionSignature.swift
[38/57] Compiling SymbolKit Mixin+Equals.swift
[39/57] Compiling SymbolKit Mixin+Hash.swift
[40/57] Compiling SymbolKit Mixin.swift
[41/57] Compiling SymbolKit LineList.swift
[42/57] Compiling SymbolKit Position.swift
[43/57] Compiling SymbolKit Identifier.swift
[44/57] Compiling SymbolKit KindIdentifier.swift
[45/57] Compiling SymbolKit Location.swift
[46/57] Compiling SymbolKit Mutability.swift
[47/57] Compiling SymbolKit Symbol.swift
[48/57] Compiling SymbolKit SymbolKind.swift
[49/57] Compiling SymbolKit SymbolGraph.swift
[50/57] Compiling SymbolKit GraphCollector.swift
[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 SymbolGraph+Snippet.swift
[56/61] Compiling snippet_extract URL+Status.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! (3.77s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/29] Compiling HandySwift ArrayExt.swift
[3/29] Compiling HandySwift CaseIterableExt.swift
[4/29] Compiling HandySwift CollectionExt.swift
[5/32] Compiling HandySwift DictionaryExt.swift
[6/32] Compiling HandySwift DispatchTimeIntervalExt.swift
[7/32] Compiling HandySwift DoubleExt.swift
[8/32] Compiling HandySwift DurationExt.swift
[9/32] Compiling HandySwift FloatExt.swift
[10/32] Compiling HandySwift IntExt.swift
[11/32] Compiling HandySwift TimeIntervalExt.swift
[12/32] Compiling HandySwift Globals.swift
[13/32] Compiling HandySwift AutoConforming.swift
[14/32] Compiling HandySwift ComparableExt.swift
[15/32] Compiling HandySwift DataExt.swift
[16/32] Compiling HandySwift DateExt.swift
[17/32] Compiling HandySwift StringExt.swift
[18/32] Compiling HandySwift StringProtocolExt.swift
[19/32] Compiling HandySwift SymmetricKeyExt.swift
[20/32] Emitting module HandySwift
[21/32] Compiling HandySwift DivisibleArithmetic.swift
[22/32] Compiling HandySwift Withable.swift
[23/32] Compiling HandySwift Debouncer.swift
[24/32] Compiling HandySwift NSRangeExt.swift
[25/32] Compiling HandySwift RandomAccessCollectionExt.swift
[26/32] Compiling HandySwift SequenceExt.swift
[27/32] Compiling HandySwift FrequencyTable.swift
[28/32] Compiling HandySwift GregorianDay.swift
[29/32] Compiling HandySwift GregorianTimeOfDay.swift
[30/32] Compiling HandySwift HandyRegex.swift
[31/32] Compiling HandySwift OperatingSystem.swift
[32/32] Compiling HandySwift SortedArray.swift
[33/75] Compiling HandySwiftUI Xcode.swift
[34/75] Compiling HandySwiftUI CustomLabelConvertible.swift
[35/75] Compiling HandySwiftUI CustomSymbolConvertible.swift
[36/75] Compiling HandySwiftUI NilPlaceholdable.swift
[37/79] Compiling HandySwiftUI ViewExt.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[38/79] Compiling HandySwiftUI CheckboxUniversalToggleStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[39/79] Compiling HandySwiftUI FixedIconWidthLabelStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[40/79] Compiling HandySwiftUI HorizontalLabelStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[41/79] Compiling HandySwiftUI PrimaryButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
[42/79] Compiling HandySwiftUI ImageExt.swift
[43/79] Compiling HandySwiftUI LabelExt.swift
[44/79] Compiling HandySwiftUI NotificationNameExt.swift
[45/79] Compiling HandySwiftUI PersistentModelExt.swift
[46/79] Compiling HandySwiftUI PickerExt.swift
[47/79] Compiling HandySwiftUI StringExt.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[48/79] Compiling HandySwiftUI TextExt.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[49/79] Compiling HandySwiftUI ForegroundStyleMinContrast.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[50/79] Compiling HandySwiftUI ProgressOverlay.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[51/79] Compiling HandySwiftUI ThrowingTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:37:24: warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 35 |       var previousRange: Range<String.Index>?
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
    |                        `- warning: 'init(_:options:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 38 |       for match in regex.matches(in: formatString) {
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Extensions/TextExt.swift:38:26: warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 36 |
 37 |       let regex = try! HandyRegex(#"<([^<>]+)>([^<>]+)</([^<>]+)>|<([^<>]+)/>"#)
 38 |       for match in regex.matches(in: formatString) {
    |                          `- warning: 'matches(in:)' is deprecated: The HandyRegex type will be removed in a future version. Migrate to Swift.Regex<Output> if possible.
 39 |          let prefix = formatString[(previousRange?.upperBound ?? formatString.startIndex)..<match.range.lowerBound]
 40 |          if !prefix.isEmpty {
[52/79] Compiling HandySwiftUI BindingExt.swift
[53/79] Compiling HandySwiftUI ButtonExt.swift
[54/79] Compiling HandySwiftUI CGFloatExt.swift
[55/79] Compiling HandySwiftUI ColorExt.swift
[56/79] Compiling HandySwiftUI CustomStringConvertibleExt.swift
[57/79] Compiling HandySwiftUI LimitedTextField.swift
[58/79] Compiling HandySwiftUI MultiSelectionView.swift
[59/79] Compiling HandySwiftUI MultiSelector.swift
[60/79] Compiling HandySwiftUI SearchableGridPicker.swift
[61/79] Compiling HandySwiftUI AsyncButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[62/79] Compiling HandySwiftUI CachedAsyncImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[63/79] Compiling HandySwiftUI DisclosureSection.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[64/79] Compiling HandySwiftUI HPicker.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[65/79] Compiling HandySwiftUI SFSymbol.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[66/79] Compiling HandySwiftUI ColorSpaces.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[67/79] Compiling HandySwiftUI OpenPanel.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[68/79] Compiling HandySwiftUI Platform.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[69/79] Compiling HandySwiftUI ProgressState.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
[70/79] Compiling HandySwiftUI SideTabView.swift
[71/79] Compiling HandySwiftUI VPicker.swift
[72/79] Compiling HandySwiftUI WebView.swift
[73/79] Compiling HandySwiftUI resource_bundle_accessor.swift
[74/79] Emitting module HandySwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Modifiers/ViewExt.swift:616:13: warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
614 |    }
615 |
616 |    #warning("🧑‍💻 consider creating keypath variants, as well as one for platforms")
    |             `- warning: 🧑‍💻 consider creating keypath variants, as well as one for platforms
617 | }
618 |
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/SFSymbol.swift:265:13: warning: 🧑‍💻 localize the search terms to support more languages
263 |    }
264 |
265 |    #warning("🧑‍💻 localize the search terms to support more languages")
    |             `- warning: 🧑‍💻 localize the search terms to support more languages
266 |    /// Search terms related to each SF Symbol. This can be used to filter or find symbols based on keywords.
267 |    ///
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Views/CachedAsyncImage.swift:102:13: warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
100 |    }
101 |
102 |    #warning("🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view")
    |             `- warning: 🧑‍💻 add an init overload that accepts a custom placeholder view to be shown while loading instead of the progress view
103 |
104 |    public var body: some View {
[75/79] Compiling HandySwiftUI PulsatingButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[76/79] Compiling HandySwiftUI SecondaryButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[77/79] Compiling HandySwiftUI VerticalLabelStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[78/79] Compiling HandySwiftUI VerticalLabeledContentStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
[79/79] Compiling HandySwiftUI Emoji.swift
/Users/admin/builder/spi-builder-workspace/Sources/HandySwiftUI/Types/Models/Emoji.swift:1895:13: warning: 🧑‍💻 localize the search terms to support more languages
1893 |    }
1894 |
1895 |    #warning("🧑‍💻 localize the search terms to support more languages")
     |             `- warning: 🧑‍💻 localize the search terms to support more languages
1896 |    /// Search terms related to each emoji. This can be used to filter or find emojis based on keywords.
1897 |    ///
Build of target: 'HandySwiftUI' complete! (26.82s)
   19423
138	/Users/admin/builder/spi-builder-workspace/.docs/flinedev/handyswiftui/1.0.2
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/flinedev/handyswiftui/1.0.2
File count: 19423
Doc size:   138.0MB
Preparing doc bundle ...
Uploading prod-flinedev-handyswiftui-1.0.2-03189e6d.zip to s3://spi-docs-inbox/prod-flinedev-handyswiftui-1.0.2-03189e6d.zip
Copying... [10%]
Copying... [20%]
Copying... [30%]
Copying... [40%]
Copying... [50%]
Copying... [60%]
Copying... [70%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.