Build Information
Successful build of NextLevelSessionExporter, reference main (1fd5ad
), with Swift 6.1 for macOS (SPM) on 26 Jun 2025 03:54:11 UTC.
Swift 6 data race errors: 0
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.64.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 1fd5ad5 Merge pull request #54 from whattherestimefor/patch-1
Cloned https://github.com/NextLevel/NextLevelSessionExporter.git
Revision (git rev-parse @):
1fd5ad50fa415b4b197e9b05c0cdd3cc2ee6731e
SUCCESS checkout https://github.com/NextLevel/NextLevelSessionExporter.git at main
========================================
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/807] Fetching nextlevelsessionexporter
Fetched https://github.com/NextLevel/NextLevelSessionExporter.git from cache (0.91s)
Creating working copy for https://github.com/NextLevel/NextLevelSessionExporter.git
Working copy of https://github.com/NextLevel/NextLevelSessionExporter.git resolved at main (1fd5ad5)
warning: '.resolve-product-dependencies': dependency 'nextlevelsessionexporter' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/NextLevel/NextLevelSessionExporter.git
https://github.com/NextLevel/NextLevelSessionExporter.git
{
"dependencies" : [
],
"manifest_display_name" : "NextLevelSessionExporter",
"name" : "NextLevelSessionExporter",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.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.3"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/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
[4/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:282:20: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a '@Sendable' closure
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.
:
280 | dispatchGroup.enter()
281 | videoInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
282 | if self.encode(readySamplesFromReaderOutput: videoOutput, toWriterInput: videoInput) == false {
| `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a '@Sendable' closure
283 | dispatchGroup.leave()
284 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:282:62: warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderVideoCompositionOutput' in a '@Sendable' closure
280 | dispatchGroup.enter()
281 | videoInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
282 | if self.encode(readySamplesFromReaderOutput: videoOutput, toWriterInput: videoInput) == false {
| `- warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderVideoCompositionOutput' in a '@Sendable' closure
283 | dispatchGroup.leave()
284 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:416:12: note: class 'AVAssetReaderVideoCompositionOutput' does not conform to the 'Sendable' protocol
414 | */
415 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
416 | @interface AVAssetReaderVideoCompositionOutput : AVAssetReaderOutput
| `- note: class 'AVAssetReaderVideoCompositionOutput' does not conform to the 'Sendable' protocol
417 | {
418 | @private
/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:282:90: warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a '@Sendable' closure
280 | dispatchGroup.enter()
281 | videoInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
282 | if self.encode(readySamplesFromReaderOutput: videoOutput, toWriterInput: videoInput) == false {
| `- warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a '@Sendable' closure
283 | dispatchGroup.leave()
284 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:43:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
41 | */
42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
43 | @interface AVAssetWriterInput : NSObject
| `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
44 | {
45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:292:20: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a '@Sendable' closure
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.
:
290 | dispatchGroup.enter()
291 | audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
292 | if self.encode(readySamplesFromReaderOutput: audioOutput, toWriterInput: audioInput) == false {
| `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a '@Sendable' closure
293 | dispatchGroup.leave()
294 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:292:62: warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a '@Sendable' closure
290 | dispatchGroup.enter()
291 | audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
292 | if self.encode(readySamplesFromReaderOutput: audioOutput, toWriterInput: audioInput) == false {
| `- warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a '@Sendable' closure
293 | dispatchGroup.leave()
294 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:300:12: note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
298 | */
299 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
300 | @interface AVAssetReaderAudioMixOutput : AVAssetReaderOutput
| `- note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
301 | {
302 | @private
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:292:90: warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a '@Sendable' closure
290 | dispatchGroup.enter()
291 | audioInput.requestMediaDataWhenReady(on: self._inputQueue, using: {
292 | if self.encode(readySamplesFromReaderOutput: audioOutput, toWriterInput: audioInput) == false {
| `- warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a '@Sendable' closure
293 | dispatchGroup.leave()
294 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:43:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
41 | */
42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
43 | @interface AVAssetWriterInput : NSObject
| `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
44 | {
45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:308:16: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a '@Sendable' closure
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.
:
306 | public func cancelExport() {
307 | self._inputQueue.async {
308 | if self._writer?.status == .writing {
| `- warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a '@Sendable' closure
309 | self._writer?.cancelWriting()
310 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:584:17: warning: capture of 'self' with non-sendable type 'NextLevelSessionExporter' in a '@Sendable' closure
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
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 | }
/Users/admin/builder/spi-builder-workspace/Sources/NextLevelSessionExporter.swift:300:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
298 | dispatchGroup.notify(queue: .global()) {
299 | DispatchQueue.main.async {
300 | 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
301 | }
302 | }
Build complete! (6.70s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "NextLevelSessionExporter",
"name" : "NextLevelSessionExporter",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.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.3"
}
Done.