Build Information
Successful build of NextLevelSessionExporter, reference 0.4.6 (b6c0cc
), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 07:59:58 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NextLevel/NextLevelSessionExporter.git
Reference: 0.4.6
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NextLevel/NextLevelSessionExporter
* tag 0.4.6 -> FETCH_HEAD
HEAD is now at b6c0cce bump version
Cloned https://github.com/NextLevel/NextLevelSessionExporter.git
Revision (git rev-parse @):
b6c0cce1aa37fe1547d694f958fac3c3524b74da
SUCCESS checkout https://github.com/NextLevel/NextLevelSessionExporter.git at 0.4.6
========================================
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": "nextlevelsessionexporter",
"name": "NextLevelSessionExporter",
"url": "https://github.com/NextLevel/NextLevelSessionExporter.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/NextLevelSessionExporter",
"dependencies": [
]
}
]
}
Fetching https://github.com/NextLevel/NextLevelSessionExporter.git
[1/761] Fetching nextlevelsessionexporter
Fetched https://github.com/NextLevel/NextLevelSessionExporter.git from cache (0.93s)
Creating working copy for https://github.com/NextLevel/NextLevelSessionExporter.git
Working copy of https://github.com/NextLevel/NextLevelSessionExporter.git resolved at 0.4.6 (b6c0cce)
warning: '.resolve-product-dependencies': dependency 'nextlevelsessionexporter' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/NextLevel/NextLevelSessionExporter.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun 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--7754E27361AE5C74.txt
[3/4] Compiling SessionExporter NextLevelSessionExporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:652:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
650 |
651 | // subclass and add more checks, if needed
652 | open func validateVideoOutputConfiguration() -> Bool {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
653 | guard let videoOutputConfiguration = self.videoOutputConfiguration else {
654 | 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 | videoTracks.count > 0 {
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 | videoSemaphore.signal()
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 | videoTracks.count > 0 {
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 | videoSemaphore.signal()
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 | videoTracks.count > 0 {
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 | videoSemaphore.signal()
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:297: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.
:
295 | let audioOutput = self._audioOutput {
296 | audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
297 | 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
298 | audioSemaphore.signal()
299 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:297:62: warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
295 | let audioOutput = self._audioOutput {
296 | audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
297 | 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
298 | audioSemaphore.signal()
299 | }
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:297:90: warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
295 | let audioOutput = self._audioOutput {
296 | audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
297 | 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
298 | audioSemaphore.signal()
299 | }
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:309: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.
:
307 | videoSemaphore.wait()
308 | DispatchQueue.main.async {
309 | 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
310 | }
311 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:309: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.
:
307 | videoSemaphore.wait()
308 | DispatchQueue.main.async {
309 | 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
310 | }
311 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:317: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.
:
315 | public func cancelExport() {
316 | self._inputQueue.async {
317 | 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
318 | self._writer?.cancelWriting()
319 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:326: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.
:
324 |
325 | DispatchQueue.main.async {
326 | 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
327 | self.reset()
328 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:584: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.
:
582 | } else {
583 | self._writer?.finishWriting {
584 | 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
585 | }
586 | }
/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 | }
[4/4] Emitting module SessionExporter
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:652:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
650 |
651 | // subclass and add more checks, if needed
652 | open func validateVideoOutputConfiguration() -> Bool {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
653 | guard let videoOutputConfiguration = self.videoOutputConfiguration else {
654 | return false
Build complete! (9.36s)
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.