Build Information
Successful build of EventDrivenSwift, reference main (9b995e
), with Swift 6.2 (beta) for macOS (SPM) on 19 Jun 2025 17:07:55 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Flowduino/EventDrivenSwift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Flowduino/EventDrivenSwift
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 9b995ec Improvements to the Event-Driven Swift diagram
Cloned https://github.com/Flowduino/EventDrivenSwift.git
Revision (git rev-parse @):
9b995ec40ae6c1404c9329f7c982021760cf0d18
SUCCESS checkout https://github.com/Flowduino/EventDrivenSwift.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/Flowduino/EventDrivenSwift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-1EA4D86E10B52AF.txt
[5/6] Compiling ThreadSafeSwift ThreadSafeSemaphore.swift
[6/6] Emitting module ThreadSafeSwift
[7/15] Compiling Observable ObservableClass.swift
[8/15] Compiling Observable ObservableThreadSafeClass.swift
[9/15] Compiling Observable KeyedObservableThread.swift
[10/15] Compiling Observable Observable.swift
[11/15] Compiling Observable KeyedObservableClass.swift
[12/15] Compiling Observable KeyedObservableThreadSafeClass.swift
[13/15] Compiling Observable KeyedObservable.swift
[14/15] Compiling Observable ObservableThread.swift
[15/15] Emitting module Observable
[16/45] Compiling EventDrivenSwift EventPoolScaling.swift
[17/45] Compiling EventDrivenSwift EventPoolStaticScaler.swift
[18/45] Compiling EventDrivenSwift EventPooling.swift
[19/45] Compiling EventDrivenSwift EventListening.swift
[20/45] Compiling EventDrivenSwift EventListenerHandler.swift
[21/45] Compiling EventDrivenSwift EventListenerHandling.swift
[22/48] Emitting module EventDrivenSwift
[23/48] Compiling EventDrivenSwift EventCentral.swift
[24/48] Compiling EventDrivenSwift EventCentralable.swift
[25/48] Compiling EventDrivenSwift EventDispatchMethod.swift
[26/48] Compiling EventDrivenSwift EventPriority.swift
[27/48] Compiling EventDrivenSwift EventDispatching.swift
[28/48] Compiling EventDrivenSwift EventHandler.swift
[29/48] Compiling EventDrivenSwift EventHandling.swift
[30/48] Compiling EventDrivenSwift EventPoolBalancer.swift
[31/48] Compiling EventDrivenSwift EventPoolBalancing.swift
[32/48] Compiling EventDrivenSwift EventPoolScaler.swift
[33/48] Compiling EventDrivenSwift EventReceiver.swift
[34/48] Compiling EventDrivenSwift EventReceiving.swift
[35/48] Compiling EventDrivenSwift EventThread.swift
[36/48] Compiling EventDrivenSwift Eventable.swift
[37/48] Compiling EventDrivenSwift EventListeners.swift
[38/48] Compiling EventDrivenSwift EventMethod.swift
[39/48] Compiling EventDrivenSwift EventDispatcher.swift
[40/48] Compiling EventDrivenSwift EventThreadable.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:28:68: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | override open func callTypedEventCallback<TEvent: Eventable>(_ callback: @escaping TypedEventCallback<TEvent>, forEvent: Eventable, priority: EventPriority, dispatchTime: DispatchTime) {
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:31:23: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
31 | super.callTypedEventCallback(callback, forEvent: forEvent, priority: priority, dispatchTime: dispatchTime)
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:28:68: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | override open func callTypedEventCallback<TEvent: Eventable>(_ callback: @escaping TypedEventCallback<TEvent>, forEvent: Eventable, priority: EventPriority, dispatchTime: DispatchTime) {
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
[41/48] Compiling EventDrivenSwift UIEventThread.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:28:68: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | override open func callTypedEventCallback<TEvent: Eventable>(_ callback: @escaping TypedEventCallback<TEvent>, forEvent: Eventable, priority: EventPriority, dispatchTime: DispatchTime) {
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:31:23: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
31 | super.callTypedEventCallback(callback, forEvent: forEvent, priority: priority, dispatchTime: dispatchTime)
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:28:68: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | override open func callTypedEventCallback<TEvent: Eventable>(_ callback: @escaping TypedEventCallback<TEvent>, forEvent: Eventable, priority: EventPriority, dispatchTime: DispatchTime) {
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
[42/48] Compiling EventDrivenSwift UIEventThreadable.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:28:68: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | override open func callTypedEventCallback<TEvent: Eventable>(_ callback: @escaping TypedEventCallback<TEvent>, forEvent: Eventable, priority: EventPriority, dispatchTime: DispatchTime) {
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:31:23: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
31 | super.callTypedEventCallback(callback, forEvent: forEvent, priority: priority, dispatchTime: dispatchTime)
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/UIEventThread/UIEventThread.swift:28:68: warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | override open func callTypedEventCallback<TEvent: Eventable>(_ callback: @escaping TypedEventCallback<TEvent>, forEvent: Eventable, priority: EventPriority, dispatchTime: DispatchTime) {
| `- warning: capture of non-sendable type 'TEvent.Type' in an isolated closure; this is an error in the Swift 6 language mode
29 | Task { /// Have to use a Task because this method is not `async`
30 | await MainActor.run { /// Forces the call to be invoked on the `MainActor` (UI Thread)
[43/48] Compiling EventDrivenSwift EventListenable.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:25: warning: capture of 'listener' with non-sendable type 'EventListener.EventListenerContainer' in a '@Sendable' closure [#SendableClosureCaptures]
27 | - Version: 3.0.0
28 | */
29 | public struct EventListenerContainer {
| `- note: consider making struct 'EventListenerContainer' conform to the 'Sendable' protocol
30 | var token: UUID = UUID() // Randomly-generated
31 | weak var requester: AnyObject?
:
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'listener' with non-sendable type 'EventListener.EventListenerContainer' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:43: warning: capture of 'event' with non-sendable type 'EventHandler.EventDispatchContainer' in a '@Sendable' closure [#SendableClosureCaptures]
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'event' with non-sendable type 'EventHandler.EventDispatchContainer' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventHandler/EventHandler.swift:30:19: note: consider making struct 'EventDispatchContainer' conform to the 'Sendable' protocol
28 | - Note: This was added principally to support Latest-Only Event Listeners/Callbacks
29 | */
30 | public struct EventDispatchContainer {
| `- note: consider making struct 'EventDispatchContainer' conform to the 'Sendable' protocol
31 | var event: any Eventable
32 | var dispatchTime: DispatchTime = DispatchTime.now()
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:56: warning: capture of 'priority' with non-sendable type 'EventPriority' in a '@Sendable' closure [#SendableClosureCaptures]
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'priority' with non-sendable type 'EventPriority' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/Event/EventPriority.swift:16:13: note: consider making enum 'EventPriority' conform to the 'Sendable' protocol
14 | - Version: 1.0.0
15 | */
16 | public enum EventPriority: CaseIterable {
| `- note: consider making enum 'EventPriority' conform to the 'Sendable' protocol
17 | case lowest
18 | case low
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[44/48] Compiling EventDrivenSwift EventListener.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:25: warning: capture of 'listener' with non-sendable type 'EventListener.EventListenerContainer' in a '@Sendable' closure [#SendableClosureCaptures]
27 | - Version: 3.0.0
28 | */
29 | public struct EventListenerContainer {
| `- note: consider making struct 'EventListenerContainer' conform to the 'Sendable' protocol
30 | var token: UUID = UUID() // Randomly-generated
31 | weak var requester: AnyObject?
:
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'listener' with non-sendable type 'EventListener.EventListenerContainer' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:43: warning: capture of 'event' with non-sendable type 'EventHandler.EventDispatchContainer' in a '@Sendable' closure [#SendableClosureCaptures]
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'event' with non-sendable type 'EventHandler.EventDispatchContainer' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventHandler/EventHandler.swift:30:19: note: consider making struct 'EventDispatchContainer' conform to the 'Sendable' protocol
28 | - Note: This was added principally to support Latest-Only Event Listeners/Callbacks
29 | */
30 | public struct EventDispatchContainer {
| `- note: consider making struct 'EventDispatchContainer' conform to the 'Sendable' protocol
31 | var event: any Eventable
32 | var dispatchTime: DispatchTime = DispatchTime.now()
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:56: warning: capture of 'priority' with non-sendable type 'EventPriority' in a '@Sendable' closure [#SendableClosureCaptures]
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'priority' with non-sendable type 'EventPriority' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/Event/EventPriority.swift:16:13: note: consider making enum 'EventPriority' conform to the 'Sendable' protocol
14 | - Version: 1.0.0
15 | */
16 | public enum EventPriority: CaseIterable {
| `- note: consider making enum 'EventPriority' conform to the 'Sendable' protocol
17 | case lowest
18 | case low
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[45/48] Compiling EventDrivenSwift EventListenerInterest.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:25: warning: capture of 'listener' with non-sendable type 'EventListener.EventListenerContainer' in a '@Sendable' closure [#SendableClosureCaptures]
27 | - Version: 3.0.0
28 | */
29 | public struct EventListenerContainer {
| `- note: consider making struct 'EventListenerContainer' conform to the 'Sendable' protocol
30 | var token: UUID = UUID() // Randomly-generated
31 | weak var requester: AnyObject?
:
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'listener' with non-sendable type 'EventListener.EventListenerContainer' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:43: warning: capture of 'event' with non-sendable type 'EventHandler.EventDispatchContainer' in a '@Sendable' closure [#SendableClosureCaptures]
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'event' with non-sendable type 'EventHandler.EventDispatchContainer' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventHandler/EventHandler.swift:30:19: note: consider making struct 'EventDispatchContainer' conform to the 'Sendable' protocol
28 | - Note: This was added principally to support Latest-Only Event Listeners/Callbacks
29 | */
30 | public struct EventDispatchContainer {
| `- note: consider making struct 'EventDispatchContainer' conform to the 'Sendable' protocol
31 | var event: any Eventable
32 | var dispatchTime: DispatchTime = DispatchTime.now()
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/EventListener/EventListener.swift:84:56: warning: capture of 'priority' with non-sendable type 'EventPriority' in a '@Sendable' closure [#SendableClosureCaptures]
82 | let dispatchQueue = listener.dispatchQueue ?? DispatchQueue.main
83 | dispatchQueue.async {
84 | listener.callback(event.event, priority, event.dispatchTime)
| `- warning: capture of 'priority' with non-sendable type 'EventPriority' in a '@Sendable' closure [#SendableClosureCaptures]
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/EventDrivenSwift/Event/EventPriority.swift:16:13: note: consider making enum 'EventPriority' conform to the 'Sendable' protocol
14 | - Version: 1.0.0
15 | */
16 | public enum EventPriority: CaseIterable {
| `- note: consider making enum 'EventPriority' conform to the 'Sendable' protocol
17 | case lowest
18 | case low
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[46/48] Compiling EventDrivenSwift EventPool.swift
[47/48] Compiling EventDrivenSwift EventPoolLowestLoadBalancer.swift
[48/48] Compiling EventDrivenSwift EventPoolRoundRobinBalancer.swift
Build complete! (8.93s)
Fetching https://github.com/Flowduino/ThreadSafeSwift.git
Fetching https://github.com/Flowduino/Observable.git
[1/53] Fetching threadsafeswift
[45/169] Fetching threadsafeswift, observable
Fetched https://github.com/Flowduino/Observable.git from cache (0.67s)
Fetched https://github.com/Flowduino/ThreadSafeSwift.git from cache (0.67s)
Computing version for https://github.com/Flowduino/Observable.git
Computed https://github.com/Flowduino/Observable.git at 2.0.0 (1.17s)
Computing version for https://github.com/Flowduino/ThreadSafeSwift.git
Computed https://github.com/Flowduino/ThreadSafeSwift.git at 1.1.0 (0.47s)
Creating working copy for https://github.com/Flowduino/ThreadSafeSwift.git
Working copy of https://github.com/Flowduino/ThreadSafeSwift.git resolved at 1.1.0
Creating working copy for https://github.com/Flowduino/Observable.git
Working copy of https://github.com/Flowduino/Observable.git resolved at 2.0.0
Build complete.
{
"dependencies" : [
{
"identity" : "threadsafeswift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Flowduino/ThreadSafeSwift.git"
},
{
"identity" : "observable",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Flowduino/Observable.git"
}
],
"manifest_display_name" : "EventDrivenSwift",
"name" : "EventDrivenSwift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "EventDrivenSwift",
"targets" : [
"EventDrivenSwift"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EventDrivenSwiftTests",
"module_type" : "SwiftTarget",
"name" : "EventDrivenSwiftTests",
"path" : "Tests/EventDrivenSwiftTests",
"product_dependencies" : [
"ThreadSafeSwift",
"Observable"
],
"sources" : [
"BasicEventListenerTests.swift",
"BasicEventPoolTests.swift",
"BasicEventSchedulingTests.swift",
"BasicEventThreadTests.swift"
],
"target_dependencies" : [
"EventDrivenSwift"
],
"type" : "test"
},
{
"c99name" : "EventDrivenSwift",
"module_type" : "SwiftTarget",
"name" : "EventDrivenSwift",
"path" : "Sources/EventDrivenSwift",
"product_dependencies" : [
"ThreadSafeSwift",
"Observable"
],
"product_memberships" : [
"EventDrivenSwift"
],
"sources" : [
"Central/EventCentral.swift",
"Central/EventCentralable.swift",
"Event/EventDispatchMethod.swift",
"Event/EventPriority.swift",
"Event/Eventable.swift",
"Event/Wrappers/EventListeners.swift",
"Event/Wrappers/EventMethod.swift",
"EventDispatcher/EventDispatcher.swift",
"EventDispatcher/EventDispatching.swift",
"EventHandler/EventHandler.swift",
"EventHandler/EventHandling.swift",
"EventListener/EventListenable.swift",
"EventListener/EventListener.swift",
"EventListener/EventListenerInterest.swift",
"EventListener/EventListening.swift",
"EventListener/Handler/EventListenerHandler.swift",
"EventListener/Handler/EventListenerHandling.swift",
"EventPool/EventPool.swift",
"EventPool/EventPoolBalancer/Balancers/EventPoolLowestLoadBalancer.swift",
"EventPool/EventPoolBalancer/Balancers/EventPoolRoundRobinBalancer.swift",
"EventPool/EventPoolBalancer/EventPoolBalancer.swift",
"EventPool/EventPoolBalancer/EventPoolBalancing.swift",
"EventPool/EventPoolScaler/EventPoolScaler.swift",
"EventPool/EventPoolScaler/EventPoolScaling.swift",
"EventPool/EventPoolScaler/Scalers/EventPoolStaticScaler.swift",
"EventPool/EventPooling.swift",
"EventReceiver/EventReceiver.swift",
"EventReceiver/EventReceiving.swift",
"EventThread/EventThread.swift",
"EventThread/EventThreadable.swift",
"UIEventThread/UIEventThread.swift",
"UIEventThread/UIEventThreadable.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Done.