Build Information
Successful build of StreamUI, reference 0.1.4 (2ebf44
), with Swift 6.0 for macOS (SPM) on 17 Apr 2025 07:37:11 UTC.
Swift 6 data race errors: 5
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.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.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/StreamUI/StreamUI.swift.git
Reference: 0.1.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/StreamUI/StreamUI.swift
* tag 0.1.4 -> FETCH_HEAD
HEAD is now at 2ebf444 Merge pull request #6 from StreamUI/070224-render-settings
Cloned https://github.com/StreamUI/StreamUI.swift.git
Revision (git rev-parse @):
2ebf444d2d669a259762b64d131c3f02ee614082
SUCCESS checkout https://github.com/StreamUI/StreamUI.swift.git at 0.1.4
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/vapor/console-kit.git
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/kylef/Spectre.git
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/kean/Nuke.git
[1/1021] Fetching spectre
[165/6506] Fetching spectre, console-kit
[330/32444] Fetching spectre, console-kit, nuke
[590/37793] Fetching spectre, console-kit, nuke, xctest-dynamic-overlay
[806/41625] Fetching spectre, console-kit, nuke, xctest-dynamic-overlay, swift-log
[6537/56467] Fetching spectre, console-kit, nuke, xctest-dynamic-overlay, swift-log, swift-argument-parser
[14338/131790] Fetching spectre, console-kit, nuke, xctest-dynamic-overlay, swift-log, swift-argument-parser, swift-nio
Fetched https://github.com/vapor/console-kit.git from cache (1.09s)
Fetching https://github.com/pointfreeco/swift-concurrency-extras
[11907/126305] Fetching spectre, nuke, xctest-dynamic-overlay, swift-log, swift-argument-parser, swift-nio
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.54s)
[53959/111463] Fetching spectre, nuke, xctest-dynamic-overlay, swift-log, swift-nio
Fetching https://github.com/apple/swift-system.git
[79076/112315] Fetching spectre, nuke, xctest-dynamic-overlay, swift-log, swift-nio, swift-concurrency-extras
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.79s)
[77663/106966] Fetching spectre, nuke, swift-log, swift-nio, swift-concurrency-extras
Fetching https://github.com/shogo4405/HaishinKit.swift.git
Fetched https://github.com/pointfreeco/swift-concurrency-extras from cache (0.88s)
Fetching https://github.com/shogo4405/Logboard.git
[81258/106114] Fetching spectre, nuke, swift-log, swift-nio
[85025/110355] Fetching spectre, nuke, swift-log, swift-nio, swift-system
[92820/111915] Fetching spectre, nuke, swift-log, swift-nio, swift-system, logboard
[92992/148940] Fetching spectre, nuke, swift-log, swift-nio, swift-system, logboard, haishinkit.swift
Fetched https://github.com/apple/swift-system.git from cache (1.11s)
[90949/144699] Fetching spectre, nuke, swift-log, swift-nio, logboard, haishinkit.swift
Fetching https://github.com/apple/swift-atomics.git
Fetched https://github.com/shogo4405/Logboard.git from cache (1.00s)
[95518/143139] Fetching spectre, nuke, swift-log, swift-nio, haishinkit.swift
Fetching https://github.com/stencilproject/Stencil.git
[109077/144844] Fetching spectre, nuke, swift-log, swift-nio, haishinkit.swift, swift-atomics
Fetched https://github.com/apple/swift-atomics.git from cache (0.94s)
Fetching https://github.com/pointfreeco/swift-clocks.git
[110454/148432] Fetching spectre, nuke, swift-log, swift-nio, haishinkit.swift, stencil
Fetched https://github.com/apple/swift-nio.git from cache (4.01s)
[45128/73109] Fetching spectre, nuke, swift-log, haishinkit.swift, stencil
Fetched https://github.com/kylef/Spectre.git from cache (4.01s)
Fetched https://github.com/kean/Nuke.git from cache (4.01s)
Fetched https://github.com/apple/swift-log.git from cache (4.01s)
[14390/42318] Fetching haishinkit.swift, stencil
Fetching https://github.com/kylef/PathKit.git
Fetching https://github.com/apple/swift-collections.git
Fetched https://github.com/stencilproject/Stencil.git from cache (1.11s)
[10738/37025] Fetching haishinkit.swift
[13330/38317] Fetching haishinkit.swift, swift-clocks
Fetched https://github.com/pointfreeco/swift-clocks.git from cache (0.90s)
[13630/37025] Fetching haishinkit.swift
[15552/38436] Fetching haishinkit.swift, pathkit
[18582/54462] Fetching haishinkit.swift, pathkit, swift-collections
Fetched https://github.com/kylef/PathKit.git from cache (1.63s)
Fetched https://github.com/apple/swift-collections.git from cache (1.63s)
Fetched https://github.com/shogo4405/HaishinKit.swift.git from cache (4.00s)
Computing version for https://github.com/vapor/console-kit.git
Computed https://github.com/vapor/console-kit.git at 4.14.3 (0.49s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 12.7.3 (0.50s)
Computing version for https://github.com/pointfreeco/swift-clocks.git
Computed https://github.com/pointfreeco/swift-clocks.git at 1.0.2 (3.19s)
Computing version for https://github.com/stencilproject/Stencil.git
Computed https://github.com/stencilproject/Stencil.git at 0.15.1 (0.58s)
Computing version for https://github.com/shogo4405/HaishinKit.swift.git
Computed https://github.com/shogo4405/HaishinKit.swift.git at 1.9.0 (0.47s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.5.4 (0.60s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.4.0 (0.49s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.67.0 (0.53s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.1.2 (0.57s)
Computing version for https://github.com/pointfreeco/swift-concurrency-extras
Computed https://github.com/pointfreeco/swift-concurrency-extras at 1.1.0 (0.56s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (0.58s)
Computing version for https://github.com/kylef/PathKit.git
Computed https://github.com/kylef/PathKit.git at 1.0.1 (2.48s)
Computing version for https://github.com/shogo4405/Logboard.git
Computed https://github.com/shogo4405/Logboard.git at 2.5.0 (0.46s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.3.1 (0.46s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.1 (0.70s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.49s)
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.4.0
Creating working copy for https://github.com/stencilproject/Stencil.git
Working copy of https://github.com/stencilproject/Stencil.git resolved at 0.15.1
Creating working copy for https://github.com/pointfreeco/swift-clocks.git
Working copy of https://github.com/pointfreeco/swift-clocks.git resolved at 1.0.2
Creating working copy for https://github.com/shogo4405/Logboard.git
Working copy of https://github.com/shogo4405/Logboard.git resolved at 2.5.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
Creating working copy for https://github.com/kean/Nuke.git
Working copy of https://github.com/kean/Nuke.git resolved at 12.7.3
Creating working copy for https://github.com/shogo4405/HaishinKit.swift.git
Working copy of https://github.com/shogo4405/HaishinKit.swift.git resolved at 1.9.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.3.1
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.5.4
Creating working copy for https://github.com/pointfreeco/swift-concurrency-extras
Working copy of https://github.com/pointfreeco/swift-concurrency-extras resolved at 1.1.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.67.0
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.1.2
Creating working copy for https://github.com/vapor/console-kit.git
Working copy of https://github.com/vapor/console-kit.git resolved at 4.14.3
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.1
========================================
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": "streamui.swift",
"name": "StreamUI",
"url": "https://github.com/StreamUI/StreamUI.swift.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/StreamUI.swift",
"dependencies": [
{
"identity": "swift-argument-parser",
"name": "swift-argument-parser",
"url": "https://github.com/apple/swift-argument-parser.git",
"version": "1.5.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
"dependencies": [
]
},
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log.git",
"version": "1.6.3",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
},
{
"identity": "haishinkit.swift",
"name": "HaishinKit",
"url": "https://github.com/shogo4405/HaishinKit.swift.git",
"version": "1.9.8",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/HaishinKit.swift",
"dependencies": [
{
"identity": "logboard",
"name": "Logboard",
"url": "https://github.com/shogo4405/Logboard.git",
"version": "2.5.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Logboard",
"dependencies": [
]
}
]
},
{
"identity": "stencil",
"name": "Stencil",
"url": "https://github.com/stencilproject/Stencil.git",
"version": "0.15.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Stencil",
"dependencies": [
{
"identity": "pathkit",
"name": "PathKit",
"url": "https://github.com/kylef/PathKit.git",
"version": "1.0.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PathKit",
"dependencies": [
{
"identity": "spectre",
"name": "Spectre",
"url": "https://github.com/kylef/Spectre.git",
"version": "0.10.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Spectre",
"dependencies": [
]
}
]
},
{
"identity": "spectre",
"name": "Spectre",
"url": "https://github.com/kylef/Spectre.git",
"version": "0.10.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Spectre",
"dependencies": [
]
}
]
},
{
"identity": "swift-clocks",
"name": "swift-clocks",
"url": "https://github.com/pointfreeco/swift-clocks.git",
"version": "1.0.6",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-clocks",
"dependencies": [
{
"identity": "swift-concurrency-extras",
"name": "swift-concurrency-extras",
"url": "https://github.com/pointfreeco/swift-concurrency-extras",
"version": "1.3.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-concurrency-extras",
"dependencies": [
]
},
{
"identity": "xctest-dynamic-overlay",
"name": "xctest-dynamic-overlay",
"url": "https://github.com/pointfreeco/xctest-dynamic-overlay",
"version": "1.5.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/xctest-dynamic-overlay",
"dependencies": [
]
}
]
},
{
"identity": "nuke",
"name": "Nuke",
"url": "https://github.com/kean/Nuke.git",
"version": "12.8.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nuke",
"dependencies": [
]
},
{
"identity": "console-kit",
"name": "console-kit",
"url": "https://github.com/vapor/console-kit.git",
"version": "4.15.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/console-kit",
"dependencies": [
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log.git",
"version": "1.6.3",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
},
{
"identity": "swift-nio",
"name": "swift-nio",
"url": "https://github.com/apple/swift-nio.git",
"version": "2.81.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-nio",
"dependencies": [
{
"identity": "swift-atomics",
"name": "swift-atomics",
"url": "https://github.com/apple/swift-atomics.git",
"version": "1.2.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-atomics",
"dependencies": [
]
},
{
"identity": "swift-collections",
"name": "swift-collections",
"url": "https://github.com/apple/swift-collections.git",
"version": "1.1.4",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-collections",
"dependencies": [
]
},
{
"identity": "swift-system",
"name": "swift-system",
"url": "https://github.com/apple/swift-system.git",
"version": "1.4.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-system",
"dependencies": [
]
}
]
}
]
}
]
}
]
}
Fetching https://github.com/StreamUI/StreamUI.swift.git
[1/224] Fetching streamui.swift
Fetched https://github.com/StreamUI/StreamUI.swift.git from cache (0.71s)
Fetching https://github.com/stencilproject/Stencil.git from cache
Fetching https://github.com/kean/Nuke.git from cache
Fetching https://github.com/pointfreeco/swift-clocks.git from cache
Fetching https://github.com/vapor/console-kit.git from cache
Fetching https://github.com/shogo4405/HaishinKit.swift.git from cache
Fetching https://github.com/apple/swift-argument-parser.git from cache
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/vapor/console-kit.git from cache (0.54s)
Fetched https://github.com/pointfreeco/swift-clocks.git from cache (0.54s)
Fetched https://github.com/stencilproject/Stencil.git from cache (0.56s)
Fetched https://github.com/kean/Nuke.git from cache (0.56s)
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.62s)
Fetched https://github.com/shogo4405/HaishinKit.swift.git from cache (0.62s)
Fetched https://github.com/apple/swift-log.git from cache (0.62s)
Computing version for https://github.com/stencilproject/Stencil.git
Computed https://github.com/stencilproject/Stencil.git at 0.15.1 (0.04s)
Fetching https://github.com/kylef/Spectre.git from cache
Fetching https://github.com/kylef/PathKit.git from cache
Fetched https://github.com/kylef/PathKit.git from cache (0.44s)
Fetched https://github.com/kylef/Spectre.git from cache (0.44s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (0.04s)
Computing version for https://github.com/kylef/PathKit.git
Computed https://github.com/kylef/PathKit.git at 1.0.1 (0.03s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 12.8.0 (0.05s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.05s)
Computing version for https://github.com/vapor/console-kit.git
Computed https://github.com/vapor/console-kit.git at 4.15.2 (0.05s)
Fetching https://github.com/apple/swift-nio.git from cache
Fetched https://github.com/apple/swift-nio.git from cache (0.68s)
Computing version for https://github.com/pointfreeco/swift-clocks.git
Computed https://github.com/pointfreeco/swift-clocks.git at 1.0.6 (0.45s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay from cache
Fetching https://github.com/pointfreeco/swift-concurrency-extras from cache
Fetched https://github.com/pointfreeco/swift-concurrency-extras from cache (0.42s)
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (0.42s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (0.46s)
Computing version for https://github.com/pointfreeco/swift-concurrency-extras
Computed https://github.com/pointfreeco/swift-concurrency-extras at 1.3.1 (0.46s)
Computing version for https://github.com/shogo4405/HaishinKit.swift.git
Computed https://github.com/shogo4405/HaishinKit.swift.git at 1.9.8 (0.03s)
Fetching https://github.com/shogo4405/Logboard.git from cache
Fetched https://github.com/shogo4405/Logboard.git from cache (0.40s)
Computing version for https://github.com/shogo4405/Logboard.git
Computed https://github.com/shogo4405/Logboard.git at 2.5.0 (0.03s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.5.2 (0.46s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.81.0 (0.70s)
Fetching https://github.com/apple/swift-system.git from cache
Fetching https://github.com/apple/swift-collections.git from cache
Fetching https://github.com/apple/swift-atomics.git from cache
Fetched https://github.com/apple/swift-system.git from cache (0.45s)
Fetched https://github.com/apple/swift-atomics.git from cache (0.45s)
Fetched https://github.com/apple/swift-collections.git from cache (0.49s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.04s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.2 (0.45s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.03s)
Creating working copy for https://github.com/shogo4405/HaishinKit.swift.git
Working copy of https://github.com/shogo4405/HaishinKit.swift.git resolved at 1.9.8
Creating working copy for https://github.com/stencilproject/Stencil.git
Working copy of https://github.com/stencilproject/Stencil.git resolved at 0.15.1
Creating working copy for https://github.com/shogo4405/Logboard.git
Working copy of https://github.com/shogo4405/Logboard.git resolved at 2.5.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.5.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/pointfreeco/swift-clocks.git
Working copy of https://github.com/pointfreeco/swift-clocks.git resolved at 1.0.6
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.4
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
Creating working copy for https://github.com/vapor/console-kit.git
Working copy of https://github.com/vapor/console-kit.git resolved at 4.15.2
Creating working copy for https://github.com/pointfreeco/swift-concurrency-extras
Working copy of https://github.com/pointfreeco/swift-concurrency-extras resolved at 1.3.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.4.2
Creating working copy for https://github.com/kean/Nuke.git
Working copy of https://github.com/kean/Nuke.git resolved at 12.8.0
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.5.2
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.81.0
Creating working copy for https://github.com/StreamUI/StreamUI.swift.git
Working copy of https://github.com/StreamUI/StreamUI.swift.git resolved at 0.1.4 (2ebf444)
Found 7 product dependencies
- swift-argument-parser
- swift-log
- HaishinKit
- Stencil
- swift-clocks
- Nuke
- console-kit
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/StreamUI/StreamUI.swift.git
https://github.com/StreamUI/StreamUI.swift.git
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "haishinkit.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.9.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/shogo4405/HaishinKit.swift.git"
},
{
"identity" : "stencil",
"requirement" : {
"range" : [
{
"lower_bound" : "0.15.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/stencilproject/Stencil.git"
},
{
"identity" : "swift-clocks",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/swift-clocks.git"
},
{
"identity" : "nuke",
"requirement" : {
"range" : [
{
"lower_bound" : "12.7.3",
"upper_bound" : "13.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kean/Nuke.git"
},
{
"identity" : "console-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "4.14.3",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/console-kit.git"
}
],
"manifest_display_name" : "StreamUI",
"name" : "StreamUI",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "StreamUI",
"targets" : [
"StreamUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CLIExample",
"targets" : [
"CLIExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "VideoViews",
"targets" : [
"VideoViews"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GenerateTemplate",
"targets" : [
"GenerateTemplate"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "VideoViews",
"module_type" : "SwiftTarget",
"name" : "VideoViews",
"path" : "Examples/VideoViews",
"product_memberships" : [
"CLIExample",
"VideoViews"
],
"sources" : [
"BasicCounterView.swift",
"ImageTestView.swift",
"RandomSwiftUIComponentsTestView.swift",
"SceneKitTestView.swift",
"SoundTestView.swift",
"SpriteKitTestView.swift",
"VideoTestView.swift",
"WebViewTestView.swift"
],
"target_dependencies" : [
"StreamUI"
],
"type" : "library"
},
{
"c99name" : "StreamUITests",
"module_type" : "SwiftTarget",
"name" : "StreamUITests",
"path" : "Tests/StreamUITests",
"sources" : [
"StreamUITests.swift"
],
"target_dependencies" : [
"StreamUI"
],
"type" : "test"
},
{
"c99name" : "StreamUI",
"module_type" : "SwiftTarget",
"name" : "StreamUI",
"path" : "Sources/StreamUI",
"product_dependencies" : [
"HaishinKit",
"Logging",
"Clocks",
"Nuke",
"ConsoleKit"
],
"product_memberships" : [
"StreamUI",
"CLIExample",
"VideoViews"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/discord.png",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/github.png",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/x.png",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Components/Internal/HUD.swift",
"Components/Internal/SizedView.swift",
"Components/StreamingImage.swift",
"Components/StreamingLoadingIndicator.swift",
"Components/StreamingMediaPlayer.swift",
"Components/StreamingProgressView.swift",
"Components/StreamingVideoPlayer.swift",
"Extensions/AVAudioTime+Extensions.swift",
"Extensions/Duration+Extensions.swift",
"Extensions/Image+Extension.swift",
"Helpers/ControlledClock.swift",
"Helpers/FrameTimer.swift",
"Helpers/LoggerHelper.swift",
"Helpers/MetalRenderer.swift",
"Helpers/PreloadManager.swift",
"Helpers/RecorderKeys.swift",
"Helpers/RenderSettings.swift",
"Helpers/Streams/AudioStream.swift",
"Helpers/Streams/FrameStream.swift",
"Helpers/createStreamUIRecorder.swift",
"Recorders/AudioRecorder/AudioRecorder.swift",
"Recorders/Recorder.swift",
"Recorders/VideoRecorder/Extensions/createCMSampleBuffer.swift",
"Recorders/VideoRecorder/VideoRecorder.swift",
"StreamUI.swift",
"Streaming/RTMPStreaming.swift"
],
"type" : "library"
},
{
"c99name" : "GenerateTemplate",
"module_type" : "SwiftTarget",
"name" : "GenerateTemplate",
"path" : "Scripts/GenerateTemplate",
"product_dependencies" : [
"Stencil",
"ArgumentParser",
"Logging"
],
"product_memberships" : [
"GenerateTemplate"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/Package.swift.stencil",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/main.swift.stencil",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"index.swift"
],
"type" : "executable"
},
{
"c99name" : "CLIExample",
"module_type" : "SwiftTarget",
"name" : "CLIExample",
"path" : "Examples/CLIExample",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"CLIExample"
],
"sources" : [
"index.swift"
],
"target_dependencies" : [
"StreamUI",
"VideoViews"
],
"type" : "executable"
}
],
"tools_version" : "5.10"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/37] Write sources
[1/37] Copying github.png
[2/37] Write sources
[7/37] Copying x.png
[7/37] Copying discord.png
[7/37] Write sources
[12/37] Copying main.swift.stencil
[13/37] Write sources
[16/37] Copying Package.swift.stencil
[16/37] Write sources
[17/37] Write GenerateTemplate-entitlement.plist
[23/37] Write sources
[23/37] Write CLIExample-entitlement.plist
[23/37] Write sources
[27/37] Write swift-version-5BDAB9E9C0126B9D.txt
[28/126] Compiling c-nioatomics.c
[29/126] Compiling SwiftPMSupport dummy.m
[30/126] Compiling c-atomics.c
[32/132] Emitting module XCTestDynamicOverlay
[33/132] Emitting module ArgumentParserToolInfo
[34/132] Compiling ArgumentParserToolInfo ToolInfo.swift
[35/170] Compiling Logging MetadataProvider.swift
[36/170] Compiling ArgumentParser ArgumentHelp.swift
[37/170] Compiling ArgumentParser ArgumentVisibility.swift
[38/170] Compiling ArgumentParser CompletionKind.swift
[39/170] Compiling ArgumentParser Errors.swift
[40/174] Compiling ArgumentParser Flag.swift
[41/174] Compiling ArgumentParser NameSpecification.swift
[42/174] Compiling ArgumentParser Option.swift
[43/174] Compiling ArgumentParser OptionGroup.swift
[44/174] Compiling ArgumentParser Platform.swift
[45/174] Compiling ArgumentParser SequenceExtensions.swift
[46/174] Compiling ArgumentParser StringExtensions.swift
[47/174] Compiling ArgumentParser Tree.swift
[48/174] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[49/174] Compiling Logging Locks.swift
[50/174] Compiling Logging LogHandler.swift
[51/174] Emitting module Logging
[52/174] Compiling Logging Logging.swift
[53/174] Compiling NIOConcurrencyHelpers lock.swift
[54/174] Compiling ArgumentParser BashCompletionsGenerator.swift
[55/174] Compiling ArgumentParser CompletionsGenerator.swift
[56/174] Compiling ArgumentParser FishCompletionsGenerator.swift
[57/174] Compiling ArgumentParser ZshCompletionsGenerator.swift
[58/174] Compiling ArgumentParser Argument.swift
[59/174] Emitting module ArgumentParser
[60/174] Emitting module ConcurrencyExtras
[61/174] Compiling ConcurrencyExtras UncheckedSendable.swift
[62/174] Compiling NIOConcurrencyHelpers NIOLock.swift
[63/174] Emitting module NIOConcurrencyHelpers
[64/174] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[65/174] Compiling NIOConcurrencyHelpers atomics.swift
[66/201] Compiling XCTestDynamicOverlay Deprecations.swift
[67/201] Emitting module ConsoleKitTerminal
[68/203] Compiling ConsoleKitTerminal Console+Wait.swift
[69/203] Compiling ConsoleKitTerminal ConsoleColor.swift
[70/203] Compiling ConsoleKitTerminal ConsoleLogger.swift
[71/203] Compiling ConsoleKitTerminal LoggerFragment.swift
[72/203] Compiling ArgumentParser InputKey.swift
[73/203] Compiling ArgumentParser ParsableArguments.swift
[74/208] Emitting module Nuke
[75/208] Compiling ConsoleKitTerminal Console+Ask.swift
[76/208] Compiling ConsoleKitTerminal Console+Choose.swift
[77/208] Compiling ConsoleKitTerminal readpassphrase_linux.swift
[78/208] Compiling ConsoleKitTerminal AnySendableHashable.swift
[80/208] Compiling ArgumentParser ParsableArgumentsValidation.swift
[81/208] Compiling ArgumentParser ParsableCommand.swift
[82/208] Compiling ArgumentParser ArgumentDecoder.swift
[83/208] Compiling ConsoleKitTerminal ConsoleText.swift
[84/208] Compiling ConsoleKitTerminal ConsoleTextFragment.swift
[85/208] Compiling ConsoleKitTerminal Console+Output.swift
[87/208] Compiling ConsoleKitTerminal ActivityIndicatorState.swift
[88/208] Compiling ConsoleKitTerminal CustomActivity.swift
[89/208] Compiling ConsoleKitTerminal LoadingBar.swift
[90/208] Compiling ConsoleKitTerminal ConsoleStyle.swift
[91/208] Compiling ArgumentParser HelpGenerator.swift
[92/208] Compiling ArgumentParser MessageInfo.swift
[93/208] Compiling ArgumentParser UsageGenerator.swift
[94/208] Compiling ArgumentParser CollectionExtensions.swift
[99/208] Compiling ConsoleKitTerminal ConsoleClear.swift
[106/208] Compiling Nuke ImageProcessors+Circle.swift
[107/208] Compiling Nuke ImageProcessors+Composition.swift
[108/208] Compiling Nuke ImageProcessors+CoreImage.swift
[109/208] Compiling Nuke ImageProcessors+GaussianBlur.swift
[110/208] Compiling Nuke ImageProcessors+Resize.swift
[111/208] Compiling Nuke ImageProcessors+RoundedCorners.swift
[112/208] Compiling Nuke ImageProcessors.swift
[113/208] Compiling Nuke AsyncPipelineTask.swift
[114/208] Compiling Nuke AsyncTask.swift
[125/208] Compiling Logboard LBLoggerAppender.swift
[126/208] Compiling ConcurrencyExtras LockIsolated.swift
[127/208] Compiling ConcurrencyExtras MainSerialExecutor.swift
[128/208] Compiling ConcurrencyExtras Locking.swift
[129/208] Compiling ConcurrencyExtras AsyncThrowingStream.swift
[130/208] Compiling XCTestDynamicOverlay RuntimeWarnings.swift
[131/208] Compiling XCTestDynamicOverlay XCTIsTesting.swift
[132/208] Compiling XCTestDynamicOverlay GeneratePlaceholder.swift
[133/208] Compiling XCTestDynamicOverlay XCTCurrentTestCase.swift
[134/208] Compiling ConsoleKitTerminal ProgressBar.swift
[135/208] Compiling ConsoleKitTerminal Console+Clear.swift
[136/208] Compiling ConsoleKitTerminal Console+Ephemeral.swift
[137/208] Compiling ConsoleKitTerminal ActivityBar.swift
[138/208] Compiling ConsoleKitTerminal ActivityIndicator.swift
[139/208] Compiling ConsoleKitTerminal ActivityIndicatorRenderer.swift
[140/208] Compiling ConsoleKitTerminal ANSI.swift
[141/208] Compiling ConsoleKitTerminal Console.swift
[142/208] Compiling ConsoleKitTerminal Terminal.swift
[143/208] Compiling ConsoleKitTerminal Console+Confirm.swift
[144/208] Compiling ConsoleKitTerminal Console+Input.swift
[145/208] Compiling ConsoleKitTerminal Console+Center.swift
[152/208] Compiling ConcurrencyExtras Result.swift
[153/208] Compiling ConcurrencyExtras Task.swift
[154/208] Compiling Logboard LBLogger.swift
[155/208] Compiling XCTestDynamicOverlay XCTFail.swift
[156/208] Compiling Logboard ConsoleAppender.swift
[157/208] Emitting module Logboard
[158/208] Compiling Logboard LBLogger.Data.swift
[159/208] Compiling Logboard MultiAppender.swift
[160/208] Compiling XCTestDynamicOverlay Unimplemented.swift
[161/208] Compiling XCTestDynamicOverlay XCTExpectFailure.swift
[162/208] Compiling XCTestDynamicOverlay DefaultInitializable.swift
[177/208] Compiling ConcurrencyExtras ActorIsolated.swift
[178/208] Compiling ConcurrencyExtras AsyncStream.swift
[179/208] Compiling Logboard NullAppender.swift
[180/208] Compiling Logboard OSLoggerAppender.swift
[190/218] Compiling Logboard SocketAppender.swift
[194/331] Compiling HaishinKit AVCaptureDevice.Format+Extension.swift
[195/331] Compiling HaishinKit AVCaptureSession+Extension.swift
[196/331] Compiling HaishinKit AVCaptureSession.Preset+Extension.swift
[197/331] Compiling HaishinKit AVFrameRateRange+Extension.swift
[198/331] Compiling HaishinKit AVLayerVideoGravity+Extension.swift
[199/331] Compiling PathKit PathKit.swift
[200/331] Emitting module PathKit
[201/331] Compiling Clocks Lock.swift
[202/353] Compiling Clocks _AsyncTimerSequence.swift
[203/353] Compiling Clocks AnyClock.swift
[204/353] Emitting module Clocks
[205/353] Compiling Clocks ImmediateClock.swift
[206/353] Compiling Clocks Timer.swift
[207/353] Compiling Clocks UnimplementedClock.swift
[208/353] Compiling HaishinKit EventDispatcher.swift
[209/353] Compiling HaishinKit FLVFoundation.swift
[210/375] Compiling Clocks TestClock.swift
[211/375] Emitting module Stencil
[212/377] Compiling ConsoleKitCommands Commands.swift
[213/377] Compiling ConsoleKitCommands Console+Run.swift
[214/377] Compiling ConsoleKitCommands CommandGroup.swift
[217/379] Compiling ConsoleKitCommands CommandInput.swift
[218/379] Compiling ConsoleKitCommands AnyAsyncCommand.swift
[219/379] Compiling ConsoleKitCommands AsyncCommand.swift
[220/379] Compiling ConsoleKitCommands AsyncCommandGroup.swift
[221/379] Compiling ConsoleKitCommands AnyCommand.swift
[222/379] Compiling ConsoleKitCommands Flag.swift
[223/379] Compiling ConsoleKitCommands Option.swift
[224/379] Compiling ConsoleKitCommands Argument.swift
[225/379] Compiling ConsoleKitCommands AsyncCommands.swift
[226/379] Compiling ConsoleKitCommands GenerateAsyncAutocompleteCommand.swift
[227/379] Compiling ConsoleKitCommands ConsoleError.swift
[228/379] Compiling ConsoleKitCommands Completion.swift
[229/379] Compiling ConsoleKitCommands CommandSignature.swift
[230/379] Compiling ConsoleKitCommands GenerateAutocompleteCommand.swift
[231/379] Compiling ConsoleKitCommands MergedAsyncCommandGroup.swift
[232/379] Compiling ConsoleKitCommands Command.swift
[233/379] Compiling ConsoleKitCommands CommandContext.swift
[234/379] Compiling ConsoleKitCommands CommandError.swift
[235/379] Compiling ConsoleKitCommands String+LevenshteinDistance.swift
[236/379] Compiling ConsoleKitCommands Utilities.swift
[254/379] Emitting module ConsoleKitCommands
[259/381] Compiling ConsoleKit Exports.swift
[260/381] Emitting module ConsoleKit
[261/384] Compiling GenerateTemplate resource_bundle_accessor.swift
[262/384] Compiling GenerateTemplate index.swift
/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/index.swift:16:13: warning: initialization of immutable value 'templatesPath' was never used; consider replacing with assignment to '_' or removing it
14 | let currentPath = FileManager.default.currentDirectoryPath
15 |
16 | let templatesPath = currentPath + "/Scripts/GenerateTemplate/Templates"
| `- warning: initialization of immutable value 'templatesPath' was never used; consider replacing with assignment to '_' or removing it
17 |
18 | guard !FileManager.default.fileExists(atPath: productName) else {
[263/384] Emitting module GenerateTemplate
[263/384] Write Objects.LinkFileList
[264/384] Linking GenerateTemplate
[265/384] Applying GenerateTemplate
[290/384] Compiling HaishinKit AVAudioPCMBuffer+Extension.swift
[291/384] Compiling HaishinKit AVAudioTime+Extension.swift
[292/384] Compiling HaishinKit AVCaptureDevice+Extension.swift
[293/396] Compiling Clocks SwiftUI.swift
[294/396] Compiling Clocks Shims.swift
[295/396] Compiling HaishinKit RTMPStreamInfo.swift
[296/396] Compiling HaishinKit RTMPTSocket.swift
[297/396] Compiling HaishinKit RTMPTimestamp.swift
[298/396] Compiling HaishinKit Choreographer.swift
[299/396] Compiling HaishinKit Screen.swift
[300/396] Compiling HaishinKit ScreenObject.swift
[301/396] Compiling HaishinKit ScreenObjectContainer.swift
[302/396] Compiling HaishinKit ScreenRenderer.swift
[303/396] Compiling HaishinKit Shape.swift
[304/396] Compiling HaishinKit ShapeFactory.swift
[305/396] Compiling HaishinKit VideoEffect.swift
[306/396] Compiling HaishinKit VideoRotator.swift
[307/396] Compiling HaishinKit PiPHKView.swift
[308/396] Compiling HaishinKit SoundTransform.swift
[309/396] Compiling HaishinKit ADTS.swift
[310/396] Compiling HaishinKit AVCDecoderConfigurationRecord.swift
[311/396] Compiling HaishinKit AVCNALUnit.swift
[312/396] Compiling HaishinKit AudioSpecificConfig.swift
[313/396] Compiling HaishinKit CRC32.swift
[314/396] Compiling HaishinKit ESSpecificData.swift
[315/396] Compiling HaishinKit HEVCDecoderConfigurationRecord.swift
[316/396] Compiling HaishinKit HEVCNALUnit.swift
[317/396] Compiling HaishinKit ISOTypeBufferUtil.swift
[318/396] Compiling HaishinKit NALUnitReader.swift
[319/396] Compiling HaishinKit IOStreamBitRateStrategyConvertible.swift
[320/396] Compiling HaishinKit IOStreamObserver.swift
[321/396] Compiling HaishinKit IOStreamRecorder.swift
[322/396] Compiling HaishinKit IOStreamView.swift
[323/396] Compiling HaishinKit IOTellyUnit.swift
[324/396] Compiling HaishinKit IOUnit.swift
[325/396] Compiling HaishinKit IOVideoCaptureUnit.swift
[326/396] Compiling HaishinKit IOVideoMixer.swift
[327/396] Compiling HaishinKit IOVideoMixerSettings.swift
[328/396] Compiling HaishinKit IOVideoUnit.swift
[329/396] Compiling HaishinKit MTHKView.swift
[330/396] Compiling HaishinKit MediaLink.swift
[331/396] Compiling HaishinKit IOAudioMixerBySingleTrack.swift
[332/396] Compiling HaishinKit IOAudioMixerSettings.swift
[333/396] Compiling HaishinKit IOAudioMixerTrack.swift
[334/396] Compiling HaishinKit IOAudioMonitor.swift
[335/396] Compiling HaishinKit IOAudioRingBuffer.swift
[336/396] Compiling HaishinKit IOAudioTime.swift
[337/396] Compiling HaishinKit IOAudioUnit.swift
[338/396] Compiling HaishinKit IOCaptureSession.swift
[339/396] Compiling HaishinKit IOCaptureUnit.swift
[340/396] Compiling HaishinKit IOCaptureVideoPreview.swift
[341/396] Compiling HaishinKit IOMixer.swift
[342/396] Compiling HaishinKit IOMuxer.swift
[343/396] Compiling HaishinKit IOStream.swift
[344/396] Compiling HaishinKit AVAudioUtil.swift
[345/396] Compiling HaishinKit AnyUtil.swift
[346/396] Compiling HaishinKit Atomic.swift
[347/396] Compiling HaishinKit ByteArray.swift
[348/396] Compiling HaishinKit Constants.swift
[349/396] Compiling HaishinKit DataBuffer.swift
[350/396] Compiling HaishinKit DataConvertible.swift
[351/396] Compiling HaishinKit DeviceUtil.swift
[352/396] Compiling HaishinKit InstanceHolder.swift
[353/396] Compiling HaishinKit MD5.swift
[354/396] Compiling HaishinKit Running.swift
[355/396] Compiling HaishinKit TypedBlockQueue.swift
[356/396] Emitting module HaishinKit
[362/396] Compiling HaishinKit CGImage+Extension.swift
[363/396] Compiling HaishinKit CMFormatDescription+Extension.swift
[364/396] Compiling HaishinKit CMSampleBuffer+Extension.swift
[365/396] Compiling HaishinKit CMTime+Extension.swift
[366/396] Compiling HaishinKit CMVideoDimention+Extension.swift
[367/396] Compiling HaishinKit CMVideoFormatDescription+Extension.swift
[368/396] Compiling HaishinKit CVPixelBuffer+Extension.swift
[369/396] Compiling HaishinKit CVPixelBufferPool+Extension.swift
[370/396] Compiling HaishinKit PacketizedElementaryStream.swift
[371/396] Compiling HaishinKit TSField.swift
[372/396] Compiling HaishinKit TSPacket.swift
[373/396] Compiling HaishinKit TSProgram.swift
[374/396] Compiling HaishinKit TSReader.swift
[375/396] Compiling HaishinKit TSWriter.swift
[376/396] Compiling HaishinKit NetClient.swift
[377/396] Compiling HaishinKit NetService.swift
[378/396] Compiling HaishinKit NetSocket.swift
[379/396] Compiling HaishinKit AMF0Serializer.swift
[380/396] Compiling HaishinKit AMF3Serializer.swift
[381/396] Compiling HaishinKit AMFFoundation.swift
[384/396] Compiling HaishinKit RTMPChunk.swift
[385/396] Compiling HaishinKit RTMPConnection.swift
[386/396] Compiling HaishinKit RTMPHandshake.swift
[387/396] Compiling HaishinKit RTMPMessage.swift
[388/396] Compiling HaishinKit RTMPMuxer.swift
[389/396] Compiling HaishinKit RTMPNWSocket.swift
[390/396] Compiling HaishinKit RTMPObjectEncoding.swift
[391/396] Compiling HaishinKit RTMPSharedObject.swift
[392/396] Compiling HaishinKit RTMPSocketCompatible.swift
[393/396] Compiling HaishinKit RTMPStream.swift
[394/422] Compiling StreamUI Image+Extension.swift
[395/422] Compiling StreamUI ControlledClock.swift
[396/422] Compiling StreamUI FrameTimer.swift
[397/424] Compiling StreamUI StreamingLoadingIndicator.swift
[398/424] Compiling StreamUI StreamingMediaPlayer.swift
[399/424] Compiling StreamUI StreamingProgressView.swift
[400/424] Compiling StreamUI HUD.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 | }
35 | let elapsedTime = recorder.controlledClock.elapsedTime
36 | let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 | let stateEmoji = getStateEmoji(for: recorder.state)
38 | let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it
52 | """
53 |
54 | let text = "hello"
| `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it
55 |
56 | console.clear(lines: 5)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingImage.swift:50:58: warning: non-sendable type 'PlatformImage' (aka 'NSImage') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
48 |
49 | do {
50 | self.image = try await PreloadManager.shared.image(from: url)
| `- warning: non-sendable type 'PlatformImage' (aka 'NSImage') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | } catch {
52 | LoggerHelper.shared.error("Failed to preload image: \(error)")
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
[401/424] Compiling StreamUI SizedView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 | }
35 | let elapsedTime = recorder.controlledClock.elapsedTime
36 | let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 | let stateEmoji = getStateEmoji(for: recorder.state)
38 | let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it
52 | """
53 |
54 | let text = "hello"
| `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it
55 |
56 | console.clear(lines: 5)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingImage.swift:50:58: warning: non-sendable type 'PlatformImage' (aka 'NSImage') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
48 |
49 | do {
50 | self.image = try await PreloadManager.shared.image(from: url)
| `- warning: non-sendable type 'PlatformImage' (aka 'NSImage') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | } catch {
52 | LoggerHelper.shared.error("Failed to preload image: \(error)")
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
[402/424] Compiling StreamUI StreamingImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 | }
35 | let elapsedTime = recorder.controlledClock.elapsedTime
36 | let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 | let stateEmoji = getStateEmoji(for: recorder.state)
38 | let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it
52 | """
53 |
54 | let text = "hello"
| `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it
55 |
56 | console.clear(lines: 5)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingImage.swift:50:58: warning: non-sendable type 'PlatformImage' (aka 'NSImage') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
48 |
49 | do {
50 | self.image = try await PreloadManager.shared.image(from: url)
| `- warning: non-sendable type 'PlatformImage' (aka 'NSImage') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | } catch {
52 | LoggerHelper.shared.error("Failed to preload image: \(error)")
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
[403/424] Compiling StreamUI StreamingVideoPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:68:25: warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
66 |
67 | if let currentItem = player.currentItem {
68 | currentItem.add(videoOutput)
| `- warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
69 | addObservers(to: currentItem)
70 | }
AVFoundation.AVPlayerItem:3:26: note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
1 | extension AVPlayerItem {
2 | @available(macOS 10.8, *)
3 | @MainActor open func add(_ output: AVPlayerItemOutput)
| `- note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
4 | @available(macOS 10.8, *)
5 | @available(swift, obsoleted: 3, renamed: "add(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:96:13: warning: capture of 'self' with non-sendable type 'VideoFrameCaptureManager?' in a `@Sendable` closure
46 |
47 | @Observable
48 | class VideoFrameCaptureManager {
| `- note: class 'VideoFrameCaptureManager' does not conform to the 'Sendable' protocol
49 | var frame: CGImage?
50 | var videoLoaded = PassthroughSubject<Void, Never>()
:
94 | let timeInterval = CMTime(seconds: 1.0 / fps, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
95 | player.addPeriodicTimeObserver(forInterval: timeInterval, queue: .main) { [weak self] time in
96 | self?.captureCurrentFrame(at: time)
| `- warning: capture of 'self' with non-sendable type 'VideoFrameCaptureManager?' in a `@Sendable` closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:68:25: warning: sending task-isolated value of type 'AVPlayerItemVideoOutput' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
66 |
67 | if let currentItem = player.currentItem {
68 | currentItem.add(videoOutput)
| `- warning: sending task-isolated value of type 'AVPlayerItemVideoOutput' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
69 | addObservers(to: currentItem)
70 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:110:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 | if let cgImage = context.createCGImage(ciImage, from: ciImage.extent) {
109 | DispatchQueue.main.async {
110 | self.frame = cgImage
| |- 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
111 | }
112 | }
[404/424] Compiling StreamUI AVAudioTime+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:68:25: warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
66 |
67 | if let currentItem = player.currentItem {
68 | currentItem.add(videoOutput)
| `- warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
69 | addObservers(to: currentItem)
70 | }
AVFoundation.AVPlayerItem:3:26: note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
1 | extension AVPlayerItem {
2 | @available(macOS 10.8, *)
3 | @MainActor open func add(_ output: AVPlayerItemOutput)
| `- note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
4 | @available(macOS 10.8, *)
5 | @available(swift, obsoleted: 3, renamed: "add(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:96:13: warning: capture of 'self' with non-sendable type 'VideoFrameCaptureManager?' in a `@Sendable` closure
46 |
47 | @Observable
48 | class VideoFrameCaptureManager {
| `- note: class 'VideoFrameCaptureManager' does not conform to the 'Sendable' protocol
49 | var frame: CGImage?
50 | var videoLoaded = PassthroughSubject<Void, Never>()
:
94 | let timeInterval = CMTime(seconds: 1.0 / fps, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
95 | player.addPeriodicTimeObserver(forInterval: timeInterval, queue: .main) { [weak self] time in
96 | self?.captureCurrentFrame(at: time)
| `- warning: capture of 'self' with non-sendable type 'VideoFrameCaptureManager?' in a `@Sendable` closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:68:25: warning: sending task-isolated value of type 'AVPlayerItemVideoOutput' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
66 |
67 | if let currentItem = player.currentItem {
68 | currentItem.add(videoOutput)
| `- warning: sending task-isolated value of type 'AVPlayerItemVideoOutput' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
69 | addObservers(to: currentItem)
70 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:110:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 | if let cgImage = context.createCGImage(ciImage, from: ciImage.extent) {
109 | DispatchQueue.main.async {
110 | self.frame = cgImage
| |- 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
111 | }
112 | }
[405/424] Compiling StreamUI Duration+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:68:25: warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
66 |
67 | if let currentItem = player.currentItem {
68 | currentItem.add(videoOutput)
| `- warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
69 | addObservers(to: currentItem)
70 | }
AVFoundation.AVPlayerItem:3:26: note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
1 | extension AVPlayerItem {
2 | @available(macOS 10.8, *)
3 | @MainActor open func add(_ output: AVPlayerItemOutput)
| `- note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
4 | @available(macOS 10.8, *)
5 | @available(swift, obsoleted: 3, renamed: "add(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:96:13: warning: capture of 'self' with non-sendable type 'VideoFrameCaptureManager?' in a `@Sendable` closure
46 |
47 | @Observable
48 | class VideoFrameCaptureManager {
| `- note: class 'VideoFrameCaptureManager' does not conform to the 'Sendable' protocol
49 | var frame: CGImage?
50 | var videoLoaded = PassthroughSubject<Void, Never>()
:
94 | let timeInterval = CMTime(seconds: 1.0 / fps, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
95 | player.addPeriodicTimeObserver(forInterval: timeInterval, queue: .main) { [weak self] time in
96 | self?.captureCurrentFrame(at: time)
| `- warning: capture of 'self' with non-sendable type 'VideoFrameCaptureManager?' in a `@Sendable` closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:68:25: warning: sending task-isolated value of type 'AVPlayerItemVideoOutput' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
66 |
67 | if let currentItem = player.currentItem {
68 | currentItem.add(videoOutput)
| `- warning: sending task-isolated value of type 'AVPlayerItemVideoOutput' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
69 | addObservers(to: currentItem)
70 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/StreamingVideoPlayer.swift:110:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 | if let cgImage = context.createCGImage(ciImage, from: ciImage.extent) {
109 | DispatchQueue.main.async {
110 | self.frame = cgImage
| |- 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
111 | }
112 | }
[406/424] Emitting module StreamUI
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:7:5: warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| `- warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
3 | import CoreImage
4 | import CoreVideo
5 | import Metal
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| |- note: annotate 'metalDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:8:5: warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| `- warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
CoreImage.CIContext:2:12: note: class 'CIContext' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class CIContext : NSObject {
| `- note: class 'CIContext' does not conform to the 'Sendable' protocol
3 | @available(macOS, introduced: 10.6, deprecated: 10.14, message: "Core Image OpenGL API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
4 | public /*not inherited*/ init(cglContext cglctx: CGLContextObj, pixelFormat: CGLPixelFormatObj?, colorSpace: CGColorSpace?, options: [CIContextOption : Any]? = nil)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
1 |
2 |
3 | import CoreImage
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
4 | import CoreVideo
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| |- note: annotate 'ciContext' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/RecorderKeys.swift:11:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public struct RecorderKey: EnvironmentKey {
11 | public static let defaultValue: Recorder? = nil
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:8:14: note: class 'Recorder' does not conform to the 'Sendable' protocol
6 |
7 | @Observable
8 | public class Recorder {
| `- note: class 'Recorder' does not conform to the 'Sendable' protocol
9 | public enum RecordingState {
10 | case idle, recording, paused, finished
[407/424] Compiling StreamUI RTMPStreaming.swift
[408/424] Compiling StreamUI resource_bundle_accessor.swift
[409/424] Compiling StreamUI FrameStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
92 | private func processAudioSamples() async {
93 | for await audioSample in audioStream.stream {
94 | await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
| `- warning: no 'async' operations occur within 'await' expression
95 | }
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test
213 | playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 | if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
| `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test
216 | self?.addToStream(buffer, at: when.toCMTime())
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
250 | }
251 |
252 | dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
253 | }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it
241 |
242 | let channelCount = buffer.format.channelCount
243 | let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
| `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it
244 |
245 | for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
| `- warning: no calls to throwing functions occur within 'try' expression
327 | } catch {
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
329 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:84:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
82 | audioEngine.prepare()
83 | try audioEngine.start()
84 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
85 | await self.processAudioSamples()
| `- note: closure captures 'self' which is accessible to code in the current task
86 | }
87 | } catch {
[410/424] Compiling StreamUI createStreamUIRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
92 | private func processAudioSamples() async {
93 | for await audioSample in audioStream.stream {
94 | await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
| `- warning: no 'async' operations occur within 'await' expression
95 | }
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test
213 | playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 | if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
| `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test
216 | self?.addToStream(buffer, at: when.toCMTime())
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
250 | }
251 |
252 | dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
253 | }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it
241 |
242 | let channelCount = buffer.format.channelCount
243 | let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
| `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it
244 |
245 | for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
| `- warning: no calls to throwing functions occur within 'try' expression
327 | } catch {
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
329 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:84:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
82 | audioEngine.prepare()
83 | try audioEngine.start()
84 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
85 | await self.processAudioSamples()
| `- note: closure captures 'self' which is accessible to code in the current task
86 | }
87 | } catch {
[411/424] Compiling StreamUI AudioRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
92 | private func processAudioSamples() async {
93 | for await audioSample in audioStream.stream {
94 | await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
| `- warning: no 'async' operations occur within 'await' expression
95 | }
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test
213 | playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 | if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
| `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test
216 | self?.addToStream(buffer, at: when.toCMTime())
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
250 | }
251 |
252 | dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
253 | }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it
241 |
242 | let channelCount = buffer.format.channelCount
243 | let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
| `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it
244 |
245 | for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
| `- warning: no calls to throwing functions occur within 'try' expression
327 | } catch {
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
329 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:84:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
82 | audioEngine.prepare()
83 | try audioEngine.start()
84 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
85 | await self.processAudioSamples()
| `- note: closure captures 'self' which is accessible to code in the current task
86 | }
87 | } catch {
[412/424] Compiling StreamUI LoggerHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:7:5: warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| `- warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
3 | import CoreImage
4 | import CoreVideo
5 | import Metal
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| |- note: annotate 'metalDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:8:5: warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| `- warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
CoreImage.CIContext:2:12: note: class 'CIContext' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class CIContext : NSObject {
| `- note: class 'CIContext' does not conform to the 'Sendable' protocol
3 | @available(macOS, introduced: 10.6, deprecated: 10.14, message: "Core Image OpenGL API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
4 | public /*not inherited*/ init(cglContext cglctx: CGLContextObj, pixelFormat: CGLPixelFormatObj?, colorSpace: CGColorSpace?, options: [CIContextOption : Any]? = nil)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
1 |
2 |
3 | import CoreImage
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
4 | import CoreVideo
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| |- note: annotate 'ciContext' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused
31 | // Preload images using Nuke
32 | func preloadImage(from url: URL) async throws {
33 | try await imagePipeline.image(for: url)
| `- warning: result of call to 'image(for:)' is unused
34 | }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused
61 | try await preloadImage(from: url)
62 | } else {
63 | try await preloadMedia(from: url)
| `- warning: result of call to 'preloadMedia(from:)' is unused
64 | }
65 | }
[413/424] Compiling StreamUI MetalRenderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:7:5: warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| `- warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
3 | import CoreImage
4 | import CoreVideo
5 | import Metal
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| |- note: annotate 'metalDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:8:5: warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| `- warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
CoreImage.CIContext:2:12: note: class 'CIContext' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class CIContext : NSObject {
| `- note: class 'CIContext' does not conform to the 'Sendable' protocol
3 | @available(macOS, introduced: 10.6, deprecated: 10.14, message: "Core Image OpenGL API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
4 | public /*not inherited*/ init(cglContext cglctx: CGLContextObj, pixelFormat: CGLPixelFormatObj?, colorSpace: CGColorSpace?, options: [CIContextOption : Any]? = nil)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
1 |
2 |
3 | import CoreImage
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
4 | import CoreVideo
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| |- note: annotate 'ciContext' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused
31 | // Preload images using Nuke
32 | func preloadImage(from url: URL) async throws {
33 | try await imagePipeline.image(for: url)
| `- warning: result of call to 'image(for:)' is unused
34 | }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused
61 | try await preloadImage(from: url)
62 | } else {
63 | try await preloadMedia(from: url)
| `- warning: result of call to 'preloadMedia(from:)' is unused
64 | }
65 | }
[414/424] Compiling StreamUI PreloadManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:7:5: warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| `- warning: let 'metalDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
3 | import CoreImage
4 | import CoreVideo
5 | import Metal
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
| |- note: annotate 'metalDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
9 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:8:5: warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| `- warning: let 'ciContext' is not concurrency-safe because non-'Sendable' type 'CIContext' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
CoreImage.CIContext:2:12: note: class 'CIContext' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class CIContext : NSObject {
| `- note: class 'CIContext' does not conform to the 'Sendable' protocol
3 | @available(macOS, introduced: 10.6, deprecated: 10.14, message: "Core Image OpenGL API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)")
4 | public /*not inherited*/ init(cglContext cglctx: CGLContextObj, pixelFormat: CGLPixelFormatObj?, colorSpace: CGColorSpace?, options: [CIContextOption : Any]? = nil)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/MetalRenderer.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
1 |
2 |
3 | import CoreImage
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreImage'
4 | import CoreVideo
5 | import Metal
6 |
7 | let metalDevice = MTLCreateSystemDefaultDevice()
8 | let ciContext = CIContext(mtlDevice: metalDevice!, options: [.cacheIntermediates: false, .priorityRequestLow: true])
| |- note: annotate 'ciContext' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | public func pixelBufferFromCGImage(_ image: CGImage, width: Int, height: Int) -> CVPixelBuffer? {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:14:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Nuke
12 |
13 | class PreloadManager {
| `- note: class 'PreloadManager' does not conform to the 'Sendable' protocol
14 | static let shared = PreloadManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PreloadManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let imagePrefetcher: ImagePrefetcher
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused
31 | // Preload images using Nuke
32 | func preloadImage(from url: URL) async throws {
33 | try await imagePipeline.image(for: url)
| `- warning: result of call to 'image(for:)' is unused
34 | }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused
61 | try await preloadImage(from: url)
62 | } else {
63 | try await preloadMedia(from: url)
| `- warning: result of call to 'preloadMedia(from:)' is unused
64 | }
65 | }
[415/424] Compiling StreamUI RecorderKeys.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/RecorderKeys.swift:11:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public struct RecorderKey: EnvironmentKey {
11 | public static let defaultValue: Recorder? = nil
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:8:14: note: class 'Recorder' does not conform to the 'Sendable' protocol
6 |
7 | @Observable
8 | public class Recorder {
| `- note: class 'Recorder' does not conform to the 'Sendable' protocol
9 | public enum RecordingState {
10 | case idle, recording, paused, finished
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/Streams/AudioStream.swift:26:23: warning: task-isolated value of type 'AudioSample' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
24 |
25 | func enqueue(_ buffer: AVAudioPCMBuffer, withTime time: CMTime) {
26 | continuation?.yield(AudioSample(buffer: buffer, time: time))
| `- warning: task-isolated value of type 'AudioSample' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
27 | }
28 |
[416/424] Compiling StreamUI RenderSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/RecorderKeys.swift:11:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public struct RecorderKey: EnvironmentKey {
11 | public static let defaultValue: Recorder? = nil
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:8:14: note: class 'Recorder' does not conform to the 'Sendable' protocol
6 |
7 | @Observable
8 | public class Recorder {
| `- note: class 'Recorder' does not conform to the 'Sendable' protocol
9 | public enum RecordingState {
10 | case idle, recording, paused, finished
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/Streams/AudioStream.swift:26:23: warning: task-isolated value of type 'AudioSample' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
24 |
25 | func enqueue(_ buffer: AVAudioPCMBuffer, withTime time: CMTime) {
26 | continuation?.yield(AudioSample(buffer: buffer, time: time))
| `- warning: task-isolated value of type 'AudioSample' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
27 | }
28 |
[417/424] Compiling StreamUI AudioStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/RecorderKeys.swift:11:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | public struct RecorderKey: EnvironmentKey {
11 | public static let defaultValue: Recorder? = nil
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Recorder?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:8:14: note: class 'Recorder' does not conform to the 'Sendable' protocol
6 |
7 | @Observable
8 | public class Recorder {
| `- note: class 'Recorder' does not conform to the 'Sendable' protocol
9 | public enum RecordingState {
10 | case idle, recording, paused, finished
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/Streams/AudioStream.swift:26:23: warning: task-isolated value of type 'AudioSample' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
24 |
25 | func enqueue(_ buffer: AVAudioPCMBuffer, withTime time: CMTime) {
26 | continuation?.yield(AudioSample(buffer: buffer, time: time))
| `- warning: task-isolated value of type 'AudioSample' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
27 | }
28 |
[418/424] Compiling StreamUI Recorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:114:29: warning: result of call to 'render()' is unused
112 | // try await Task.sleep(for: frameDuration)
113 | }
114 | self.hud.render()
| `- warning: result of call to 'render()' is unused
115 |
116 | case .paused:
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:117:29: warning: result of call to 'render()' is unused
115 |
116 | case .paused:
117 | self.hud.render()
| `- warning: result of call to 'render()' is unused
118 | try await Task.sleep(for: frameDuration)
119 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:125:21: warning: result of call to 'render()' is unused
123 | }
124 |
125 | self.hud.render()
| `- warning: result of call to 'render()' is unused
126 | await finishRecording()
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:179:20: warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test
177 |
178 | if let outputURL = assetWriter?.outputURL, let duration = renderSettings.captureDuration {
179 | if let trimmedURL = await trimVideo(at: outputURL, to: duration) {
| `- warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test
180 | try? FileManager.default.removeItem(at: tempOutputURL)
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:252:24: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
250 | return await withCheckedContinuation { continuation in
251 | exportSession.exportAsynchronously {
252 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
253 | case .completed:
254 | continuation.resume(returning: trimmedOutputURL)
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:91:30: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
89 |
90 | private func startRecordingTask() {
91 | recordingTask = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
92 | let clock = ContinuousClock()
93 |
94 | let totalFrames = calculateTotalFrames()
| `- note: closure captures 'self' which is accessible to code in the current task
95 | let frameDuration = Duration.seconds(1) / Int(renderSettings.fps)
96 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:102:27: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 | let start = clock.now
101 |
102 | await captureFrame()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'captureFrame()' risks causing data races between main actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
103 |
104 | await controlledClock.advance(by: frameDuration)
[419/424] Compiling StreamUI createCMSampleBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:13:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Singleton Logger Helper Class
11 | class LoggerHelper {
| `- note: class 'LoggerHelper' does not conform to the 'Sendable' protocol
12 | // Shared instance
13 | static let shared = LoggerHelper()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LoggerHelper' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | // Private logger instance
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:114:29: warning: result of call to 'render()' is unused
112 | // try await Task.sleep(for: frameDuration)
113 | }
114 | self.hud.render()
| `- warning: result of call to 'render()' is unused
115 |
116 | case .paused:
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:117:29: warning: result of call to 'render()' is unused
115 |
116 | case .paused:
117 | self.hud.render()
| `- warning: result of call to 'render()' is unused
118 | try await Task.sleep(for: frameDuration)
119 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:125:21: warning: result of call to 'render()' is unused
123 | }
124 |
125 | self.hud.render()
| `- warning: result of call to 'render()' is unused
126 | await finishRecording()
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:179:20: warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test
177 |
178 | if let outputURL = assetWriter?.outputURL, let duration = renderSettings.captureDuration {
179 | if let trimmedURL = await trimVideo(at: outputURL, to: duration) {
| `- warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test
180 | try? FileManager.default.removeItem(at: tempOutputURL)
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:252:24: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
250 | return await withCheckedContinuation { continuation in
251 | exportSession.exportAsynchronously {
252 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
253 | case .completed:
254 | continuation.resume(returning: trimmedOutputURL)
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:91:30: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
89 |
90 | private func startRecordingTask() {
91 | recordingTask = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
92 | let clock = ContinuousClock()
93 |
94 | let totalFrames = calculateTotalFrames()
| `- note: closure captures 'self' which is accessible to code in the current task
95 | let frameDuration = Duration.seconds(1) / Int(renderSettings.fps)
96 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:102:27: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 | let start = clock.now
101 |
102 | await captureFrame()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'captureFrame()' risks causing data races between main actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
103 |
104 | await controlledClock.advance(by: frameDuration)
[420/424] Compiling StreamUI VideoRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:169:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
167 | .frame(width: NSScreen.main?.visibleFrame.width ?? 800 * 0.9,
168 | height: NSScreen.main?.visibleFrame.height ?? 600 * 0.9)
169 | .onChange(of: recorder.state) { recorderState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
170 | if recorderState == .finished {
171 | isVideoSaved = recorder.renderSettings.saveVideoFile
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:251:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
249 | isAnimating = state == .recording
250 | }
251 | .onChange(of: state) { newState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
252 | isAnimating = newState == .recording
253 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/VideoRecorder/VideoRecorder.swift:59:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
57 |
58 | func startProcessingQueue() {
59 | processingTask = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
60 | for await videoFrame in frameStream.stream {
| `- note: closure captures 'self' which is accessible to code in the current task
61 | guard !Task.isCancelled else { break }
62 | self.processFrame(cgImage: videoFrame.image, frameTime: videoFrame.time)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:126:56: warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
124 | recorder.stopRecording()
125 | Task {
126 | await recorder.waitForRecordingCompletion()
| |- warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self.recorder' to nonisolated instance method 'waitForRecordingCompletion()' risks causing data races between nonisolated and main actor-isolated uses
127 | }
128 | } else {
[421/424] Compiling StreamUI StreamUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:169:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
167 | .frame(width: NSScreen.main?.visibleFrame.width ?? 800 * 0.9,
168 | height: NSScreen.main?.visibleFrame.height ?? 600 * 0.9)
169 | .onChange(of: recorder.state) { recorderState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
170 | if recorderState == .finished {
171 | isVideoSaved = recorder.renderSettings.saveVideoFile
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:251:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
249 | isAnimating = state == .recording
250 | }
251 | .onChange(of: state) { newState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
252 | isAnimating = newState == .recording
253 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/VideoRecorder/VideoRecorder.swift:59:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
57 |
58 | func startProcessingQueue() {
59 | processingTask = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
60 | for await videoFrame in frameStream.stream {
| `- note: closure captures 'self' which is accessible to code in the current task
61 | guard !Task.isCancelled else { break }
62 | self.processFrame(cgImage: videoFrame.image, frameTime: videoFrame.time)
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:126:56: warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
124 | recorder.stopRecording()
125 | Task {
126 | await recorder.waitForRecordingCompletion()
| |- warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self.recorder' to nonisolated instance method 'waitForRecordingCompletion()' risks causing data races between nonisolated and main actor-isolated uses
127 | }
128 | } else {
[422/433] Compiling VideoViews WebViewTestView.swift
[423/433] Compiling VideoViews VideoTestView.swift
[424/433] Compiling VideoViews SpriteKitTestView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:237:33: warning: expression implicitly coerced from 'Int?' to 'Any'
235 |
236 | var newFrameCount: Int {
237 | print("recorder count", recorder?.frameTimer.frameCount)
| | |- note: provide a default value to avoid this warning
| | |- note: force-unwrap the value to avoid this warning
| | `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
| `- warning: expression implicitly coerced from 'Int?' to 'Any'
238 | return 10
239 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:271:38: warning: expression implicitly coerced from 'Int?' to 'Any'
269 | }
270 | .onChange(of: recorder?.frameTimer.frameCount) { newCount in
271 | print("new frame count", recorder?.frameTimer.frameCount, newCount)
| | |- note: provide a default value to avoid this warning
| | |- note: force-unwrap the value to avoid this warning
| | `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
| `- warning: expression implicitly coerced from 'Int?' to 'Any'
272 | updateCircleAnimation()
273 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:271:71: warning: expression implicitly coerced from 'Int?' to 'Any'
269 | }
270 | .onChange(of: recorder?.frameTimer.frameCount) { newCount in
271 | print("new frame count", recorder?.frameTimer.frameCount, newCount)
| |- warning: expression implicitly coerced from 'Int?' to 'Any'
| |- note: provide a default value to avoid this warning
| |- note: force-unwrap the value to avoid this warning
| `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
272 | updateCircleAnimation()
273 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:270:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
268 | }
269 | }
270 | .onChange(of: recorder?.frameTimer.frameCount) { newCount in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
271 | print("new frame count", recorder?.frameTimer.frameCount, newCount)
272 | updateCircleAnimation()
[425/433] Compiling VideoViews SceneKitTestView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:22:24: warning: call to main actor-isolated initializer 'init(frame:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 |
21 | init(size: CGSize, contentProvider: SceneKitContentProvider) {
22 | self.scnView = SCNView(frame: CGRect(origin: .zero, size: size))
| `- warning: call to main actor-isolated initializer 'init(frame:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
23 | contentProvider.setupScene(in: self.scnView)
24 | }
SceneKit.SCNView:26:23: note: calls to initializer 'init(frame:)' from outside of its actor context are implicitly asynchronous
24 | @available(macOS, introduced: 10.8, deprecated: 10.14, message: "OpenGL API deprecated, please use Metal instead. (Define SCN_SILENCE_GL_DEPRECATION to silence these warnings)")
25 | open var pixelFormat: NSOpenGLPixelFormat? { get set }
26 | @MainActor public init(frame frameRect: NSRect)
| `- note: calls to initializer 'init(frame:)' from outside of its actor context are implicitly asynchronous
27 | public init?(coder: NSCoder)
28 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:28:26: warning: expression implicitly coerced from 'NSImage?' to 'Any'
26 | func updateSnapshot() {
27 | self.snapshotImage = self.scnView.snapshot()
28 | print("snapper", self.snapshotImage)
| | |- note: provide a default value to avoid this warning
| | |- note: force-unwrap the value to avoid this warning
| | `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
| `- warning: expression implicitly coerced from 'NSImage?' to 'Any'
29 | self.frameCount += 1
30 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:27:43: warning: call to main actor-isolated instance method 'snapshot()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
24 | }
25 |
26 | func updateSnapshot() {
| `- note: add '@MainActor' to make instance method 'updateSnapshot()' part of global actor 'MainActor'
27 | self.snapshotImage = self.scnView.snapshot()
| `- warning: call to main actor-isolated instance method 'snapshot()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
28 | print("snapper", self.snapshotImage)
29 | self.frameCount += 1
SceneKit.SCNView:12:15: note: calls to instance method 'snapshot()' from outside of its actor context are implicitly asynchronous
10 | open var defaultCameraController: SCNCameraController { get }
11 | @available(macOS 10.10, *)
12 | open func snapshot() -> NSImage
| `- note: calls to instance method 'snapshot()' from outside of its actor context are implicitly asynchronous
13 | @IBAction open func play(_ sender: Any?)
14 | @IBAction open func pause(_ sender: Any?)
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:56:17: warning: main actor-isolated property 'renderer' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
32 |
33 | struct SceneKitSnapshotView: View {
34 | @StateObject private var renderer: SceneKitRenderer
| `- note: property declared here
35 | @State private var timer: Timer?
36 |
:
54 | timer = Timer.scheduledTimer(withTimeInterval: 1.0 / 30.0, repeats: true) { _ in
55 | print("Timer fired")
56 | renderer.updateSnapshot()
| `- warning: main actor-isolated property 'renderer' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
57 | }
58 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:91:14: warning: main actor-isolated property 'scene' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
64 |
65 | struct ChildSceneKitView: SceneKitContentProvider {
66 | func setupScene(in view: SCNView) {
| `- note: add '@MainActor' to make instance method 'setupScene(in:)' part of global actor 'MainActor'
67 | let scene = SCNScene()
68 |
:
89 | ballNode.addAnimation(animation, forKey: "position")
90 |
91 | view.scene = scene
| `- warning: main actor-isolated property 'scene' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
92 | view.allowsCameraControl = true
93 | view.autoenablesDefaultLighting = true
SceneKit.SCNView:3:14: note: mutation of this property is only permitted within the actor
1 | @MainActor open class SCNView : NSView, SCNSceneRenderer, SCNTechniqueSupport {
2 | @MainActor public init(frame: NSRect, options: [String : Any]? = nil)
3 | open var scene: SCNScene? { get set }
| `- note: mutation of this property is only permitted within the actor
4 | open var rendersContinuously: Bool { get set }
5 | @NSCopying open var backgroundColor: NSColor { get set }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:92:14: warning: main actor-isolated property 'allowsCameraControl' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
64 |
65 | struct ChildSceneKitView: SceneKitContentProvider {
66 | func setupScene(in view: SCNView) {
| `- note: add '@MainActor' to make instance method 'setupScene(in:)' part of global actor 'MainActor'
67 | let scene = SCNScene()
68 |
:
90 |
91 | view.scene = scene
92 | view.allowsCameraControl = true
| `- warning: main actor-isolated property 'allowsCameraControl' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
93 | view.autoenablesDefaultLighting = true
94 | view.backgroundColor = .black
SceneKit.SCNView:6:14: note: mutation of this property is only permitted within the actor
4 | open var rendersContinuously: Bool { get set }
5 | @NSCopying open var backgroundColor: NSColor { get set }
6 | open var allowsCameraControl: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
7 | @available(macOS 10.13, *)
8 | open var cameraControlConfiguration: any SCNCameraControlConfiguration { get }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:93:14: warning: main actor-isolated property 'autoenablesDefaultLighting' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
64 |
65 | struct ChildSceneKitView: SceneKitContentProvider {
66 | func setupScene(in view: SCNView) {
| `- note: add '@MainActor' to make instance method 'setupScene(in:)' part of global actor 'MainActor'
67 | let scene = SCNScene()
68 |
:
91 | view.scene = scene
92 | view.allowsCameraControl = true
93 | view.autoenablesDefaultLighting = true
| `- warning: main actor-isolated property 'autoenablesDefaultLighting' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
94 | view.backgroundColor = .black
95 | }
SceneKit.SCNView:35:14: note: mutation of this property is only permitted within the actor
33 | open var loops: Bool { get set }
34 | open var pointOfView: SCNNode? { get set }
35 | open var autoenablesDefaultLighting: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
36 | open var isJitteringEnabled: Bool { get set }
37 | @available(macOS 10.15, *)
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:94:14: warning: main actor-isolated property 'backgroundColor' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
64 |
65 | struct ChildSceneKitView: SceneKitContentProvider {
66 | func setupScene(in view: SCNView) {
| `- note: add '@MainActor' to make instance method 'setupScene(in:)' part of global actor 'MainActor'
67 | let scene = SCNScene()
68 |
:
92 | view.allowsCameraControl = true
93 | view.autoenablesDefaultLighting = true
94 | view.backgroundColor = .black
| `- warning: main actor-isolated property 'backgroundColor' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
95 | }
96 | }
SceneKit.SCNView:5:25: note: mutation of this property is only permitted within the actor
3 | open var scene: SCNScene? { get set }
4 | open var rendersContinuously: Bool { get set }
5 | @NSCopying open var backgroundColor: NSColor { get set }
| `- note: mutation of this property is only permitted within the actor
6 | open var allowsCameraControl: Bool { get set }
7 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:317:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
315 | Text("Frame: \(recorder?.frameTimer.frameCount ?? 0)")
316 | }
317 | .onChange(of: recorder?.frameTimer.frameCount) { _ in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead.
318 | updateBallPosition()
319 | }
[426/433] Compiling VideoViews SoundTestView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SoundTestView.swift:30:37: warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
28 | Task {
29 | print("going to load")
30 | try await recorder?.loadAudio(from: shortAudioURL)
| |- warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self.recorder' to nonisolated instance method 'loadAudio(from:)' risks causing data races between nonisolated and main actor-isolated uses
31 | try await recorder?.loadAudio(from: bonusAudioURL)
32 | print("loaded audio")
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SoundTestView.swift:31:37: warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
29 | print("going to load")
30 | try await recorder?.loadAudio(from: shortAudioURL)
31 | try await recorder?.loadAudio(from: bonusAudioURL)
| |- warning: sending 'self.recorder' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self.recorder' to nonisolated instance method 'loadAudio(from:)' risks causing data races between nonisolated and main actor-isolated uses
32 | print("loaded audio")
33 |
[427/433] Compiling VideoViews RandomSwiftUIComponentsTestView.swift
[428/433] Compiling VideoViews ImageTestView.swift
[429/433] Compiling VideoViews BasicCounterView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/BasicCounterView.swift:29:30: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
27 | .padding()
28 |
29 | Text("Counter: \(recorder?.controlledClock.elapsedTime)")
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
30 | .font(.largeTitle)
31 | .foregroundColor(.green)
[430/433] Emitting module VideoViews
[431/435] Emitting module CLIExample
[432/435] Compiling CLIExample index.swift
[432/435] Write Objects.LinkFileList
[433/435] Linking CLIExample
[434/435] Applying CLIExample
Build complete! (73.96s)
warning: 'haishinkit.swift': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/HaishinKit.swift/Sources/SwiftPMSupport/dummy.m
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "haishinkit.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.9.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/shogo4405/HaishinKit.swift.git"
},
{
"identity" : "stencil",
"requirement" : {
"range" : [
{
"lower_bound" : "0.15.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/stencilproject/Stencil.git"
},
{
"identity" : "swift-clocks",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/swift-clocks.git"
},
{
"identity" : "nuke",
"requirement" : {
"range" : [
{
"lower_bound" : "12.7.3",
"upper_bound" : "13.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kean/Nuke.git"
},
{
"identity" : "console-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "4.14.3",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/console-kit.git"
}
],
"manifest_display_name" : "StreamUI",
"name" : "StreamUI",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "StreamUI",
"targets" : [
"StreamUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CLIExample",
"targets" : [
"CLIExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "VideoViews",
"targets" : [
"VideoViews"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GenerateTemplate",
"targets" : [
"GenerateTemplate"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "VideoViews",
"module_type" : "SwiftTarget",
"name" : "VideoViews",
"path" : "Examples/VideoViews",
"product_memberships" : [
"CLIExample",
"VideoViews"
],
"sources" : [
"BasicCounterView.swift",
"ImageTestView.swift",
"RandomSwiftUIComponentsTestView.swift",
"SceneKitTestView.swift",
"SoundTestView.swift",
"SpriteKitTestView.swift",
"VideoTestView.swift",
"WebViewTestView.swift"
],
"target_dependencies" : [
"StreamUI"
],
"type" : "library"
},
{
"c99name" : "StreamUITests",
"module_type" : "SwiftTarget",
"name" : "StreamUITests",
"path" : "Tests/StreamUITests",
"sources" : [
"StreamUITests.swift"
],
"target_dependencies" : [
"StreamUI"
],
"type" : "test"
},
{
"c99name" : "StreamUI",
"module_type" : "SwiftTarget",
"name" : "StreamUI",
"path" : "Sources/StreamUI",
"product_dependencies" : [
"HaishinKit",
"Logging",
"Clocks",
"Nuke",
"ConsoleKit"
],
"product_memberships" : [
"StreamUI",
"CLIExample",
"VideoViews"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/discord.png",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/github.png",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/x.png",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Components/Internal/HUD.swift",
"Components/Internal/SizedView.swift",
"Components/StreamingImage.swift",
"Components/StreamingLoadingIndicator.swift",
"Components/StreamingMediaPlayer.swift",
"Components/StreamingProgressView.swift",
"Components/StreamingVideoPlayer.swift",
"Extensions/AVAudioTime+Extensions.swift",
"Extensions/Duration+Extensions.swift",
"Extensions/Image+Extension.swift",
"Helpers/ControlledClock.swift",
"Helpers/FrameTimer.swift",
"Helpers/LoggerHelper.swift",
"Helpers/MetalRenderer.swift",
"Helpers/PreloadManager.swift",
"Helpers/RecorderKeys.swift",
"Helpers/RenderSettings.swift",
"Helpers/Streams/AudioStream.swift",
"Helpers/Streams/FrameStream.swift",
"Helpers/createStreamUIRecorder.swift",
"Recorders/AudioRecorder/AudioRecorder.swift",
"Recorders/Recorder.swift",
"Recorders/VideoRecorder/Extensions/createCMSampleBuffer.swift",
"Recorders/VideoRecorder/VideoRecorder.swift",
"StreamUI.swift",
"Streaming/RTMPStreaming.swift"
],
"type" : "library"
},
{
"c99name" : "GenerateTemplate",
"module_type" : "SwiftTarget",
"name" : "GenerateTemplate",
"path" : "Scripts/GenerateTemplate",
"product_dependencies" : [
"Stencil",
"ArgumentParser",
"Logging"
],
"product_memberships" : [
"GenerateTemplate"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/Package.swift.stencil",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/main.swift.stencil",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"index.swift"
],
"type" : "executable"
},
{
"c99name" : "CLIExample",
"module_type" : "SwiftTarget",
"name" : "CLIExample",
"path" : "Examples/CLIExample",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"CLIExample"
],
"sources" : [
"index.swift"
],
"target_dependencies" : [
"StreamUI",
"VideoViews"
],
"type" : "executable"
}
],
"tools_version" : "5.10"
}
Done.