The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of RosSwift, reference master (dcc3ab), with Swift 6.1 for Linux on 4 Oct 2025 08:56:49 UTC.

Swift 6 data race errors: 16

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
292 |             }
293 |
294 |             ROS_DEBUG("Connecting via tcpros to topic [\(self.name)] at host [\(pubHost):\(pubPort)]")
    |                                                          `- warning: capture of 'self' with non-sendable type 'Subscription' in a '@Sendable' closure
295 |
296 |             DispatchQueue.global().async {
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:294:58: warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
292 |             }
293 |
294 |             ROS_DEBUG("Connecting via tcpros to topic [\(self.name)] at host [\(pubHost):\(pubPort)]")
    |                                                          `- warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
295 |
296 |             DispatchQueue.global().async {
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:297:60: warning: capture of 'self' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
295 |
296 |             DispatchQueue.global().async {
297 |                 let connection = InboundConnection(parent: self, host: pubHost, port: pubPort)
    |                                                            `- warning: capture of 'self' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
298 |                 let pubLink = TransportPublisherLink(parent: self, xmlrpcUri: uri, transportHints: self.transportHints)
299 |                 pubLink.initialize(ros: self.ros, connection: connection)
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:301:63: warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
299 |                 pubLink.initialize(ros: self.ros, connection: connection)
300 |                 self.publisherLinks.append(pubLink)
301 |                 ROS_DEBUG("Connected to publisher of topic [\(self.name)] at [\(pubHost):\(pubPort)]")
    |                                                               `- warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
302 |             }
303 |         })
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:139:13: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
137 |     func append( _ element: Element) {
138 |         queue.async(flags: .barrier) {
139 |             self.array.append(element)
    |             `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:139:31: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
137 |     func append( _ element: Element) {
138 |         queue.async(flags: .barrier) {
139 |             self.array.append(element)
    |                               `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:148:13: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
146 |     func append( _ elements: [Element]) {
147 |         queue.async(flags: .barrier) {
148 |             self.array += elements
    |             `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 |         }
150 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:148:27: warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
146 |     func append( _ elements: [Element]) {
147 |         queue.async(flags: .barrier) {
148 |             self.array += elements
    |                           `- warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 |         }
150 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:159:13: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
157 |     func insert( _ element: Element, at index: Int) {
158 |         queue.async(flags: .barrier) {
159 |             self.array.insert(element, at: index)
    |             `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
160 |         }
161 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:159:31: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
157 |     func insert( _ element: Element, at index: Int) {
158 |         queue.async(flags: .barrier) {
159 |             self.array.insert(element, at: index)
    |                               `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
160 |         }
161 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:170:27: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
168 |     func remove(at index: Int, completion: ((Element) -> Void)? = nil) {
169 |         queue.async(flags: .barrier) {
170 |             let element = self.array.remove(at: index)
    |                           `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
171 |
172 |             // must do this to decrease the retain count of element
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:173:16: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
171 |
172 |             // must do this to decrease the retain count of element
173 |             if completion != nil {
    |                |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
174 |                 DispatchQueue(label: "removing").async {
175 |                     completion?(element)
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:175:21: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 |             if completion != nil {
174 |                 DispatchQueue(label: "removing").async {
175 |                     completion?(element)
    |                     |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
176 |                 }
177 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:175:33: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
173 |             if completion != nil {
174 |                 DispatchQueue(label: "removing").async {
175 |                     completion?(element)
    |                                 `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
176 |                 }
177 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:188:31: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
186 |     func remove(where predicate: @escaping (Element) -> Bool, completion: ((Element) -> Void)? = nil) {
187 |         queue.async(flags: .barrier) {
188 |             guard let index = self.array.firstIndex(where: predicate) else {
    |                               `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
189 |                 return
190 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:188:60: warning: capture of 'predicate' with non-sendable type '(Element) -> Bool' in a '@Sendable' closure; this is an error in the Swift 6 language mode
186 |     func remove(where predicate: @escaping (Element) -> Bool, completion: ((Element) -> Void)? = nil) {
187 |         queue.async(flags: .barrier) {
188 |             guard let index = self.array.firstIndex(where: predicate) else {
    |                                                            |- warning: capture of 'predicate' with non-sendable type '(Element) -> Bool' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 |                 return
190 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:192:16: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
190 |             }
191 |             let element = self.array.remove(at: index)
192 |             if completion != nil {
    |                |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
193 |                 DispatchQueue(label: "removing").async {
194 |                     completion?(element)
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:194:21: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
192 |             if completion != nil {
193 |                 DispatchQueue(label: "removing").async {
194 |                     completion?(element)
    |                     |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
195 |                 }
196 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:194:33: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
192 |             if completion != nil {
193 |                 DispatchQueue(label: "removing").async {
194 |                     completion?(element)
    |                                 `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
195 |                 }
196 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:205:28: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
203 |     func removeAll(completion: (([Element]) -> Void)? = nil) {
204 |         queue.async(flags: .barrier) {
205 |             let elements = self.array
    |                            `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
206 |             self.array.removeAll()
207 |             if completion != nil {
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:207:16: warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
205 |             let elements = self.array
206 |             self.array.removeAll()
207 |             if completion != nil {
    |                |- warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
208 |                 DispatchQueue(label: "removing").async {
209 |                     completion?(elements)
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:209:21: warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
207 |             if completion != nil {
208 |                 DispatchQueue(label: "removing").async {
209 |                     completion?(elements)
    |                     |- warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
210 |                 }
211 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:209:33: warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
207 |             if completion != nil {
208 |                 DispatchQueue(label: "removing").async {
209 |                     completion?(elements)
    |                                 `- warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
210 |                 }
211 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:241:17: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
239 |
240 |             queue.async(flags: .barrier) {
241 |                 self.array[index] = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
242 |             }
243 |         }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:241:37: warning: capture of 'newValue' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
239 |
240 |             queue.async(flags: .barrier) {
241 |                 self.array[index] = newValue
    |                                     `- warning: capture of 'newValue' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
242 |             }
243 |         }
/host/spi-builder-workspace/Sources/rosswift/Timer.swift:43:24: warning: static property 'manager' is not concurrency-safe because non-'Sendable' type 'TimerManager<Time, RosDuration, TimerEvent>' may have shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 | public final class Timer {
 43 |     private static let manager = TimerManager<Time,RosDuration,TimerEvent>()
    |                        |- warning: static property 'manager' is not concurrency-safe because non-'Sendable' type 'TimerManager<Time, RosDuration, TimerEvent>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'manager' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |     private var started: Bool = false
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:13:13: note: generic class 'TimerManager' does not conform to the 'Sendable' protocol
 11 | typealias InternalTimerManager = TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>
 12 |
 13 | final class TimerManager<T, D: BasicDurationBase, E: Event> where E.EventTime == T {
    |             `- note: generic class 'TimerManager' does not conform to the 'Sendable' protocol
 14 |     var timers: [TimerHandle: TimerInfo] = [:]
 15 |     let timersMutex = DispatchQueue(label: "TimerManager", attributes: .concurrent)
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:5:5: warning: let 'gTimerManager' is not concurrency-safe because non-'Sendable' type 'InternalTimerManager' (aka 'TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>') may have shared mutable state; this is an error in the Swift 6 language mode
  3 | import Atomics
  4 |
  5 | let gTimerManager = InternalTimerManager()
    |     |- warning: let 'gTimerManager' is not concurrency-safe because non-'Sendable' type 'InternalTimerManager' (aka 'TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>') may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'gTimerManager' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |
  7 | func getInternalTimerManager() -> InternalTimerManager {
    :
 11 | typealias InternalTimerManager = TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>
 12 |
 13 | final class TimerManager<T, D: BasicDurationBase, E: Event> where E.EventTime == T {
    |             `- note: generic class 'TimerManager' does not conform to the 'Sendable' protocol
 14 |     var timers: [TimerHandle: TimerInfo] = [:]
 15 |     let timersMutex = DispatchQueue(label: "TimerManager", attributes: .concurrent)
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
/host/spi-builder-workspace/Sources/rosswift/TopicManager.swift:488:21: warning: capture of 'it' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
486 |             }) {
487 |                 DispatchQueue(label: "adding").async {
488 |                     it.add(ros: self.ros, localConnection: pub)
    |                     `- warning: capture of 'it' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
489 |                 }
490 |             }
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:16:22: note: class 'Subscription' does not conform to the 'Sendable' protocol
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
/host/spi-builder-workspace/Sources/rosswift/TopicManager.swift:488:33: warning: capture of 'self' with non-sendable type 'TopicManager' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 24 | }
 25 |
 26 | internal final class TopicManager {
    |                      `- note: class 'TopicManager' does not conform to the 'Sendable' protocol
 27 |
 28 |     let advertisedTopicsMutex = NSRecursiveLock()
    :
486 |             }) {
487 |                 DispatchQueue(label: "adding").async {
488 |                     it.add(ros: self.ros, localConnection: pub)
    |                                 `- warning: capture of 'self' with non-sendable type 'TopicManager' in a '@Sendable' closure; this is an error in the Swift 6 language mode
489 |                 }
490 |             }
/host/spi-builder-workspace/Sources/rosswift/TopicManager.swift:488:60: warning: capture of 'pub' with non-sendable type 'Publication' in a '@Sendable' closure; this is an error in the Swift 6 language mode
486 |             }) {
487 |                 DispatchQueue(label: "adding").async {
488 |                     it.add(ros: self.ros, localConnection: pub)
    |                                                            `- warning: capture of 'pub' with non-sendable type 'Publication' in a '@Sendable' closure; this is an error in the Swift 6 language mode
489 |                 }
490 |             }
/host/spi-builder-workspace/Sources/rosswift/Publication.swift:51:13: note: class 'Publication' does not conform to the 'Sendable' protocol
 49 | }
 50 |
 51 | final class Publication {
    |             `- note: class 'Publication' does not conform to the 'Sendable' protocol
 52 |     let name: String
 53 |     let datatype: String
[675/689] Compiling RosSwift TopicManager.swift
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:294:58: warning: capture of 'self' with non-sendable type 'Subscription' in a '@Sendable' closure
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
292 |             }
293 |
294 |             ROS_DEBUG("Connecting via tcpros to topic [\(self.name)] at host [\(pubHost):\(pubPort)]")
    |                                                          `- warning: capture of 'self' with non-sendable type 'Subscription' in a '@Sendable' closure
295 |
296 |             DispatchQueue.global().async {
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:294:58: warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
292 |             }
293 |
294 |             ROS_DEBUG("Connecting via tcpros to topic [\(self.name)] at host [\(pubHost):\(pubPort)]")
    |                                                          `- warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
295 |
296 |             DispatchQueue.global().async {
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:297:60: warning: capture of 'self' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
295 |
296 |             DispatchQueue.global().async {
297 |                 let connection = InboundConnection(parent: self, host: pubHost, port: pubPort)
    |                                                            `- warning: capture of 'self' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
298 |                 let pubLink = TransportPublisherLink(parent: self, xmlrpcUri: uri, transportHints: self.transportHints)
299 |                 pubLink.initialize(ros: self.ros, connection: connection)
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:301:63: warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
    :
299 |                 pubLink.initialize(ros: self.ros, connection: connection)
300 |                 self.publisherLinks.append(pubLink)
301 |                 ROS_DEBUG("Connected to publisher of topic [\(self.name)] at [\(pubHost):\(pubPort)]")
    |                                                               `- warning: implicit capture of 'self' requires that 'Subscription' conforms to 'Sendable'; this is an error in the Swift 6 language mode
302 |             }
303 |         })
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:139:13: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
137 |     func append( _ element: Element) {
138 |         queue.async(flags: .barrier) {
139 |             self.array.append(element)
    |             `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:139:31: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
137 |     func append( _ element: Element) {
138 |         queue.async(flags: .barrier) {
139 |             self.array.append(element)
    |                               `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:148:13: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
146 |     func append( _ elements: [Element]) {
147 |         queue.async(flags: .barrier) {
148 |             self.array += elements
    |             `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 |         }
150 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:148:27: warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
146 |     func append( _ elements: [Element]) {
147 |         queue.async(flags: .barrier) {
148 |             self.array += elements
    |                           `- warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 |         }
150 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:159:13: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
157 |     func insert( _ element: Element, at index: Int) {
158 |         queue.async(flags: .barrier) {
159 |             self.array.insert(element, at: index)
    |             `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
160 |         }
161 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:159:31: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
157 |     func insert( _ element: Element, at index: Int) {
158 |         queue.async(flags: .barrier) {
159 |             self.array.insert(element, at: index)
    |                               `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
160 |         }
161 |     }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:170:27: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
168 |     func remove(at index: Int, completion: ((Element) -> Void)? = nil) {
169 |         queue.async(flags: .barrier) {
170 |             let element = self.array.remove(at: index)
    |                           `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
171 |
172 |             // must do this to decrease the retain count of element
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:173:16: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
171 |
172 |             // must do this to decrease the retain count of element
173 |             if completion != nil {
    |                |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
174 |                 DispatchQueue(label: "removing").async {
175 |                     completion?(element)
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:175:21: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 |             if completion != nil {
174 |                 DispatchQueue(label: "removing").async {
175 |                     completion?(element)
    |                     |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
176 |                 }
177 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:175:33: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
173 |             if completion != nil {
174 |                 DispatchQueue(label: "removing").async {
175 |                     completion?(element)
    |                                 `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
176 |                 }
177 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:188:31: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
186 |     func remove(where predicate: @escaping (Element) -> Bool, completion: ((Element) -> Void)? = nil) {
187 |         queue.async(flags: .barrier) {
188 |             guard let index = self.array.firstIndex(where: predicate) else {
    |                               `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
189 |                 return
190 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:188:60: warning: capture of 'predicate' with non-sendable type '(Element) -> Bool' in a '@Sendable' closure; this is an error in the Swift 6 language mode
186 |     func remove(where predicate: @escaping (Element) -> Bool, completion: ((Element) -> Void)? = nil) {
187 |         queue.async(flags: .barrier) {
188 |             guard let index = self.array.firstIndex(where: predicate) else {
    |                                                            |- warning: capture of 'predicate' with non-sendable type '(Element) -> Bool' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                                            `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 |                 return
190 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:192:16: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
190 |             }
191 |             let element = self.array.remove(at: index)
192 |             if completion != nil {
    |                |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
193 |                 DispatchQueue(label: "removing").async {
194 |                     completion?(element)
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:194:21: warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
192 |             if completion != nil {
193 |                 DispatchQueue(label: "removing").async {
194 |                     completion?(element)
    |                     |- warning: capture of 'completion' with non-sendable type '((Element) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
195 |                 }
196 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:194:33: warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
192 |             if completion != nil {
193 |                 DispatchQueue(label: "removing").async {
194 |                     completion?(element)
    |                                 `- warning: capture of 'element' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
195 |                 }
196 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:205:28: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
203 |     func removeAll(completion: (([Element]) -> Void)? = nil) {
204 |         queue.async(flags: .barrier) {
205 |             let elements = self.array
    |                            `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
206 |             self.array.removeAll()
207 |             if completion != nil {
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:207:16: warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
205 |             let elements = self.array
206 |             self.array.removeAll()
207 |             if completion != nil {
    |                |- warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
208 |                 DispatchQueue(label: "removing").async {
209 |                     completion?(elements)
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:209:21: warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
207 |             if completion != nil {
208 |                 DispatchQueue(label: "removing").async {
209 |                     completion?(elements)
    |                     |- warning: capture of 'completion' with non-sendable type '(([Element]) -> Void)?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
210 |                 }
211 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:209:33: warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
207 |             if completion != nil {
208 |                 DispatchQueue(label: "removing").async {
209 |                     completion?(elements)
    |                                 `- warning: capture of 'elements' with non-sendable type '[Element]' in a '@Sendable' closure; this is an error in the Swift 6 language mode
210 |                 }
211 |             }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:241:17: warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |             `- note: generic class 'SynchronizedArray' does not conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
239 |
240 |             queue.async(flags: .barrier) {
241 |                 self.array[index] = newValue
    |                 `- warning: capture of 'self' with non-sendable type 'SynchronizedArray<Element>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
242 |             }
243 |         }
/host/spi-builder-workspace/Sources/rosswift/SynchronizedArray.swift:241:37: warning: capture of 'newValue' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  9 |
 10 | /// A thread-safe array.
 11 | final class SynchronizedArray<Element> {
    |                               `- note: consider making generic parameter 'Element' conform to the 'Sendable' protocol
 12 |     fileprivate let queue = DispatchQueue(label: "SynchronizedArray", attributes: .concurrent)
 13 |     fileprivate var array = [Element]()
    :
239 |
240 |             queue.async(flags: .barrier) {
241 |                 self.array[index] = newValue
    |                                     `- warning: capture of 'newValue' with non-sendable type 'Element' in a '@Sendable' closure; this is an error in the Swift 6 language mode
242 |             }
243 |         }
/host/spi-builder-workspace/Sources/rosswift/Timer.swift:43:24: warning: static property 'manager' is not concurrency-safe because non-'Sendable' type 'TimerManager<Time, RosDuration, TimerEvent>' may have shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 | public final class Timer {
 43 |     private static let manager = TimerManager<Time,RosDuration,TimerEvent>()
    |                        |- warning: static property 'manager' is not concurrency-safe because non-'Sendable' type 'TimerManager<Time, RosDuration, TimerEvent>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'manager' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |
 45 |     private var started: Bool = false
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:13:13: note: generic class 'TimerManager' does not conform to the 'Sendable' protocol
 11 | typealias InternalTimerManager = TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>
 12 |
 13 | final class TimerManager<T, D: BasicDurationBase, E: Event> where E.EventTime == T {
    |             `- note: generic class 'TimerManager' does not conform to the 'Sendable' protocol
 14 |     var timers: [TimerHandle: TimerInfo] = [:]
 15 |     let timersMutex = DispatchQueue(label: "TimerManager", attributes: .concurrent)
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:5:5: warning: let 'gTimerManager' is not concurrency-safe because non-'Sendable' type 'InternalTimerManager' (aka 'TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>') may have shared mutable state; this is an error in the Swift 6 language mode
  3 | import Atomics
  4 |
  5 | let gTimerManager = InternalTimerManager()
    |     |- warning: let 'gTimerManager' is not concurrency-safe because non-'Sendable' type 'InternalTimerManager' (aka 'TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>') may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'gTimerManager' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |
  7 | func getInternalTimerManager() -> InternalTimerManager {
    :
 11 | typealias InternalTimerManager = TimerManager<SteadyTime, WallDuration, SteadyTimerEvent>
 12 |
 13 | final class TimerManager<T, D: BasicDurationBase, E: Event> where E.EventTime == T {
    |             `- note: generic class 'TimerManager' does not conform to the 'Sendable' protocol
 14 |     var timers: [TimerHandle: TimerInfo] = [:]
 15 |     let timersMutex = DispatchQueue(label: "TimerManager", attributes: .concurrent)
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
/host/spi-builder-workspace/Sources/rosswift/TopicManager.swift:488:21: warning: capture of 'it' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
486 |             }) {
487 |                 DispatchQueue(label: "adding").async {
488 |                     it.add(ros: self.ros, localConnection: pub)
    |                     `- warning: capture of 'it' with non-sendable type 'Subscription' in a '@Sendable' closure; this is an error in the Swift 6 language mode
489 |                 }
490 |             }
/host/spi-builder-workspace/Sources/rosswift/Subscription/Subscription.swift:16:22: note: class 'Subscription' does not conform to the 'Sendable' protocol
 14 | protocol TransportUDP {}
 15 |
 16 | internal final class Subscription {
    |                      `- note: class 'Subscription' does not conform to the 'Sendable' protocol
 17 |     final class CallBackInfo {
 18 |         let callbackQueue: CallbackQueueInterface
/host/spi-builder-workspace/Sources/rosswift/TopicManager.swift:488:33: warning: capture of 'self' with non-sendable type 'TopicManager' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 24 | }
 25 |
 26 | internal final class TopicManager {
    |                      `- note: class 'TopicManager' does not conform to the 'Sendable' protocol
 27 |
 28 |     let advertisedTopicsMutex = NSRecursiveLock()
    :
486 |             }) {
487 |                 DispatchQueue(label: "adding").async {
488 |                     it.add(ros: self.ros, localConnection: pub)
    |                                 `- warning: capture of 'self' with non-sendable type 'TopicManager' in a '@Sendable' closure; this is an error in the Swift 6 language mode
489 |                 }
490 |             }
/host/spi-builder-workspace/Sources/rosswift/TopicManager.swift:488:60: warning: capture of 'pub' with non-sendable type 'Publication' in a '@Sendable' closure; this is an error in the Swift 6 language mode
486 |             }) {
487 |                 DispatchQueue(label: "adding").async {
488 |                     it.add(ros: self.ros, localConnection: pub)
    |                                                            `- warning: capture of 'pub' with non-sendable type 'Publication' in a '@Sendable' closure; this is an error in the Swift 6 language mode
489 |                 }
490 |             }
/host/spi-builder-workspace/Sources/rosswift/Publication.swift:51:13: note: class 'Publication' does not conform to the 'Sendable' protocol
 49 | }
 50 |
 51 | final class Publication {
    |             `- note: class 'Publication' does not conform to the 'Sendable' protocol
 52 |     let name: String
 53 |     let datatype: String
[676/689] Compiling RosSwift XMLRpcServer.swift
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:91:78: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |         let promise = self.keepAlive ? promise : (promise ?? context.eventLoop.makePromise())
 90 |         if !self.keepAlive {
 91 |             promise!.futureResult.whenComplete { (_: Result<Void, Error>) in context.close(promise: nil) }
    |                                                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |         }
 93 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 |     // visible for ChannelPipeline to modify
1794 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:49: warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
 47 |
 48 |
 49 | final class HTTPHandler: ChannelInboundHandler {
    |             `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 50 |     typealias InboundIn = HTTPServerRequestPart
 51 |     typealias OutboundOut = HTTPServerResponsePart
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                 `- warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/param.swift:533:16: warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 | }
 45 |
 46 | public final class Param {
    |                    `- note: class 'Param' does not conform to the 'Sendable' protocol
 47 |
 48 |     let parameterQueue = DispatchQueue(label: "parameterQueue")
    :
531 |
532 |         parameterQueue.async {
533 |             if self.gSubscribedParameters.keys.contains(cleanKey) {
    |                `- warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
534 |                 self.gParameters[cleanKey] = value
535 |                 self.gSubscribedParameters[cleanKey]?.handler?(value)
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:111:16: warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | internal struct Console {
111 |     static var gInitialized = false
    |                |- warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gInitialized' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |     static var gExtraFixedTokens = StringStringMap()
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:112:16: warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | internal struct Console {
111 |     static var gInitialized = false
112 |     static var gExtraFixedTokens = StringStringMap()
    |                |- warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gExtraFixedTokens' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gExtraFixedTokens' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
114 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:32:28: warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
    |                            |- warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'globalRos' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'globalRos' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     fileprivate static var atexitRegistered = false
 34 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:33:28: warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
 33 |     fileprivate static var atexitRegistered = false
    |                            |- warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'atexitRegistered' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'atexitRegistered' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     public typealias InitOption = Set<InitOptions>
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:323:17: warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 12 | public typealias StringStringMap = [String: String]
 13 |
 14 | public final class Ros: Hashable {
    |                    `- note: class 'Ros' does not conform to the 'Sendable' protocol
 15 |
 16 |     public static func == (lhs: Ros, rhs: Ros) -> Bool {
    :
321 |             // we have to avoid calling wait inside an EventLoop
322 |             DispatchQueue(label: "shutdown").async {
323 |                 self.requestShutdown()
    |                 `- warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             }
325 |         }
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |         ROS_ERROR("Caught kill, stopping...")
344 |         DispatchQueue.main.async {
345 |             self.requestShutdown()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |         }
347 |     }
[677/689] Compiling RosSwift inboundConnection.swift
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:91:78: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |         let promise = self.keepAlive ? promise : (promise ?? context.eventLoop.makePromise())
 90 |         if !self.keepAlive {
 91 |             promise!.futureResult.whenComplete { (_: Result<Void, Error>) in context.close(promise: nil) }
    |                                                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |         }
 93 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 |     // visible for ChannelPipeline to modify
1794 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:49: warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
 47 |
 48 |
 49 | final class HTTPHandler: ChannelInboundHandler {
    |             `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 50 |     typealias InboundIn = HTTPServerRequestPart
 51 |     typealias OutboundOut = HTTPServerResponsePart
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                 `- warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/param.swift:533:16: warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 | }
 45 |
 46 | public final class Param {
    |                    `- note: class 'Param' does not conform to the 'Sendable' protocol
 47 |
 48 |     let parameterQueue = DispatchQueue(label: "parameterQueue")
    :
531 |
532 |         parameterQueue.async {
533 |             if self.gSubscribedParameters.keys.contains(cleanKey) {
    |                `- warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
534 |                 self.gParameters[cleanKey] = value
535 |                 self.gSubscribedParameters[cleanKey]?.handler?(value)
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:111:16: warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | internal struct Console {
111 |     static var gInitialized = false
    |                |- warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gInitialized' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |     static var gExtraFixedTokens = StringStringMap()
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:112:16: warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | internal struct Console {
111 |     static var gInitialized = false
112 |     static var gExtraFixedTokens = StringStringMap()
    |                |- warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gExtraFixedTokens' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gExtraFixedTokens' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
114 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:32:28: warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
    |                            |- warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'globalRos' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'globalRos' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     fileprivate static var atexitRegistered = false
 34 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:33:28: warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
 33 |     fileprivate static var atexitRegistered = false
    |                            |- warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'atexitRegistered' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'atexitRegistered' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     public typealias InitOption = Set<InitOptions>
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:323:17: warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 12 | public typealias StringStringMap = [String: String]
 13 |
 14 | public final class Ros: Hashable {
    |                    `- note: class 'Ros' does not conform to the 'Sendable' protocol
 15 |
 16 |     public static func == (lhs: Ros, rhs: Ros) -> Bool {
    :
321 |             // we have to avoid calling wait inside an EventLoop
322 |             DispatchQueue(label: "shutdown").async {
323 |                 self.requestShutdown()
    |                 `- warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             }
325 |         }
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |         ROS_ERROR("Caught kill, stopping...")
344 |         DispatchQueue.main.async {
345 |             self.requestShutdown()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |         }
347 |     }
[678/689] Compiling RosSwift param.swift
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:91:78: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |         let promise = self.keepAlive ? promise : (promise ?? context.eventLoop.makePromise())
 90 |         if !self.keepAlive {
 91 |             promise!.futureResult.whenComplete { (_: Result<Void, Error>) in context.close(promise: nil) }
    |                                                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |         }
 93 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 |     // visible for ChannelPipeline to modify
1794 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:49: warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
 47 |
 48 |
 49 | final class HTTPHandler: ChannelInboundHandler {
    |             `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 50 |     typealias InboundIn = HTTPServerRequestPart
 51 |     typealias OutboundOut = HTTPServerResponsePart
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                 `- warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/param.swift:533:16: warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 | }
 45 |
 46 | public final class Param {
    |                    `- note: class 'Param' does not conform to the 'Sendable' protocol
 47 |
 48 |     let parameterQueue = DispatchQueue(label: "parameterQueue")
    :
531 |
532 |         parameterQueue.async {
533 |             if self.gSubscribedParameters.keys.contains(cleanKey) {
    |                `- warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
534 |                 self.gParameters[cleanKey] = value
535 |                 self.gSubscribedParameters[cleanKey]?.handler?(value)
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:111:16: warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | internal struct Console {
111 |     static var gInitialized = false
    |                |- warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gInitialized' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |     static var gExtraFixedTokens = StringStringMap()
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:112:16: warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | internal struct Console {
111 |     static var gInitialized = false
112 |     static var gExtraFixedTokens = StringStringMap()
    |                |- warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gExtraFixedTokens' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gExtraFixedTokens' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
114 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:32:28: warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
    |                            |- warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'globalRos' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'globalRos' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     fileprivate static var atexitRegistered = false
 34 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:33:28: warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
 33 |     fileprivate static var atexitRegistered = false
    |                            |- warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'atexitRegistered' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'atexitRegistered' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     public typealias InitOption = Set<InitOptions>
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:323:17: warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 12 | public typealias StringStringMap = [String: String]
 13 |
 14 | public final class Ros: Hashable {
    |                    `- note: class 'Ros' does not conform to the 'Sendable' protocol
 15 |
 16 |     public static func == (lhs: Ros, rhs: Ros) -> Bool {
    :
321 |             // we have to avoid calling wait inside an EventLoop
322 |             DispatchQueue(label: "shutdown").async {
323 |                 self.requestShutdown()
    |                 `- warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             }
325 |         }
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |         ROS_ERROR("Caught kill, stopping...")
344 |         DispatchQueue.main.async {
345 |             self.requestShutdown()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |         }
347 |     }
[679/689] Compiling RosSwift rosconsole.swift
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:91:78: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |         let promise = self.keepAlive ? promise : (promise ?? context.eventLoop.makePromise())
 90 |         if !self.keepAlive {
 91 |             promise!.futureResult.whenComplete { (_: Result<Void, Error>) in context.close(promise: nil) }
    |                                                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |         }
 93 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 |     // visible for ChannelPipeline to modify
1794 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:49: warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
 47 |
 48 |
 49 | final class HTTPHandler: ChannelInboundHandler {
    |             `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 50 |     typealias InboundIn = HTTPServerRequestPart
 51 |     typealias OutboundOut = HTTPServerResponsePart
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                 `- warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/param.swift:533:16: warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 | }
 45 |
 46 | public final class Param {
    |                    `- note: class 'Param' does not conform to the 'Sendable' protocol
 47 |
 48 |     let parameterQueue = DispatchQueue(label: "parameterQueue")
    :
531 |
532 |         parameterQueue.async {
533 |             if self.gSubscribedParameters.keys.contains(cleanKey) {
    |                `- warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
534 |                 self.gParameters[cleanKey] = value
535 |                 self.gSubscribedParameters[cleanKey]?.handler?(value)
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:111:16: warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | internal struct Console {
111 |     static var gInitialized = false
    |                |- warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gInitialized' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |     static var gExtraFixedTokens = StringStringMap()
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:112:16: warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | internal struct Console {
111 |     static var gInitialized = false
112 |     static var gExtraFixedTokens = StringStringMap()
    |                |- warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gExtraFixedTokens' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gExtraFixedTokens' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
114 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:32:28: warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
    |                            |- warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'globalRos' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'globalRos' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     fileprivate static var atexitRegistered = false
 34 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:33:28: warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
 33 |     fileprivate static var atexitRegistered = false
    |                            |- warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'atexitRegistered' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'atexitRegistered' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     public typealias InitOption = Set<InitOptions>
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:323:17: warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 12 | public typealias StringStringMap = [String: String]
 13 |
 14 | public final class Ros: Hashable {
    |                    `- note: class 'Ros' does not conform to the 'Sendable' protocol
 15 |
 16 |     public static func == (lhs: Ros, rhs: Ros) -> Bool {
    :
321 |             // we have to avoid calling wait inside an EventLoop
322 |             DispatchQueue(label: "shutdown").async {
323 |                 self.requestShutdown()
    |                 `- warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             }
325 |         }
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |         ROS_ERROR("Caught kill, stopping...")
344 |         DispatchQueue.main.async {
345 |             self.requestShutdown()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |         }
347 |     }
[680/689] Compiling RosSwift rosout_appender.swift
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:91:78: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |         let promise = self.keepAlive ? promise : (promise ?? context.eventLoop.makePromise())
 90 |         if !self.keepAlive {
 91 |             promise!.futureResult.whenComplete { (_: Result<Void, Error>) in context.close(promise: nil) }
    |                                                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |         }
 93 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 |     // visible for ChannelPipeline to modify
1794 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:49: warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
 47 |
 48 |
 49 | final class HTTPHandler: ChannelInboundHandler {
    |             `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 50 |     typealias InboundIn = HTTPServerRequestPart
 51 |     typealias OutboundOut = HTTPServerResponsePart
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                 `- warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/param.swift:533:16: warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 | }
 45 |
 46 | public final class Param {
    |                    `- note: class 'Param' does not conform to the 'Sendable' protocol
 47 |
 48 |     let parameterQueue = DispatchQueue(label: "parameterQueue")
    :
531 |
532 |         parameterQueue.async {
533 |             if self.gSubscribedParameters.keys.contains(cleanKey) {
    |                `- warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
534 |                 self.gParameters[cleanKey] = value
535 |                 self.gSubscribedParameters[cleanKey]?.handler?(value)
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:111:16: warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | internal struct Console {
111 |     static var gInitialized = false
    |                |- warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gInitialized' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |     static var gExtraFixedTokens = StringStringMap()
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:112:16: warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | internal struct Console {
111 |     static var gInitialized = false
112 |     static var gExtraFixedTokens = StringStringMap()
    |                |- warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gExtraFixedTokens' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gExtraFixedTokens' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
114 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:32:28: warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
    |                            |- warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'globalRos' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'globalRos' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     fileprivate static var atexitRegistered = false
 34 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:33:28: warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
 33 |     fileprivate static var atexitRegistered = false
    |                            |- warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'atexitRegistered' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'atexitRegistered' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     public typealias InitOption = Set<InitOptions>
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:323:17: warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 12 | public typealias StringStringMap = [String: String]
 13 |
 14 | public final class Ros: Hashable {
    |                    `- note: class 'Ros' does not conform to the 'Sendable' protocol
 15 |
 16 |     public static func == (lhs: Ros, rhs: Ros) -> Bool {
    :
321 |             // we have to avoid calling wait inside an EventLoop
322 |             DispatchQueue(label: "shutdown").async {
323 |                 self.requestShutdown()
    |                 `- warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             }
325 |         }
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |         ROS_ERROR("Caught kill, stopping...")
344 |         DispatchQueue.main.async {
345 |             self.requestShutdown()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |         }
347 |     }
[681/689] Compiling RosSwift rosswift.swift
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:91:78: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |         let promise = self.keepAlive ? promise : (promise ?? context.eventLoop.makePromise())
 90 |         if !self.keepAlive {
 91 |             promise!.futureResult.whenComplete { (_: Result<Void, Error>) in context.close(promise: nil) }
    |                                                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |         }
 93 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 |     // visible for ChannelPipeline to modify
1794 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:49: warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
 47 |
 48 |
 49 | final class HTTPHandler: ChannelInboundHandler {
    |             `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 50 |     typealias InboundIn = HTTPServerRequestPart
 51 |     typealias OutboundOut = HTTPServerResponsePart
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                 `- warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/param.swift:533:16: warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 | }
 45 |
 46 | public final class Param {
    |                    `- note: class 'Param' does not conform to the 'Sendable' protocol
 47 |
 48 |     let parameterQueue = DispatchQueue(label: "parameterQueue")
    :
531 |
532 |         parameterQueue.async {
533 |             if self.gSubscribedParameters.keys.contains(cleanKey) {
    |                `- warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
534 |                 self.gParameters[cleanKey] = value
535 |                 self.gSubscribedParameters[cleanKey]?.handler?(value)
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:111:16: warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | internal struct Console {
111 |     static var gInitialized = false
    |                |- warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gInitialized' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |     static var gExtraFixedTokens = StringStringMap()
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:112:16: warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | internal struct Console {
111 |     static var gInitialized = false
112 |     static var gExtraFixedTokens = StringStringMap()
    |                |- warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gExtraFixedTokens' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gExtraFixedTokens' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
114 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:32:28: warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
    |                            |- warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'globalRos' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'globalRos' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     fileprivate static var atexitRegistered = false
 34 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:33:28: warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
 33 |     fileprivate static var atexitRegistered = false
    |                            |- warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'atexitRegistered' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'atexitRegistered' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     public typealias InitOption = Set<InitOptions>
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:323:17: warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 12 | public typealias StringStringMap = [String: String]
 13 |
 14 | public final class Ros: Hashable {
    |                    `- note: class 'Ros' does not conform to the 'Sendable' protocol
 15 |
 16 |     public static func == (lhs: Ros, rhs: Ros) -> Bool {
    :
321 |             // we have to avoid calling wait inside an EventLoop
322 |             DispatchQueue(label: "shutdown").async {
323 |                 self.requestShutdown()
    |                 `- warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             }
325 |         }
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |         ROS_ERROR("Caught kill, stopping...")
344 |         DispatchQueue.main.async {
345 |             self.requestShutdown()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |         }
347 |     }
[682/689] Compiling RosSwift thisNode.swift
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:91:78: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 89 |         let promise = self.keepAlive ? promise : (promise ?? context.eventLoop.makePromise())
 90 |         if !self.keepAlive {
 91 |             promise!.futureResult.whenComplete { (_: Result<Void, Error>) in context.close(promise: nil) }
    |                                                                              `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
 92 |         }
 93 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 |     // visible for ChannelPipeline to modify
1794 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:49: warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
 47 |
 48 |
 49 | final class HTTPHandler: ChannelInboundHandler {
    |             `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 50 |     typealias InboundIn = HTTPServerRequestPart
 51 |     typealias OutboundOut = HTTPServerResponsePart
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                 `- warning: type 'HTTPHandler' does not conform to the 'Sendable' protocol
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/XMLRpcServer.swift:196:69: warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
176 | }
177 |
178 | final class XMLRPCServer {
    |             `- note: class 'XMLRPCServer' does not conform to the 'Sendable' protocol
179 |     private var channel: Channel?
180 |     private var boot: ServerBootstrap?
    :
194 |             .childChannelInitializer { channel in
195 |                 channel.pipeline.configureHTTPServerPipeline(withErrorHandling: true).flatMap {
196 |                     channel.pipeline.addHandler(HTTPHandler(server: self))
    |                                                                     `- warning: capture of 'self' with non-sendable type 'XMLRPCServer' in a '@Sendable' closure
197 |                 }
198 |             }
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in a '@Sendable' closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/nio/inboundConnection.swift:50:48: warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 16 | }
 17 |
 18 | final class InboundConnection {
    |             `- note: class 'InboundConnection' does not conform to the 'Sendable' protocol
 19 |
 20 |     var channel: Channel?
    :
 48 |                     _ = try channel.pipeline.syncOperations.addHandlers([
 49 |                         ByteToMessageHandler(LengthFieldBasedFrameDecoder(lengthFieldLength: .four, lengthFieldEndianness: .little)),
 50 |                         InboundHandler(parent: self)])
    |                                                `- warning: capture of 'self' with non-sendable type 'InboundConnection' in an isolated closure
 51 |                 }
 52 |                 return channel
/host/spi-builder-workspace/Sources/rosswift/param.swift:533:16: warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 | }
 45 |
 46 | public final class Param {
    |                    `- note: class 'Param' does not conform to the 'Sendable' protocol
 47 |
 48 |     let parameterQueue = DispatchQueue(label: "parameterQueue")
    :
531 |
532 |         parameterQueue.async {
533 |             if self.gSubscribedParameters.keys.contains(cleanKey) {
    |                `- warning: capture of 'self' with non-sendable type 'Param' in a '@Sendable' closure; this is an error in the Swift 6 language mode
534 |                 self.gParameters[cleanKey] = value
535 |                 self.gSubscribedParameters[cleanKey]?.handler?(value)
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:111:16: warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | internal struct Console {
111 |     static var gInitialized = false
    |                |- warning: static property 'gInitialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gInitialized' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |     static var gExtraFixedTokens = StringStringMap()
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
/host/spi-builder-workspace/Sources/rosswift/rosconsole.swift:112:16: warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | internal struct Console {
111 |     static var gInitialized = false
112 |     static var gExtraFixedTokens = StringStringMap()
    |                |- warning: static property 'gExtraFixedTokens' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'gExtraFixedTokens' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'gExtraFixedTokens' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |     static let gLocationsQueue = DispatchQueue(label: "location_mutex")
114 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:32:28: warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
    |                            |- warning: static property 'globalRos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'globalRos' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'globalRos' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     fileprivate static var atexitRegistered = false
 34 |
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:33:28: warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 31 |
 32 |     fileprivate static var globalRos = Set<Ros>()
 33 |     fileprivate static var atexitRegistered = false
    |                            |- warning: static property 'atexitRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                            |- note: convert 'atexitRegistered' to a 'let' constant to make 'Sendable' shared state immutable
    |                            |- note: add '@MainActor' to make static property 'atexitRegistered' part of global actor 'MainActor'
    |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     public typealias InitOption = Set<InitOptions>
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:323:17: warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 12 | public typealias StringStringMap = [String: String]
 13 |
 14 | public final class Ros: Hashable {
    |                    `- note: class 'Ros' does not conform to the 'Sendable' protocol
 15 |
 16 |     public static func == (lhs: Ros, rhs: Ros) -> Bool {
    :
321 |             // we have to avoid calling wait inside an EventLoop
322 |             DispatchQueue(label: "shutdown").async {
323 |                 self.requestShutdown()
    |                 `- warning: capture of 'self' with non-sendable type 'Ros' in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             }
325 |         }
/host/spi-builder-workspace/Sources/rosswift/rosswift.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |         ROS_ERROR("Caught kill, stopping...")
344 |         DispatchQueue.main.async {
345 |             self.requestShutdown()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |         }
347 |     }
[683/690] Wrapping AST for RosSwift for debugging
[685/695] Emitting module listener
/host/spi-builder-workspace/Sources/listener/main.swift:10:9: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
 8 | class Config {
 9 |     @RosParameter(name: "~value", ros: ros)
10 |     var value: Int
   |         `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
11 | }
12 |
[686/695] Compiling listener main.swift
/host/spi-builder-workspace/Sources/listener/main.swift:10:9: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
 8 | class Config {
 9 |     @RosParameter(name: "~value", ros: ros)
10 |     var value: Int
   |         `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
11 | }
12 |
/host/spi-builder-workspace/Sources/listener/main.swift:20:32: error: main actor-isolated var 'config' can not be referenced from a nonisolated context
11 | }
12 |
13 | var config = Config()
   |     `- note: var declared here
14 | config.value = 12
15 |
   :
17 | struct B {
18 |     let value : Double
19 |     func chatterCallback(msg: String) {
   |          `- note: add '@MainActor' to make instance method 'chatterCallback(msg:)' part of global actor 'MainActor'
20 |         print("I [the struct \(config.value)] saw: [\(msg)]")
   |                                `- error: main actor-isolated var 'config' can not be referenced from a nonisolated context
21 |     }
22 | }
[687/695] Emitting module publisher
/host/spi-builder-workspace/Sources/publisher/main.swift:6:22: warning: setter for 'arguments' is deprecated: Do not modify CommandLine.arguments. It will become read-only in a future version of Swift.
  4 | // Initiate ros before using any other part of RosSwift
  5 |
  6 | let ros = Ros(argv: &CommandLine.arguments, name: "talker")
    |                      `- warning: setter for 'arguments' is deprecated: Do not modify CommandLine.arguments. It will become read-only in a future version of Swift.
  7 |
  8 | // createNode returns nil if the namespace passed is not a valid graph resource name
/host/spi-builder-workspace/Sources/publisher/main.swift:68:111: warning: type 'TestStringString.Response' does not conform to the 'Sendable' protocol
 66 | let request = TestStringString.Request("request from self")
 67 |
 68 | if let respons : TestStringString.Response = try? Service.call(node: node, serviceName: "echo", req: request).wait() {
    |                                                                                                               `- warning: type 'TestStringString.Response' does not conform to the 'Sendable' protocol
 69 |     print(respons)
 70 | } else {
/host/spi-builder-workspace/Sources/rosswift/Service/ServiceMessage.swift:36:19: note: struct 'Response' does not conform to the 'Sendable' protocol
34 |     }
35 |
36 |     public struct Response: ServiceResponseMessage {
   |                   `- note: struct 'Response' does not conform to the 'Sendable' protocol
37 |         public typealias ServiceType = TestStringString
38 |
/host/spi-builder-workspace/Sources/publisher/main.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RosSwift'
  1 | import RosSwift
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'RosSwift'
  2 | import Foundation
  3 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:808cb2b2a6cec76654a3acbd283c6c2205bc60d2b29562c95b9f5147612f6d32
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/38] Write swift-version-24593BA9C3E375BF.txt
[2/97] Compiling InternalCollectionsUtilities _SortedCollection.swift
[3/97] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[4/99] Compiling _NIODataStructures PriorityQueue.swift
[5/99] Compiling Logging MetadataProvider.swift
[6/99] Compiling InternalCollectionsUtilities Debugging.swift
[7/99] Compiling InternalCollectionsUtilities Descriptions.swift
[8/99] Compiling InternalCollectionsUtilities UnsafeMutableRawBufferPointer+Extras.swift
[9/99] Compiling InternalCollectionsUtilities UnsafeRawBufferPointer+Extras.swift
[10/101] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[11/101] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[14/101] Compiling InternalCollectionsUtilities LifetimeOverride.swift
[15/101] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[18/101] Emitting module rpcobject
[19/101] Compiling BinaryCoder BinaryCodable.swift
[20/101] Emitting module BinaryCoder
[21/101] Compiling _NIODataStructures Heap.swift
[26/101] Compiling NIOConcurrencyHelpers NIOLock.swift
[27/101] Compiling NIOConcurrencyHelpers lock.swift
[28/101] Emitting module _NIODataStructures
[29/101] Emitting module NIOConcurrencyHelpers
[30/101] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[31/101] Compiling BinaryCoder BinaryEncoder.swift
[32/101] Compiling _NIODataStructures _TinyArray.swift
[33/102] Emitting module _NIOBase64
[34/102] Compiling _NIOBase64 Base64.swift
[35/103] Compiling Atomics IntegerOperations.swift
[36/103] Compiling Atomics Unmanaged extensions.swift
[37/103] Emitting module InternalCollectionsUtilities
[39/103] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[40/103] Compiling NIOConcurrencyHelpers atomics.swift
[41/103] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[42/103] Compiling InternalCollectionsUtilities Integer rank.swift
[43/103] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[44/104] Compiling BinaryCoder BinaryCodableExtensions.swift
[45/104] Compiling BinaryCoder BinaryDecoder.swift
[49/101] Compiling Logging LogHandler.swift
[50/101] Compiling Logging Locks.swift
[51/101] Compiling Logging Logging.swift
[52/101] Emitting module Logging
[53/102] Compiling rpcobject XmlRpcValue.swift
[54/102] Compiling rpcobject XmlRpcUtil.swift
[58/103] Compiling InternalCollectionsUtilities UInt+reversed.swift
[59/103] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[60/103] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[61/103] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[64/102] Wrapping AST for Logging for debugging
[66/119] Compiling DequeModule Deque+Extras.swift
[67/119] Compiling DequeModule Deque+Hashable.swift
[68/121] Compiling DequeModule Deque+Equatable.swift
[69/121] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[70/121] Emitting module LoggerAPI
[71/121] Compiling LoggerAPI Logger.swift
[72/122] Compiling DequeModule _DequeBuffer.swift
[73/122] Compiling DequeModule _DequeBufferHeader.swift
[75/121] Compiling DequeModule _DequeSlot.swift
[76/121] Compiling DequeModule _UnsafeWrappedBuffer.swift
[77/125] Compiling DequeModule Deque._UnsafeHandle.swift
[78/125] Compiling DequeModule Deque.swift
[79/125] Compiling DequeModule Deque+Testing.swift
[80/125] Compiling DequeModule Deque._Storage.swift
[81/125] Compiling DequeModule Deque+CustomReflectable.swift
[82/125] Compiling DequeModule Deque+Descriptions.swift
[83/125] Compiling DequeModule Deque+Codable.swift
[84/125] Emitting module Atomics
[85/125] Compiling DequeModule Deque+Collection.swift
[88/126] Wrapping AST for Atomics for debugging
[94/126] Emitting module DequeModule
[95/127] Compiling HeliumLogger HeliumStreamLogger.swift
[96/127] Compiling HeliumLogger HeliumLogHandler.swift
[97/127] Compiling HeliumLogger HeliumLogger.swift
[98/127] Emitting module HeliumLogger
[101/134] Compiling RosTime Time.swift
[102/134] Compiling RosTime Rate.swift
[103/134] Compiling RosTime SteadyTime.swift
[104/134] Compiling RosTime WallTime.swift
[105/134] Compiling RosTime TimeBase.swift
[106/195] Compiling RosTime DurationBase.swift
[107/195] Compiling RosTime Duration.swift
[108/195] Emitting module RosTime
[110/226] Compiling StdMsgs MultiArrayDimensionMsg.swift
[111/226] Compiling StdMsgs MultiArrayLayoutMsg.swift
[112/226] Compiling StdMsgs UInt16MultiArrayMsg.swift
[113/226] Compiling StdMsgs UInt32MultiArrayMsg.swift
[114/230] Compiling StdMsgs int8Msg.swift
[115/230] Compiling StdMsgs std_msgs.swift
[116/230] Compiling StdMsgs stringMsg.swift
[117/230] Compiling StdMsgs timeMsg.swift
[118/230] Compiling StdMsgs charMsg.swift
[119/230] Compiling StdMsgs durationMsg.swift
[120/230] Compiling StdMsgs emptyMsg.swift
[121/230] Compiling StdMsgs float32Msg.swift
[122/230] Compiling StdMsgs float64Msg.swift
[123/230] Compiling StdMsgs int16Msg.swift
[124/230] Compiling StdMsgs int32Msg.swift
[125/230] Compiling StdMsgs int64Msg.swift
[126/230] Compiling StdMsgs UInt64MultiArrayMsg.swift
[127/230] Compiling StdMsgs UInt8MultiArrayMsg.swift
[128/230] Compiling StdMsgs boolMsg.swift
[129/230] Compiling StdMsgs byteMsg.swift
[133/230] Compiling StdMsgs uint16Msg.swift
[134/230] Compiling StdMsgs uint32Msg.swift
[135/230] Compiling StdMsgs uint64Msg.swift
[136/230] Compiling StdMsgs uint8Msg.swift
[137/230] Compiling NIOCore MulticastChannel.swift
[142/238] Compiling StdMsgs ByteMultiArrayMsg.swift
[143/238] Compiling StdMsgs ColorRGBAMsg.swift
[144/238] Compiling StdMsgs Float32MultiArrayMsg.swift
[145/238] Compiling StdMsgs Float64MultiArrayMsg.swift
[146/238] Compiling StdMsgs HeaderMsg.swift
[147/238] Compiling StdMsgs Int16MultiArrayMsg.swift
[148/238] Compiling StdMsgs Int32MultiArrayMsg.swift
[149/238] Compiling StdMsgs Int64MultiArrayMsg.swift
[150/238] Compiling StdMsgs Int8MultiArrayMsg.swift
[151/238] Compiling StdMsgs Message.swift
[152/238] Emitting module StdMsgs
[154/239] Compiling NIOCore NIOAny.swift
[155/239] Compiling NIOCore NIOCloseOnErrorHandler.swift
[156/239] Compiling NIOCore NIOCoreSendableMetatype.swift
[157/239] Compiling NIOCore NIOLoopBound.swift
[158/239] Compiling NIOCore NIOPooledRecvBufferAllocator.swift
[159/239] Compiling NIOCore NIOScheduledCallback.swift
[160/239] Compiling NIOCore NIOSendable.swift
[161/239] Compiling NIOCore RecvByteBufferAllocator.swift
[162/239] Compiling NIOCore EventLoopFuture+Deprecated.swift
[163/239] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[164/239] Compiling NIOCore EventLoopFuture.swift
[165/239] Compiling NIOCore FileDescriptor.swift
[166/239] Compiling NIOCore FileHandle.swift
[167/239] Compiling NIOCore FileRegion.swift
[168/239] Compiling NIOCore GlobalSingletons.swift
[169/239] Compiling NIOCore IO.swift
[170/239] Compiling NIOCore CircularBuffer.swift
[171/239] Compiling NIOCore Codec.swift
[172/239] Compiling NIOCore ConvenienceOptionSupport.swift
[173/239] Compiling NIOCore DeadChannel.swift
[174/239] Compiling NIOCore DispatchQueue+WithFuture.swift
[175/239] Compiling NIOCore EventLoop+Deprecated.swift
[176/239] Compiling NIOCore EventLoop+SerialExecutor.swift
[177/239] Compiling NIOCore EventLoop.swift
[178/239] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[179/238] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[180/238] Compiling NIOCore SocketAddresses.swift
[181/238] Compiling NIOCore SocketOptionProvider.swift
[182/238] Compiling NIOCore SystemCallHelpers.swift
[183/238] Compiling NIOCore TimeAmount+Duration.swift
[184/238] Compiling NIOCore TypeAssistedChannelHandler.swift
[185/238] Compiling NIOCore UniversalBootstrapSupport.swift
[186/238] Compiling NIOCore Utilities.swift
[187/408] Compiling msgs Vector3StampedMsg.swift
[188/408] Compiling msgs WrenchMsg.swift
[189/408] Compiling msgs WrenchStampedMsg.swift
[190/408] Compiling msgs geometry_msgs.swift
[191/408] Compiling msgs GetMapROISrv.swift
[192/408] Compiling msgs GetPointMapROISrv.swift
[193/408] Compiling msgs GetPointMapSrv.swift
[194/408] Compiling msgs OccupancyGridUpdateMsg.swift
[195/408] Compiling msgs PointCloud2UpdateMsg.swift
[196/408] Compiling msgs ProjectedMapInfoMsg.swift
[197/408] Compiling msgs ProjectedMapMsg.swift
[198/408] Compiling msgs SetMapProjectionsSrv.swift
[199/408] Compiling msgs map_msgs.swift
[200/408] Compiling msgs GetMapActionFeedbackMsg.swift
[201/408] Compiling msgs GetMapActionGoalMsg.swift
[202/408] Compiling msgs GetMapActionMsg.swift
[203/408] Compiling msgs GetMapActionResultMsg.swift
[204/408] Compiling msgs GetMapFeedbackMsg.swift
[205/408] Compiling msgs GetMapGoalMsg.swift
[206/408] Compiling msgs GetMapResultMsg.swift
[207/408] Compiling msgs GetMapSrv.swift
[208/408] Compiling msgs GetPlanSrv.swift
[209/408] Compiling msgs GridCellsMsg.swift
[210/408] Compiling msgs MapMetaDataMsg.swift
[211/432] Compiling msgs GoalIDMsg.swift
[212/432] Compiling msgs GoalStatusArrayMsg.swift
[213/432] Compiling msgs GoalStatusMsg.swift
[214/432] Compiling msgs actionlib_msgs.swift
[215/432] Compiling msgs GripperCommandMsg.swift
[216/432] Compiling msgs JointControllerStateMsg.swift
[217/432] Compiling msgs JointJogMsg.swift
[218/432] Compiling msgs JointToleranceMsg.swift
[219/432] Compiling msgs JointTrajectoryControllerStateMsg.swift
[220/432] Compiling msgs PidStateMsg.swift
[221/432] Compiling msgs QueryCalibrationStateSrv.swift
[222/432] Compiling msgs QueryTrajectoryStateSrv.swift
[223/432] Compiling msgs control_msgs.swift
[224/432] Compiling msgs AddDiagnosticsSrv.swift
[225/432] Compiling msgs DiagnosticArrayMsg.swift
[226/432] Compiling msgs DiagnosticStatusMsg.swift
[227/432] Compiling msgs KeyValueMsg.swift
[228/432] Compiling msgs SelfTestSrv.swift
[229/432] Compiling msgs diagnostic_msgs.swift
[230/432] Compiling msgs ApplyBodyWrenchSrv.swift
[231/432] Compiling msgs ApplyJointEffortSrv.swift
[232/432] Compiling msgs BodyRequestSrv.swift
[233/432] Compiling msgs ContactStateMsg.swift
[234/432] Compiling msgs ContactsStateMsg.swift
[235/432] Compiling msgs DeleteLightSrv.swift
[236/432] Compiling msgs JoyFeedbackMsg.swift
[237/432] Compiling msgs JoyMsg.swift
[238/432] Compiling msgs LaserEchoMsg.swift
[239/432] Compiling msgs LaserScanMsg.swift
[240/432] Compiling msgs MagneticFieldMsg.swift
[241/432] Compiling msgs MultiDOFJointStateMsg.swift
[242/432] Compiling msgs MultiEchoLaserScanMsg.swift
[243/432] Compiling msgs NavSatFixMsg.swift
[244/432] Compiling msgs NavSatStatusMsg.swift
[245/432] Compiling msgs PointCloud2Msg.swift
[246/432] Compiling msgs PointCloudMsg.swift
[247/432] Compiling msgs PointFieldMsg.swift
[248/432] Compiling msgs RangeMsg.swift
[249/432] Compiling msgs RegionOfInterestMsg.swift
[250/432] Compiling msgs RelativeHumidityMsg.swift
[251/432] Compiling msgs SetCameraInfoSrv.swift
[252/432] Compiling msgs TemperatureMsg.swift
[253/432] Compiling msgs TimeReferenceMsg.swift
[254/432] Compiling msgs sensor_msgs.swift
[255/432] Compiling msgs MeshMsg.swift
[256/432] Compiling msgs MeshTriangleMsg.swift
[257/432] Compiling msgs PlaneMsg.swift
[258/432] Compiling msgs SolidPrimitiveMsg.swift
[259/432] Compiling msgs shape_msgs.swift
[260/432] Compiling msgs AccelWithCovarianceMsg.swift
[261/432] Compiling msgs AccelWithCovarianceStampedMsg.swift
[262/432] Compiling msgs InertiaMsg.swift
[263/432] Compiling msgs InertiaStampedMsg.swift
[264/432] Compiling msgs Point32Msg.swift
[265/432] Compiling msgs PointMsg.swift
[266/432] Compiling msgs PointStampedMsg.swift
[267/432] Compiling msgs PolygonMsg.swift
[268/432] Compiling msgs PolygonStampedMsg.swift
[269/432] Compiling msgs Pose2DMsg.swift
[270/432] Compiling msgs PoseArrayMsg.swift
[271/432] Compiling msgs PoseMsg.swift
[272/432] Compiling msgs PoseStampedMsg.swift
[273/432] Compiling msgs PoseWithCovarianceMsg.swift
[274/432] Compiling msgs PoseWithCovarianceStampedMsg.swift
[275/432] Compiling msgs QuaternionMsg.swift
[276/432] Compiling msgs QuaternionStampedMsg.swift
[277/432] Compiling msgs TransformMsg.swift
[278/432] Compiling msgs TransformStampedMsg.swift
[279/432] Compiling msgs TwistMsg.swift
[280/432] Compiling msgs TwistStampedMsg.swift
[281/432] Compiling msgs TwistWithCovarianceMsg.swift
[282/432] Compiling msgs TwistWithCovarianceStampedMsg.swift
[283/432] Compiling msgs Vector3Msg.swift
[284/432] Compiling msgs OccupancyGridMsg.swift
[285/432] Compiling msgs OdometryMsg.swift
[286/432] Compiling msgs PathMsg.swift
[287/432] Compiling msgs SetMapSrv.swift
[288/432] Compiling msgs nav_msgs.swift
[289/432] Compiling msgs ModelCoefficientsMsg.swift
[290/432] Compiling msgs PointIndicesMsg.swift
[291/432] Compiling msgs PolygonMeshMsg.swift
[292/432] Compiling msgs VerticesMsg.swift
[293/432] Compiling msgs pcl_msgs.swift
[294/432] Compiling msgs ClockMsg.swift
[295/432] Compiling msgs LogMsg.swift
[296/432] Compiling msgs TopicStatisticsMsg.swift
[297/432] Compiling msgs rosgraph_msgs.swift
[298/432] Compiling msgs BatteryStateMsg.swift
[299/432] Compiling msgs CameraInfoMsg.swift
[300/432] Compiling msgs ChannelFloat32Msg.swift
[301/432] Compiling msgs CompressedImageMsg.swift
[302/432] Compiling msgs FluidPressureMsg.swift
[303/432] Compiling msgs IlluminanceMsg.swift
[304/432] Compiling msgs ImageMsg.swift
[305/432] Compiling msgs ImuMsg.swift
[306/432] Compiling msgs JointStateMsg.swift
[307/432] Compiling msgs JoyFeedbackArrayMsg.swift
[308/432] Compiling msgs SpawnModelSrv.swift
[309/432] Compiling msgs WorldStateMsg.swift
[310/432] Compiling msgs gazebo_msgs.swift
[311/432] Compiling msgs BoundingBoxMsg.swift
[312/432] Compiling msgs GeoKeyValueMsg.swift
[313/432] Compiling msgs GeoPathMsg.swift
[314/432] Compiling msgs GeoPointMsg.swift
[315/432] Compiling msgs GeoPointStampedMsg.swift
[316/432] Compiling msgs GeoPoseMsg.swift
[317/432] Compiling msgs GeoPoseStampedMsg.swift
[318/432] Compiling msgs GeographicMapChangesMsg.swift
[319/432] Compiling msgs GeographicMapMsg.swift
[320/432] Compiling msgs GetGeoPathSrv.swift
[321/432] Compiling msgs GetGeographicMapSrv.swift
[322/432] Compiling msgs GetRoutePlanSrv.swift
[323/432] Compiling msgs MapFeatureMsg.swift
[324/432] Compiling msgs RouteNetworkMsg.swift
[325/432] Compiling msgs RoutePathMsg.swift
[326/432] Compiling msgs RouteSegmentMsg.swift
[327/432] Compiling msgs UpdateGeographicMapSrv.swift
[328/432] Compiling msgs WayPointMsg.swift
[329/432] Compiling msgs geographic_msgs.swift
[330/432] Compiling msgs AccelMsg.swift
[331/432] Compiling msgs AccelStampedMsg.swift
[341/432] Emitting module msgs
[342/432] Compiling msgs DeleteModelSrv.swift
[343/432] Compiling msgs GetJointPropertiesSrv.swift
[344/432] Compiling msgs GetLightPropertiesSrv.swift
[345/432] Compiling msgs GetLinkPropertiesSrv.swift
[346/432] Compiling msgs GetLinkStateSrv.swift
[347/432] Compiling msgs GetModelPropertiesSrv.swift
[348/432] Compiling msgs GetModelStateSrv.swift
[349/432] Compiling msgs GetPhysicsPropertiesSrv.swift
[350/432] Compiling msgs GetWorldPropertiesSrv.swift
[351/432] Compiling msgs JointRequestSrv.swift
[352/432] Compiling msgs LinkStateMsg.swift
[353/432] Compiling msgs LinkStatesMsg.swift
[354/432] Compiling msgs ModelStateMsg.swift
[355/432] Compiling msgs ModelStatesMsg.swift
[356/432] Compiling msgs ODEJointPropertiesMsg.swift
[357/432] Compiling msgs ODEPhysicsMsg.swift
[358/432] Compiling msgs SetJointPropertiesSrv.swift
[359/432] Compiling msgs SetJointTrajectorySrv.swift
[360/432] Compiling msgs SetLightPropertiesSrv.swift
[361/432] Compiling msgs SetLinkPropertiesSrv.swift
[362/432] Compiling msgs SetLinkStateSrv.swift
[363/432] Compiling msgs SetModelConfigurationSrv.swift
[364/432] Compiling msgs SetModelStateSrv.swift
[365/432] Compiling msgs SetPhysicsPropertiesSrv.swift
[366/432] Compiling msgs EmptySrv.swift
[367/432] Compiling msgs SetBoolSrv.swift
[368/432] Compiling msgs TriggerSrv.swift
[369/432] Compiling msgs std_srvs.swift
[370/432] Compiling msgs DisparityImageMsg.swift
[371/432] Compiling msgs stereo_msgs.swift
[372/432] Compiling msgs JointTrajectoryMsg.swift
[373/432] Compiling msgs JointTrajectoryPointMsg.swift
[374/432] Compiling msgs MultiDOFJointTrajectoryMsg.swift
[375/432] Compiling msgs MultiDOFJointTrajectoryPointMsg.swift
[376/432] Compiling msgs trajectory_msgs.swift
[377/432] Compiling msgs UniqueIDMsg.swift
[378/432] Compiling msgs uuid_msgs.swift
[379/432] Compiling msgs ImageMarkerMsg.swift
[380/432] Compiling msgs InteractiveMarkerControlMsg.swift
[381/432] Compiling msgs InteractiveMarkerFeedbackMsg.swift
[382/432] Compiling msgs InteractiveMarkerInitMsg.swift
[383/432] Compiling msgs InteractiveMarkerMsg.swift
[384/432] Compiling msgs InteractiveMarkerPoseMsg.swift
[385/432] Compiling msgs InteractiveMarkerUpdateMsg.swift
[386/432] Compiling msgs MarkerArrayMsg.swift
[387/432] Compiling msgs MarkerMsg.swift
[388/432] Compiling msgs MenuEntryMsg.swift
[389/432] Compiling msgs visualization_msgs.swift
[400/433] Emitting module NIOCore
[411/448] Compiling msgbuilderLib names.swift
[412/448] Compiling msgbuilderLib shell.swift
[413/499] Compiling msgbuilderLib msgs.swift
[414/499] Compiling RosNetwork network.swift
[415/499] Compiling RosNetwork Version.swift
[416/499] Emitting module RosNetwork
[417/500] Compiling msgbuilderLib srvs.swift
[418/500] Compiling msgbuilderLib msg_loader.swift
[420/500] Emitting module NIOEmbedded
[421/499] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[422/499] Compiling NIOEmbedded AsyncTestingChannel.swift
[423/499] Compiling NIOEmbedded Embedded.swift
[425/500] Compiling NIOPosix Pool.swift
[426/500] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[427/500] Compiling NIOPosix PosixSingletons.swift
[428/500] Compiling NIOPosix RawSocketBootstrap.swift
[429/500] Compiling NIOPosix Resolver.swift
[430/500] Compiling NIOPosix Selectable.swift
[431/500] Compiling NIOPosix SelectableChannel.swift
[432/506] Compiling msgbuilderLib md5.swift
[433/506] Compiling NIOPosix BSDSocketAPICommon.swift
[434/506] Compiling NIOPosix BSDSocketAPIPosix.swift
[435/506] Emitting module msgbuilderLib
[436/506] Compiling msgbuilderLib md5Swift.swift
[438/506] Compiling NIOPosix IO.swift
[439/506] Compiling NIOPosix IntegerBitPacking.swift
[440/506] Compiling NIOPosix IntegerTypes.swift
[441/506] Compiling NIOPosix Linux.swift
[442/506] Compiling NIOPosix LinuxCPUSet.swift
[443/506] Compiling NIOPosix LinuxUring.swift
[444/506] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[444/506] Wrapping AST for msgbuilderLib for debugging
[446/508] Compiling NIOPosix ThreadWindows.swift
[447/508] Compiling NIOPosix UnsafeTransfer.swift
[448/508] Compiling NIOPosix Utilities.swift
[449/508] Compiling NIOPosix VsockAddress.swift
[450/508] Compiling NIOPosix VsockChannelEvents.swift
[451/508] Compiling NIOPosix Windows.swift
[452/508] Compiling msgbuilder main.swift
[453/508] Emitting module msgbuilder
[455/509] Emitting module NIOPosix
[456/509] Compiling NIOPosix NIOPosixSendableMetatype.swift
[457/509] Compiling NIOPosix NIOThreadPool.swift
[458/509] Compiling NIOPosix NonBlockingFileIO.swift
[459/509] Compiling NIOPosix PendingDatagramWritesManager.swift
[460/509] Compiling NIOPosix PendingWritesManager.swift
[461/509] Compiling NIOPosix PipeChannel.swift
[462/509] Compiling NIOPosix PipePair.swift
[462/509] Wrapping AST for msgbuilder for debugging
[463/509] Write Objects.LinkFileList
[467/509] Compiling NIOPosix BSDSocketAPIWindows.swift
[468/509] Compiling NIOPosix BaseSocket.swift
[469/509] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[470/509] Compiling NIOPosix BaseSocketChannel.swift
[471/509] Compiling NIOPosix BaseStreamSocketChannel.swift
[472/509] Compiling NIOPosix Bootstrap.swift
[473/509] Compiling NIOPosix ControlMessage.swift
[474/509] Compiling NIOPosix DatagramVectorReadManager.swift
[475/509] Compiling NIOPosix Errors+Any.swift
[476/509] Compiling NIOPosix FileDescriptor.swift
[477/509] Compiling NIOPosix GetaddrinfoResolver.swift
[478/509] Compiling NIOPosix HappyEyeballs.swift
[479/509] Compiling NIOPosix Socket.swift
[480/509] Compiling NIOPosix SocketChannel.swift
[481/509] Compiling NIOPosix SocketProtocols.swift
[482/509] Compiling NIOPosix StructuredConcurrencyHelpers.swift
[483/509] Compiling NIOPosix System.swift
[484/509] Compiling NIOPosix Thread.swift
[485/509] Compiling NIOPosix ThreadPosix.swift
[486/509] Compiling NIOPosix SelectableEventLoop.swift
[487/509] Compiling NIOPosix SelectorEpoll.swift
[488/509] Compiling NIOPosix SelectorGeneric.swift
[489/509] Compiling NIOPosix SelectorKqueue.swift
[490/509] Compiling NIOPosix SelectorUring.swift
[491/509] Compiling NIOPosix SelectorWSAPoll.swift
[492/509] Compiling NIOPosix ServerSocket.swift
[493/509] Linking msgbuilder
[495/511] Emitting module NIO
[496/511] Compiling NIO Exports.swift
[498/529] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[499/529] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[500/531] Emitting module rpcclient
[501/531] Compiling rpcclient nioMaster.swift
[502/532] Emitting module NIOHTTP1
[504/531] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[505/531] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[506/531] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[507/531] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[508/531] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[509/531] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[510/531] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[511/531] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[512/531] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[513/531] Compiling NIOHTTP1 HTTPTypes.swift
[514/531] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[515/531] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[516/531] Compiling NIOHTTP1 ByteCollectionUtils.swift
[517/531] Compiling NIOHTTP1 HTTPDecoder.swift
[518/531] Compiling NIOHTTP1 HTTPEncoder.swift
[520/558] Compiling rosmaster master.swift
[521/559] Compiling NIOExtras HTTP1ProxyConnectHandler.swift
[522/559] Compiling NIOExtras JSONRPCFraming+ContentLengthHeader.swift
[523/559] Compiling NIOExtras JSONRPCFraming.swift
[524/559] Compiling rosmaster HTTPServer.swift
[525/559] Compiling rosmaster MultiMap.swift
[526/559] Compiling NIOExtras FixedLengthFrameDecoder.swift
[527/561] Compiling NIOExtras NIOLengthFieldBitLength.swift
[528/561] Compiling NIOExtras NIORequestIdentifiable.swift
[529/561] Compiling NIOExtras MarkedCircularBuffer+PopFirstCheckMarked.swift
[530/561] Compiling NIOExtras NIOExtrasError.swift
[531/561] Compiling NIOExtras RequestResponseHandler.swift
[532/561] Compiling NIOExtras RequestResponseHandlers+State.swift
[533/561] Compiling rosmaster names.swift
[534/561] Emitting module NIOExtras
[535/561] Compiling rosmaster Registrations.swift
[536/561] Compiling rosmaster Radix.swift
[537/561] Compiling rosmaster ParameterServer.swift
[538/561] Compiling rosmaster TerminalStyle.swift
[539/561] Emitting module rosmaster
[542/561] Compiling rosmaster masterAPI.swift
[543/562] Compiling NIOExtras PCAPRingBuffer.swift
[544/562] Compiling NIOExtras QuiescingHelper.swift
[545/562] Compiling NIOExtras LengthFieldBasedFrameDecoder.swift
[546/562] Compiling NIOExtras LengthFieldPrepender.swift
[547/562] Compiling NIOExtras LineBasedFrameDecoder.swift
[548/562] Wrapping AST for rosmaster for debugging
[550/564] Compiling NIOExtras RequestResponseWithIDHandler.swift
[551/564] Compiling NIOExtras WritePCAPHandler.swift
[553/564] Compiling roscore main.swift
[554/564] Emitting module roscore
[555/620] Wrapping AST for roscore for debugging
[556/620] Write Objects.LinkFileList
[558/620] Compiling RosSwift Spinner.swift
[559/620] Compiling RosSwift SpinnerMonitor.swift
[560/620] Compiling RosSwift SteadyTimer.swift
[561/620] Compiling RosSwift SingleSubscriberPublisher.swift
[562/620] Compiling RosSwift SubscribeOptions.swift
[563/620] Compiling RosSwift Subscriber.swift
[564/620] Compiling RosSwift SubscriberCallbacks.swift
[565/620] Compiling RosSwift SubscriberLink.swift
[566/627] Emitting module RosSwift
[567/627] Compiling RosSwift MessageDeserializer.swift
[568/627] Compiling RosSwift MessageEvent.swift
[569/627] Compiling RosSwift NodeHandle.swift
[570/627] Compiling RosSwift Publication.swift
[571/627] Compiling RosSwift Publisher.swift
[572/627] Compiling RosSwift PublisherLink.swift
[573/627] Compiling RosSwift SerializedMessage.swift
[574/627] Compiling RosSwift Service+Extension.swift
[574/627] Linking roscore
[576/627] Compiling RosSwift names.swift
[577/627] Compiling RosSwift Connection.swift
[578/627] Compiling RosSwift ConnectionManager.swift
[579/627] Compiling RosSwift Master.swift
[580/627] Compiling RosSwift RosMasterBrowser.swift
[581/627] Compiling RosSwift TransportTCP.swift
[582/627] Compiling RosSwift XMLRPCManager.swift
[583/627] Compiling RosSwift AdvertiseOptions.swift
[584/627] Compiling RosSwift AdvertiseServiceOptions.swift
[585/627] Compiling RosSwift AsyncAwaitSupport.swift
[586/627] Compiling RosSwift CallBackQueue.swift
[587/627] Compiling RosSwift CallbackInterface.swift
[588/627] Compiling RosSwift Header.swift
[589/627] Compiling RosSwift IntraProcessPublisherLink.swift
[590/627] Compiling RosSwift IntraProcessSubscriberLink.swift
[591/627] Compiling RosSwift Service.swift
[592/627] Compiling RosSwift ServiceClient.swift
[593/627] Compiling RosSwift ServiceClientLink.swift
[594/627] Compiling RosSwift ServiceManager.swift
[595/627] Compiling RosSwift ServiceMessage.swift
[596/627] Compiling RosSwift ServicePublication.swift
[597/627] Compiling RosSwift ServiceServer.swift
[598/627] Compiling RosSwift ServiceServerLink.swift
[599/627] Compiling RosSwift TransportHints.swift
[600/627] Compiling RosSwift TransportPublisherLink.swift
[601/627] Compiling RosSwift TransportSubscriberLink.swift
[602/627] Compiling RosSwift WallTimer.swift
[603/627] Compiling RosSwift XmlRpcServerMethod.swift
[604/627] Compiling RosSwift filelog.swift
[605/627] Compiling RosSwift logger.swift
[606/627] Compiling RosSwift Subscription.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[607/627] Compiling RosSwift SubscriptionCallbackHelper.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[608/627] Compiling RosSwift SubscriptionQueue.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[609/627] Compiling RosSwift SynchronizedArray.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[610/627] Compiling RosSwift Timer.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[611/627] Compiling RosSwift TimerEvent.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[612/627] Compiling RosSwift TimerManager.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[613/627] Compiling RosSwift TopicManager.swift
/host/spi-builder-workspace/Sources/rosswift/TimerManager.swift:86:40: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 84 |             timers[handle] = info
 85 |             if !threadStarted {
 86 |                 thread = Thread(block: threadFunc)
    |                                        `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
 87 |                 thread?.start()
 88 |                 threadStarted = true
[614/627] Compiling RosSwift XMLRpcServer.swift
[615/627] Compiling RosSwift inboundConnection.swift
[616/627] Compiling RosSwift param.swift
[617/627] Compiling RosSwift rosconsole.swift
[618/627] Compiling RosSwift rosout_appender.swift
[619/627] Compiling RosSwift rosswift.swift
[620/627] Compiling RosSwift thisNode.swift
[621/628] Wrapping AST for RosSwift for debugging
[623/633] Compiling publisher main.swift
/host/spi-builder-workspace/Sources/publisher/main.swift:6:22: warning: setter for 'arguments' is deprecated: Do not modify CommandLine.arguments. It will become read-only in a future version of Swift.
  4 | // Initiate ros before using any other part of RosSwift
  5 |
  6 | let ros = Ros(argv: &CommandLine.arguments, name: "talker")
    |                      `- warning: setter for 'arguments' is deprecated: Do not modify CommandLine.arguments. It will become read-only in a future version of Swift.
  7 |
  8 | // createNode returns nil if the namespace passed is not a valid graph resource name
[624/633] Compiling listener main.swift
[625/633] Emitting module listener
[626/633] Compiling publisher AddTwoIntsSrv.swift
[627/633] Emitting module publisher
/host/spi-builder-workspace/Sources/publisher/main.swift:6:22: warning: setter for 'arguments' is deprecated: Do not modify CommandLine.arguments. It will become read-only in a future version of Swift.
  4 | // Initiate ros before using any other part of RosSwift
  5 |
  6 | let ros = Ros(argv: &CommandLine.arguments, name: "talker")
    |                      `- warning: setter for 'arguments' is deprecated: Do not modify CommandLine.arguments. It will become read-only in a future version of Swift.
  7 |
  8 | // createNode returns nil if the namespace passed is not a valid graph resource name
[629/635] Wrapping AST for publisher for debugging
[630/635] Write Objects.LinkFileList
[631/635] Wrapping AST for listener for debugging
[632/635] Write Objects.LinkFileList
[633/635] Linking publisher
[634/635] Linking listener
Build complete! (56.45s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.41.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "binarycoder",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/tgu/BinaryCoder.git"
    },
    {
      "identity" : "heliumlogger",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.9.200",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/HeliumLogger.git"
    },
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections.git"
    },
    {
      "identity" : "swift-nio-extras",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.13.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-extras.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-atomics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-atomics.git"
    }
  ],
  "manifest_display_name" : "RosSwift",
  "name" : "RosSwift",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "RosSwift",
      "targets" : [
        "RosSwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "msgs",
      "targets" : [
        "msgs"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "StdMsgs",
      "targets" : [
        "StdMsgs"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RosTime",
      "targets" : [
        "RosTime"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "publisher",
      "targets" : [
        "publisher"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "listener",
      "targets" : [
        "listener"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "msgbuilder",
      "targets" : [
        "msgbuilder"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "roscore",
      "targets" : [
        "roscore"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "rpcobject",
      "module_type" : "SwiftTarget",
      "name" : "rpcobject",
      "path" : "Sources/rpcobject",
      "product_memberships" : [
        "RosSwift",
        "publisher",
        "listener",
        "roscore"
      ],
      "sources" : [
        "XmlRpcUtil.swift",
        "XmlRpcValue.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "rpcclient",
      "module_type" : "SwiftTarget",
      "name" : "rpcclient",
      "path" : "Sources/rpcclient",
      "product_dependencies" : [
        "NIO",
        "Atomics",
        "Logging"
      ],
      "product_memberships" : [
        "roscore"
      ],
      "sources" : [
        "nioMaster.swift"
      ],
      "target_dependencies" : [
        "rpcobject"
      ],
      "type" : "library"
    },
    {
      "c99name" : "rosswiftTests",
      "module_type" : "SwiftTarget",
      "name" : "rosswiftTests",
      "path" : "Tests/rosswiftTests",
      "product_dependencies" : [
        "BinaryCoder",
        "Atomics"
      ],
      "sources" : [
        "CallbackQueueTests.swift",
        "DecoderTest.swift",
        "NameRemappingWithNamespace.swift",
        "SubscriptionQueueTests.swift",
        "TimerTest.swift",
        "XCTestManifests.swift",
        "XmlRpcValueTest.swift",
        "connectionTests.swift",
        "paramTests.swift",
        "rosswiftTests.swift",
        "serializationTests.swift",
        "serviceTests.swift"
      ],
      "target_dependencies" : [
        "RosSwift",
        "rpcobject",
        "rosmaster",
        "RosNetwork"
      ],
      "type" : "test"
    },
    {
      "c99name" : "rosmasterTests",
      "module_type" : "SwiftTarget",
      "name" : "rosmasterTests",
      "path" : "Tests/rosmasterTests",
      "sources" : [
        "XCTestManifests.swift",
        "rosmasterTests.swift"
      ],
      "target_dependencies" : [
        "roscore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "rosmaster",
      "module_type" : "SwiftTarget",
      "name" : "rosmaster",
      "path" : "Sources/rosmaster",
      "product_dependencies" : [
        "NIOHTTP1",
        "Logging"
      ],
      "product_memberships" : [
        "roscore"
      ],
      "sources" : [
        "HTTPServer.swift",
        "MultiMap.swift",
        "ParameterServer.swift",
        "Radix.swift",
        "Registrations.swift",
        "TerminalStyle.swift",
        "master.swift",
        "masterAPI.swift",
        "names.swift"
      ],
      "target_dependencies" : [
        "rpcclient"
      ],
      "type" : "library"
    },
    {
      "c99name" : "roscore",
      "module_type" : "SwiftTarget",
      "name" : "roscore",
      "path" : "Sources/roscore",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "roscore"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "rosmaster",
        "RosNetwork"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "publisher",
      "module_type" : "SwiftTarget",
      "name" : "publisher",
      "path" : "Sources/publisher",
      "product_memberships" : [
        "publisher"
      ],
      "sources" : [
        "custom_msgs/AddTwoIntsSrv.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "RosSwift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "msgs",
      "module_type" : "SwiftTarget",
      "name" : "msgs",
      "path" : "Sources/msgs",
      "product_memberships" : [
        "RosSwift",
        "msgs",
        "publisher",
        "listener",
        "msgbuilder"
      ],
      "sources" : [
        "actionlib_msgs/GoalIDMsg.swift",
        "actionlib_msgs/GoalStatusArrayMsg.swift",
        "actionlib_msgs/GoalStatusMsg.swift",
        "actionlib_msgs/actionlib_msgs.swift",
        "control_msgs/GripperCommandMsg.swift",
        "control_msgs/JointControllerStateMsg.swift",
        "control_msgs/JointJogMsg.swift",
        "control_msgs/JointToleranceMsg.swift",
        "control_msgs/JointTrajectoryControllerStateMsg.swift",
        "control_msgs/PidStateMsg.swift",
        "control_msgs/QueryCalibrationStateSrv.swift",
        "control_msgs/QueryTrajectoryStateSrv.swift",
        "control_msgs/control_msgs.swift",
        "diagnostic_msgs/AddDiagnosticsSrv.swift",
        "diagnostic_msgs/DiagnosticArrayMsg.swift",
        "diagnostic_msgs/DiagnosticStatusMsg.swift",
        "diagnostic_msgs/KeyValueMsg.swift",
        "diagnostic_msgs/SelfTestSrv.swift",
        "diagnostic_msgs/diagnostic_msgs.swift",
        "gazebo_msgs/ApplyBodyWrenchSrv.swift",
        "gazebo_msgs/ApplyJointEffortSrv.swift",
        "gazebo_msgs/BodyRequestSrv.swift",
        "gazebo_msgs/ContactStateMsg.swift",
        "gazebo_msgs/ContactsStateMsg.swift",
        "gazebo_msgs/DeleteLightSrv.swift",
        "gazebo_msgs/DeleteModelSrv.swift",
        "gazebo_msgs/GetJointPropertiesSrv.swift",
        "gazebo_msgs/GetLightPropertiesSrv.swift",
        "gazebo_msgs/GetLinkPropertiesSrv.swift",
        "gazebo_msgs/GetLinkStateSrv.swift",
        "gazebo_msgs/GetModelPropertiesSrv.swift",
        "gazebo_msgs/GetModelStateSrv.swift",
        "gazebo_msgs/GetPhysicsPropertiesSrv.swift",
        "gazebo_msgs/GetWorldPropertiesSrv.swift",
        "gazebo_msgs/JointRequestSrv.swift",
        "gazebo_msgs/LinkStateMsg.swift",
        "gazebo_msgs/LinkStatesMsg.swift",
        "gazebo_msgs/ModelStateMsg.swift",
        "gazebo_msgs/ModelStatesMsg.swift",
        "gazebo_msgs/ODEJointPropertiesMsg.swift",
        "gazebo_msgs/ODEPhysicsMsg.swift",
        "gazebo_msgs/SetJointPropertiesSrv.swift",
        "gazebo_msgs/SetJointTrajectorySrv.swift",
        "gazebo_msgs/SetLightPropertiesSrv.swift",
        "gazebo_msgs/SetLinkPropertiesSrv.swift",
        "gazebo_msgs/SetLinkStateSrv.swift",
        "gazebo_msgs/SetModelConfigurationSrv.swift",
        "gazebo_msgs/SetModelStateSrv.swift",
        "gazebo_msgs/SetPhysicsPropertiesSrv.swift",
        "gazebo_msgs/SpawnModelSrv.swift",
        "gazebo_msgs/WorldStateMsg.swift",
        "gazebo_msgs/gazebo_msgs.swift",
        "geographic_msgs/BoundingBoxMsg.swift",
        "geographic_msgs/GeoKeyValueMsg.swift",
        "geographic_msgs/GeoPathMsg.swift",
        "geographic_msgs/GeoPointMsg.swift",
        "geographic_msgs/GeoPointStampedMsg.swift",
        "geographic_msgs/GeoPoseMsg.swift",
        "geographic_msgs/GeoPoseStampedMsg.swift",
        "geographic_msgs/GeographicMapChangesMsg.swift",
        "geographic_msgs/GeographicMapMsg.swift",
        "geographic_msgs/GetGeoPathSrv.swift",
        "geographic_msgs/GetGeographicMapSrv.swift",
        "geographic_msgs/GetRoutePlanSrv.swift",
        "geographic_msgs/MapFeatureMsg.swift",
        "geographic_msgs/RouteNetworkMsg.swift",
        "geographic_msgs/RoutePathMsg.swift",
        "geographic_msgs/RouteSegmentMsg.swift",
        "geographic_msgs/UpdateGeographicMapSrv.swift",
        "geographic_msgs/WayPointMsg.swift",
        "geographic_msgs/geographic_msgs.swift",
        "geometry_msgs/AccelMsg.swift",
        "geometry_msgs/AccelStampedMsg.swift",
        "geometry_msgs/AccelWithCovarianceMsg.swift",
        "geometry_msgs/AccelWithCovarianceStampedMsg.swift",
        "geometry_msgs/InertiaMsg.swift",
        "geometry_msgs/InertiaStampedMsg.swift",
        "geometry_msgs/Point32Msg.swift",
        "geometry_msgs/PointMsg.swift",
        "geometry_msgs/PointStampedMsg.swift",
        "geometry_msgs/PolygonMsg.swift",
        "geometry_msgs/PolygonStampedMsg.swift",
        "geometry_msgs/Pose2DMsg.swift",
        "geometry_msgs/PoseArrayMsg.swift",
        "geometry_msgs/PoseMsg.swift",
        "geometry_msgs/PoseStampedMsg.swift",
        "geometry_msgs/PoseWithCovarianceMsg.swift",
        "geometry_msgs/PoseWithCovarianceStampedMsg.swift",
        "geometry_msgs/QuaternionMsg.swift",
        "geometry_msgs/QuaternionStampedMsg.swift",
        "geometry_msgs/TransformMsg.swift",
        "geometry_msgs/TransformStampedMsg.swift",
        "geometry_msgs/TwistMsg.swift",
        "geometry_msgs/TwistStampedMsg.swift",
        "geometry_msgs/TwistWithCovarianceMsg.swift",
        "geometry_msgs/TwistWithCovarianceStampedMsg.swift",
        "geometry_msgs/Vector3Msg.swift",
        "geometry_msgs/Vector3StampedMsg.swift",
        "geometry_msgs/WrenchMsg.swift",
        "geometry_msgs/WrenchStampedMsg.swift",
        "geometry_msgs/geometry_msgs.swift",
        "map_msgs/GetMapROISrv.swift",
        "map_msgs/GetPointMapROISrv.swift",
        "map_msgs/GetPointMapSrv.swift",
        "map_msgs/OccupancyGridUpdateMsg.swift",
        "map_msgs/PointCloud2UpdateMsg.swift",
        "map_msgs/ProjectedMapInfoMsg.swift",
        "map_msgs/ProjectedMapMsg.swift",
        "map_msgs/SetMapProjectionsSrv.swift",
        "map_msgs/map_msgs.swift",
        "nav_msgs/GetMapActionFeedbackMsg.swift",
        "nav_msgs/GetMapActionGoalMsg.swift",
        "nav_msgs/GetMapActionMsg.swift",
        "nav_msgs/GetMapActionResultMsg.swift",
        "nav_msgs/GetMapFeedbackMsg.swift",
        "nav_msgs/GetMapGoalMsg.swift",
        "nav_msgs/GetMapResultMsg.swift",
        "nav_msgs/GetMapSrv.swift",
        "nav_msgs/GetPlanSrv.swift",
        "nav_msgs/GridCellsMsg.swift",
        "nav_msgs/MapMetaDataMsg.swift",
        "nav_msgs/OccupancyGridMsg.swift",
        "nav_msgs/OdometryMsg.swift",
        "nav_msgs/PathMsg.swift",
        "nav_msgs/SetMapSrv.swift",
        "nav_msgs/nav_msgs.swift",
        "pcl_msgs/ModelCoefficientsMsg.swift",
        "pcl_msgs/PointIndicesMsg.swift",
        "pcl_msgs/PolygonMeshMsg.swift",
        "pcl_msgs/VerticesMsg.swift",
        "pcl_msgs/pcl_msgs.swift",
        "rosgraph_msgs/ClockMsg.swift",
        "rosgraph_msgs/LogMsg.swift",
        "rosgraph_msgs/TopicStatisticsMsg.swift",
        "rosgraph_msgs/rosgraph_msgs.swift",
        "sensor_msgs/BatteryStateMsg.swift",
        "sensor_msgs/CameraInfoMsg.swift",
        "sensor_msgs/ChannelFloat32Msg.swift",
        "sensor_msgs/CompressedImageMsg.swift",
        "sensor_msgs/FluidPressureMsg.swift",
        "sensor_msgs/IlluminanceMsg.swift",
        "sensor_msgs/ImageMsg.swift",
        "sensor_msgs/ImuMsg.swift",
        "sensor_msgs/JointStateMsg.swift",
        "sensor_msgs/JoyFeedbackArrayMsg.swift",
        "sensor_msgs/JoyFeedbackMsg.swift",
        "sensor_msgs/JoyMsg.swift",
        "sensor_msgs/LaserEchoMsg.swift",
        "sensor_msgs/LaserScanMsg.swift",
        "sensor_msgs/MagneticFieldMsg.swift",
        "sensor_msgs/MultiDOFJointStateMsg.swift",
        "sensor_msgs/MultiEchoLaserScanMsg.swift",
        "sensor_msgs/NavSatFixMsg.swift",
        "sensor_msgs/NavSatStatusMsg.swift",
        "sensor_msgs/PointCloud2Msg.swift",
        "sensor_msgs/PointCloudMsg.swift",
        "sensor_msgs/PointFieldMsg.swift",
        "sensor_msgs/RangeMsg.swift",
        "sensor_msgs/RegionOfInterestMsg.swift",
        "sensor_msgs/RelativeHumidityMsg.swift",
        "sensor_msgs/SetCameraInfoSrv.swift",
        "sensor_msgs/TemperatureMsg.swift",
        "sensor_msgs/TimeReferenceMsg.swift",
        "sensor_msgs/sensor_msgs.swift",
        "shape_msgs/MeshMsg.swift",
        "shape_msgs/MeshTriangleMsg.swift",
        "shape_msgs/PlaneMsg.swift",
        "shape_msgs/SolidPrimitiveMsg.swift",
        "shape_msgs/shape_msgs.swift",
        "std_srvs/EmptySrv.swift",
        "std_srvs/SetBoolSrv.swift",
        "std_srvs/TriggerSrv.swift",
        "std_srvs/std_srvs.swift",
        "stereo_msgs/DisparityImageMsg.swift",
        "stereo_msgs/stereo_msgs.swift",
        "trajectory_msgs/JointTrajectoryMsg.swift",
        "trajectory_msgs/JointTrajectoryPointMsg.swift",
        "trajectory_msgs/MultiDOFJointTrajectoryMsg.swift",
        "trajectory_msgs/MultiDOFJointTrajectoryPointMsg.swift",
        "trajectory_msgs/trajectory_msgs.swift",
        "uuid_msgs/UniqueIDMsg.swift",
        "uuid_msgs/uuid_msgs.swift",
        "visualization_msgs/ImageMarkerMsg.swift",
        "visualization_msgs/InteractiveMarkerControlMsg.swift",
        "visualization_msgs/InteractiveMarkerFeedbackMsg.swift",
        "visualization_msgs/InteractiveMarkerInitMsg.swift",
        "visualization_msgs/InteractiveMarkerMsg.swift",
        "visualization_msgs/InteractiveMarkerPoseMsg.swift",
        "visualization_msgs/InteractiveMarkerUpdateMsg.swift",
        "visualization_msgs/MarkerArrayMsg.swift",
        "visualization_msgs/MarkerMsg.swift",
        "visualization_msgs/MenuEntryMsg.swift",
        "visualization_msgs/visualization_msgs.swift"
      ],
      "target_dependencies" : [
        "StdMsgs",
        "RosTime"
      ],
      "type" : "library"
    },
    {
      "c99name" : "msgbuilderLib",
      "module_type" : "SwiftTarget",
      "name" : "msgbuilderLib",
      "path" : "Sources/msgbuilderLib",
      "product_memberships" : [
        "msgbuilder"
      ],
      "sources" : [
        "generateMessage.swift",
        "generateStdMsg.swift",
        "md5.swift",
        "md5Swift.swift",
        "msg_loader.swift",
        "msgs.swift",
        "names.swift",
        "shell.swift",
        "srvs.swift"
      ],
      "target_dependencies" : [
        "StdMsgs",
        "msgs"
      ],
      "type" : "library"
    },
    {
      "c99name" : "msgbuilder",
      "module_type" : "SwiftTarget",
      "name" : "msgbuilder",
      "path" : "Sources/msgbuilder",
      "product_memberships" : [
        "msgbuilder"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "StdMsgs",
        "msgbuilderLib"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "msgBuilderTests",
      "module_type" : "SwiftTarget",
      "name" : "msgBuilderTests",
      "path" : "Tests/msgBuilderTests",
      "sources" : [
        "XCTestManifests.swift",
        "genTest.swift"
      ],
      "target_dependencies" : [
        "msgbuilderLib"
      ],
      "type" : "test"
    },
    {
      "c99name" : "listener",
      "module_type" : "SwiftTarget",
      "name" : "listener",
      "path" : "Sources/listener",
      "product_memberships" : [
        "listener"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "RosSwift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "StdMsgs",
      "module_type" : "SwiftTarget",
      "name" : "StdMsgs",
      "path" : "Sources/StdMsgs",
      "product_memberships" : [
        "RosSwift",
        "msgs",
        "StdMsgs",
        "publisher",
        "listener",
        "msgbuilder"
      ],
      "sources" : [
        "ByteMultiArrayMsg.swift",
        "ColorRGBAMsg.swift",
        "Float32MultiArrayMsg.swift",
        "Float64MultiArrayMsg.swift",
        "HeaderMsg.swift",
        "Int16MultiArrayMsg.swift",
        "Int32MultiArrayMsg.swift",
        "Int64MultiArrayMsg.swift",
        "Int8MultiArrayMsg.swift",
        "Message.swift",
        "MultiArrayDimensionMsg.swift",
        "MultiArrayLayoutMsg.swift",
        "UInt16MultiArrayMsg.swift",
        "UInt32MultiArrayMsg.swift",
        "UInt64MultiArrayMsg.swift",
        "UInt8MultiArrayMsg.swift",
        "boolMsg.swift",
        "byteMsg.swift",
        "charMsg.swift",
        "durationMsg.swift",
        "emptyMsg.swift",
        "float32Msg.swift",
        "float64Msg.swift",
        "int16Msg.swift",
        "int32Msg.swift",
        "int64Msg.swift",
        "int8Msg.swift",
        "std_msgs.swift",
        "stringMsg.swift",
        "timeMsg.swift",
        "uint16Msg.swift",
        "uint32Msg.swift",
        "uint64Msg.swift",
        "uint8Msg.swift"
      ],
      "target_dependencies" : [
        "RosTime"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RosTime",
      "module_type" : "SwiftTarget",
      "name" : "RosTime",
      "path" : "Sources/RosTime",
      "product_dependencies" : [
        "BinaryCoder",
        "Atomics"
      ],
      "product_memberships" : [
        "RosSwift",
        "msgs",
        "StdMsgs",
        "RosTime",
        "publisher",
        "listener",
        "msgbuilder"
      ],
      "sources" : [
        "Duration.swift",
        "DurationBase.swift",
        "Rate.swift",
        "SteadyTime.swift",
        "Time.swift",
        "TimeBase.swift",
        "WallTime.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RosSwift",
      "module_type" : "SwiftTarget",
      "name" : "RosSwift",
      "path" : "Sources/rosswift",
      "product_dependencies" : [
        "BinaryCoder",
        "NIO",
        "NIOHTTP1",
        "NIOExtras",
        "HeliumLogger",
        "DequeModule"
      ],
      "product_memberships" : [
        "RosSwift",
        "publisher",
        "listener"
      ],
      "sources" : [
        "AdvertiseOptions.swift",
        "AdvertiseServiceOptions.swift",
        "AsyncAwaitSupport.swift",
        "CallBackQueue.swift",
        "CallbackInterface.swift",
        "Header.swift",
        "IntraProcessPublisherLink.swift",
        "IntraProcessSubscriberLink.swift",
        "MessageDeserializer.swift",
        "MessageEvent.swift",
        "NodeHandle.swift",
        "Publication.swift",
        "Publisher.swift",
        "PublisherLink.swift",
        "SerializedMessage.swift",
        "Service+Extension.swift",
        "Service/Service.swift",
        "Service/ServiceClient.swift",
        "Service/ServiceClientLink.swift",
        "Service/ServiceManager.swift",
        "Service/ServiceMessage.swift",
        "Service/ServicePublication.swift",
        "Service/ServiceServer.swift",
        "Service/ServiceServerLink.swift",
        "Spinner.swift",
        "SpinnerMonitor.swift",
        "SteadyTimer.swift",
        "Subscription/SingleSubscriberPublisher.swift",
        "Subscription/SubscribeOptions.swift",
        "Subscription/Subscriber.swift",
        "Subscription/SubscriberCallbacks.swift",
        "Subscription/SubscriberLink.swift",
        "Subscription/Subscription.swift",
        "Subscription/SubscriptionCallbackHelper.swift",
        "SubscriptionQueue.swift",
        "SynchronizedArray.swift",
        "Timer.swift",
        "TimerEvent.swift",
        "TimerManager.swift",
        "TopicManager.swift",
        "TransportHints.swift",
        "TransportPublisherLink.swift",
        "TransportSubscriberLink.swift",
        "WallTimer.swift",
        "XmlRpcServerMethod.swift",
        "filelog.swift",
        "logger.swift",
        "names.swift",
        "nio/Connection.swift",
        "nio/ConnectionManager.swift",
        "nio/Master.swift",
        "nio/RosMasterBrowser.swift",
        "nio/TransportTCP.swift",
        "nio/XMLRPCManager.swift",
        "nio/XMLRpcServer.swift",
        "nio/inboundConnection.swift",
        "param.swift",
        "rosconsole.swift",
        "rosout_appender.swift",
        "rosswift.swift",
        "thisNode.swift"
      ],
      "target_dependencies" : [
        "StdMsgs",
        "msgs",
        "RosTime",
        "RosNetwork",
        "rpcobject"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RosNetwork",
      "module_type" : "SwiftTarget",
      "name" : "RosNetwork",
      "path" : "Sources/RosNetwork",
      "product_dependencies" : [
        "Logging",
        "NIOCore"
      ],
      "product_memberships" : [
        "RosSwift",
        "publisher",
        "listener",
        "roscore"
      ],
      "sources" : [
        "Version.swift",
        "network.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:808cb2b2a6cec76654a3acbd283c6c2205bc60d2b29562c95b9f5147612f6d32
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.