Build Information
Successful build of SwiftUPnP, reference main (9ec953
), with Swift 6.0 for macOS (SPM) on 1 Jun 2025 21:44:02 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
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 9ec953f Add support for dc:creator in the DIDL type.
Cloned https://github.com/katoemba/SwiftUPnP.git
Revision (git rev-parse @):
9ec953f333d86ba7d0f3284946dd5cc43864a942
SUCCESS checkout https://github.com/katoemba/SwiftUPnP.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/katoemba/SwiftUPnP.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/11] Write sources
[2/11] Write UPnPCodeGenerator-entitlement.plist
[2/11] Write sources
[5/11] Write swift-version-5BDAB9E9C0126B9D.txt
[6/76] Compiling CocoaAsyncSocket GCDAsyncUdpSocket.m
[7/76] Compiling CocoaAsyncSocket GCDAsyncSocket.m
[9/76] Emitting module XMLCoder
[10/81] Compiling XMLCoder NullBox.swift
[11/81] Compiling XMLCoder SharedBox.swift
[12/83] Compiling XMLCoder XMLEncoderImplementation.swift
[13/83] Compiling XMLCoder XMLEncodingStorage.swift
[14/83] Compiling XMLCoder XMLKeyedEncodingContainer.swift
[15/83] Compiling XMLCoder XMLReferencingEncoder.swift
[16/83] Compiling XMLCoder XMLUnkeyedEncodingContainer.swift
[17/83] Compiling XMLCoder XMLDecoder.swift
[18/83] Compiling XMLCoder XMLDecoderImplementation.swift
[19/83] Compiling XMLCoder XMLDecodingStorage.swift
[20/83] Compiling XMLCoder XMLKeyedDecodingContainer.swift
[21/83] Compiling XMLCoder XMLUnkeyedDecodingContainer.swift
[22/83] Compiling XMLCoder DynamicNodeEncoding.swift
[23/83] Compiling XMLCoder EncodingErrorExtension.swift
[24/83] Compiling XMLCoder SingleValueEncodingContainer.swift
[25/83] Compiling XMLCoder XMLChoiceEncodingContainer.swift
[26/83] Compiling XMLCoder XMLEncoder.swift
[27/83] Compiling XMLCoder FloatBox.swift
[28/83] Compiling XMLCoder IntBox.swift
[29/83] Compiling XMLCoder Element.swift
[30/83] Compiling XMLCoder KeyedBox.swift
[31/83] Compiling XMLCoder UIntBox.swift
[32/83] Compiling XMLCoder URLBox.swift
[33/83] Compiling XMLCoder UnkeyedBox.swift
[34/83] Compiling XMLCoder ValueBox.swift
[38/83] Compiling Swifter String+SHA1.swift
[39/83] Compiling Swifter WebSockets.swift
[42/83] Compiling XMLCoder Box.swift
[43/83] Compiling XMLCoder ChoiceBox.swift
[47/83] Compiling XMLCoder Attribute.swift
[48/83] Compiling XMLCoder BoolBox.swift
[49/83] Emitting module Swifter
[50/83] Compiling XMLCoder DecimalBox.swift
[52/83] Compiling XMLCoder DoubleBox.swift
[56/83] Compiling XMLCoder DataBox.swift
[58/83] Compiling XMLCoder DateBox.swift
[64/83] Compiling XMLCoder ElementAndAttribute.swift
[65/83] Compiling XMLCoder ISO8601DateFormatter.swift
[66/83] Compiling XMLCoder KeyedStorage.swift
[67/83] Compiling XMLCoder Metatypes.swift
[68/83] Compiling XMLCoder String+Extensions.swift
[69/83] Compiling XMLCoder XMLChoiceCodingKey.swift
[70/83] Compiling XMLCoder XMLCoderElement.swift
[71/83] Compiling XMLCoder XMLDocumentType.swift
[72/83] Compiling XMLCoder XMLHeader.swift
[73/83] Compiling XMLCoder XMLKey.swift
[74/83] Compiling XMLCoder XMLStackParser.swift
[75/83] Compiling XMLCoder DecodingErrorExtension.swift
[76/83] Compiling XMLCoder DynamicNodeDecoding.swift
[77/83] Compiling XMLCoder SingleValueDecodingContainer.swift
[78/83] Compiling XMLCoder XMLChoiceDecodingContainer.swift
[81/119] Compiling UPnPCodeGenerator main.swift
[82/119] Compiling UPnPCodeGenerator ServiceDefinition.swift
[83/119] Compiling UPnPCodeGenerator SourceGenerator.swift
[84/119] Emitting module UPnPCodeGenerator
[84/119] Write Objects.LinkFileList
[85/119] Linking UPnPCodeGenerator
[86/119] Applying UPnPCodeGenerator
[88/119] Compiling SwiftUPnP XMLParserSupport.swift
[89/119] Compiling SwiftUPnP UPnPDevice.swift
[90/119] Compiling SwiftUPnP UPnPDeviceDefinition.swift
[91/122] Compiling SwiftUPnP UserAgentGenerator.swift
[92/122] Compiling SwiftUPnP IPHelper.swift
[93/122] Compiling SwiftUPnP Publisher+Stream.swift
[94/122] Compiling SwiftUPnP UPnPRegistry.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:262:31: warning: capture of 'self' with non-sendable type 'UPnPService?' in a `@Sendable` closure
30 | import os.log
31 |
32 | public class UPnPService: Equatable, Identifiable, Hashable {
| `- note: class 'UPnPService' does not conform to the 'Sendable' protocol
33 | public enum SubscriptionStatus {
34 | case unsubscribed
:
260 | Logger.swiftUPnP.debug("Will renew sid: \(subscriptionId) at: \(Date(timeIntervalSinceNow: Double(timeout - 10)))")
261 | DispatchQueue.main.asyncAfter(deadline: DispatchTime.now().advanced(by: .seconds(timeout - 10))) { [weak self] in
262 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'UPnPService?' in a `@Sendable` closure
263 | Task {
264 | await self.renewSubscriptionToEvents()
[95/122] Compiling SwiftUPnP UPnPService.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:262:31: warning: capture of 'self' with non-sendable type 'UPnPService?' in a `@Sendable` closure
30 | import os.log
31 |
32 | public class UPnPService: Equatable, Identifiable, Hashable {
| `- note: class 'UPnPService' does not conform to the 'Sendable' protocol
33 | public enum SubscriptionStatus {
34 | case unsubscribed
:
260 | Logger.swiftUPnP.debug("Will renew sid: \(subscriptionId) at: \(Date(timeIntervalSinceNow: Double(timeout - 10)))")
261 | DispatchQueue.main.asyncAfter(deadline: DispatchTime.now().advanced(by: .seconds(timeout - 10))) { [weak self] in
262 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'UPnPService?' in a `@Sendable` closure
263 | Task {
264 | await self.renewSubscriptionToEvents()
[96/122] Compiling SwiftUPnP UPnPServiceDefinition.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:262:31: warning: capture of 'self' with non-sendable type 'UPnPService?' in a `@Sendable` closure
30 | import os.log
31 |
32 | public class UPnPService: Equatable, Identifiable, Hashable {
| `- note: class 'UPnPService' does not conform to the 'Sendable' protocol
33 | public enum SubscriptionStatus {
34 | case unsubscribed
:
260 | Logger.swiftUPnP.debug("Will renew sid: \(subscriptionId) at: \(Date(timeIntervalSinceNow: Double(timeout - 10)))")
261 | DispatchQueue.main.asyncAfter(deadline: DispatchTime.now().advanced(by: .seconds(timeout - 10))) { [weak self] in
262 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'UPnPService?' in a `@Sendable` closure
263 | Task {
264 | await self.renewSubscriptionToEvents()
[97/122] Emitting module SwiftUPnP
/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117: warning: keyword 'repeat' does not need to be escaped in argument list
174 | var action: SoapAction
175 | }
176 | try await post(action: "SetRepeat", envelope: Envelope(body: Body(action: SoapAction(urn: Attribute(serviceType), `repeat`: `repeat`))), log: log)
| `- warning: keyword 'repeat' does not need to be escaped in argument list
177 | }
178 |
[98/122] Compiling SwiftUPnP AVTransport1Service.swift
[99/122] Compiling SwiftUPnP ConnectionManager1Service.swift
[100/122] Compiling SwiftUPnP ContentDirectory1Service+DIDL.swift
[101/122] Compiling SwiftUPnP ContentDirectory1Service.swift
[102/122] Compiling SwiftUPnP OpenHomeOAuth1Service.swift
[103/122] Compiling SwiftUPnP OpenHomePins1Service.swift
[104/122] Compiling SwiftUPnP OpenHomePlaylist1Service+DIDL.swift
[105/122] Compiling SwiftUPnP OpenHomePlaylist1Service.swift
[106/122] Compiling SwiftUPnP RenderingControl1Service.swift
[107/122] Compiling SwiftUPnP OpenHomeConfig1Service.swift
[108/122] Compiling SwiftUPnP OpenHomeCredentials1Service.swift
[109/122] Compiling SwiftUPnP OpenHomeInfo1Service.swift
[110/122] Compiling SwiftUPnP SSDPCocoaAsyncSocketDiscovery.swift
[111/122] Compiling SwiftUPnP SSDPDiscovery.swift
[112/122] Compiling SwiftUPnP SSDPNetworkDiscovery.swift
[113/122] Compiling SwiftUPnP OpenHomeReceiver1Service.swift
[114/122] Compiling SwiftUPnP OpenHomeSender1Service.swift
[115/122] Compiling SwiftUPnP OpenHomeTime1Service.swift
[116/122] Compiling SwiftUPnP OpenHomeTransport1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117: warning: keyword 'repeat' does not need to be escaped in argument list
174 | var action: SoapAction
175 | }
176 | try await post(action: "SetRepeat", envelope: Envelope(body: Body(action: SoapAction(urn: Attribute(serviceType), `repeat`: `repeat`))), log: log)
| `- warning: keyword 'repeat' does not need to be escaped in argument list
177 | }
178 |
[117/122] Compiling SwiftUPnP OpenHomeVolume1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117: warning: keyword 'repeat' does not need to be escaped in argument list
174 | var action: SoapAction
175 | }
176 | try await post(action: "SetRepeat", envelope: Envelope(body: Body(action: SoapAction(urn: Attribute(serviceType), `repeat`: `repeat`))), log: log)
| `- warning: keyword 'repeat' does not need to be escaped in argument list
177 | }
178 |
[118/122] Compiling SwiftUPnP OpenHomeVolume2Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117: warning: keyword 'repeat' does not need to be escaped in argument list
174 | var action: SoapAction
175 | }
176 | try await post(action: "SetRepeat", envelope: Envelope(body: Body(action: SoapAction(urn: Attribute(serviceType), `repeat`: `repeat`))), log: log)
| `- warning: keyword 'repeat' does not need to be escaped in argument list
177 | }
178 |
[119/122] Compiling SwiftUPnP OpenHomePlaylistManager1Service.swift
[120/122] Compiling SwiftUPnP OpenHomeProduct1Service.swift
[121/122] Compiling SwiftUPnP OpenHomeProduct2Service.swift
[122/122] Compiling SwiftUPnP OpenHomeRadio1Service.swift
Build complete! (27.55s)
Fetching https://github.com/httpswift/swifter.git
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter.git from cache (1.33s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git
[1/6425] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (1.32s)
Fetching https://github.com/CoreOffice/XMLCoder.git
Fetching https://github.com/WeTransfer/Mocker.git
[1/10011] Fetching xmlcoder
[2/11902] Fetching xmlcoder, mocker
Fetched https://github.com/WeTransfer/Mocker.git from cache (1.12s)
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (1.12s)
Computing version for https://github.com/WeTransfer/Mocker.git
Computed https://github.com/WeTransfer/Mocker.git at 3.0.2 (0.57s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.17.1 (0.57s)
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/httpswift/swifter.git
Working copy of https://github.com/httpswift/swifter.git resolved at stable (1e4f51c)
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.17.1
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" : "swifter",
"requirement" : {
"branch" : [
"stable"
]
},
"type" : "sourceControl",
"url" : "https://github.com/httpswift/swifter.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" : [
"SwiftUPnPTests.swift"
],
"target_dependencies" : [
"SwiftUPnP"
],
"type" : "test"
},
{
"c99name" : "SwiftUPnP",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnP",
"path" : "Source",
"product_dependencies" : [
"XMLCoder",
"Swifter",
"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/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.