The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftUPnP, reference v1.1.0 (ca29e2), with Swift 6.4 for macOS (SPM) on 20 Sep 2026 00:11:13 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/katoemba/SwiftUPnP.git
Reference: v1.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/katoemba/SwiftUPnP
 * tag               v1.1.0     -> FETCH_HEAD
HEAD is now at ca29e25 Updated to swift tools version 5.9.
Cloned https://github.com/katoemba/SwiftUPnP.git
Revision (git rev-parse @):
ca29e25e0604c87009768d73a8e8490796054831
SUCCESS checkout https://github.com/katoemba/SwiftUPnP.git at v1.1.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/katoemba/SwiftUPnP.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Provisioning 2 / 10]
[Pre-planning 1 / 186]
[Planning deferred tasks]
[40 / 77]
[44 / 79] CocoaAsyncSocket
[51 / 111] Swifter
[61 / 166]
[66 / 166]
[73 / 166]
[77 / 166]
[78 / 166]
[82 / 166]
[88 / 166]
[91 / 166]
[96 / 166]
[102 / 166]
[105 / 166]
[106 / 166]
[108 / 166]
[110 / 166] CocoaAsyncSocket
[112 / 166]
[123 / 166] XMLCoder
[124 / 166] Swifter
[136 / 166] XMLCoder-product
[137 / 166] XMLCoder-product
[148 / 166] Swifter-product
[151 / 167] XMLCoder
[152 / 168] UPnPCodeGenerator-product
[156 / 172] Swifter
[157 / 172] UPnPCodeGenerator-product
[161 / 172] SwiftUPnP
[175 / 214]
[186 / 214]
[187 / 214]
[189 / 214]
[191 / 214]
[194 / 214]
[205 / 214] SwiftUPnP
[211 / 214] SwiftUPnP
[213 / 214] SwiftUPnP
Build complete! (14.61 sec)
Fetching https://github.com/httpswift/swifter
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter (1.85s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket
[1/6440] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket (1.57s)
Fetching https://github.com/CoreOffice/XMLCoder.git
[1/10129] Fetching xmlcoder
Fetched https://github.com/CoreOffice/XMLCoder.git (1.34s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.18.2 (2.02s)
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/httpswift/swifter
Working copy of https://github.com/httpswift/swifter resolved at stable (1e4f51c)
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket resolved at master (5ddba5e)
warning: /Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117 keyword 'repeat' does not need to be escaped in argument list: FixIt(sourceRange: XCBuild.SwiftBuildMessage.DiagnosticInfo.SourceRange(path: "/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift", startLine: 176, startColumn: 117, endLine: 176, endColumn: 118), textToInsert: ""), FixIt(sourceRange: XCBuild.SwiftBuildMessage.DiagnosticInfo.SourceRange(path: "/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift", startLine: 176, startColumn: 124, endLine: 176, endColumn: 125), textToInsert: "")
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:86:9: warning: unstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
 84 |
 85 |     public func startDiscovery() throws {
 86 |         Task {
    |         |- warning: unstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
    |         `- note: to silence this warning, handle the error inside the task, or store/discard the task value explicitly
 87 |             await startHTTPServerIfNotRunning()
 88 |             try discoveryEngine.startDiscovery(forTypes: types)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:260:31: warning: capture of 'self' with non-Sendable type 'UPnPService?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
 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
    :
258 |                 Logger.swiftUPnP.debug("Will renew sid: \(subscriptionId) at: \(Date(timeIntervalSinceNow: Double(timeout - 10)))")
259 |                 DispatchQueue.main.asyncAfter(deadline: DispatchTime.now().advanced(by: .seconds(timeout - 10))) { [weak self] in
260 |                     guard let self else { return }
    |                               `- warning: capture of 'self' with non-Sendable type 'UPnPService?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
261 |                     Task {
262 |                         await self.renewSubscriptionToEvents()
[#NoUseUnstructuredThrowingTask]: <https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/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 |
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:200: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
198 |
199 |     public let res: [DIDLRes]
200 |     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
201 |
202 |     public let `class`: String
    :
234 | }
235 |
236 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
    |               `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
237 |     enum CodingKeys: String, CodingKey {
238 |         case id
/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 |
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:200: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
198 |
199 |     public let res: [DIDLRes]
200 |     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
201 |
202 |     public let `class`: String
    :
234 | }
235 |
236 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
    |               `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
237 |     enum CodingKeys: String, CodingKey {
238 |         case id
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"
    },
    {
      "identity" : "cocoaasyncsocket",
      "requirement" : {
        "branch" : [
          "master"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/robbiehanson/CocoaAsyncSocket"
    }
  ],
  "manifest_display_name" : "SwiftUPnP",
  "name" : "SwiftUPnP",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "12.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" : "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/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/XMLParserSupport.swift",
        "UPnP/UPnPDevice.swift",
        "UPnP/UPnPDeviceDefinition.swift",
        "UPnP/UPnPRegistry.swift",
        "UPnP/UPnPService.swift",
        "UPnP/UPnPServiceDefinition.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.