The Swift Package Index logo.Swift Package Index

Build Information

Successful build of ETTrace, reference main (ea8a0e), with Swift 6.4 for macOS (SPM) on 21 Sep 2026 09:57:07 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/EmergeTools/ETTrace.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/EmergeTools/ETTrace
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at ea8a0ec Add more options (#108)
Cloned https://github.com/EmergeTools/ETTrace.git
Revision (git rev-parse @):
ea8a0ec37872d732992f1d6fdd2b0307f463eb65
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/EmergeTools/ETTrace.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/EmergeTools/ETTrace.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 481]
[Planning deferred tasks]
[39 / 188] Swifter
[85 / 188]
[96 / 192] ETModels
[103 / 215]
[109 / 215]
[117 / 250]
[139 / 332]
[152 / 333]
[162 / 333]
[174 / 333]
[182 / 378]
[184 / 378]
[197 / 378]
[214 / 378]
[223 / 378]
[229 / 378]
[236 / 378]
[239 / 378]
[246 / 378]
[253 / 378]
[257 / 378]
[261 / 378]
[270 / 378]
[275 / 378]
[277 / 378]
[278 / 378]
[289 / 378]
[302 / 378] Tracer
[304 / 378] Swifter
[306 / 378] Swifter
[327 / 378] ETTrace
[331 / 378] ArgumentParser-product
[335 / 378] ArgumentParser
[337 / 378] Swifter
[346 / 379] Tracer
[346 / 379] ArgumentParser
[347 / 379] Swifter
[352 / 380] ETTrace
[356 / 391]
[361 / 391]
[367 / 426]
[373 / 426]
[380 / 426]
[384 / 426]
[392 / 426]
[393 / 426]
[396 / 426]
[398 / 426]
[403 / 426]
[403 / 426] ETTrace-product
[405 / 426]
[410 / 426] Symbolicator
[419 / 427] Symbolicator
[419 / 427] ETTraceRunner-product
[432 / 441] ETTraceRunner-product
[434 / 441] ETTraceRunner-product
[434 / 441] Symbolicator
[437 / 441] ETTraceRunner-product
[439 / 441] ETTraceRunner-product
Build complete! (12.34 sec)
Fetching https://github.com/httpswift/swifter.git
Fetching https://github.com/EmergeTools/peertalk.git
Fetching https://github.com/apple/swift-argument-parser.git
[1/682] Fetching peertalk
[49/6732] Fetching peertalk, swifter
[1334/25650] Fetching peertalk, swifter, swift-argument-parser
Fetched https://github.com/EmergeTools/peertalk.git (1.93s)
Fetched https://github.com/apple/swift-argument-parser.git (1.93s)
[4477/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter.git (2.16s)
Computing version for https://github.com/httpswift/swifter.git
Computed https://github.com/httpswift/swifter.git at 1.5.0 (4.90s)
Computing version for https://github.com/EmergeTools/peertalk.git
Computed https://github.com/EmergeTools/peertalk.git at 1.0.0 (0.65s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.60s)
Creating working copy for https://github.com/httpswift/swifter.git
Working copy of https://github.com/httpswift/swifter.git resolved at 1.5.0
Creating working copy for https://github.com/EmergeTools/peertalk.git
Working copy of https://github.com/EmergeTools/peertalk.git resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
/Users/admin/builder/spi-builder-workspace/ETTrace/ETTrace/EMGChannelListener.m:127:95: warning: incompatible pointer types sending 'dispatch_data_t' (aka 'NSObject<OS_dispatch_data> *') to parameter of type 'NSData * _Nullable' [-Wincompatible-pointer-types]
  127 |     [self.peerChannel sendFrameOfType:PTFrameTypeResultsMetadata tag:PTFrameNoTag withPayload:dataFrame callback:nil];
      |                                                                                               ^~~~~~~~~
In module 'Peertalk' imported from /Users/admin/builder/spi-builder-workspace/ETTrace/ETTrace/EMGChannelListener.m:10:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/peertalk/peertalk/public/PTChannel.h:72:94: note: passing argument to parameter 'payload' here
   72 | - (void)sendFrameOfType:(uint32_t)frameType tag:(uint32_t)tag withPayload:(nullable NSData *)payload callback:(nullable void(^)(NSError * _Nullable error))callback NS_SWIFT_NAME(sendFrame(type:tag:payload:callback:));
      |                                                                                              ^
1 warning generated.
/Users/admin/builder/spi-builder-workspace/ETTrace/Tracer/EMGTracer.mm:108:24: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
  108 |     u_char buildBuffer[bufferSize];
      |                        ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/ETTrace/Tracer/EMGTracer.mm:108:24: note: read of non-const variable 'bufferSize' is not allowed in a constant expression
/Users/admin/builder/spi-builder-workspace/ETTrace/Tracer/EMGTracer.mm:101:12: note: declared here
  101 |     size_t bufferSize = 0;
      |            ^
1 warning generated.
/Users/admin/builder/spi-builder-workspace/ETTrace/ETTraceRunner/Devices/PhysicalDeviceManager.swift:49:24: warning: capture of 'self' with non-Sendable type 'PhysicalDevicemanager?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
15 | }
16 |
17 | class PhysicalDevicemanager: DeviceManager {
   |       `- note: class 'PhysicalDevicemanager' does not conform to the 'Sendable' protocol
18 |
19 |     var communicationChannel: CommunicationChannel
   :
47 |               } else {
48 |                 observer = NotificationCenter.default.addObserver(forName:.deviceDidAttach, object: usbHub, queue: nil) {[weak self] notification in
49 |                     if self?.verbose == true {
   |                        `- warning: capture of 'self' with non-Sendable type 'PhysicalDevicemanager?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
50 |                       print("Device did attach notification")
51 |                     }
/Users/admin/builder/spi-builder-workspace/ETTrace/ETTraceRunner/Devices/PhysicalDeviceManager.swift:57:118: warning: capture of 'usbHub' with non-Sendable type 'PTUSBHub' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
55 |                     self?.deviceID = deviceID
56 |
57 |                     NotificationCenter.default.removeObserver(self?.observer as Any, name: .deviceDidAttach, object: usbHub)
   |                                                                                                                      `- warning: capture of 'usbHub' with non-Sendable type 'PTUSBHub' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
58 |
59 |                     self?.connect(withId: deviceID, usbHub: usbHub, continuation: continuation)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/peertalk/peertalk/public/PTUSBHub.h:47:12: note: class 'PTUSBHub' does not conform to the 'Sendable' protocol
45 | } PTUSBHubError;
46 |
47 | @interface PTUSBHub : NSObject
   |            `- note: class 'PTUSBHub' does not conform to the 'Sendable' protocol
48 |
49 | // Shared, implicitly opened hub.
/Users/admin/builder/spi-builder-workspace/ETTrace/ETTraceRunner/Devices/PhysicalDeviceManager.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Peertalk' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
 7 |
 8 | import Foundation
 9 | import Peertalk
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Peertalk' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
10 | import CommunicationFrame
11 |
[#AddPreconcurrencyImport]: <https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/ETTrace/ETTraceRunner/Devices/CommunicationChannel.swift:36:12: warning: capture of 'self' with non-Sendable type 'CommunicationChannel?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
 10 | import Peertalk
 11 |
 12 | class CommunicationChannel: NSObject {
    |       `- note: class 'CommunicationChannel' does not conform to the 'Sendable' protocol
 13 |
 14 |   lazy var channel = PTChannel(protocol: nil, delegate: self)
    :
 34 |     return await withCheckedContinuation { continuation in
 35 |       DispatchQueue.main.async { [weak self] in
 36 |         if self?.reportGenerated == true {
    |            `- warning: capture of 'self' with non-Sendable type 'CommunicationChannel?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
 37 |           continuation.resume()
 38 |         } else {
/Users/admin/builder/spi-builder-workspace/ETTrace/ETTraceRunner/Devices/CommunicationChannel.swift:48:26: warning: capture of 'self' with non-Sendable type 'CommunicationChannel?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
 10 | import Peertalk
 11 |
 12 | class CommunicationChannel: NSObject {
    |       `- note: class 'CommunicationChannel' does not conform to the 'Sendable' protocol
 13 |
 14 |   lazy var channel = PTChannel(protocol: nil, delegate: self)
    :
 46 |     return await withCheckedContinuation{ continuation in
 47 |       DispatchQueue.main.async { [weak self] in
 48 |         guard let self = self else { return }
    |                          `- warning: capture of 'self' with non-Sendable type 'CommunicationChannel?' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
 49 |
 50 |         if self.resultsReceived == true {
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
Build complete.
{
  "cxx_language_standard" : "c++17",
  "dependencies" : [
    {
      "identity" : "peertalk",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/EmergeTools/peertalk.git"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swifter",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/httpswift/swifter.git"
    }
  ],
  "manifest_display_name" : "ETTrace",
  "name" : "ETTrace",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "ETTrace",
      "targets" : [
        "ETTrace"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    },
    {
      "name" : "Tracer",
      "targets" : [
        "Tracer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Symbolicator",
      "targets" : [
        "Symbolicator"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ETTraceRunner",
      "targets" : [
        "ETTraceRunner"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Unwinding",
      "module_type" : "ClangTarget",
      "name" : "Unwinding",
      "path" : "Unwinding/Crashlytics",
      "product_memberships" : [
        "ETTrace",
        "Tracer"
      ],
      "sources" : [
        "Crashlytics/Components/FIRCLSEmerge.c",
        "Crashlytics/Helpers/FIRCLSInternalLogging.c",
        "Crashlytics/Helpers/FIRCLSLogger.m",
        "Crashlytics/Helpers/FIRCLSThreadState.c",
        "Crashlytics/Helpers/FIRCLSUtility.m",
        "Crashlytics/Unwind/FIRCLSUnwind.c",
        "Crashlytics/Unwind/FIRCLSUnwind_arm.c",
        "Crashlytics/Unwind/FIRCLSUnwind_x86.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TracerSwift",
      "module_type" : "SwiftTarget",
      "name" : "TracerSwift",
      "path" : "ETTrace/TracerSwift",
      "product_memberships" : [
        "ETTrace",
        "Tracer"
      ],
      "sources" : [
        "ThreadHelper.swift",
        "UnsafeRawPointer+Commands.swift"
      ],
      "target_dependencies" : [
        "Unwinding"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Tracer",
      "module_type" : "ClangTarget",
      "name" : "Tracer",
      "path" : "ETTrace/Tracer",
      "product_memberships" : [
        "ETTrace",
        "Tracer"
      ],
      "sources" : [
        "EMGStackTraceRecorder.cpp",
        "EMGTracer+PrintThreads.m",
        "EMGTracer.mm",
        "EMGWriteLibraries.m"
      ],
      "target_dependencies" : [
        "Unwinding",
        "TracerSwift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Symbolicator",
      "module_type" : "SwiftTarget",
      "name" : "Symbolicator",
      "path" : "ETTrace/Symbolicator",
      "product_memberships" : [
        "Symbolicator",
        "ETTraceRunner"
      ],
      "sources" : [
        "FlamegraphGenerator.swift",
        "Models.swift",
        "Symbolicator.swift",
        "Utils.swift"
      ],
      "target_dependencies" : [
        "ETModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "JSONWrapper",
      "module_type" : "ClangTarget",
      "name" : "JSONWrapper",
      "path" : "ETTrace/JSONWrapper",
      "product_memberships" : [
        "ETTraceRunner"
      ],
      "sources" : [
        "JSONWrapper.m"
      ],
      "target_dependencies" : [
        "ETModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ETTraceRunner",
      "module_type" : "SwiftTarget",
      "name" : "ETTraceRunner",
      "path" : "ETTrace/ETTraceRunner",
      "product_dependencies" : [
        "Peertalk",
        "ArgumentParser",
        "Swifter"
      ],
      "product_memberships" : [
        "ETTraceRunner"
      ],
      "sources" : [
        "ConnectivityHelper.swift",
        "Devices/CommunicationChannel.swift",
        "Devices/DeviceManager.swift",
        "Devices/PhysicalDeviceManager.swift",
        "Devices/SimulatorDeviceManager.swift",
        "ETTrace.swift",
        "ProcessSelector.swift",
        "ResponseModels/ResponseModel.swift",
        "RunnerHelper.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "CommunicationFrame",
        "JSONWrapper",
        "ETModels",
        "Symbolicator"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ETTrace",
      "module_type" : "ClangTarget",
      "name" : "ETTrace",
      "path" : "ETTrace/ETTrace",
      "product_dependencies" : [
        "Peertalk"
      ],
      "product_memberships" : [
        "ETTrace"
      ],
      "sources" : [
        "EMGChannelListener.m",
        "EMGPerfAnalysis.mm"
      ],
      "target_dependencies" : [
        "Tracer",
        "CommunicationFrame"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ETModels",
      "module_type" : "SwiftTarget",
      "name" : "ETModels",
      "path" : "ETTrace/ETModels",
      "product_memberships" : [
        "Symbolicator",
        "ETTraceRunner"
      ],
      "sources" : [
        "FlameNode.swift",
        "Flamegraph.swift",
        "FlamegraphEvent.swift",
        "Sample.swift",
        "ThreadNode.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CommunicationFrame",
      "module_type" : "ClangTarget",
      "name" : "CommunicationFrame",
      "path" : "ETTrace/CommunicationFrame",
      "product_memberships" : [
        "ETTrace",
        "ETTraceRunner"
      ],
      "sources" : [
        "EMGDummyEmptyClass.m"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.