The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of SwiftUPnP, reference main (9ec953), with Swift 6.1 for macOS (SPM) on 1 Jun 2025 21:44:48 UTC.

Swift 6 data race errors: 3

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 InferSendableFromCaptures

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
Fetching https://github.com/httpswift/swifter.git
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter.git from cache (1.51s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git
[1/6425] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (1.27s)
Fetching https://github.com/CoreOffice/XMLCoder.git
Fetching https://github.com/WeTransfer/Mocker.git
[1/1891] Fetching mocker
[228/11902] Fetching mocker, xmlcoder
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (1.12s)
Fetched https://github.com/WeTransfer/Mocker.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 (1.73s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.15.0 (0.62s)
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/robbiehanson/CocoaAsyncSocket.git
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket.git resolved at master (5ddba5e)
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",
  "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",
      "dependencies": [
        {
          "identity": "xmlcoder",
          "name": "XMLCoder",
          "url": "https://github.com/CoreOffice/XMLCoder.git",
          "version": "0.17.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/XMLCoder",
          "dependencies": [
          ]
        },
        {
          "identity": "swifter",
          "name": "Swifter",
          "url": "https://github.com/httpswift/swifter.git",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swifter",
          "dependencies": [
          ]
        },
        {
          "identity": "cocoaasyncsocket",
          "name": "CocoaAsyncSocket",
          "url": "https://github.com/robbiehanson/CocoaAsyncSocket.git",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CocoaAsyncSocket",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/katoemba/SwiftUPnP.git
[1/537] Fetching swiftupnp
Fetched https://github.com/katoemba/SwiftUPnP.git from cache (0.76s)
Fetching https://github.com/httpswift/swifter.git from cache
Fetched https://github.com/httpswift/swifter.git from cache (0.45s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git from cache
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (0.55s)
Fetching https://github.com/CoreOffice/XMLCoder.git from cache
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (0.42s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.17.1 (0.48s)
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket.git
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket.git resolved at master (5ddba5e)
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/katoemba/SwiftUPnP.git
Working copy of https://github.com/katoemba/SwiftUPnP.git resolved at main (9ec953f)
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.17.1
Found 3 product dependencies
  - XMLCoder
  - Swifter
  - CocoaAsyncSocket
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/katoemba/SwiftUPnP.git
https://github.com/katoemba/SwiftUPnP.git
{
  "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"
}
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/11] Write sources
[4/11] Write UPnPCodeGenerator-entitlement.plist
[5/11] Write swift-version-2F0A5646E1D333AE.txt
[6/76] Compiling CocoaAsyncSocket GCDAsyncUdpSocket.m
[7/76] Compiling CocoaAsyncSocket GCDAsyncSocket.m
[9/76] Compiling XMLCoder XMLStackParser.swift
[10/76] Compiling XMLCoder DecodingErrorExtension.swift
[11/76] Compiling XMLCoder DynamicNodeDecoding.swift
[12/76] Compiling XMLCoder SingleValueDecodingContainer.swift
[13/76] Compiling XMLCoder XMLChoiceDecodingContainer.swift
[14/81] Compiling XMLCoder UIntBox.swift
[15/81] Compiling XMLCoder URLBox.swift
[16/83] Emitting module XMLCoder
[17/83] Compiling XMLCoder Attribute.swift
[18/83] Compiling XMLCoder BoolBox.swift
[19/83] Compiling XMLCoder Box.swift
[20/83] Compiling XMLCoder ChoiceBox.swift
[21/83] Compiling XMLCoder DataBox.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 XMLDecoder.swift
[28/83] Compiling XMLCoder XMLDecoderImplementation.swift
[29/83] Compiling XMLCoder XMLDecodingStorage.swift
[30/83] Compiling XMLCoder XMLKeyedDecodingContainer.swift
[31/83] Compiling XMLCoder XMLUnkeyedDecodingContainer.swift
[32/83] Compiling XMLCoder ElementAndAttribute.swift
[33/83] Compiling XMLCoder ISO8601DateFormatter.swift
[34/83] Compiling XMLCoder KeyedStorage.swift
[35/83] Compiling XMLCoder Metatypes.swift
[36/83] Compiling XMLCoder String+Extensions.swift
[37/83] Compiling XMLCoder XMLChoiceCodingKey.swift
[38/83] Compiling XMLCoder XMLCoderElement.swift
[39/83] Compiling XMLCoder XMLDocumentType.swift
[40/83] Compiling XMLCoder XMLHeader.swift
[41/83] Compiling XMLCoder XMLKey.swift
[44/83] Compiling XMLCoder NullBox.swift
[45/83] Compiling XMLCoder SharedBox.swift
[46/83] Compiling XMLCoder KeyedBox.swift
[49/83] Compiling XMLCoder SingleKeyedBox.swift
[50/83] Compiling XMLCoder StringBox.swift
[53/83] Compiling XMLCoder UnkeyedBox.swift
[54/83] Compiling XMLCoder ValueBox.swift
[55/83] Compiling XMLCoder Element.swift
[58/83] Emitting module Swifter
[59/83] Compiling XMLCoder DateBox.swift
[60/83] Compiling XMLCoder DecimalBox.swift
[61/83] Compiling XMLCoder DoubleBox.swift
[62/83] Compiling Swifter String+SHA1.swift
[63/83] Compiling Swifter WebSockets.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
[81/119] Emitting module UPnPCodeGenerator
[82/119] Compiling UPnPCodeGenerator ServiceDefinition.swift
[83/119] Compiling UPnPCodeGenerator main.swift
[84/119] Compiling UPnPCodeGenerator SourceGenerator.swift
[84/119] Write Objects.LinkFileList
[85/119] Linking UPnPCodeGenerator
[86/119] Applying UPnPCodeGenerator
[88/119] Compiling SwiftUPnP XMLParserSupport.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 await add(service)
    |                       |- warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
    |                       |- note: sending main actor-isolated 'service' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
    |                       `- note: access can happen concurrently
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 await add(service)
    |                       |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                       |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
    |                       `- note: access can happen concurrently
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:87:25: warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
 85 |         let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
 86 |
 87 |         if await device.loadServices() {
    |                         |- warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending main actor-isolated 'device' to nonisolated instance method 'loadServices()' risks causing data races between nonisolated and main actor-isolated uses
 88 |             device.servicesLoaded = true
 89 |             return device
[89/119] Compiling SwiftUPnP UPnPDevice.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 await add(service)
    |                       |- warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
    |                       |- note: sending main actor-isolated 'service' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
    |                       `- note: access can happen concurrently
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 await add(service)
    |                       |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                       |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
    |                       `- note: access can happen concurrently
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:87:25: warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
 85 |         let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
 86 |
 87 |         if await device.loadServices() {
    |                         |- warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending main actor-isolated 'device' to nonisolated instance method 'loadServices()' risks causing data races between nonisolated and main actor-isolated uses
 88 |             device.servicesLoaded = true
 89 |             return device
[90/119] Compiling SwiftUPnP UPnPDeviceDefinition.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 await add(service)
    |                       |- warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
    |                       |- note: sending main actor-isolated 'service' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
    |                       `- note: access can happen concurrently
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 await add(service)
    |                       |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                       |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
    |                       `- note: access can happen concurrently
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:87:25: warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
 85 |         let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
 86 |
 87 |         if await device.loadServices() {
    |                         |- warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending main actor-isolated 'device' to nonisolated instance method 'loadServices()' risks causing data races between nonisolated and main actor-isolated uses
 88 |             device.servicesLoaded = true
 89 |             return device
[91/122] Compiling SwiftUPnP UPnPRegistry.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | import os.log
 31 |
 32 | public class UPnPRegistry {
    |              `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
 33 |     public static let shared = UPnPRegistry()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 47 |     }
 48 |
 49 |     public static var defaultSubscriptionTimeout = 120
    |                       |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     public let controlUrl: URL
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:101:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 99 |         }
100 |
101 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
102 |             await startHTTPServerIfNotRunning()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
104 |             discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:102:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 |
101 |         Task {
102 |             await startHTTPServerIfNotRunning()
    |                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startHTTPServerIfNotRunning()' risks causing data races between main actor-isolated and local nonisolated uses
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
    |                 `- note: access can happen concurrently
104 |             discoveryEngine.searchRequest()
105 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:109:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
107 |
108 |     public func stopDiscovery() {
109 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
110 |             await stopHTTPServer()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
111 |             await MainActor.run {
112 |                 devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:110:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 |     public func stopDiscovery() {
109 |         Task {
110 |             await stopHTTPServer()
    |                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'stopHTTPServer()' risks causing data races between main actor-isolated and local nonisolated uses
111 |             await MainActor.run {
    |                                 `- note: access can happen concurrently
112 |                 devices.removeAll(keepingCapacity: false)
113 |             }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:176:35: warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
174 |                     guard let service = typedService(device: device, serviceUrn: deviceService.serviceType) else { continue }
175 |
176 |                     await service.loadScdp()
    |                                   |- warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending main actor-isolated 'service' to nonisolated instance method 'loadScdp()' risks causing data races between nonisolated and main actor-isolated uses
177 |                     device.add(service)
178 |                 }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:249:24: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
247 |               (response as? HTTPURLResponse)?.statusCode ?? 0 <= 204 else {
248 |             Logger.swiftUPnP.error("\(type) failed, status = \((response as? HTTPURLResponse)?.statusCode ?? -1)")
249 |             await self.setSubcriptionStatus(.failed, subscriptionId: nil)
    |                        |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                        `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'setSubcriptionStatus(_:subscriptionId:)' risks causing data races between main actor-isolated and local nonisolated uses
250 |             await self.subscribeToEvents()
    |                        `- note: access can happen concurrently
251 |             return
252 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:262:31: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
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: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
263 |                     Task {
264 |                         await self.renewSubscriptionToEvents()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:213:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
211 |     public func subscribeToEvents() async {
212 |         guard let eventUrl = eventUrl, let eventCallbackUrl = eventCallbackUrl else { return }
213 |         guard await startSubcribing() else { return }
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startSubcribing()' risks causing data races between main actor-isolated and local nonisolated uses
214 |
215 |         var request = URLRequest(url: eventUrl)
    :
220 |         request.setValue("Second-\(Self.defaultSubscriptionTimeout)", forHTTPHeaderField: "TIMEOUT")
221 |
222 |         await subscribeOrRenew(request: request, type: "subscribed")
    |               `- note: access can happen concurrently
223 |     }
224 |
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:226:67: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
224 |
225 |     internal func renewSubscriptionToEvents() async {
226 |         guard let eventUrl = eventUrl, let subscriptionId = await startRenewing() else { return }
    |                                                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startRenewing()' risks causing data races between main actor-isolated and local nonisolated uses
227 |
228 |         var request = URLRequest(url: eventUrl)
    :
232 |         request.setValue("Second-\(Self.defaultSubscriptionTimeout)", forHTTPHeaderField: "TIMEOUT")
233 |
234 |         await subscribeOrRenew(request: request, type: "renewed")
    |               `- note: access can happen concurrently
235 |     }
236 |
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:275:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
273 |
274 |     public func unsubscribeFromEvents() async {
275 |         guard let eventUrl = eventUrl, await startUnubcribing() else { return }
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startUnubcribing()' risks causing data races between main actor-isolated and local nonisolated uses
276 |
277 |         var request = URLRequest(url: eventUrl)
278 |         request.httpMethod = "UNSUBSCRIBE"
279 |         request.setValue("text/xml", forHTTPHeaderField: "Content-Type")
280 |         request.setValue(subscriptionId, forHTTPHeaderField: "SID")
    |                          `- note: access can happen concurrently
281 |
282 |         guard let (_, response) = try? await URLSession.shared.data(for: request),
[92/122] Compiling SwiftUPnP UPnPService.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | import os.log
 31 |
 32 | public class UPnPRegistry {
    |              `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
 33 |     public static let shared = UPnPRegistry()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 47 |     }
 48 |
 49 |     public static var defaultSubscriptionTimeout = 120
    |                       |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     public let controlUrl: URL
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:101:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 99 |         }
100 |
101 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
102 |             await startHTTPServerIfNotRunning()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
104 |             discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:102:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 |
101 |         Task {
102 |             await startHTTPServerIfNotRunning()
    |                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startHTTPServerIfNotRunning()' risks causing data races between main actor-isolated and local nonisolated uses
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
    |                 `- note: access can happen concurrently
104 |             discoveryEngine.searchRequest()
105 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:109:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
107 |
108 |     public func stopDiscovery() {
109 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
110 |             await stopHTTPServer()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
111 |             await MainActor.run {
112 |                 devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:110:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 |     public func stopDiscovery() {
109 |         Task {
110 |             await stopHTTPServer()
    |                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'stopHTTPServer()' risks causing data races between main actor-isolated and local nonisolated uses
111 |             await MainActor.run {
    |                                 `- note: access can happen concurrently
112 |                 devices.removeAll(keepingCapacity: false)
113 |             }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:176:35: warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
174 |                     guard let service = typedService(device: device, serviceUrn: deviceService.serviceType) else { continue }
175 |
176 |                     await service.loadScdp()
    |                                   |- warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending main actor-isolated 'service' to nonisolated instance method 'loadScdp()' risks causing data races between nonisolated and main actor-isolated uses
177 |                     device.add(service)
178 |                 }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:249:24: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
247 |               (response as? HTTPURLResponse)?.statusCode ?? 0 <= 204 else {
248 |             Logger.swiftUPnP.error("\(type) failed, status = \((response as? HTTPURLResponse)?.statusCode ?? -1)")
249 |             await self.setSubcriptionStatus(.failed, subscriptionId: nil)
    |                        |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                        `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'setSubcriptionStatus(_:subscriptionId:)' risks causing data races between main actor-isolated and local nonisolated uses
250 |             await self.subscribeToEvents()
    |                        `- note: access can happen concurrently
251 |             return
252 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:262:31: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
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: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
263 |                     Task {
264 |                         await self.renewSubscriptionToEvents()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:213:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
211 |     public func subscribeToEvents() async {
212 |         guard let eventUrl = eventUrl, let eventCallbackUrl = eventCallbackUrl else { return }
213 |         guard await startSubcribing() else { return }
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startSubcribing()' risks causing data races between main actor-isolated and local nonisolated uses
214 |
215 |         var request = URLRequest(url: eventUrl)
    :
220 |         request.setValue("Second-\(Self.defaultSubscriptionTimeout)", forHTTPHeaderField: "TIMEOUT")
221 |
222 |         await subscribeOrRenew(request: request, type: "subscribed")
    |               `- note: access can happen concurrently
223 |     }
224 |
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:226:67: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
224 |
225 |     internal func renewSubscriptionToEvents() async {
226 |         guard let eventUrl = eventUrl, let subscriptionId = await startRenewing() else { return }
    |                                                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startRenewing()' risks causing data races between main actor-isolated and local nonisolated uses
227 |
228 |         var request = URLRequest(url: eventUrl)
    :
232 |         request.setValue("Second-\(Self.defaultSubscriptionTimeout)", forHTTPHeaderField: "TIMEOUT")
233 |
234 |         await subscribeOrRenew(request: request, type: "renewed")
    |               `- note: access can happen concurrently
235 |     }
236 |
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:275:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
273 |
274 |     public func unsubscribeFromEvents() async {
275 |         guard let eventUrl = eventUrl, await startUnubcribing() else { return }
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startUnubcribing()' risks causing data races between main actor-isolated and local nonisolated uses
276 |
277 |         var request = URLRequest(url: eventUrl)
278 |         request.httpMethod = "UNSUBSCRIBE"
279 |         request.setValue("text/xml", forHTTPHeaderField: "Content-Type")
280 |         request.setValue(subscriptionId, forHTTPHeaderField: "SID")
    |                          `- note: access can happen concurrently
281 |
282 |         guard let (_, response) = try? await URLSession.shared.data(for: request),
[93/122] Compiling SwiftUPnP UPnPServiceDefinition.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | import os.log
 31 |
 32 | public class UPnPRegistry {
    |              `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
 33 |     public static let shared = UPnPRegistry()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 47 |     }
 48 |
 49 |     public static var defaultSubscriptionTimeout = 120
    |                       |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     public let controlUrl: URL
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:101:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 99 |         }
100 |
101 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
102 |             await startHTTPServerIfNotRunning()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
104 |             discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:102:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 |
101 |         Task {
102 |             await startHTTPServerIfNotRunning()
    |                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startHTTPServerIfNotRunning()' risks causing data races between main actor-isolated and local nonisolated uses
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
    |                 `- note: access can happen concurrently
104 |             discoveryEngine.searchRequest()
105 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:109:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
107 |
108 |     public func stopDiscovery() {
109 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
110 |             await stopHTTPServer()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
111 |             await MainActor.run {
112 |                 devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:110:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 |     public func stopDiscovery() {
109 |         Task {
110 |             await stopHTTPServer()
    |                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'stopHTTPServer()' risks causing data races between main actor-isolated and local nonisolated uses
111 |             await MainActor.run {
    |                                 `- note: access can happen concurrently
112 |                 devices.removeAll(keepingCapacity: false)
113 |             }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:176:35: warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
174 |                     guard let service = typedService(device: device, serviceUrn: deviceService.serviceType) else { continue }
175 |
176 |                     await service.loadScdp()
    |                                   |- warning: sending 'service' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending main actor-isolated 'service' to nonisolated instance method 'loadScdp()' risks causing data races between nonisolated and main actor-isolated uses
177 |                     device.add(service)
178 |                 }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:249:24: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
247 |               (response as? HTTPURLResponse)?.statusCode ?? 0 <= 204 else {
248 |             Logger.swiftUPnP.error("\(type) failed, status = \((response as? HTTPURLResponse)?.statusCode ?? -1)")
249 |             await self.setSubcriptionStatus(.failed, subscriptionId: nil)
    |                        |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                        `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'setSubcriptionStatus(_:subscriptionId:)' risks causing data races between main actor-isolated and local nonisolated uses
250 |             await self.subscribeToEvents()
    |                        `- note: access can happen concurrently
251 |             return
252 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:262:31: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
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: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
263 |                     Task {
264 |                         await self.renewSubscriptionToEvents()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:213:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
211 |     public func subscribeToEvents() async {
212 |         guard let eventUrl = eventUrl, let eventCallbackUrl = eventCallbackUrl else { return }
213 |         guard await startSubcribing() else { return }
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startSubcribing()' risks causing data races between main actor-isolated and local nonisolated uses
214 |
215 |         var request = URLRequest(url: eventUrl)
    :
220 |         request.setValue("Second-\(Self.defaultSubscriptionTimeout)", forHTTPHeaderField: "TIMEOUT")
221 |
222 |         await subscribeOrRenew(request: request, type: "subscribed")
    |               `- note: access can happen concurrently
223 |     }
224 |
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:226:67: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
224 |
225 |     internal func renewSubscriptionToEvents() async {
226 |         guard let eventUrl = eventUrl, let subscriptionId = await startRenewing() else { return }
    |                                                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                   `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startRenewing()' risks causing data races between main actor-isolated and local nonisolated uses
227 |
228 |         var request = URLRequest(url: eventUrl)
    :
232 |         request.setValue("Second-\(Self.defaultSubscriptionTimeout)", forHTTPHeaderField: "TIMEOUT")
233 |
234 |         await subscribeOrRenew(request: request, type: "renewed")
    |               `- note: access can happen concurrently
235 |     }
236 |
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:275:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
273 |
274 |     public func unsubscribeFromEvents() async {
275 |         guard let eventUrl = eventUrl, await startUnubcribing() else { return }
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startUnubcribing()' risks causing data races between main actor-isolated and local nonisolated uses
276 |
277 |         var request = URLRequest(url: eventUrl)
278 |         request.httpMethod = "UNSUBSCRIBE"
279 |         request.setValue("text/xml", forHTTPHeaderField: "Content-Type")
280 |         request.setValue(subscriptionId, forHTTPHeaderField: "SID")
    |                          `- note: access can happen concurrently
281 |
282 |         guard let (_, response) = try? await URLSession.shared.data(for: request),
[94/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 |
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 |     private static var subsystem = Bundle.main.bundleIdentifier!
    |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 |     /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
 30 | import os.log
 31 |
 32 | public class UPnPRegistry {
    |              `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
 33 |     public static let shared = UPnPRegistry()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 47 |     }
 48 |
 49 |     public static var defaultSubscriptionTimeout = 120
    |                       |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     public let controlUrl: URL
[95/122] Compiling SwiftUPnP UserAgentGenerator.swift
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 |     private static var subsystem = Bundle.main.bundleIdentifier!
    |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 |     /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:40:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 |             }
39 |             continuation.onTermination = { continuation in
40 |                 cancellable.cancel()
   |                 `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 |             }
42 |         }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:29:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
27 |
28 | import Foundation
29 | import Combine
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
30 |
31 | internal extension Publisher where Failure == Never {
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:60:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
58 |             }
59 |             continuation.onTermination = { continuation in
60 |                 cancellable.cancel()
   |                 `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 |             }
62 |         }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:37:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
35 |                 continuation.finish()
36 |             } receiveValue: { value in
37 |                  continuation.yield(value)
   |                               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                               `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
38 |             }
39 |             continuation.onTermination = { continuation in
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:57:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
55 |                 }
56 |             } receiveValue: { value in
57 |                  continuation.yield(value)
   |                               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                               `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 |             }
59 |             continuation.onTermination = { continuation in
[96/122] Compiling SwiftUPnP IPHelper.swift
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 |     private static var subsystem = Bundle.main.bundleIdentifier!
    |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 |     /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:40:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 |             }
39 |             continuation.onTermination = { continuation in
40 |                 cancellable.cancel()
   |                 `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 |             }
42 |         }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:29:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
27 |
28 | import Foundation
29 | import Combine
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
30 |
31 | internal extension Publisher where Failure == Never {
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:60:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
58 |             }
59 |             continuation.onTermination = { continuation in
60 |                 cancellable.cancel()
   |                 `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 |             }
62 |         }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:37:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
35 |                 continuation.finish()
36 |             } receiveValue: { value in
37 |                  continuation.yield(value)
   |                               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                               `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
38 |             }
39 |             continuation.onTermination = { continuation in
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:57:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
55 |                 }
56 |             } receiveValue: { value in
57 |                  continuation.yield(value)
   |                               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                               `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 |             }
59 |             continuation.onTermination = { continuation in
[97/122] Compiling SwiftUPnP Publisher+Stream.swift
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 |     private static var subsystem = Bundle.main.bundleIdentifier!
    |                        |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 |     /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:40:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 |             }
39 |             continuation.onTermination = { continuation in
40 |                 cancellable.cancel()
   |                 `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 |             }
42 |         }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:29:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
27 |
28 | import Foundation
29 | import Combine
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
30 |
31 | internal extension Publisher where Failure == Never {
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:60:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
58 |             }
59 |             continuation.onTermination = { continuation in
60 |                 cancellable.cancel()
   |                 `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 |             }
62 |         }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
 2 | final public class AnyCancellable : Cancellable, Hashable {
   |                    `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
 3 |     public init(_ cancel: @escaping () -> Void)
 4 |     public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:37:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
35 |                 continuation.finish()
36 |             } receiveValue: { value in
37 |                  continuation.yield(value)
   |                               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                               `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
38 |             }
39 |             continuation.onTermination = { continuation in
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:57:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
55 |                 }
56 |             } receiveValue: { value in
57 |                  continuation.yield(value)
   |                               |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                               `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 |             }
59 |             continuation.onTermination = { continuation in
[98/122] Compiling SwiftUPnP OpenHomeReceiver1Service.swift
[99/122] Compiling SwiftUPnP OpenHomeSender1Service.swift
[100/122] Compiling SwiftUPnP OpenHomeTime1Service.swift
[101/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 |
[102/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 |
[103/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 |
[104/122] Compiling SwiftUPnP AVTransport1Service.swift
[105/122] Compiling SwiftUPnP ConnectionManager1Service.swift
[106/122] Compiling SwiftUPnP ContentDirectory1Service+DIDL.swift
[107/122] Compiling SwiftUPnP ContentDirectory1Service.swift
[108/122] Compiling SwiftUPnP OpenHomeOAuth1Service.swift
[109/122] Compiling SwiftUPnP OpenHomePins1Service.swift
[110/122] Compiling SwiftUPnP OpenHomePlaylist1Service+DIDL.swift
[111/122] Compiling SwiftUPnP OpenHomePlaylist1Service.swift
[112/122] Compiling SwiftUPnP RenderingControl1Service.swift
[113/122] Compiling SwiftUPnP OpenHomeConfig1Service.swift
[114/122] Compiling SwiftUPnP OpenHomeCredentials1Service.swift
[115/122] Compiling SwiftUPnP OpenHomeInfo1Service.swift
[116/122] Compiling SwiftUPnP SSDPCocoaAsyncSocketDiscovery.swift
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:50:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
   |       `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 |     private var multicastGroup: NWMulticastGroup?
34 |     private var connectionGroup: NWConnectionGroup?
   :
48 |                 Logger.swiftUPnP.error("\(error.localizedDescription)")
49 |             case .cancelled:
50 |                 self?.multicastGroup = nil
   |                 `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
51 |                 self?.connectionGroup = nil
52 |             default:
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:58:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
   |       `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 |     private var multicastGroup: NWMulticastGroup?
34 |     private var connectionGroup: NWConnectionGroup?
   :
56 |         connectionGroup.setReceiveHandler(maximumMessageSize: 65535, rejectOversizedMessages: true) { (message, content, isComplete) in
57 |             if let content = content {
58 |                 self.processData(content)
   |                 `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
59 |             }
60 |         }
[117/122] Compiling SwiftUPnP SSDPDiscovery.swift
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:50:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
   |       `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 |     private var multicastGroup: NWMulticastGroup?
34 |     private var connectionGroup: NWConnectionGroup?
   :
48 |                 Logger.swiftUPnP.error("\(error.localizedDescription)")
49 |             case .cancelled:
50 |                 self?.multicastGroup = nil
   |                 `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
51 |                 self?.connectionGroup = nil
52 |             default:
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:58:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
   |       `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 |     private var multicastGroup: NWMulticastGroup?
34 |     private var connectionGroup: NWConnectionGroup?
   :
56 |         connectionGroup.setReceiveHandler(maximumMessageSize: 65535, rejectOversizedMessages: true) { (message, content, isComplete) in
57 |             if let content = content {
58 |                 self.processData(content)
   |                 `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
59 |             }
60 |         }
[118/122] Compiling SwiftUPnP SSDPNetworkDiscovery.swift
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:50:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
   |       `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 |     private var multicastGroup: NWMulticastGroup?
34 |     private var connectionGroup: NWConnectionGroup?
   :
48 |                 Logger.swiftUPnP.error("\(error.localizedDescription)")
49 |             case .cancelled:
50 |                 self?.multicastGroup = nil
   |                 `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
51 |                 self?.connectionGroup = nil
52 |             default:
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:58:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
   |       `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 |     private var multicastGroup: NWMulticastGroup?
34 |     private var connectionGroup: NWConnectionGroup?
   :
56 |         connectionGroup.setReceiveHandler(maximumMessageSize: 65535, rejectOversizedMessages: true) { (message, content, isComplete) in
57 |             if let content = content {
58 |                 self.processData(content)
   |                 `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
59 |             }
60 |         }
[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! (17.76s)
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.