The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftUPnP, reference v1.1.0 (ca29e2), with Swift 6.3 for macOS (SPM) on 21 Apr 2026 14:08:35 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.70.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
Fetching https://github.com/httpswift/swifter
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter from cache (1.57s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket
[1/6438] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket from cache (2.37s)
Fetching https://github.com/CoreOffice/XMLCoder.git
[1/10092] Fetching xmlcoder
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (1.28s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.15.0 (2.06s)
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket resolved at master (5ddba5e)
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/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.15.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "swiftupnp",
      "name": "SwiftUPnP",
      "url": "https://github.com/katoemba/SwiftUPnP.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftUPnP",
      "traits": [
        "default"
      ],
      "dependencies": [
        {
          "identity": "xmlcoder",
          "name": "XMLCoder",
          "url": "https://github.com/CoreOffice/XMLCoder.git",
          "version": "0.18.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/XMLCoder",
          "traits": [
            "default"
          ],
          "dependencies": [
          ]
        },
        {
          "identity": "swifter",
          "name": "Swifter",
          "url": "https://github.com/httpswift/swifter",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swifter",
          "traits": [
            "default"
          ],
          "dependencies": [
          ]
        },
        {
          "identity": "cocoaasyncsocket",
          "name": "CocoaAsyncSocket",
          "url": "https://github.com/robbiehanson/CocoaAsyncSocket",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CocoaAsyncSocket",
          "traits": [
            "default"
          ],
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/katoemba/SwiftUPnP.git
[1/616] Fetching swiftupnp
Fetched https://github.com/katoemba/SwiftUPnP.git from cache (0.87s)
Fetching https://github.com/httpswift/swifter from cache
Fetched https://github.com/httpswift/swifter from cache (0.51s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket from cache
Fetched https://github.com/robbiehanson/CocoaAsyncSocket from cache (0.70s)
Fetching https://github.com/CoreOffice/XMLCoder.git from cache
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (0.49s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.18.1 (1.18s)
Creating working copy for https://github.com/katoemba/SwiftUPnP.git
Working copy of https://github.com/katoemba/SwiftUPnP.git resolved at v1.1.0 (ca29e25)
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/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.18.1
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket resolved at master (5ddba5e)
Found 3 product dependencies
  - XMLCoder
  - Swifter
  - CocoaAsyncSocket
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/katoemba/SwiftUPnP.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/11] Write sources
[3/11] Write UPnPCodeGenerator-entitlement.plist
[5/11] Write swift-version--6988338F2F200930.txt
[6/76] Compiling CocoaAsyncSocket GCDAsyncUdpSocket.m
[7/76] Compiling CocoaAsyncSocket GCDAsyncSocket.m
[9/76] Compiling XMLCoder KeyedBox.swift
[10/76] Compiling XMLCoder NullBox.swift
[11/76] Compiling XMLCoder SharedBox.swift
[12/76] Compiling XMLCoder SingleKeyedBox.swift
[13/76] Compiling XMLCoder StringBox.swift
[14/81] Emitting module XMLCoder
[15/81] Compiling XMLCoder UIntBox.swift
[16/81] Compiling XMLCoder URLBox.swift
[17/81] Compiling XMLCoder UnkeyedBox.swift
[18/81] Compiling XMLCoder ValueBox.swift
[19/81] Compiling XMLCoder Element.swift
[20/81] Compiling XMLCoder ElementAndAttribute.swift
[21/81] Compiling XMLCoder ISO8601DateFormatter.swift
[22/81] Compiling XMLCoder KeyedStorage.swift
[23/81] Compiling XMLCoder Metatypes.swift
[24/81] Compiling XMLCoder String+Extensions.swift
[25/81] Compiling XMLCoder Attribute.swift
[26/81] Compiling XMLCoder BoolBox.swift
[27/81] Compiling XMLCoder Box.swift
[28/81] Compiling XMLCoder ChoiceBox.swift
[29/81] Compiling XMLCoder DataBox.swift
[30/81] Compiling XMLCoder DateBox.swift
[31/81] Compiling XMLCoder DecimalBox.swift
[32/81] Compiling XMLCoder DoubleBox.swift
[33/81] Compiling XMLCoder FloatBox.swift
[34/81] Compiling XMLCoder IntBox.swift
[41/83] Compiling XMLCoder DynamicNodeEncoding.swift
[42/83] Compiling XMLCoder EncodingErrorExtension.swift
[43/83] Compiling XMLCoder SingleValueEncodingContainer.swift
[44/83] Compiling XMLCoder XMLChoiceEncodingContainer.swift
[45/83] Compiling XMLCoder XMLEncoder.swift
[56/83] Emitting module Swifter
[59/83] Compiling XMLCoder XMLChoiceCodingKey.swift
[60/83] Compiling XMLCoder XMLCoderElement.swift
[61/83] Compiling XMLCoder XMLDocumentType.swift
[62/83] Compiling XMLCoder XMLHeader.swift
[63/83] Compiling XMLCoder XMLKey.swift
[64/83] Compiling XMLCoder XMLStackParser.swift
[65/83] Compiling XMLCoder DecodingErrorExtension.swift
[66/83] Compiling XMLCoder DynamicNodeDecoding.swift
[67/83] Compiling XMLCoder SingleValueDecodingContainer.swift
[68/83] Compiling XMLCoder XMLChoiceDecodingContainer.swift
[69/83] Compiling XMLCoder XMLDecoder.swift
[70/83] Compiling XMLCoder XMLDecoderImplementation.swift
[71/83] Compiling XMLCoder XMLDecodingStorage.swift
[72/83] Compiling XMLCoder XMLKeyedDecodingContainer.swift
[73/83] Compiling XMLCoder XMLUnkeyedDecodingContainer.swift
[74/83] Compiling XMLCoder XMLEncoderImplementation.swift
[75/83] Compiling XMLCoder XMLEncodingStorage.swift
[76/83] Compiling XMLCoder XMLKeyedEncodingContainer.swift
[77/83] Compiling XMLCoder XMLReferencingEncoder.swift
[78/83] Compiling XMLCoder XMLUnkeyedEncodingContainer.swift
[79/87] Compiling Swifter String+SHA1.swift
[80/87] Compiling Swifter WebSockets.swift
[81/117] Compiling UPnPCodeGenerator main.swift
[82/117] Compiling UPnPCodeGenerator SourceGenerator.swift
[83/117] Emitting module UPnPCodeGenerator
[84/117] Compiling UPnPCodeGenerator ServiceDefinition.swift
[84/117] Write Objects.LinkFileList
[85/117] Linking UPnPCodeGenerator
[86/117] Applying UPnPCodeGenerator
[88/117] Compiling SwiftUPnP XMLParserSupport.swift
[89/117] Compiling SwiftUPnP UPnPDevice.swift
[90/117] Compiling SwiftUPnP UPnPDeviceDefinition.swift
[91/120] Compiling SwiftUPnP OpenHomeVolume2Service.swift
[92/120] Compiling SwiftUPnP SSDPCocoaAsyncSocketDiscovery.swift
[93/120] Compiling SwiftUPnP SSDPDiscovery.swift
[94/120] Compiling SwiftUPnP UPnPRegistry.swift
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
261 |                     Task {
262 |                         await self.renewSubscriptionToEvents()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[95/120] Compiling SwiftUPnP UPnPService.swift
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
261 |                     Task {
262 |                         await self.renewSubscriptionToEvents()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[96/120] Compiling SwiftUPnP UPnPServiceDefinition.swift
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
261 |                     Task {
262 |                         await self.renewSubscriptionToEvents()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[97/120] Compiling SwiftUPnP OpenHomeRadio1Service.swift
[98/120] Compiling SwiftUPnP OpenHomeReceiver1Service.swift
[99/120] Compiling SwiftUPnP OpenHomeSender1Service.swift
[100/120] 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 |
[101/120] Compiling SwiftUPnP SSDPNetworkDiscovery.swift
[102/120] Compiling SwiftUPnP UserAgentGenerator.swift
[103/120] Compiling SwiftUPnP IPHelper.swift
[104/120] Compiling SwiftUPnP OpenHomePins1Service.swift
[105/120] Compiling SwiftUPnP OpenHomePlaylist1Service+DIDL.swift
[106/120] Compiling SwiftUPnP OpenHomePlaylist1Service.swift
[107/120] Compiling SwiftUPnP AVTransport1Service.swift
[108/120] Compiling SwiftUPnP ConnectionManager1Service.swift
[109/120] Compiling SwiftUPnP ContentDirectory1Service+DIDL.swift
[110/120] Compiling SwiftUPnP ContentDirectory1Service.swift
[111/120] Compiling SwiftUPnP RenderingControl1Service.swift
[112/120] Compiling SwiftUPnP OpenHomeConfig1Service.swift
[113/120] Compiling SwiftUPnP OpenHomeCredentials1Service.swift
[114/120] Compiling SwiftUPnP OpenHomeInfo1Service.swift
[115/120] Compiling SwiftUPnP OpenHomePlaylistManager1Service.swift
[116/120] Compiling SwiftUPnP OpenHomeProduct1Service.swift
[117/120] Compiling SwiftUPnP OpenHomeProduct2Service.swift
[118/120] Compiling SwiftUPnP OpenHomeTime1Service.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/120] 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 |
[120/120] 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 |
Build complete! (17.96s)
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.