Build Information
Successful build of SwiftToolkit, reference 1.1.1 (e02617), with Swift 6.4 for macOS (SPM) on 21 Sep 2026 12:32:30 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NSFuntik/SwiftToolkit.git
Reference: 1.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NSFuntik/SwiftToolkit
* tag 1.1.1 -> FETCH_HEAD
HEAD is now at e026174 💄 style(codebase): format indentation and access modifiers
Cloned https://github.com/NSFuntik/SwiftToolkit.git
Revision (git rev-parse @):
e026174a25d0546d2d02e8e3608dc9851ee33867
SUCCESS checkout https://github.com/NSFuntik/SwiftToolkit.git at 1.1.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/NSFuntik/SwiftToolkit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 617]
[Planning deferred tasks]
[89 / 191]
[92 / 194] STFoundation
[102 / 276]
[105 / 276]
[113 / 276]
[115 / 276]
[116 / 276]
[122 / 276]
[124 / 276]
[126 / 276]
[129 / 276]
[134 / 276]
[137 / 276]
[139 / 276]
[140 / 276]
[150 / 276]
[152 / 276]
[153 / 276]
[156 / 276]
[158 / 276]
[167 / 276]
[170 / 276] DI
[174 / 276] STFoundation
[190 / 276] Coordinator-product
[191 / 276] Coordinator-product
[193 / 277] Core
[200 / 299]
[203 / 299] Coordinator
[211 / 299]
[212 / 299]
[223 / 299] Core
[234 / 304]
[234 / 304] Core
[236 / 319]
[244 / 328] Logger
[246 / 336]
[251 / 361]
[256 / 361]
[260 / 361] Logger
[268 / 361] Coding
[283 / 361] Feedback
[288 / 361] Feedback
[297 / 361] Feedback-product
[301 / 361] CoreDatabase
[302 / 361] CoreDatabase-product
[309 / 361] Core
[314 / 361] Coding
[315 / 361] Coding
[319 / 361]
[327 / 361] Logger-product
[327 / 361] Coding
[327 / 361] SFSymbols
[334 / 362] Coding
[337 / 362] UI
[346 / 386]
[349 / 386]
[350 / 386]
[360 / 386] UI
[361 / 386] UI
[368 / 387] UI
[377 / 389] AllExcludingTests
[380 / 389] SFSymbols
[384 / 389] UI
[387 / 389] SwiftToolkit-product
Build complete! (19.71 sec)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/SFSymbols/symbolEmbeddingsCache.plist
/Users/admin/builder/spi-builder-workspace/Sources/Core/Extensions/NSObject+.swift:82:21: [1;33mwarning: [1;39mconformance of 'Optional<Wrapped>' to protocol 'Equatable' was already stated in the type's module 'Swift'[0;0m
[0;36m80 |[0;0m // MARK: - Optional + Equatable
[0;36m81 |[0;0m
[0;36m82 |[0;0m extension Optional: Equatable where Wrapped: Equatable {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'Optional<Wrapped>' to protocol 'Equatable' was already stated in the type's module 'Swift'[0;0m
[0;36m83 |[0;0m /// Compares two optional values for equality.
[0;36m84 |[0;0m ///
[0;36m:[0;0m
[0;36m87 |[0;0m /// - rhs: The second optional value.
[0;36m88 |[0;0m /// - Returns: A Boolean value indicating whether the optional values are equal.
[0;36m89 |[0;0m public static func == (lhs: Wrapped?, rhs: Wrapped?) -> Bool {
[0;36m|[0;0m `- [1;39mnote: [1;39moperator function '==' will not be used to satisfy the conformance to 'Equatable'[0;0m
[0;36m90 |[0;0m switch (lhs, rhs) {
[0;36m91 |[0;0m case (.none, .none):
Swift.Optional:1:11: [1;39mnote: [1;39m'Optional<Wrapped>' declares conformance to protocol 'Equatable' here[0;0m
[0;36m1 |[0;0m extension Optional : Equatable where Wrapped : Equatable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'Optional<Wrapped>' declares conformance to protocol 'Equatable' here[0;0m
[0;36m2 |[0;0m public static func == (lhs: Wrapped?, rhs: Wrapped?) -> Bool
[0;36m3 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Core/Extensions/NSObject+.swift:82:21: [1;33mwarning: [1;39mconformance of 'Optional<Wrapped>' to protocol 'Equatable' was already stated in the type's module 'Swift'[0;0m
[0;36m80 |[0;0m // MARK: - Optional + Equatable
[0;36m81 |[0;0m
[0;36m82 |[0;0m extension Optional: Equatable where Wrapped: Equatable {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'Optional<Wrapped>' to protocol 'Equatable' was already stated in the type's module 'Swift'[0;0m
[0;36m83 |[0;0m /// Compares two optional values for equality.
[0;36m84 |[0;0m ///
[0;36m:[0;0m
[0;36m87 |[0;0m /// - rhs: The second optional value.
[0;36m88 |[0;0m /// - Returns: A Boolean value indicating whether the optional values are equal.
[0;36m89 |[0;0m public static func == (lhs: Wrapped?, rhs: Wrapped?) -> Bool {
[0;36m|[0;0m `- [1;39mnote: [1;39moperator function '==' will not be used to satisfy the conformance to 'Equatable'[0;0m
[0;36m90 |[0;0m switch (lhs, rhs) {
[0;36m91 |[0;0m case (.none, .none):
Swift.Optional:1:11: [1;39mnote: [1;39m'Optional<Wrapped>' declares conformance to protocol 'Equatable' here[0;0m
[0;36m1 |[0;0m extension Optional : Equatable where Wrapped : Equatable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'Optional<Wrapped>' declares conformance to protocol 'Equatable' here[0;0m
[0;36m2 |[0;0m public static func == (lhs: Wrapped?, rhs: Wrapped?) -> Bool
[0;36m3 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Feedback/Feedback.swift:52:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ModifiedContent' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'SwiftUICore' introduce this conformance in the future[0;0m
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m extension ModifiedContent: @unchecked Sendable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ModifiedContent' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'SwiftUICore' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m53 |[0;0m
[0;36m54 |[0;0m // MARK: - ModifiedContent + Feedback
/Users/admin/builder/spi-builder-workspace/Sources/SFSymbols/SymbolFinder.swift:50:9: [1;33mwarning: [1;39mcapture of 'self' with non-Sendable type 'MLSymbolFinder' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m22 |[0;0m /// 3. **Инициализация эмбеддингов и BK-Tree**: Инициализация эмбеддингов и BK-Tree происходит только если загрузка кэша с диска не удалась.
[0;36m23 |[0;0m /// 4. **Кодирование и декодирование**: Для сохранения и загрузки данных на диск используется `PropertyListEncoder` и `PropertyListDecoder`.
[0;36m24 |[0;0m public final class MLSymbolFinder {
[0;36m|[0;0m `- [1;39mnote: [1;39mclass 'MLSymbolFinder' does not conform to the 'Sendable' protocol[0;0m
[0;36m25 |[0;0m /// Singleton instance
[0;36m26 |[0;0m public static let `default` = MLSymbolFinder()
[0;36m:[0;0m
[0;36m48 |[0;0m // Если загрузка кэша не удалась, инициализация эмбеддингов и BK-Tree
[0;36m49 |[0;0m DispatchQueue.global(qos: .utility).async {
[0;36m50 |[0;0m self.initializeEmbeddingsAndBKTree()
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of 'self' with non-Sendable type 'MLSymbolFinder' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m51 |[0;0m }
[0;36m52 |[0;0m }
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/Feedback/Haptic/PatternHaptic.swift:120:9: [1;33mwarning: [1;39mcapture of 'engine' with non-Sendable type 'CHHapticEngine' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m118 |[0;0m // ensuring haptics play for the entire duration
[0;36m119 |[0;0m DispatchQueue.main.asyncAfter(deadline: .now() + pattern.duration) {
[0;36m120 |[0;0m engine.stop()
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of 'engine' with non-Sendable type 'CHHapticEngine' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m121 |[0;0m }
[0;36m122 |[0;0m } catch {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/CoreHaptics.framework/Headers/CHHapticEngine.h:135:12: [1;39mnote: [1;39mclass 'CHHapticEngine' does not conform to the 'Sendable' protocol[0;0m
[0;36m133 |[0;0m */
[0;36m134 |[0;0m CH_EXPORT API_AVAILABLE(ios(13.0), macos(10.15), tvos(14.0), macCatalyst(13.0)) API_UNAVAILABLE(watchos)
[0;36m135 |[0;0m @interface CHHapticEngine : NSObject
[0;36m|[0;0m `- [1;39mnote: [1;39mclass 'CHHapticEngine' does not conform to the 'Sendable' protocol[0;0m
[0;36m136 |[0;0m
[0;36m137 |[0;0m /*! @method capabilitiesForHardware
/Users/admin/builder/spi-builder-workspace/Sources/Feedback/Haptic/PatternHaptic.swift:4:1: [1;33mwarning: [1;39madd '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreHaptics'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
[0;36m2 |[0;0m
[0;36m3 |[0;0m #if canImport(CoreHaptics)
[0;36m4 |[0;0m import CoreHaptics
[0;36m|[0;0m `- [1;33mwarning: [1;39madd '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreHaptics'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
[0;36m5 |[0;0m #endif
[0;36m6 |[0;0m
[#AddPreconcurrencyImport]: <https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/Feedback/Feedback.swift:52:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ModifiedContent' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'SwiftUICore' introduce this conformance in the future[0;0m
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m extension ModifiedContent: @unchecked Sendable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ModifiedContent' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'SwiftUICore' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m53 |[0;0m
[0;36m54 |[0;0m // MARK: - ModifiedContent + Feedback
/Users/admin/builder/spi-builder-workspace/Sources/CoreDatabase/Database.swift:226:5: [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m224 |[0;0m }
[0;36m225 |[0;0m
[0;36m226 |[0;0m Task {
[0;36m|[0;0m |- [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mto silence this warning, handle the error inside the task, or store/discard the task value explicitly[0;0m
[0;36m227 |[0;0m try await processRemoteChanges(storeUUID: storeUUID)
[0;36m228 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/CoreDatabase/Database.swift:262:11: [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m260 |[0;0m }
[0;36m261 |[0;0m } else {
[0;36m262 |[0;0m Task { [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mto silence this warning, handle the error inside the task, or store/discard the task value explicitly[0;0m
[0;36m263 |[0;0m guard let self = self else { return }
[0;36m264 |[0;0m try await self.processHistoryTransactions(transactions, storeUUID: storeUUID)
[#NoUseUnstructuredThrowingTask]: <https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task>
/Users/admin/builder/spi-builder-workspace/Sources/UI/Components/PopupView/BottomPopupView.swift:113:7: [1;33mwarning: [1;39mstored property 'corners' of 'Sendable'-conforming struct 'RoundedCornersShape' has non-Sendable type 'RectCorner'; this is an error in the Swift 6 language mode[0;0m
[0;36m111 |[0;0m struct RoundedCornersShape: Shape {
[0;36m112 |[0;0m let radius: CGFloat
[0;36m113 |[0;0m let corners: RectCorner
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'corners' of 'Sendable'-conforming struct 'RoundedCornersShape' has non-Sendable type 'RectCorner'; this is an error in the Swift 6 language mode[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// Creates a path for the shape based on the specified rectangle.
[0;36m:[0;0m
[0;36m191 |[0;0m /// specific corners of a rectangle for customization. It provides static properties
[0;36m192 |[0;0m /// for each corner and a combined set for all corners.
[0;36m193 |[0;0m public struct RectCorner: OptionSet {
[0;36m|[0;0m `- [1;39mnote: [1;39mconsider making struct 'RectCorner' conform to the 'Sendable' protocol[0;0m
[0;36m194 |[0;0m public let rawValue: Int
[0;36m195 |[0;0m public static let topLeft = RectCorner(rawValue: 1 << 0)
/Users/admin/builder/spi-builder-workspace/Sources/UI/Components/SplitView/VSplit.swift:215:6: [1;33mwarning: [1;39m'animation' was deprecated in macOS 12.0: Use withAnimation or animation(_:value:) instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m213 |[0;0m }
[0;36m214 |[0;0m )
[0;36m215 |[0;0m .animation(.spring)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'animation' was deprecated in macOS 12.0: Use withAnimation or animation(_:value:) instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m216 |[0;0m VSplit(
[0;36m217 |[0;0m top: {
/Users/admin/builder/spi-builder-workspace/Sources/UI/Components/SplitView/VSplit.swift:224:6: [1;33mwarning: [1;39m'animation' was deprecated in macOS 12.0: Use withAnimation or animation(_:value:) instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m222 |[0;0m }
[0;36m223 |[0;0m )
[0;36m224 |[0;0m .animation(.spring)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'animation' was deprecated in macOS 12.0: Use withAnimation or animation(_:value:) instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m225 |[0;0m }
[0;36m226 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/UI/Utilities/BlurMaterial.swift:36:15: [1;33mwarning: [1;39m'light' was deprecated in macOS 10.14: Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m34 |[0;0m switch self {
[0;36m35 |[0;0m case .ultraThinLight, .thinLight, .light:
[0;36m36 |[0;0m return .light
[0;36m|[0;0m `- [1;33mwarning: [1;39m'light' was deprecated in macOS 10.14: Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m37 |[0;0m case .regular:
[0;36m38 |[0;0m return .popover
/Users/admin/builder/spi-builder-workspace/Sources/UI/Utilities/BlurMaterial.swift:42:15: [1;33mwarning: [1;39m'dark' was deprecated in macOS 10.14: Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m40 |[0;0m return .titlebar
[0;36m41 |[0;0m case .ultraThinDark, .thinDark, .dark:
[0;36m42 |[0;0m return .dark
[0;36m|[0;0m `- [1;33mwarning: [1;39m'dark' was deprecated in macOS 10.14: Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m43 |[0;0m }
[0;36m44 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/UI/Components/PopupView/BottomPopupView.swift:113:7: [1;33mwarning: [1;39mstored property 'corners' of 'Sendable'-conforming struct 'RoundedCornersShape' has non-Sendable type 'RectCorner'; this is an error in the Swift 6 language mode[0;0m
[0;36m111 |[0;0m struct RoundedCornersShape: Shape {
[0;36m112 |[0;0m let radius: CGFloat
[0;36m113 |[0;0m let corners: RectCorner
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'corners' of 'Sendable'-conforming struct 'RoundedCornersShape' has non-Sendable type 'RectCorner'; this is an error in the Swift 6 language mode[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// Creates a path for the shape based on the specified rectangle.
[0;36m:[0;0m
[0;36m191 |[0;0m /// specific corners of a rectangle for customization. It provides static properties
[0;36m192 |[0;0m /// for each corner and a combined set for all corners.
[0;36m193 |[0;0m public struct RectCorner: OptionSet {
[0;36m|[0;0m `- [1;39mnote: [1;39mconsider making struct 'RectCorner' conform to the 'Sendable' protocol[0;0m
[0;36m194 |[0;0m public let rawValue: Int
[0;36m195 |[0;0m public static let topLeft = RectCorner(rawValue: 1 << 0)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftToolkit",
"name" : "SwiftToolkit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "maccatalyst",
"version" : "15.0"
}
],
"products" : [
{
"name" : "Core",
"targets" : [
"Core"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "UI",
"targets" : [
"UI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Coordinator",
"targets" : [
"Coordinator"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Feedback",
"targets" : [
"Feedback"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Coding",
"targets" : [
"Coding"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "DI",
"targets" : [
"DI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Logger",
"targets" : [
"Logger"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SFSymbols",
"targets" : [
"SFSymbols"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CoreDatabase",
"targets" : [
"CoreDatabase"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwiftToolkit",
"targets" : [
"SwiftToolkit"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "UI",
"module_type" : "SwiftTarget",
"name" : "UI",
"path" : "Sources/UI",
"product_memberships" : [
"UI",
"SwiftToolkit"
],
"sources" : [
"Components/AsyncButton/AsyncButton.swift",
"Components/ColorPicker/ColorPickerBar+Config.swift",
"Components/ColorPicker/ColorPickerBar+Style.swift",
"Components/ColorPicker/ColorPickerBar.swift",
"Components/ErrorAlert/ErrorAlert.swift",
"Components/PhotoPicker/Hosts.swift",
"Components/PhotoPicker/PhotoPicker+View.swift",
"Components/PhotoPicker/PhotoPicker.swift",
"Components/PopupView/BottomPopupView.swift",
"Components/PopupView/ExpandableView.swift",
"Components/PopupView/FloatingPopover.swift",
"Components/PopupView/Popup.swift",
"Components/PopupView/QuickLook.swift",
"Components/ScrollView/Scroll+Environment.swift",
"Components/ScrollView/ScrollDismissesKeyboardMode.swift",
"Components/ScrollView/ScrollEnabled.swift",
"Components/ScrollView/ScrollIndicatorVisibility.swift",
"Components/ScrollView/ScrollIndicators.swift",
"Components/ScrollView/SimultaneouslyScrollView/DefaultSimultaneouslyScrollViewHandler.swift",
"Components/ScrollView/SimultaneouslyScrollView/Extensions/UIScrollView+OffsetHelper.swift",
"Components/ScrollView/SimultaneouslyScrollView/Helper/ScrollViewDecorator.swift",
"Components/ScrollView/SimultaneouslyScrollView/SimultaneouslyScrollViewDirection.swift",
"Components/ScrollView/SimultaneouslyScrollView/SimultaneouslyScrollViewHandler.swift",
"Components/ScrollView/SimultaneouslyScrollView/SimultaneouslyScrollViewHandlerFactory.swift",
"Components/SplitView/HSplit.swift",
"Components/SplitView/Split.swift",
"Components/SplitView/SplitConstraints.swift",
"Components/SplitView/SplitEnums.swift",
"Components/SplitView/SplitHolders.swift",
"Components/SplitView/SplitModifiers.swift",
"Components/SplitView/SplitStyling.swift",
"Components/SplitView/Splitter+Extensions.swift",
"Components/SplitView/Splitter.swift",
"Components/SplitView/VSplit.swift",
"Components/TextField/FloatingTextField.swift",
"Components/TextField/TextFieldClearButton.swift",
"Components/TextSlider/Styles/Bordered.swift",
"Components/TextSlider/Styles/Plain.swift",
"Components/TextSlider/Styles/TextSliderStyle.swift",
"Components/TextSlider/TextSlider.swift",
"Components/TextSlider/TextSliderField.swift",
"Components/TimerPicker/TimerPicker.swift",
"Components/VFlowStack/VFlowStack.swift",
"Modifiers/Button+.swift",
"Modifiers/PinchToZoom.swift",
"Modifiers/PresentationLink.swift",
"Modifiers/ViewShadowStyle.swift",
"SwiftToolkitUI.swift",
"Utilities/BlurMaterial.swift",
"Utilities/Camera.swift",
"Utilities/ContentUnavailableView.swift",
"Utilities/DismissKeyboardOnTappingOutside.swift",
"Utilities/FlowLayout.swift",
"Utilities/FrameObserver.swift",
"Utilities/HexColor.swift",
"Utilities/LazyView.swift",
"Utilities/OrientationManager.swift",
"Utilities/RequestReview.swift",
"Utilities/SafeArea.swift",
"Utilities/Shimmer.swift",
"Utilities/SizeCalculator.swift",
"Utilities/StatusBarTabDetector.swift"
],
"target_dependencies" : [
"Core",
"Feedback",
"SFSymbols"
],
"type" : "library"
},
{
"c99name" : "SwiftToolkit",
"module_type" : "SwiftTarget",
"name" : "SwiftToolkit",
"path" : "Sources/SwiftToolkit",
"product_memberships" : [
"SwiftToolkit"
],
"sources" : [
"SwiftToolkit.swift"
],
"target_dependencies" : [
"Core",
"UI",
"Coordinator",
"Coding",
"DI",
"Logger",
"CoreDatabase"
],
"type" : "library"
},
{
"c99name" : "STFoundation",
"module_type" : "SwiftTarget",
"name" : "STFoundation",
"path" : "Sources/STFoundation",
"product_memberships" : [
"Core",
"UI",
"Feedback",
"Coding",
"Logger",
"SFSymbols",
"CoreDatabase",
"SwiftToolkit"
],
"sources" : [
"Compressor/CompressionError.swift",
"Compressor/Compressor.swift",
"DataUnits/DataUnits.swift",
"DataUnits/Image+.swift",
"STFoundation.swift",
"TimeInterval/TimeInterval+.swift",
"URLExtensions/URL+.swift"
],
"type" : "library"
},
{
"c99name" : "SFSymbols",
"module_type" : "SwiftTarget",
"name" : "SFSymbols",
"path" : "Sources/SFSymbols",
"product_memberships" : [
"UI",
"SFSymbols",
"SwiftToolkit"
],
"sources" : [
"NSSwiftSymbols.swift",
"SFSymbol.swift",
"SFSymbolEnum/SFSymbolEnum.generated.swift",
"SFSymbolEnum/SFSymbolEnum.swift",
"SocialIcons.swift",
"SymbolFinder.swift"
],
"target_dependencies" : [
"Core",
"DI"
],
"type" : "library"
},
{
"c99name" : "Logger",
"module_type" : "SwiftTarget",
"name" : "Logger",
"path" : "Sources/Logger",
"product_memberships" : [
"Logger",
"SwiftToolkit"
],
"sources" : [
"Internal/Extensions/Collection+Extension.swift",
"Internal/LogEventView.swift",
"Internal/LogFilterView.swift",
"Internal/LogTagView.swift",
"Internal/LogTagging.swift",
"Internal/SearchBar.swift",
"Public/LoggerView.swift",
"Public/SwiftUILogger.swift"
],
"target_dependencies" : [
"Core"
],
"type" : "library"
},
{
"c99name" : "Feedback",
"module_type" : "SwiftTarget",
"name" : "Feedback",
"path" : "Sources/Feedback",
"product_memberships" : [
"UI",
"Feedback",
"SwiftToolkit"
],
"sources" : [
"Audio/Audio.swift",
"Audio/AudioFeedback.swift",
"Audio/AudioPlayer.swift",
"Feedback.swift",
"Feedback/AnyFeedback.swift",
"Feedback/Feedback+Binding.swift",
"Flash/Flash.swift",
"Haptic/Haptic-Typealias.swift",
"Haptic/PatternHaptic.swift",
"Haptic/SystemHaptic.swift",
"Miscellaneous/DelayedFeedback.swift"
],
"target_dependencies" : [
"Core"
],
"type" : "library"
},
{
"c99name" : "DI",
"module_type" : "SwiftTarget",
"name" : "DI",
"path" : "Sources/DI",
"product_memberships" : [
"UI",
"DI",
"SFSymbols",
"SwiftToolkit"
],
"sources" : [
"DI.swift"
],
"type" : "library"
},
{
"c99name" : "CoreDatabase",
"module_type" : "SwiftTarget",
"name" : "CoreDatabase",
"path" : "Sources/CoreDatabase",
"product_memberships" : [
"CoreDatabase",
"SwiftToolkit"
],
"sources" : [
"CodableTransformer.swift",
"Database+Async.swift",
"Database+Share.swift",
"Database.swift",
"DatabaseLogger.swift",
"Fetchable.swift",
"NSManagedObject+Database.swift",
"NSManagedObjectContext+Database.swift",
"ObjectId.swift",
"StoreDescription.swift"
],
"target_dependencies" : [
"Core"
],
"type" : "library"
},
{
"c99name" : "Core",
"module_type" : "SwiftTarget",
"name" : "Core",
"path" : "Sources/Core",
"product_memberships" : [
"Core",
"UI",
"Feedback",
"Coding",
"Logger",
"SFSymbols",
"CoreDatabase",
"SwiftToolkit"
],
"sources" : [
"Extensions/Binding+.swift",
"Extensions/DateFormatter+.swift",
"Extensions/Image+.swift",
"Extensions/NSObject+.swift",
"Extensions/Sequence+.swift",
"Extensions/String+.swift",
"Extensions/UIDevice+.swift",
"Extensions/URL+.swift",
"Extensions/View+.swift",
"Utilities/AsyncPassthroughSubject.swift",
"Utilities/ErrorAlert.swift",
"Utilities/KeychainWrapper.swift",
"Utilities/LUUID.swift",
"Utilities/MimeType.swift",
"Utilities/NetworkMonitor.swift",
"Utilities/Observable.swift",
"Utilities/Shareable.swift",
"Utilities/SwiftThrottle.swift"
],
"target_dependencies" : [
"STFoundation"
],
"type" : "library"
},
{
"c99name" : "Coordinator",
"module_type" : "SwiftTarget",
"name" : "Coordinator",
"path" : "Sources/Coordinator",
"product_memberships" : [
"Coordinator",
"SwiftToolkit"
],
"sources" : [
"AssociatedObjectKey.swift",
"Coordinator.swift",
"ModalCoordinator.swift",
"TestCoordinator.swift"
],
"type" : "library"
},
{
"c99name" : "Coding",
"module_type" : "SwiftTarget",
"name" : "Coding",
"path" : "Sources/Coding",
"product_memberships" : [
"Coding",
"SwiftToolkit"
],
"sources" : [
"AnyCodable/AnyCodable.swift",
"AnyCodable/AnyDecodable.swift",
"AnyCodable/AnyEncodable.swift",
"Coding.swift",
"JSON/Extensions.swift",
"JSON/JSON.swift",
"JSON/JSONConvertible.swift",
"Storage/Set + StorageCodable.swift",
"Storage/StorageCodable.swift",
"Storage/URLEncodedString.swift"
],
"target_dependencies" : [
"Core"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.