The Swift Package Index logo.Swift Package Index

Build Information

Successful build of TunnelMonitorKit, reference master (c15886), with Swift 6.2 for macOS (SPM) on 21 Jun 2025 11:37:58 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/flexjdev/TunnelMonitorKit.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/flexjdev/TunnelMonitorKit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at c15886a Merge pull request #9 from ChrisJanusiewicz/provider-mocking
Cloned https://github.com/flexjdev/TunnelMonitorKit.git
Revision (git rev-parse @):
c15886a6a045f0e4562475250c34c28ec5774fba
SUCCESS checkout https://github.com/flexjdev/TunnelMonitorKit.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/flexjdev/TunnelMonitorKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-1EA4D86E10B52AF.txt
[3/21] Compiling TunnelMonitorKit NEProviderStopReason+StringConvertible.swift
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift:11:1: warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEProviderStopReason: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance.
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:11:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEVPNStatus: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:28:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
26 | }
27 |
28 | extension NEVPNStatus: CaseIterable {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
29 |     public static var allCases: [NEVPNStatus] {
30 |         return [.invalid, .disconnected, .disconnecting, .connecting, .connected, .reasserting]
[4/21] Compiling TunnelMonitorKit NEVPNStatus+Util.swift
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift:11:1: warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEProviderStopReason: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance.
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:11:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEVPNStatus: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:28:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
26 | }
27 |
28 | extension NEVPNStatus: CaseIterable {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
29 |     public static var allCases: [NEVPNStatus] {
30 |         return [.invalid, .disconnected, .disconnecting, .connecting, .connected, .reasserting]
[5/22] Compiling TunnelMonitorKit TunnelMonitorKit.swift
[6/22] Compiling TunnelMonitorKit NEIPv4Route+Util.swift
[7/22] Compiling TunnelMonitorKit MessageContainer.swift
[8/22] Compiling TunnelMonitorKit MessageRouter.swift
[9/22] Compiling TunnelMonitorKit TMCommunicationError.swift
[10/22] Compiling TunnelMonitorKit TunnelMonitor.swift
[11/22] Compiling TunnelMonitorKit PacketTunnelConfiguration.swift
[12/22] Compiling TunnelMonitorKit TunnelConfigurationError.swift
[13/22] Compiling TunnelMonitorKit TMPacketTunnelProviderNative.swift
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:55:22: warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 53 |                     return
 54 |                 }
 55 |                 self.provider.configureTunnel(
    |                      `- warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 56 |                     userConfigurationData: userConfigData,
 57 |                     settingsApplicationBlock: self.setTunnelNetworkSettings
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:34:18: warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 32 |     }
 33 |
 34 |     private func configureProvider(completionHandler: @escaping (TMTunnelConfigurationError?) -> Void) {
    |                  `- warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 35 |         guard let config = configuration else {
 36 |             completionHandler(.missingConfiguration)
[14/22] Compiling TunnelMonitorKit TMTunnelProviderManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:55:22: warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 53 |                     return
 54 |                 }
 55 |                 self.provider.configureTunnel(
    |                      `- warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 56 |                     userConfigurationData: userConfigData,
 57 |                     settingsApplicationBlock: self.setTunnelNetworkSettings
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:34:18: warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 32 |     }
 33 |
 34 |     private func configureProvider(completionHandler: @escaping (TMTunnelConfigurationError?) -> Void) {
    |                  `- warning: capture of non-sendable type 'TunnelProvider.Type' in an isolated closure
 35 |         guard let config = configuration else {
 36 |             completionHandler(.missingConfiguration)
[15/22] Compiling TunnelMonitorKit TMNativeTunnelProviderManager.swift
[16/22] Compiling TunnelMonitorKit TMPacketTunnelProvider.swift
[17/22] Emitting module TunnelMonitorKit
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift:11:1: warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEProviderStopReason: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance.
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:11:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEVPNStatus: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:28:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
26 | }
27 |
28 | extension NEVPNStatus: CaseIterable {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
29 |     public static var allCases: [NEVPNStatus] {
30 |         return [.invalid, .disconnected, .disconnecting, .connecting, .connected, .reasserting]
[18/22] Compiling TunnelMonitorKit TMTunnelProviderManagerFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:42:9: warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 40 |         tunnelSettings: TMTunnelSettings,
 41 |         networkSettings: TMNetworkSettings,
 42 |         userConfiguration: UserConfiguration,
    |         `- warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 43 |         completionHandler: @escaping (TMNativeTunnelProviderManager?) -> Void
 44 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:70:61: warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 68 |                 do {
 69 |                     let networkSettingsData = try encoder.encode(networkSettings)
 70 |                     let userConfigurationData = try encoder.encode(userConfiguration)
    |                                                             `- warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 71 |                     let config: [String: Any] = [
 72 |                         TMTunnelConfigurationKey.networkSettings.rawValue: networkSettingsData as Any,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:42:9: warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 40 |         tunnelSettings: TMTunnelSettings,
 41 |         networkSettings: TMNetworkSettings,
 42 |         userConfiguration: UserConfiguration,
    |         `- warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 43 |         completionHandler: @escaping (TMNativeTunnelProviderManager?) -> Void
 44 |     ) {
[19/22] Compiling TunnelMonitorKit TMTunnelProviderSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:42:9: warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 40 |         tunnelSettings: TMTunnelSettings,
 41 |         networkSettings: TMNetworkSettings,
 42 |         userConfiguration: UserConfiguration,
    |         `- warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 43 |         completionHandler: @escaping (TMNativeTunnelProviderManager?) -> Void
 44 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:70:61: warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 68 |                 do {
 69 |                     let networkSettingsData = try encoder.encode(networkSettings)
 70 |                     let userConfigurationData = try encoder.encode(userConfiguration)
    |                                                             `- warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 71 |                     let config: [String: Any] = [
 72 |                         TMTunnelConfigurationKey.networkSettings.rawValue: networkSettingsData as Any,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:42:9: warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 40 |         tunnelSettings: TMTunnelSettings,
 41 |         networkSettings: TMNetworkSettings,
 42 |         userConfiguration: UserConfiguration,
    |         `- warning: capture of non-sendable type 'UserConfiguration.Type' in an isolated closure
 43 |         completionHandler: @escaping (TMNativeTunnelProviderManager?) -> Void
 44 |     ) {
[20/22] Compiling TunnelMonitorKit TMLogger.swift
[21/22] Compiling TunnelMonitorKit TMOSLogger.swift
[22/22] Compiling TunnelMonitorKit NSTextCheckingResult+Util.swift
Build complete! (4.25s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "TunnelMonitorKit",
  "name" : "TunnelMonitorKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "11.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "TunnelMonitorKit",
      "targets" : [
        "TunnelMonitorKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TunnelMonitorKitTests",
      "module_type" : "SwiftTarget",
      "name" : "TunnelMonitorKitTests",
      "path" : "Tests/TunnelMonitorKitTests",
      "sources" : [
        "MockingTests/TMMockTunnelProviderManagerTests.swift",
        "MockingTests/TMTunnelProviderSessionMockTests.swift",
        "TunnelCommunicationTests/MessageContainerTests.swift",
        "TunnelCommunicationTests/MessageRouterTests.swift",
        "TunnelCommunicationTests/TunnelMonitorTests.swift",
        "TunnelConfigurationTests/PacketTunnelConfigurationTests.swift",
        "UtilTests/NEIPv4RouteTests.swift"
      ],
      "target_dependencies" : [
        "TunnelMonitorKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TunnelMonitorKit",
      "module_type" : "SwiftTarget",
      "name" : "TunnelMonitorKit",
      "path" : "Sources/TunnelMonitorKit",
      "product_memberships" : [
        "TunnelMonitorKit"
      ],
      "sources" : [
        "Logging/TMLogger.swift",
        "Logging/TMOSLogger.swift",
        "Mocking/TMNativeTunnelProviderManager.swift",
        "Mocking/TMPacketTunnelProvider.swift",
        "Mocking/TMPacketTunnelProviderNative.swift",
        "Mocking/TMTunnelProviderManager.swift",
        "Mocking/TMTunnelProviderManagerFactory.swift",
        "Mocking/TMTunnelProviderSession.swift",
        "TunnelCommunication/MessageContainer.swift",
        "TunnelCommunication/MessageRouter.swift",
        "TunnelCommunication/TMCommunicationError.swift",
        "TunnelCommunication/TunnelMonitor.swift",
        "TunnelConfiguration/PacketTunnelConfiguration.swift",
        "TunnelConfiguration/TunnelConfigurationError.swift",
        "TunnelMonitorKit.swift",
        "Util/NEIPv4Route+Util.swift",
        "Util/NEProviderStopReason+StringConvertible.swift",
        "Util/NEVPNStatus+Util.swift",
        "Util/NSTextCheckingResult+Util.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.