Build Information
Successful build of SumoKit, reference main (ed63cf), with Swift 6.1 for macOS (SPM) on 8 May 2026 11:04:36 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/christofilojohn/sumoMacGUI.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/christofilojohn/sumoMacGUI
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ed63cf1 feat: Major UI improvements, arrows added
Cloned https://github.com/christofilojohn/sumoMacGUI.git
Revision (git rev-parse @):
ed63cf118519665d6bf5f77a9777821e9c1defc6
SUCCESS checkout https://github.com/christofilojohn/sumoMacGUI.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/christofilojohn/sumoMacGUI.git
https://github.com/christofilojohn/sumoMacGUI.git
{
"dependencies" : [
],
"manifest_display_name" : "SumoKit",
"name" : "SumoKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "SumoKit",
"targets" : [
"SumoKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SumoGUIMac",
"targets" : [
"SumoGUIMac"
],
"type" : {
"executable" : null
}
},
{
"name" : "NetParseBenchmark",
"targets" : [
"NetParseBenchmark"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "SumoKitTests",
"module_type" : "SwiftTarget",
"name" : "SumoKitTests",
"path" : "Tests/SumoKitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SumoKitTests/Fixtures",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"NetXMLParserTests.swift",
"TraCIIntegrationTests.swift",
"TraCIWireTests.swift"
],
"target_dependencies" : [
"SumoKit"
],
"type" : "test"
},
{
"c99name" : "SumoKit",
"module_type" : "SwiftTarget",
"name" : "SumoKit",
"path" : "Sources/SumoKit",
"product_memberships" : [
"SumoKit",
"SumoGUIMac",
"NetParseBenchmark"
],
"sources" : [
"Backend/Domains.swift",
"Backend/Subscriptions.swift",
"Backend/SumoBackend.swift",
"Backend/SumoLauncher.swift",
"Backend/TraCIClient.swift",
"Backend/TraCIConnection.swift",
"Backend/TraCIConstants.swift",
"Backend/TraCIValue.swift",
"Backend/TraCIWire.swift",
"Model/SimulationState.swift",
"Net/NetGraph.swift",
"Net/NetXMLParser.swift",
"Net/Quadtree.swift",
"SumoKit.swift"
],
"type" : "library"
},
{
"c99name" : "SumoGUIMacTests",
"module_type" : "SwiftTarget",
"name" : "SumoGUIMacTests",
"path" : "Tests/SumoGUIMacTests",
"sources" : [
"LaunchConfigurationTests.swift",
"NetworkRenderLODTests.swift",
"RunningSUMOSessionTests.swift",
"SimulationViewModelTests.swift",
"ViewportStateTests.swift"
],
"target_dependencies" : [
"SumoGUIMac",
"SumoKit"
],
"type" : "test"
},
{
"c99name" : "SumoGUIMac",
"module_type" : "SwiftTarget",
"name" : "SumoGUIMac",
"path" : "Sources/SumoGUIMac",
"product_memberships" : [
"SumoGUIMac"
],
"sources" : [
"App/LaunchConfiguration.swift",
"App/SumoGUIMacApp.swift",
"Render/NetworkView.swift",
"UI/MainWindow.swift",
"ViewModels/RunningSUMOSession.swift",
"ViewModels/SimulationViewModel.swift",
"ViewModels/ViewportState.swift",
"ViewModels/VisualizationSettings.swift"
],
"target_dependencies" : [
"SumoKit"
],
"type" : "executable"
},
{
"c99name" : "NetParseBenchmark",
"module_type" : "SwiftTarget",
"name" : "NetParseBenchmark",
"path" : "Sources/NetParseBenchmark",
"product_memberships" : [
"NetParseBenchmark"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SumoKit"
],
"type" : "executable"
}
],
"tools_version" : "5.10"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/12] Write sources
[0/12] Write SumoGUIMac-entitlement.plist
[0/12] Write sources
[3/12] Write NetParseBenchmark-entitlement.plist
[4/12] Write sources
[5/12] Write swift-version-2F0A5646E1D333AE.txt
[7/26] Compiling SumoKit Quadtree.swift
[8/27] Compiling SumoKit NetGraph.swift
[9/27] Compiling SumoKit SimulationState.swift
[10/27] Compiling SumoKit NetXMLParser.swift
[11/27] Compiling SumoKit TraCIWire.swift
[12/27] Compiling SumoKit TraCIConstants.swift
[13/27] Compiling SumoKit TraCIValue.swift
[14/27] Compiling SumoKit Domains.swift
[15/27] Compiling SumoKit Subscriptions.swift
[16/27] Compiling SumoKit TraCIClient.swift
[17/27] Compiling SumoKit TraCIConnection.swift
[18/27] Compiling SumoKit SumoBackend.swift
[19/27] Compiling SumoKit SumoLauncher.swift
[20/27] Emitting module SumoKit
[21/27] Compiling SumoKit SumoKit.swift
[22/38] Compiling NetParseBenchmark main.swift
[23/38] Emitting module NetParseBenchmark
[23/38] Write Objects.LinkFileList
[24/38] Linking NetParseBenchmark
[25/38] Applying NetParseBenchmark
[27/38] Compiling SumoGUIMac ViewportState.swift
[28/38] Compiling SumoGUIMac VisualizationSettings.swift
[29/38] Emitting module SumoGUIMac
[30/38] Compiling SumoGUIMac LaunchConfiguration.swift
[31/38] Compiling SumoGUIMac MainWindow.swift
[32/38] Compiling SumoGUIMac RunningSUMOSession.swift
[33/38] Compiling SumoGUIMac SumoGUIMacApp.swift
[34/38] Compiling SumoGUIMac SimulationViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1304:64: warning: non-sendable result type 'RunningSUMOSession' cannot be sent from nonisolated context in call to static method 'start(config:subscriptionAnchorID:vehicleUpdateMode:)'; this is an error in the Swift 6 language mode
1302 | if let configURL = resolved.configURL {
1303 | do {
1304 | let running = try await RunningSUMOSession.start(
| `- warning: non-sendable result type 'RunningSUMOSession' cannot be sent from nonisolated context in call to static method 'start(config:subscriptionAnchorID:vehicleUpdateMode:)'; this is an error in the Swift 6 language mode
1305 | config: configURL,
1306 | subscriptionAnchorID: parsed.junctions.first?.id,
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/RunningSUMOSession.swift:38:13: note: class 'RunningSUMOSession' does not conform to the 'Sendable' protocol
36 | }
37 |
38 | final class RunningSUMOSession {
| `- note: class 'RunningSUMOSession' does not conform to the 'Sendable' protocol
39 | private let handle: SumoLauncher.Handle?
40 | private let connection: TraCIConnection
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1366:60: warning: non-sendable result type 'RunningSUMOSession' cannot be sent from nonisolated context in call to static method 'attach(host:port:clientOrder:subscriptionAnchorID:vehicleUpdateMode:)'; this is an error in the Swift 6 language mode
1364 |
1365 | do {
1366 | let running = try await RunningSUMOSession.attach(
| `- warning: non-sendable result type 'RunningSUMOSession' cannot be sent from nonisolated context in call to static method 'attach(host:port:clientOrder:subscriptionAnchorID:vehicleUpdateMode:)'; this is an error in the Swift 6 language mode
1367 | host: host,
1368 | port: port,
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/RunningSUMOSession.swift:38:13: note: class 'RunningSUMOSession' does not conform to the 'Sendable' protocol
36 | }
37 |
38 | final class RunningSUMOSession {
| `- note: class 'RunningSUMOSession' does not conform to the 'Sendable' protocol
39 | private let handle: SumoLauncher.Handle?
40 | private let connection: TraCIConnection
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:230:16: warning: cannot access property 'session' with a non-sendable type 'RunningSUMOSession?' from nonisolated deinit; this is an error in the Swift 6 language mode
228 | viewportSubscriptionTask?.cancel()
229 | vehicleUpdateModeTask?.cancel()
230 | session?.terminateImmediately()
| `- warning: cannot access property 'session' with a non-sendable type 'RunningSUMOSession?' from nonisolated deinit; this is an error in the Swift 6 language mode
231 | }
232 |
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/RunningSUMOSession.swift:38:13: note: class 'RunningSUMOSession' does not conform to the 'Sendable' protocol
36 | }
37 |
38 | final class RunningSUMOSession {
| `- note: class 'RunningSUMOSession' does not conform to the 'Sendable' protocol
39 | private let handle: SumoLauncher.Handle?
40 | private let connection: TraCIConnection
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:2070:27: warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
2068 | resetPlaybackSpeed()
2069 | if let session {
2070 | await session.close()
| |- warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'session' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
2071 | }
2072 | session = nil
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1758:49: warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
1756 | guard laneIDs.isEmpty == false else { return }
1757 | do {
1758 | let occupancies = try await session.laneOccupancies(ids: laneIDs)
| |- warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'session' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
1759 | laneOccupancyByID.merge(occupancies) { _, new in new }
1760 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1691:47: warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
1689 | do {
1690 | let previousTime = liveState.simTime
1691 | let nextState = try await session.step()
| |- warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'session' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
1692 | liveState = nextState
1693 | await updateLaneOccupanciesIfNeeded(session: session)
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1748:27: warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
1746 | clearHoverRoutePreview()
1747 | resetPlaybackSpeed()
1748 | await session.disconnectAfterFailure()
| |- warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'session' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
1749 | }
1750 | }
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1419:24: warning: sending 'self.session.some' risks causing data races; this is an error in the Swift 6 language mode
1417 |
1418 | func terminateRunningSessionForTesting() async {
1419 | await session?.disconnectAfterFailure()
| |- warning: sending 'self.session.some' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self.session.some' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
1420 | }
1421 |
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1678:45: warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
1676 | }
1677 |
1678 | let route = (try? await session.routeEdges(forVehicle: id)) ?? []
| |- warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'session' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
1679 | guard !Task.isCancelled, self.hoveredVehicleID == id else { return }
1680 | let routeSet = Set(route)
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1786:35: warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
1784 | guard !Task.isCancelled, let self, let session = self.session else { return }
1785 | do {
1786 | try await session.updateVehicleViewport(anchorID: request.anchorJunctionID, range: request.range)
| |- warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'session' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
1787 | } catch {
1788 | self.runtimeMessage = "Viewport subscription failed: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/ViewModels/SimulationViewModel.swift:1889:35: warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
1887 | guard let self, let session = self.session else { return }
1888 | do {
1889 | try await session.selectVehicle(id)
| |- warning: sending 'session' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'session' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
1890 | } catch {
1891 | self.runtimeMessage = "Vehicle selection failed: \(error.localizedDescription)"
[35/38] Compiling SumoGUIMac NetworkView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:1542:33: warning: call to main actor-isolated instance method 'vehicleAnimationProgress()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
1540 | return
1541 | }
1542 | let progress = self.vehicleAnimationProgress()
| `- warning: call to main actor-isolated instance method 'vehicleAnimationProgress()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
1543 | self.updateVehicleBuffer(samples: self.interpolatedVehicleSamples(progress: progress))
1544 | if progress >= 1 {
:
1563 | }
1564 |
1565 | private func vehicleAnimationProgress() -> Float {
| |- note: calls to instance method 'vehicleAnimationProgress()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
1566 | guard vehicleAnimationDuration > 0 else { return 1 }
1567 | let elapsed = CACurrentMediaTime() - vehicleAnimationStartTime
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:1543:18: warning: call to main actor-isolated instance method 'updateVehicleBuffer(samples:scale:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
1541 | }
1542 | let progress = self.vehicleAnimationProgress()
1543 | self.updateVehicleBuffer(samples: self.interpolatedVehicleSamples(progress: progress))
| `- warning: call to main actor-isolated instance method 'updateVehicleBuffer(samples:scale:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
1544 | if progress >= 1 {
1545 | timer.invalidate()
:
1577 | }
1578 |
1579 | private func updateVehicleBuffer(samples: [VehicleRenderSample], scale: Float? = nil) {
| |- note: calls to instance method 'updateVehicleBuffer(samples:scale:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
1580 | let renderScale = scale ?? currentRenderScale()
1581 | lastVehicleLODScale = renderScale
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:1543:52: warning: call to main actor-isolated instance method 'interpolatedVehicleSamples(progress:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
1541 | }
1542 | let progress = self.vehicleAnimationProgress()
1543 | self.updateVehicleBuffer(samples: self.interpolatedVehicleSamples(progress: progress))
| `- warning: call to main actor-isolated instance method 'interpolatedVehicleSamples(progress:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
1544 | if progress >= 1 {
1545 | timer.invalidate()
:
1569 | }
1570 |
1571 | private func interpolatedVehicleSamples(progress: Float) -> [VehicleRenderSample] {
| |- note: calls to instance method 'interpolatedVehicleSamples(progress:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
1572 | let eased = progress * progress * (3 - 2 * progress)
1573 | return vehicleAnimationTarget.values.map { target in
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:1546:22: warning: main actor-isolated property 'vehicleAnimationTimer' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
216 | private var nativeRubberBandExtendsSelection = false
217 | private var lastReportedVisibleBounds: SIMD4<Float>?
218 | private var vehicleAnimationTimer: Timer?
| `- note: mutation of this property is only permitted within the actor
219 | private var vehicleAnimationStartTime: TimeInterval = 0
220 | private var vehicleAnimationDuration: TimeInterval = 0.14
:
1544 | if progress >= 1 {
1545 | timer.invalidate()
1546 | self.vehicleAnimationTimer = nil
| `- warning: main actor-isolated property 'vehicleAnimationTimer' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
1547 | self.vehicleAnimationSource = self.vehicleAnimationTarget
1548 | }
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:1547:22: warning: main actor-isolated property 'vehicleAnimationSource' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
219 | private var vehicleAnimationStartTime: TimeInterval = 0
220 | private var vehicleAnimationDuration: TimeInterval = 0.14
221 | private var vehicleAnimationSource: [String: VehicleRenderSample] = [:]
| `- note: mutation of this property is only permitted within the actor
222 | private var vehicleAnimationTarget: [String: VehicleRenderSample] = [:]
223 | private var magnifyEventMonitor: Any?
:
1545 | timer.invalidate()
1546 | self.vehicleAnimationTimer = nil
1547 | self.vehicleAnimationSource = self.vehicleAnimationTarget
| `- warning: main actor-isolated property 'vehicleAnimationSource' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
1548 | }
1549 | }
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:1547:52: warning: main actor-isolated property 'vehicleAnimationTarget' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
220 | private var vehicleAnimationDuration: TimeInterval = 0.14
221 | private var vehicleAnimationSource: [String: VehicleRenderSample] = [:]
222 | private var vehicleAnimationTarget: [String: VehicleRenderSample] = [:]
| `- note: property declared here
223 | private var magnifyEventMonitor: Any?
224 | private var preservesViewportForGraphReplacement = false
:
1545 | timer.invalidate()
1546 | self.vehicleAnimationTimer = nil
1547 | self.vehicleAnimationSource = self.vehicleAnimationTarget
| `- warning: main actor-isolated property 'vehicleAnimationTarget' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
1548 | }
1549 | }
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:466:30: warning: cannot access property 'vehicleAnimationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
464 |
465 | deinit {
466 | vehicleAnimationTimer?.invalidate()
| `- warning: cannot access property 'vehicleAnimationTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
467 | if let magnifyEventMonitor {
468 | NSEvent.removeMonitor(magnifyEventMonitor)
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SumoGUIMac/Render/NetworkView.swift:467:9: warning: cannot access property 'magnifyEventMonitor' with a non-sendable type 'Any?' from nonisolated deinit; this is an error in the Swift 6 language mode
465 | deinit {
466 | vehicleAnimationTimer?.invalidate()
467 | if let magnifyEventMonitor {
| `- warning: cannot access property 'magnifyEventMonitor' with a non-sendable type 'Any?' from nonisolated deinit; this is an error in the Swift 6 language mode
468 | NSEvent.removeMonitor(magnifyEventMonitor)
469 | }
[35/38] Write Objects.LinkFileList
[36/38] Linking SumoGUIMac
[37/38] Applying SumoGUIMac
Build complete! (12.85s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SumoKit",
"name" : "SumoKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "SumoKit",
"targets" : [
"SumoKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SumoGUIMac",
"targets" : [
"SumoGUIMac"
],
"type" : {
"executable" : null
}
},
{
"name" : "NetParseBenchmark",
"targets" : [
"NetParseBenchmark"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "SumoKitTests",
"module_type" : "SwiftTarget",
"name" : "SumoKitTests",
"path" : "Tests/SumoKitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SumoKitTests/Fixtures",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"NetXMLParserTests.swift",
"TraCIIntegrationTests.swift",
"TraCIWireTests.swift"
],
"target_dependencies" : [
"SumoKit"
],
"type" : "test"
},
{
"c99name" : "SumoKit",
"module_type" : "SwiftTarget",
"name" : "SumoKit",
"path" : "Sources/SumoKit",
"product_memberships" : [
"SumoKit",
"SumoGUIMac",
"NetParseBenchmark"
],
"sources" : [
"Backend/Domains.swift",
"Backend/Subscriptions.swift",
"Backend/SumoBackend.swift",
"Backend/SumoLauncher.swift",
"Backend/TraCIClient.swift",
"Backend/TraCIConnection.swift",
"Backend/TraCIConstants.swift",
"Backend/TraCIValue.swift",
"Backend/TraCIWire.swift",
"Model/SimulationState.swift",
"Net/NetGraph.swift",
"Net/NetXMLParser.swift",
"Net/Quadtree.swift",
"SumoKit.swift"
],
"type" : "library"
},
{
"c99name" : "SumoGUIMacTests",
"module_type" : "SwiftTarget",
"name" : "SumoGUIMacTests",
"path" : "Tests/SumoGUIMacTests",
"sources" : [
"LaunchConfigurationTests.swift",
"NetworkRenderLODTests.swift",
"RunningSUMOSessionTests.swift",
"SimulationViewModelTests.swift",
"ViewportStateTests.swift"
],
"target_dependencies" : [
"SumoGUIMac",
"SumoKit"
],
"type" : "test"
},
{
"c99name" : "SumoGUIMac",
"module_type" : "SwiftTarget",
"name" : "SumoGUIMac",
"path" : "Sources/SumoGUIMac",
"product_memberships" : [
"SumoGUIMac"
],
"sources" : [
"App/LaunchConfiguration.swift",
"App/SumoGUIMacApp.swift",
"Render/NetworkView.swift",
"UI/MainWindow.swift",
"ViewModels/RunningSUMOSession.swift",
"ViewModels/SimulationViewModel.swift",
"ViewModels/ViewportState.swift",
"ViewModels/VisualizationSettings.swift"
],
"target_dependencies" : [
"SumoKit"
],
"type" : "executable"
},
{
"c99name" : "NetParseBenchmark",
"module_type" : "SwiftTarget",
"name" : "NetParseBenchmark",
"path" : "Sources/NetParseBenchmark",
"product_memberships" : [
"NetParseBenchmark"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SumoKit"
],
"type" : "executable"
}
],
"tools_version" : "5.10"
}
Done.