This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of NextLevelSessionExporter with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NextLevel/NextLevelSessionExporter.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NextLevel/NextLevelSessionExporter
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e2096e2 Merge pull request #47 from bojanstef/main
Cloned https://github.com/NextLevel/NextLevelSessionExporter.git
Revision (git rev-parse @):
e2096e23a3ab3696770e393221a0a65b32721d97
SUCCESS checkout https://github.com/NextLevel/NextLevelSessionExporter.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/NextLevel/NextLevelSessionExporter.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/4] Emitting module SessionExporter
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:647:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
645 |
646 |     // subclass and add more checks, if needed
647 |     open func validateVideoOutputConfiguration() -> Bool {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
648 |         guard let videoOutputConfiguration = self.videoOutputConfiguration else {
649 |             return false
[4/4] Compiling SessionExporter NextLevelSessionExporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:647:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
645 |
646 |     // subclass and add more checks, if needed
647 |     open func validateVideoOutputConfiguration() -> Bool {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
648 |         guard let videoOutputConfiguration = self.videoOutputConfiguration else {
649 |             return false
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:199:17: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
197 |             print("NextLevelSessionExporter, an asset and output URL are required for encoding")
198 |             DispatchQueue.main.async {
199 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
200 |             }
201 |             return
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:221:17: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
219 |             print("NextLevelSessionExporter, could not setup a reader for the provided asset \(asset)")
220 |             DispatchQueue.main.async {
221 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
222 |             }
223 |         }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:230:17: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
228 |             print("NextLevelSessionExporter, could not setup a reader for the provided asset \(asset)")
229 |             DispatchQueue.main.async {
230 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
231 |             }
232 |         }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:238:17: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
236 |             print("NextLevelSessionExporter, could not setup with the specified video output configuration")
237 |             DispatchQueue.main.async {
238 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
239 |             }
240 |         }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:286:20: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
284 |             dispatchGroup.enter()
285 |             videoInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
286 |                 if self.encode(readySamplesFromReaderOutput: videoOutput, toWriterInput: videoInput) == false {
    |                    `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
287 |                     dispatchGroup.leave()
288 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:286:62: warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderVideoCompositionOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
284 |             dispatchGroup.enter()
285 |             videoInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
286 |                 if self.encode(readySamplesFromReaderOutput: videoOutput, toWriterInput: videoInput) == false {
    |                                                              `- warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderVideoCompositionOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
287 |                     dispatchGroup.leave()
288 |                 }
AVFoundation.AVAssetReaderVideoCompositionOutput:2:12: note: class 'AVAssetReaderVideoCompositionOutput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetReaderVideoCompositionOutput : AVAssetReaderOutput {
   |            `- note: class 'AVAssetReaderVideoCompositionOutput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 23 |
 24 | import Foundation
 25 | import AVFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 26 |
 27 | // MARK: - types
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:286:90: warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
284 |             dispatchGroup.enter()
285 |             videoInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
286 |                 if self.encode(readySamplesFromReaderOutput: videoOutput, toWriterInput: videoInput) == false {
    |                                                                                          `- warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
287 |                     dispatchGroup.leave()
288 |                 }
AVFoundation.AVAssetWriterInput:2:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetWriterInput : NSObject {
   |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:296:20: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
294 |             dispatchGroup.enter()
295 |             audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
296 |                 if self.encode(readySamplesFromReaderOutput: audioOutput, toWriterInput: audioInput) == false {
    |                    `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
297 |                     dispatchGroup.leave()
298 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:296:62: warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
294 |             dispatchGroup.enter()
295 |             audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
296 |                 if self.encode(readySamplesFromReaderOutput: audioOutput, toWriterInput: audioInput) == false {
    |                                                              `- warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
297 |                     dispatchGroup.leave()
298 |                 }
AVFoundation.AVAssetReaderAudioMixOutput:2:12: note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetReaderAudioMixOutput : AVAssetReaderOutput {
   |            `- note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:296:90: warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
294 |             dispatchGroup.enter()
295 |             audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
296 |                 if self.encode(readySamplesFromReaderOutput: audioOutput, toWriterInput: audioInput) == false {
    |                                                                                          `- warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
297 |                     dispatchGroup.leave()
298 |                 }
AVFoundation.AVAssetWriterInput:2:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetWriterInput : NSObject {
   |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:304:17: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
302 |         dispatchGroup.notify(queue: .global()) {
303 |             DispatchQueue.main.async {
304 |                 self.finish()
    |                 `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
305 |             }
306 |         }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:312:16: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
310 |     public func cancelExport() {
311 |         self._inputQueue.async {
312 |             if self._writer?.status == .writing {
    |                `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
313 |                 self._writer?.cancelWriting()
314 |             }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:321:17: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |
 54 | /// 🔄 NextLevelSessionExporter, export and transcode media in Swift
 55 | open class NextLevelSessionExporter: NSObject {
    |            `- note: class 'NextLevelSessionExporter' does not conform to the 'Sendable' protocol
 56 |
 57 |     /// Input asset for export, provided when initialized.
    :
319 |
320 |             DispatchQueue.main.async {
321 |                 self.complete()
    |                 `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
322 |                 self.reset()
323 |             }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:238:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
236 |             print("NextLevelSessionExporter, could not setup with the specified video output configuration")
237 |             DispatchQueue.main.async {
238 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 |- 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
239 |             }
240 |         }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:199:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
197 |             print("NextLevelSessionExporter, an asset and output URL are required for encoding")
198 |             DispatchQueue.main.async {
199 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 |- 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
200 |             }
201 |             return
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:221:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
219 |             print("NextLevelSessionExporter, could not setup a reader for the provided asset \(asset)")
220 |             DispatchQueue.main.async {
221 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 |- 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
222 |             }
223 |         }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:230:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
228 |             print("NextLevelSessionExporter, could not setup a reader for the provided asset \(asset)")
229 |             DispatchQueue.main.async {
230 |                 self._completionHandler?(.failure(NextLevelSessionExporterError.setupFailure))
    |                 |- 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
231 |             }
232 |         }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:304:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
302 |         dispatchGroup.notify(queue: .global()) {
303 |             DispatchQueue.main.async {
304 |                 self.finish()
    |                 |- 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
305 |             }
306 |         }
Build complete! (26.66s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "NextLevelSessionExporter",
  "name" : "NextLevelSessionExporter",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "NextLevelSessionExporter",
      "targets" : [
        "SessionExporter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "SessionExporter",
      "module_type" : "SwiftTarget",
      "name" : "SessionExporter",
      "path" : "Sources",
      "product_memberships" : [
        "NextLevelSessionExporter"
      ],
      "sources" : [
        "NextLevelSessionExporter.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.