Build Information
Successful build of HandySwiftUI, reference main (d8a4f8
), with Swift 6.0 for macOS (SPM) on 3 Jun 2025 10:32:58 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/FlineDev/HandySwiftUI.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/FlineDev/HandySwiftUI
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d8a4f8e Add String title overloads for HPicker and VPicker convenienct methods
Cloned https://github.com/FlineDev/HandySwiftUI.git
Revision (git rev-parse @):
d8a4f8e3d3148ea85c379d804e6ad2199b93b5ec
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/FlineDev/HandySwiftUI.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/FlineDev/HandySwiftUI.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/5] Write sources
[1/5] Copying Localizable.xcstrings
[1/5] Copying Info.plist
[4/5] Write swift-version-5BDAB9E9C0126B9D.txt
[6/33] Emitting module HandySwift
[7/36] Compiling HandySwift HandyRegex.swift
[8/36] Compiling HandySwift OperatingSystem.swift
[9/36] Compiling HandySwift SortedArray.swift
[10/36] Compiling HandySwift DictionaryExt.swift
[11/36] Compiling HandySwift DispatchTimeIntervalExt.swift
[12/36] Compiling HandySwift DoubleExt.swift
[13/36] Compiling HandySwift ArrayExt.swift
[14/36] Compiling HandySwift CaseIterableExt.swift
[15/36] Compiling HandySwift CollectionExt.swift
[16/36] Compiling HandySwift NSRangeExt.swift
[17/36] Compiling HandySwift RandomAccessCollectionExt.swift
[18/36] Compiling HandySwift SequenceExt.swift
[19/36] Compiling HandySwift DurationExt.swift
[20/36] Compiling HandySwift FloatExt.swift
[21/36] Compiling HandySwift IntExt.swift
[22/36] Compiling HandySwift FrequencyTable.swift
[23/36] Compiling HandySwift GregorianDay.swift
[24/36] Compiling HandySwift GregorianTimeOfDay.swift
[25/36] Compiling HandySwift StringExt.swift
[26/36] Compiling HandySwift StringProtocolExt.swift
[27/36] Compiling HandySwift SymmetricKeyExt.swift
[28/36] Compiling HandySwift TimeIntervalExt.swift
[29/36] Compiling HandySwift Globals.swift
[30/36] Compiling HandySwift AutoConforming.swift
[31/36] Compiling HandySwift DivisibleArithmetic.swift
[32/36] Compiling HandySwift Withable.swift
[33/36] Compiling HandySwift Debouncer.swift
[34/36] Compiling HandySwift ComparableExt.swift
[35/36] Compiling HandySwift DataExt.swift
[36/36] Compiling HandySwift DateExt.swift
[37/82] Compiling HandySwiftUI ThrowingTask.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/82] 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 |
[39/82] 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 |
[40/82] 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 |
[41/82] 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 |
[42/82] 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 {
[43/82] 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 {
[44/82] Compiling HandySwiftUI FirstAppearModifier.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 {
[45/82] 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 {
[46/82] 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 {
[47/86] Compiling HandySwiftUI CustomSymbolConvertible.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 {
[48/86] 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 {
[49/86] Compiling HandySwiftUI AsyncView.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 {
[50/86] 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 {
[51/86] 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 {
[52/86] Compiling HandySwiftUI HorizontalLabeledContentStyle.swift
[53/86] Compiling HandySwiftUI PrimaryButtonStyle.swift
[54/86] Compiling HandySwiftUI PulsatingButtonStyle.swift
[55/86] Compiling HandySwiftUI SecondaryButtonStyle.swift
[56/86] Compiling HandySwiftUI VerticalLabelStyle.swift
[57/86] Compiling HandySwiftUI HPicker.swift
[58/86] Compiling HandySwiftUI LimitedTextField.swift
[59/86] Compiling HandySwiftUI MultiSelectionView.swift
[60/86] Compiling HandySwiftUI MultiSelector.swift
[61/86] Compiling HandySwiftUI SearchableGridPicker.swift
[62/86] Compiling HandySwiftUI BindingExt.swift
[63/86] Compiling HandySwiftUI ButtonExt.swift
[64/86] Compiling HandySwiftUI CGFloatExt.swift
[65/86] Compiling HandySwiftUI ColorExt.swift
[66/86] Compiling HandySwiftUI CustomStringConvertibleExt.swift
[67/86] Compiling HandySwiftUI ColorSpaces.swift
[68/86] Compiling HandySwiftUI OpenPanel.swift
[69/86] Compiling HandySwiftUI Platform.swift
[70/86] Compiling HandySwiftUI Xcode.swift
[71/86] Compiling HandySwiftUI CustomLabelConvertible.swift
[72/86] Compiling HandySwiftUI ImageExt.swift
[73/86] Compiling HandySwiftUI LabelExt.swift
[74/86] Compiling HandySwiftUI NotificationNameExt.swift
[75/86] Compiling HandySwiftUI PersistentModelExt.swift
[76/86] Compiling HandySwiftUI PickerExt.swift
[77/86] Compiling HandySwiftUI SideTabView.swift
[78/86] Compiling HandySwiftUI VPicker.swift
[79/86] Compiling HandySwiftUI WebView.swift
[80/86] Compiling HandySwiftUI resource_bundle_accessor.swift
[81/86] 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 {
[82/86] 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 | ///
/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 | ///
[83/86] 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 | ///
/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 | ///
[84/86] Compiling HandySwiftUI SFSymbol.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 | ///
/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 | ///
[85/86] Compiling HandySwiftUI AsyncResult.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 | ///
/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 | ///
[86/86] Compiling HandySwiftUI AsyncState.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 | ///
/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 | ///
Build complete! (40.11s)
Fetching https://github.com/FlineDev/HandySwift.git
[1/3374] Fetching handyswift
Fetched https://github.com/FlineDev/HandySwift.git from cache (1.17s)
Computing version for https://github.com/FlineDev/HandySwift.git
Computed https://github.com/FlineDev/HandySwift.git at 4.3.0 (0.46s)
Creating working copy for https://github.com/FlineDev/HandySwift.git
Working copy of https://github.com/FlineDev/HandySwift.git resolved at 4.3.0
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/FirstAppearModifier.swift",
"Modifiers/ForegroundStyleMinContrast.swift",
"Modifiers/ProgressOverlay.swift",
"Modifiers/ThrowingTask.swift",
"Modifiers/ViewExt.swift",
"Styles/CheckboxUniversalToggleStyle.swift",
"Styles/FixedIconWidthLabelStyle.swift",
"Styles/HorizontalLabelStyle.swift",
"Styles/HorizontalLabeledContentStyle.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/AsyncResult.swift",
"Types/Other/AsyncState.swift",
"Types/Other/ColorSpaces.swift",
"Types/Other/OpenPanel.swift",
"Types/Other/Platform.swift",
"Types/Other/Xcode.swift",
"Types/Protocols/CustomLabelConvertible.swift",
"Types/Protocols/CustomSymbolConvertible.swift",
"Types/Views/AsyncButton.swift",
"Types/Views/AsyncView.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/main
Repository: FlineDev/HandySwiftUI
Swift version used: 6.0
Target: HandySwiftUI
Extracting symbol information for 'HandySwiftUI'...
Finished extracting symbol information for 'HandySwiftUI'. (5.70s)
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: Parameter 'applytingAttributes' not found in instance method declaration
--> ../Extensions/StringExt.swift:53:12-53:31
51 | /// - searchText: The text to search for within the string.
52 | /// - locale: The locale to use for string comparisons. Defaults to `nil`.
53 + /// - applytingAttributes: A closure that gets passed an `AttributedSubstring` you can customize to define how to highlight. By default, a yellow background and bold black foreground text is used.
| ╰─suggestion: Replace 'applytingAttributes' with 'applyingAttributes'
54 | ///
55 | /// - Returns: An `AttributedString` with matching prefixes highlighted.
warning: Parameter 'applyingAttributes' is missing documentation
--> ../Extensions/StringExt.swift:54:8-54:8
52 | /// - locale: The locale to use for string comparisons. Defaults to `nil`.
53 | /// - applytingAttributes: A closure that gets passed an `AttributedSubstring` you can customize to define how to highlight. By default, a yellow background and bold black foreground text is used.
54 + ///
| ╰─suggestion: Document 'applyingAttributes' parameter
55 | /// - Returns: An `AttributedString` with matching prefixes highlighted.
56 | ///
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: 'highlightMatchingTokenizedPrefixes(in:locale:with:)' doesn't exist at '/HandySwiftUI/Swift/String'
--> Essentials/Extensions.md:310:18-310:69
308 |
309 | - ``Swift/String/toRGBA()``
310 + - ``Swift/String/highlightMatchingTokenizedPrefixes(in:locale:with:)``
| ╰─suggestion: Replace 'highlightMatchingTokenizedPrefixes(in:locale:with:)' with 'highlightMatchingTokenizedPrefixes(in:locale:applyingAttributes:)'
311 | - ``Swift/String/nilPlaceholderValue``
312 |
warning: 'nilPlaceholderValue' doesn't exist at '/HandySwiftUI/Swift/String'
--> Essentials/Extensions.md:311:18-311:37
309 | - ``Swift/String/toRGBA()``
310 | - ``Swift/String/highlightMatchingTokenizedPrefixes(in:locale:with:)``
311 + - ``Swift/String/nilPlaceholderValue``
312 |
313 | ### Text
warning: 'checkboxUniversal' doesn't exist at '/HandySwiftUI/SwiftUI/ToggleStyle'
--> Essentials/Styles.md:169:25-169:42
167 | ### ToggleStyle
168 |
169 + - ``SwiftUI/ToggleStyle/checkboxUniversal``
| ╰─suggestion: Replace 'checkboxUniversal' with 'checkboxUniversal(spacing:)'
170 |
171 |
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 '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 '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 '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: 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 | let spacing: Double
warning: 'ToggleStyle.checkbox' doesn't exist at '/HandySwiftUI/CheckboxUniversalToggleStyle/checkboxUniversal(spacing:)'
--> ../Styles/CheckboxUniversalToggleStyle.swift:39:48-39:68
37 |
38 | extension ToggleStyle where Self == CheckboxUniversalToggleStyle {
39 + /// A custom toggle style that works like ``ToggleStyle.checkbox`` but supports all Apple platforms, not just macOS.
40 | public static func checkboxUniversal(spacing: Double = 14) -> CheckboxUniversalToggleStyle {
41 | CheckboxUniversalToggleStyle(spacing: spacing)
warning: 'ToggleStyle.checkbox' doesn't exist at '/HandySwiftUI/SwiftUI/ToggleStyle/checkboxUniversal(spacing:)'
--> ../Styles/CheckboxUniversalToggleStyle.swift:39:48-39:68
37 |
38 | extension ToggleStyle where Self == CheckboxUniversalToggleStyle {
39 + /// A custom toggle style that works like ``ToggleStyle.checkbox`` but supports all Apple platforms, not just macOS.
40 | public static func checkboxUniversal(spacing: Double = 14) -> CheckboxUniversalToggleStyle {
41 | CheckboxUniversalToggleStyle(spacing: spacing)
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' (7.29s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/flinedev/handyswiftui/main
Fetching https://github.com/swiftlang/swift-docc-plugin
Updating https://github.com/FlineDev/HandySwift.git
Updated https://github.com/FlineDev/HandySwift.git (0.45s)
[1/2049] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.19s)
Computing version for https://github.com/FlineDev/HandySwift.git
Computed https://github.com/FlineDev/HandySwift.git at 4.3.0 (0.45s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (2.53s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3395] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.14s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.63s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-5BDAB9E9C0126B9D.txt
[6/53] Emitting module Snippets
[7/53] Compiling SymbolKit GenericConstraint.swift
[8/53] Compiling SymbolKit GenericParameter.swift
[9/53] Compiling SymbolKit Generics.swift
[10/53] Compiling SymbolKit Namespace.swift
[11/57] Compiling Snippets SnippetParser.swift
[12/57] Compiling Snippets Snippet.swift
[13/57] Emitting module SymbolKit
[14/57] Compiling SymbolKit SemanticVersion.swift
[15/57] Compiling SymbolKit AccessControl.swift
[16/57] Compiling SymbolKit Availability.swift
[17/57] Compiling SymbolKit AvailabilityItem.swift
[18/57] Compiling SymbolKit Domain.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 Relationship.swift
[25/57] Compiling SymbolKit RelationshipKind.swift
[26/57] Compiling SymbolKit SourceOrigin.swift
[27/57] Compiling SymbolKit GenericConstraints.swift
[28/57] Compiling SymbolKit Swift.swift
[29/57] Compiling SymbolKit DeclarationFragments.swift
[30/57] Compiling SymbolKit Fragment.swift
[31/57] Compiling SymbolKit FragmentKind.swift
[32/57] Compiling SymbolKit FunctionParameter.swift
[33/57] Compiling SymbolKit FunctionSignature.swift
[34/57] Compiling SymbolKit Identifier.swift
[35/57] Compiling SymbolKit KindIdentifier.swift
[36/57] Compiling SymbolKit Location.swift
[37/57] Compiling SymbolKit Mutability.swift
[38/57] Compiling SymbolKit Names.swift
[39/57] Compiling SymbolKit SPI.swift
[40/57] Compiling SymbolKit Snippet.swift
[41/57] Compiling SymbolKit Extension.swift
[42/57] Compiling SymbolKit Mixin+Equals.swift
[43/57] Compiling SymbolKit Mixin+Hash.swift
[44/57] Compiling SymbolKit Mixin.swift
[45/57] Compiling SymbolKit LineList.swift
[46/57] Compiling SymbolKit Position.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 URL+Status.swift
[56/61] Emitting module snippet_extract
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.05s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
Build of target: 'HandySwiftUI' complete! (0.17s)
20875
149 /Users/admin/builder/spi-builder-workspace/.docs/flinedev/handyswiftui/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/flinedev/handyswiftui/main
File count: 20875
Doc size: 149.0MB
Preparing doc bundle ...
Uploading prod-flinedev-handyswiftui-main-a34bb9f6.zip to s3://spi-docs-inbox/prod-flinedev-handyswiftui-main-a34bb9f6.zip
Copying... [10%]
Copying... [20%]
Copying... [30%]
Copying... [40%]
Copying... [50%]
Copying... [60%]
Copying... [70%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.