Build Information
Successful build of SwiftUPnP, reference main (fcd298), with Swift 6.2 for macOS (SPM) on 18 Oct 2026 21:24:46 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/katoemba/SwiftUPnP.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/katoemba/SwiftUPnP
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at fcd298d Make SSDP discovery resilient to network changes and fix byebye handling.
Cloned https://github.com/katoemba/SwiftUPnP.git
Revision (git rev-parse @):
fcd298d753bfd9b59ffb45df684694edea2f23bd
SUCCESS checkout https://github.com/katoemba/SwiftUPnP.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/katoemba/SwiftUPnP.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
Building for debugging...
[0/10] Write sources
[0/10] Write UPnPCodeGenerator-entitlement.plist
[3/10] Write sources
[4/10] Write swift-version--3CB7CFEC50E0D141.txt
[5/57] Compiling CocoaAsyncSocket GCDAsyncSocket.m
[6/57] Compiling CocoaAsyncSocket GCDAsyncUdpSocket.m
[8/57] Emitting module XMLCoder
[9/62] Compiling XMLCoder Attribute.swift
[10/62] Compiling XMLCoder BoolBox.swift
[11/62] Compiling XMLCoder Box.swift
[12/62] Compiling XMLCoder ChoiceBox.swift
[13/62] Compiling XMLCoder DataBox.swift
[14/62] Compiling XMLCoder DateBox.swift
[15/62] Compiling XMLCoder URLBox.swift
[16/62] Compiling XMLCoder UnkeyedBox.swift
[17/62] Compiling XMLCoder ValueBox.swift
[18/62] Compiling XMLCoder Element.swift
[19/62] Compiling XMLCoder ElementAndAttribute.swift
[20/62] Compiling XMLCoder XMLEncoderImplementation.swift
[21/62] Compiling XMLCoder XMLEncodingStorage.swift
[22/62] Compiling XMLCoder XMLKeyedEncodingContainer.swift
[23/62] Compiling XMLCoder XMLReferencingEncoder.swift
[24/62] Compiling XMLCoder XMLUnkeyedEncodingContainer.swift
[25/62] Compiling XMLCoder XMLChoiceCodingKey.swift
[26/62] Compiling XMLCoder XMLCoderElement.swift
[27/62] Compiling XMLCoder XMLDocumentType.swift
[28/62] Compiling XMLCoder XMLHeader.swift
[29/62] Compiling XMLCoder XMLKey.swift
[30/62] Compiling XMLCoder ISO8601DateFormatter.swift
[31/62] Compiling XMLCoder KeyedStorage.swift
[32/62] Compiling XMLCoder Metatypes.swift
[33/62] Compiling XMLCoder String+Extensions.swift
[34/62] Compiling XMLCoder Utils.swift
[35/62] Compiling XMLCoder NullBox.swift
[36/62] Compiling XMLCoder SharedBox.swift
[37/62] Compiling XMLCoder SingleKeyedBox.swift
[38/62] Compiling XMLCoder StringBox.swift
[39/62] Compiling XMLCoder UIntBox.swift
[40/62] Compiling XMLCoder DynamicNodeEncoding.swift
[41/62] Compiling XMLCoder EncodingErrorExtension.swift
[42/62] Compiling XMLCoder SingleValueEncodingContainer.swift
[43/62] Compiling XMLCoder XMLChoiceEncodingContainer.swift
[44/62] Compiling XMLCoder XMLEncoder.swift
[45/62] Compiling XMLCoder XMLStackParser.swift
[46/62] Compiling XMLCoder DecodingErrorExtension.swift
[47/62] Compiling XMLCoder DynamicNodeDecoding.swift
[48/62] Compiling XMLCoder SingleValueDecodingContainer.swift
[49/62] Compiling XMLCoder XMLChoiceDecodingContainer.swift
[50/62] Compiling XMLCoder XMLDecoder.swift
[51/62] Compiling XMLCoder XMLDecoderImplementation.swift
[52/62] Compiling XMLCoder XMLDecodingStorage.swift
[53/62] Compiling XMLCoder XMLKeyedDecodingContainer.swift
[54/62] Compiling XMLCoder XMLUnkeyedDecodingContainer.swift
[55/62] Compiling XMLCoder DecimalBox.swift
[56/62] Compiling XMLCoder DoubleBox.swift
[57/62] Compiling XMLCoder FloatBox.swift
[58/62] Compiling XMLCoder IntBox.swift
[59/62] Compiling XMLCoder KeyedBox.swift
[60/99] Compiling UPnPCodeGenerator main.swift
[61/99] Compiling UPnPCodeGenerator SourceGenerator.swift
[62/99] Emitting module UPnPCodeGenerator
[63/99] Compiling UPnPCodeGenerator ServiceDefinition.swift
[63/99] Write Objects.LinkFileList
[64/99] Linking UPnPCodeGenerator
[65/99] Applying UPnPCodeGenerator
[67/99] Compiling SwiftUPnP XMLParserSupport.swift
[68/99] Compiling SwiftUPnP UPnPDevice.swift
[69/99] Compiling SwiftUPnP UPnPDeviceDefinition.swift
[70/102] Compiling SwiftUPnP UPnPRegistry.swift
[71/102] Compiling SwiftUPnP UPnPService.swift
[72/102] Compiling SwiftUPnP UPnPServiceDefinition.swift
[73/102] Compiling SwiftUPnP OpenHomeReceiver1Service.swift
[74/102] Compiling SwiftUPnP OpenHomeSender1Service.swift
[75/102] Compiling SwiftUPnP OpenHomeTime1Service.swift
[76/102] Compiling SwiftUPnP OpenHomeTransport1Service.swift
[77/102] Compiling SwiftUPnP AVTransport1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[78/102] Compiling SwiftUPnP ConnectionManager1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[79/102] Compiling SwiftUPnP ContentDirectory1Service+DIDL.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[80/102] Compiling SwiftUPnP ContentDirectory1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[81/102] Emitting module SwiftUPnP
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[82/102] Compiling SwiftUPnP SSDPDiscovery.swift
[83/102] Compiling SwiftUPnP SSDPNetworkDiscovery.swift
[84/102] Compiling SwiftUPnP UserAgentGenerator.swift
[85/102] Compiling SwiftUPnP OpenHomeOAuth1Service.swift
[86/102] Compiling SwiftUPnP OpenHomePins1Service.swift
[87/102] Compiling SwiftUPnP OpenHomePlaylist1Service+DIDL.swift
[88/102] Compiling SwiftUPnP OpenHomePlaylist1Service.swift
[89/102] Compiling SwiftUPnP HTTPServer.swift
[90/102] Compiling SwiftUPnP IPHelper.swift
[91/102] Compiling SwiftUPnP Publisher+Stream.swift
[92/102] Compiling SwiftUPnP RenderingControl1Service.swift
[93/102] Compiling SwiftUPnP OpenHomeConfig1Service.swift
[94/102] Compiling SwiftUPnP OpenHomeCredentials1Service.swift
[95/102] Compiling SwiftUPnP OpenHomeInfo1Service.swift
[96/102] Compiling SwiftUPnP OpenHomePlaylistManager1Service.swift
[97/102] Compiling SwiftUPnP OpenHomeProduct1Service.swift
[98/102] Compiling SwiftUPnP OpenHomeProduct2Service.swift
[99/102] Compiling SwiftUPnP OpenHomeRadio1Service.swift
[100/102] Compiling SwiftUPnP OpenHomeVolume1Service.swift
[101/102] Compiling SwiftUPnP OpenHomeVolume2Service.swift
[102/102] Compiling SwiftUPnP SSDPCocoaAsyncSocketDiscovery.swift
Build complete! (28.23s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git
[1/6440] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (2.02s)
Fetching https://github.com/WeTransfer/Mocker.git
Fetching https://github.com/CoreOffice/XMLCoder.git
[1/1906] Fetching mocker
[2/12035] Fetching mocker, xmlcoder
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (1.50s)
Fetched https://github.com/WeTransfer/Mocker.git from cache (1.50s)
Computing version for https://github.com/WeTransfer/Mocker.git
Computed https://github.com/WeTransfer/Mocker.git at 3.0.2 (2.18s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.18.2 (0.63s)
Creating working copy for https://github.com/WeTransfer/Mocker.git
Working copy of https://github.com/WeTransfer/Mocker.git resolved at 3.0.2
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.18.2
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket.git
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket.git resolved at master (5ddba5e)
Build complete.
{
"dependencies" : [
{
"identity" : "xmlcoder",
"requirement" : {
"range" : [
{
"lower_bound" : "0.13.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/CoreOffice/XMLCoder.git"
},
{
"identity" : "cocoaasyncsocket",
"requirement" : {
"branch" : [
"master"
]
},
"type" : "sourceControl",
"url" : "https://github.com/robbiehanson/CocoaAsyncSocket.git"
},
{
"identity" : "mocker",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/WeTransfer/Mocker.git"
}
],
"manifest_display_name" : "SwiftUPnP",
"name" : "SwiftUPnP",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "10.0"
}
],
"products" : [
{
"name" : "SwiftUPnP",
"targets" : [
"SwiftUPnP"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "UPnPCodeGenerator",
"targets" : [
"UPnPCodeGenerator"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "UPnPCodeGenerator",
"module_type" : "SwiftTarget",
"name" : "UPnPCodeGenerator",
"path" : "CodeGenerator",
"product_dependencies" : [
"XMLCoder"
],
"product_memberships" : [
"UPnPCodeGenerator"
],
"sources" : [
"ServiceDefinition.swift",
"SourceGenerator.swift",
"main.swift"
],
"type" : "executable"
},
{
"c99name" : "SwiftUPnPTests",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnPTests",
"path" : "Tests/SwiftUPnPTests",
"product_dependencies" : [
"Mocker"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/AVTransport1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ConnectionManager1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ContentDirectory1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/MediaServerDevice.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeConfig1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeCredentials1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeInfo1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeOAuth1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePins1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylist1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylistManager1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct2Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRadio1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeReceiver1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRendererDevice.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeSender1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTime1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTransport1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume2Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/RenderingControl1Service.xml",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"HTTPServerTests.swift",
"SSDPDiscoveryTests.swift",
"SwiftUPnPTests.swift",
"UPnPSubscriptionTests.swift"
],
"target_dependencies" : [
"SwiftUPnP"
],
"type" : "test"
},
{
"c99name" : "SwiftUPnP",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnP",
"path" : "Source",
"product_dependencies" : [
"XMLCoder",
"CocoaAsyncSocket"
],
"product_memberships" : [
"SwiftUPnP"
],
"sources" : [
"Profiles/AV Profile/AVTransport1Service.swift",
"Profiles/AV Profile/ConnectionManager1Service.swift",
"Profiles/AV Profile/ContentDirectory1Service+DIDL.swift",
"Profiles/AV Profile/ContentDirectory1Service.swift",
"Profiles/AV Profile/RenderingControl1Service.swift",
"Profiles/OpenHome Profile/OpenHomeConfig1Service.swift",
"Profiles/OpenHome Profile/OpenHomeCredentials1Service.swift",
"Profiles/OpenHome Profile/OpenHomeInfo1Service.swift",
"Profiles/OpenHome Profile/OpenHomeOAuth1Service.swift",
"Profiles/OpenHome Profile/OpenHomePins1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service+DIDL.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylistManager1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct2Service.swift",
"Profiles/OpenHome Profile/OpenHomeRadio1Service.swift",
"Profiles/OpenHome Profile/OpenHomeReceiver1Service.swift",
"Profiles/OpenHome Profile/OpenHomeSender1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTime1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTransport1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume2Service.swift",
"SSDP/SSDPCocoaAsyncSocketDiscovery.swift",
"SSDP/SSDPDiscovery.swift",
"SSDP/SSDPNetworkDiscovery.swift",
"SSDP/UserAgentGenerator.swift",
"Support/HTTPServer.swift",
"Support/IPHelper.swift",
"Support/Publisher+Stream.swift",
"Support/XMLParserSupport.swift",
"UPnP/UPnPDevice.swift",
"UPnP/UPnPDeviceDefinition.swift",
"UPnP/UPnPRegistry.swift",
"UPnP/UPnPService.swift",
"UPnP/UPnPServiceDefinition.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.