Build Information
Successful build of NextLevelSessionExporter, reference main (e2096e
), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 07:59:35 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: 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
========================================
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
[16/761] Fetching nextlevelsessionexporter
Fetched https://github.com/NextLevel/NextLevelSessionExporter.git from cache (0.98s)
Creating working copy for https://github.com/NextLevel/NextLevelSessionExporter.git
Working copy of https://github.com/NextLevel/NextLevelSessionExporter.git resolved at main (e2096e2)
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] 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:579: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.
:
577 | } else {
578 | self._writer?.finishWriting {
579 | 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
580 | }
581 | }
/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! (9.39s)
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.