Build Information
Successful build of StreamUI, reference master (a83f11
), with Swift 6.0 for macOS (SPM) on 17 Apr 2025 07:38:01 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: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/StreamUI/StreamUI.swift
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at a83f117 Update README.md
Cloned https://github.com/StreamUI/StreamUI.swift.git
Revision (git rev-parse @):
a83f117fd247b503acb233eb92a8d9ce9b55962f
SUCCESS checkout https://github.com/StreamUI/StreamUI.swift.git at master
Fetching https://github.com/kean/Nuke.git
Fetching https://github.com/pointfreeco/swift-concurrency-extras
Fetching https://github.com/shogo4405/Logboard.git
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/vapor/console-kit.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/kylef/PathKit.git
[9/852] Fetching swift-concurrency-extras
[70/2412] Fetching swift-concurrency-extras, logboard
[133/4117] Fetching swift-concurrency-extras, logboard, swift-atomics
[334/5528] Fetching swift-concurrency-extras, logboard, swift-atomics, pathkit
[518/21554] Fetching swift-concurrency-extras, logboard, swift-atomics, pathkit, swift-collections
[1533/27039] Fetching swift-concurrency-extras, logboard, swift-atomics, pathkit, swift-collections, console-kit
[1864/52977] Fetching swift-concurrency-extras, logboard, swift-atomics, pathkit, swift-collections, console-kit, nuke
Fetched https://github.com/apple/swift-collections.git from cache (1.75s)
[32023/36951] Fetching swift-concurrency-extras, logboard, swift-atomics, pathkit, console-kit, nuke
Fetching https://github.com/apple/swift-nio.git
Fetched https://github.com/kean/Nuke.git from cache (2.07s)
Fetched https://github.com/kylef/PathKit.git from cache (2.07s)
Fetched https://github.com/apple/swift-atomics.git from cache (2.07s)
Fetched https://github.com/vapor/console-kit.git from cache (2.07s)
Fetched https://github.com/shogo4405/Logboard.git from cache (2.07s)
Fetched https://github.com/pointfreeco/swift-concurrency-extras from cache (2.07s)
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/shogo4405/HaishinKit.swift.git
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/kylef/Spectre.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/stencilproject/Stencil.git
[1/4241] Fetching swift-system
[44/8073] Fetching swift-system, swift-log
[201/83396] Fetching swift-system, swift-log, swift-nio
[279/84417] Fetching swift-system, swift-log, swift-nio, spectre
[990/89710] Fetching swift-system, swift-log, swift-nio, spectre, stencil
[1791/104552] Fetching swift-system, swift-log, swift-nio, spectre, stencil, swift-argument-parser
[1845/141577] Fetching swift-system, swift-log, swift-nio, spectre, stencil, swift-argument-parser, haishinkit.swift
Fetched https://github.com/apple/swift-system.git from cache (1.03s)
[21217/137336] Fetching swift-log, swift-nio, spectre, stencil, swift-argument-parser, haishinkit.swift
Fetching https://github.com/pointfreeco/swift-clocks.git
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.45s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
[62822/122494] Fetching swift-log, swift-nio, spectre, stencil, haishinkit.swift
[66207/123786] Fetching swift-log, swift-nio, spectre, stencil, haishinkit.swift, swift-clocks
Fetched https://github.com/pointfreeco/swift-clocks.git from cache (0.91s)
[73992/122494] Fetching swift-log, swift-nio, spectre, stencil, haishinkit.swift
[86442/127843] Fetching swift-log, swift-nio, spectre, stencil, haishinkit.swift, xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.20s)
[99169/122494] Fetching swift-log, swift-nio, spectre, stencil, haishinkit.swift
Fetched https://github.com/apple/swift-nio.git from cache (3.37s)
[35694/47171] Fetching swift-log, spectre, stencil, haishinkit.swift
Fetched https://github.com/stencilproject/Stencil.git from cache (3.98s)
Fetched https://github.com/kylef/Spectre.git from cache (3.98s)
Fetched https://github.com/shogo4405/HaishinKit.swift.git from cache (3.98s)
Fetched https://github.com/apple/swift-log.git from cache (3.98s)
Computing version for https://github.com/vapor/console-kit.git
Computed https://github.com/vapor/console-kit.git at 4.14.3 (0.50s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 12.7.3 (0.49s)
Computing version for https://github.com/pointfreeco/swift-clocks.git
Computed https://github.com/pointfreeco/swift-clocks.git at 1.0.2 (3.49s)
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.48s)
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.58s)
Computing version for https://github.com/pointfreeco/swift-concurrency-extras
Computed https://github.com/pointfreeco/swift-concurrency-extras at 1.1.0 (0.58s)
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.52s)
Computing version for https://github.com/shogo4405/Logboard.git
Computed https://github.com/shogo4405/Logboard.git at 2.5.0 (0.45s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.3.1 (0.45s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.1 (0.68s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.48s)
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/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
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/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/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/kean/Nuke.git
Working copy of https://github.com/kean/Nuke.git resolved at 12.7.3
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/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/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/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/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-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.1
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/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
========================================
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
[3/224] Fetching streamui.swift
Fetched https://github.com/StreamUI/StreamUI.swift.git from cache (0.76s)
Fetching https://github.com/kean/Nuke.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/pointfreeco/swift-clocks.git from cache
Fetching https://github.com/stencilproject/Stencil.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/apple/swift-argument-parser.git from cache (0.60s)
Fetched https://github.com/apple/swift-log.git from cache (0.60s)
Fetched https://github.com/kean/Nuke.git from cache (0.60s)
Fetched https://github.com/vapor/console-kit.git from cache (0.60s)
Fetched https://github.com/shogo4405/HaishinKit.swift.git from cache (0.60s)
Fetched https://github.com/pointfreeco/swift-clocks.git from cache (0.60s)
Fetched https://github.com/stencilproject/Stencil.git from cache (0.60s)
Computing version for https://github.com/stencilproject/Stencil.git
Computed https://github.com/stencilproject/Stencil.git at 0.15.1 (0.03s)
Fetching https://github.com/kylef/PathKit.git from cache
Fetching https://github.com/kylef/Spectre.git from cache
Fetched https://github.com/kylef/Spectre.git from cache (0.45s)
Fetched https://github.com/kylef/PathKit.git from cache (0.45s)
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.04s)
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.04s)
Computing version for https://github.com/vapor/console-kit.git
Computed https://github.com/vapor/console-kit.git at 4.15.2 (0.04s)
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.43s)
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/xctest-dynamic-overlay from cache (0.48s)
Fetched https://github.com/pointfreeco/swift-concurrency-extras from cache (0.48s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (0.42s)
Computing version for https://github.com/pointfreeco/swift-concurrency-extras
Computed https://github.com/pointfreeco/swift-concurrency-extras at 1.3.1 (0.43s)
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.44s)
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.44s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.81.0 (0.66s)
Fetching https://github.com/apple/swift-atomics.git from cache
Fetching https://github.com/apple/swift-system.git from cache
Fetching https://github.com/apple/swift-collections.git from cache
Fetched https://github.com/apple/swift-atomics.git from cache (0.52s)
Fetched https://github.com/apple/swift-system.git from cache (0.52s)
Fetched https://github.com/apple/swift-collections.git from cache (0.52s)
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.42s)
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/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/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/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/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/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/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
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/shogo4405/Logboard.git
Working copy of https://github.com/shogo4405/Logboard.git resolved at 2.5.0
Creating working copy for https://github.com/StreamUI/StreamUI.swift.git
Working copy of https://github.com/StreamUI/StreamUI.swift.git resolved at master (a83f117)
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-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
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/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/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/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
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
[4/37] Copying discord.png
[4/37] Copying github.png
[4/37] Copying x.png
[4/37] Copying Package.swift.stencil
[4/37] Write sources
[5/37] Copying main.swift.stencil
[6/37] Write sources
[18/37] Write GenerateTemplate-entitlement.plist
[18/37] Write sources
[25/37] Write CLIExample-entitlement.plist
[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] Compiling ArgumentParserToolInfo ToolInfo.swift
[33/132] Emitting module ArgumentParserToolInfo
[34/170] Compiling Logging MetadataProvider.swift
[35/170] Compiling Logging Locks.swift
[36/170] Emitting module Logging
[37/170] Compiling Logging Logging.swift
[38/170] Compiling Logging LogHandler.swift
[39/170] Compiling ArgumentParser ParsableArguments.swift
[40/170] Compiling ArgumentParser ParsableArgumentsValidation.swift
[41/170] Compiling ArgumentParser ParsableCommand.swift
[42/170] Compiling ArgumentParser ArgumentDecoder.swift
[43/174] Emitting module ConcurrencyExtras
[44/174] Compiling ConcurrencyExtras UncheckedSendable.swift
[45/174] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[46/174] Compiling NIOConcurrencyHelpers NIOLock.swift
[47/174] Compiling NIOConcurrencyHelpers lock.swift
[48/174] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[49/174] Emitting module NIOConcurrencyHelpers
[50/174] Compiling NIOConcurrencyHelpers atomics.swift
[51/201] Compiling ArgumentParser Platform.swift
[52/201] Compiling ArgumentParser SequenceExtensions.swift
[53/201] Compiling ArgumentParser StringExtensions.swift
[54/201] Compiling ArgumentParser Tree.swift
[55/201] Emitting module ConsoleKitTerminal
[56/203] Compiling ConsoleKitTerminal Console+Confirm.swift
[57/203] Compiling ConsoleKitTerminal Console+Input.swift
[58/203] Compiling ConsoleKitTerminal Console+Center.swift
[59/203] Compiling ConsoleKitTerminal ConsoleClear.swift
[60/203] Compiling ConsoleKitTerminal Console+Ask.swift
[61/203] Compiling ConsoleKitTerminal Console+Choose.swift
[62/203] Compiling ConsoleKitTerminal readpassphrase_linux.swift
[63/203] Compiling ConsoleKitTerminal AnySendableHashable.swift
[64/203] Compiling ConsoleKitTerminal ProgressBar.swift
[65/203] Compiling ConsoleKitTerminal Console+Clear.swift
[66/203] Compiling ConsoleKitTerminal Console+Ephemeral.swift
[67/203] Emitting module PathKit
[68/203] Compiling PathKit PathKit.swift
[69/225] Compiling ConsoleKitTerminal ConsoleLogger.swift
[70/225] Compiling ConsoleKitTerminal LoggerFragment.swift
[75/225] Compiling ArgumentParser OptionGroup.swift
[76/225] Compiling ArgumentParser ParserError.swift
[77/230] Compiling Stencil Inheritance.swift
[78/230] Compiling Stencil KeyPath.swift
[79/232] Compiling Stencil Context.swift
[80/232] Compiling Stencil DynamicMemberLookup.swift
[81/232] Compiling Stencil Environment.swift
[82/232] Compiling Stencil FilterTag.swift
[83/232] Compiling Stencil Filters.swift
[84/232] Compiling Stencil ForTag.swift
[85/232] Compiling Nuke ImageProcessors+Resize.swift
[86/232] Compiling Nuke ImageProcessors+RoundedCorners.swift
[87/232] Compiling Nuke ImageProcessors.swift
[88/232] Compiling Nuke AsyncPipelineTask.swift
[89/232] Compiling Nuke AsyncTask.swift
[90/232] Compiling Stencil Lexer.swift
[91/232] Compiling Stencil Loader.swift
[92/232] Compiling Stencil Node.swift
[93/232] Compiling Stencil TrimBehaviour.swift
[94/232] Compiling Stencil Variable.swift
[96/232] Compiling ArgumentParser SplitArguments.swift
[97/232] Compiling ArgumentParser DumpHelpGenerator.swift
[98/232] Compiling ArgumentParser HelpCommand.swift
[102/232] Compiling Nuke ImageProcessors+Circle.swift
[103/232] Compiling Nuke ImageProcessors+Composition.swift
[104/232] Compiling Nuke ImageProcessors+CoreImage.swift
[105/232] Compiling Nuke ImageProcessors+GaussianBlur.swift
[111/232] Compiling Stencil LazyValueWrapper.swift
[115/232] Compiling Stencil IfTag.swift
[116/232] Compiling Stencil Include.swift
[133/232] Compiling Stencil Errors.swift
[134/232] Compiling Stencil Expression.swift
[135/232] Compiling Stencil Extension.swift
[136/232] Compiling Stencil Template.swift
[137/232] Compiling Stencil Tokenizer.swift
[138/232] Emitting module Stencil
[139/232] Emitting module ArgumentParser
[145/232] Compiling Stencil NowTag.swift
[146/232] Compiling Stencil Parser.swift
[169/232] Emitting module Nuke
[170/232] Compiling ConcurrencyExtras MainSerialExecutor.swift
[179/232] Compiling Logboard NullAppender.swift
[180/232] Compiling XCTestDynamicOverlay XCTIsTesting.swift
[181/232] Compiling ConcurrencyExtras Locking.swift
[182/232] Compiling ConcurrencyExtras LockIsolated.swift
[183/232] Compiling ConcurrencyExtras AsyncThrowingStream.swift
[184/232] Compiling Logboard MultiAppender.swift
[185/232] Compiling Logboard LBLoggerAppender.swift
[186/232] Compiling XCTestDynamicOverlay XCTFail.swift
[189/232] Compiling ConcurrencyExtras ActorIsolated.swift
[190/232] Compiling ConcurrencyExtras AsyncStream.swift
[191/232] Compiling Logboard LBLogger.Data.swift
[192/232] Compiling Logboard LBLogger.swift
[193/232] Compiling Logboard ConsoleAppender.swift
[194/232] Emitting module Logboard
[195/232] Compiling ConcurrencyExtras Result.swift
[196/232] Compiling ConcurrencyExtras Task.swift
[203/235] Compiling XCTestDynamicOverlay Unimplemented.swift
[204/235] Compiling XCTestDynamicOverlay RuntimeWarnings.swift
[205/235] Compiling XCTestDynamicOverlay XCTCurrentTestCase.swift
[206/235] Compiling XCTestDynamicOverlay Deprecations.swift
[207/235] Compiling XCTestDynamicOverlay GeneratePlaceholder.swift
[208/235] Emitting module XCTestDynamicOverlay
[209/235] Compiling XCTestDynamicOverlay XCTExpectFailure.swift
[210/235] Compiling XCTestDynamicOverlay DefaultInitializable.swift
[211/245] Compiling Logboard SocketAppender.swift
[212/245] Compiling Logboard OSLoggerAppender.swift
[213/358] Compiling HaishinKit VTSessionConvertible.swift
[214/358] Compiling HaishinKit VTSessionMode.swift
[215/358] Compiling HaishinKit VTSessionOption.swift
[216/358] Compiling HaishinKit AudioCodec.swift
[217/358] Compiling HaishinKit AudioCodecSettings.swift
[218/358] Compiling HaishinKit Codec.swift
[219/358] Compiling HaishinKit VTSessionOptionKey.swift
[220/358] Compiling HaishinKit VideoCodec.swift
[221/358] Compiling HaishinKit VideoCodecSettings.swift
[222/358] Compiling HaishinKit NALUnitReader.swift
[223/358] Compiling HaishinKit RTMPStreamInfo.swift
[224/358] Compiling HaishinKit RTMPTSocket.swift
[225/358] Compiling HaishinKit RTMPTimestamp.swift
[226/358] Compiling HaishinKit Choreographer.swift
[227/380] Compiling Clocks AnyClock.swift
[228/380] Compiling Clocks Timer.swift
[229/380] Compiling Clocks UnimplementedClock.swift
[230/380] Compiling Clocks TestClock.swift
[231/380] Compiling Clocks ImmediateClock.swift
[232/380] Emitting module ConsoleKitCommands
[233/382] Compiling ConsoleKitCommands CommandGroup.swift
[234/382] Compiling ConsoleKitCommands CommandInput.swift
[235/382] Compiling ConsoleKitCommands Commands.swift
[236/382] Compiling ConsoleKitCommands Console+Run.swift
[237/382] Compiling ConsoleKitCommands AsyncCommands.swift
[238/382] Compiling ConsoleKitCommands GenerateAsyncAutocompleteCommand.swift
[239/382] Compiling ConsoleKitCommands AnyCommand.swift
[240/382] Compiling ConsoleKitCommands GenerateAutocompleteCommand.swift
[241/382] Compiling ConsoleKitCommands MergedAsyncCommandGroup.swift
[242/382] Compiling ConsoleKitCommands Argument.swift
[243/382] Compiling ConsoleKitCommands CommandSignature.swift
[244/382] Compiling ConsoleKitCommands Flag.swift
[245/382] Compiling ConsoleKitCommands Option.swift
[246/382] Compiling ConsoleKitCommands Command.swift
[247/382] Compiling ConsoleKitCommands CommandContext.swift
[248/382] Compiling ConsoleKitCommands CommandError.swift
[249/382] Compiling ConsoleKitCommands String+LevenshteinDistance.swift
[250/382] Compiling ConsoleKitCommands Utilities.swift
[251/382] Compiling ConsoleKitCommands AnyAsyncCommand.swift
[252/382] Compiling ConsoleKitCommands AsyncCommand.swift
[253/382] Compiling ConsoleKitCommands AsyncCommandGroup.swift
[254/382] Compiling ConsoleKitCommands ConsoleError.swift
[255/382] Compiling ConsoleKitCommands Completion.swift
[256/384] Emitting module ConsoleKit
[257/384] Compiling ConsoleKit Exports.swift
[258/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 {
[259/384] Compiling GenerateTemplate resource_bundle_accessor.swift
[260/384] Emitting module GenerateTemplate
[260/384] Write Objects.LinkFileList
[261/384] Linking GenerateTemplate
[262/384] Applying GenerateTemplate
[264/384] Compiling HaishinKit PiPHKView.swift
[265/384] Compiling HaishinKit SoundTransform.swift
[266/384] Compiling HaishinKit ADTS.swift
[267/384] Compiling HaishinKit AVCDecoderConfigurationRecord.swift
[268/384] Compiling HaishinKit AVCNALUnit.swift
[269/384] Compiling HaishinKit AudioSpecificConfig.swift
[270/384] Compiling HaishinKit CRC32.swift
[271/384] Compiling HaishinKit ESSpecificData.swift
[272/384] Compiling HaishinKit HEVCDecoderConfigurationRecord.swift
[273/384] Compiling HaishinKit HEVCNALUnit.swift
[274/384] Compiling HaishinKit ISOTypeBufferUtil.swift
[276/396] Compiling Clocks _AsyncTimerSequence.swift
[277/396] Emitting module Clocks
[278/396] Compiling Clocks Shims.swift
[279/396] Compiling Clocks SwiftUI.swift
[280/396] Compiling Clocks Lock.swift
[291/396] Compiling HaishinKit CMVideoFormatDescription+Extension.swift
[292/396] Compiling HaishinKit CVPixelBuffer+Extension.swift
[293/396] Compiling HaishinKit CVPixelBufferPool+Extension.swift
[311/396] Compiling HaishinKit Screen.swift
[312/396] Compiling HaishinKit ScreenObject.swift
[313/396] Compiling HaishinKit ScreenObjectContainer.swift
[314/396] Compiling HaishinKit ScreenRenderer.swift
[315/396] Compiling HaishinKit Shape.swift
[316/396] Compiling HaishinKit ShapeFactory.swift
[317/396] Compiling HaishinKit VideoEffect.swift
[318/396] Compiling HaishinKit VideoRotator.swift
[319/396] Compiling HaishinKit IOAudioMixerBySingleTrack.swift
[320/396] Compiling HaishinKit IOAudioMixerSettings.swift
[321/396] Compiling HaishinKit IOAudioMixerTrack.swift
[322/396] Compiling HaishinKit IOAudioMonitor.swift
[323/396] Compiling HaishinKit IOAudioRingBuffer.swift
[324/396] Compiling HaishinKit IOAudioTime.swift
[325/396] Compiling HaishinKit IOAudioUnit.swift
[326/396] Compiling HaishinKit IOCaptureSession.swift
[327/396] Compiling HaishinKit IOCaptureUnit.swift
[328/396] Compiling HaishinKit IOCaptureVideoPreview.swift
[329/396] Compiling HaishinKit IOMixer.swift
[330/396] Compiling HaishinKit IOMuxer.swift
[331/396] Compiling HaishinKit IOStream.swift
[332/396] Compiling HaishinKit AVAudioUtil.swift
[333/396] Compiling HaishinKit AnyUtil.swift
[334/396] Compiling HaishinKit Atomic.swift
[335/396] Compiling HaishinKit ByteArray.swift
[336/396] Compiling HaishinKit Constants.swift
[337/396] Compiling HaishinKit DataBuffer.swift
[338/396] Compiling HaishinKit DataConvertible.swift
[339/396] Compiling HaishinKit DeviceUtil.swift
[340/396] Compiling HaishinKit InstanceHolder.swift
[341/396] Compiling HaishinKit MD5.swift
[342/396] Compiling HaishinKit Running.swift
[343/396] Compiling HaishinKit TypedBlockQueue.swift
[344/396] Emitting module HaishinKit
[345/396] Compiling HaishinKit PacketizedElementaryStream.swift
[346/396] Compiling HaishinKit TSField.swift
[347/396] Compiling HaishinKit TSPacket.swift
[348/396] Compiling HaishinKit TSProgram.swift
[349/396] Compiling HaishinKit TSReader.swift
[350/396] Compiling HaishinKit TSWriter.swift
[351/396] Compiling HaishinKit NetClient.swift
[352/396] Compiling HaishinKit NetService.swift
[353/396] Compiling HaishinKit NetSocket.swift
[354/396] Compiling HaishinKit AMF0Serializer.swift
[355/396] Compiling HaishinKit AMF3Serializer.swift
[356/396] Compiling HaishinKit AMFFoundation.swift
[357/396] Compiling HaishinKit IOStreamBitRateStrategyConvertible.swift
[358/396] Compiling HaishinKit IOStreamObserver.swift
[359/396] Compiling HaishinKit IOStreamRecorder.swift
[360/396] Compiling HaishinKit IOStreamView.swift
[361/396] Compiling HaishinKit IOTellyUnit.swift
[362/396] Compiling HaishinKit IOUnit.swift
[363/396] Compiling HaishinKit IOVideoCaptureUnit.swift
[364/396] Compiling HaishinKit IOVideoMixer.swift
[365/396] Compiling HaishinKit IOVideoMixerSettings.swift
[366/396] Compiling HaishinKit IOVideoUnit.swift
[367/396] Compiling HaishinKit MTHKView.swift
[368/396] Compiling HaishinKit MediaLink.swift
[369/396] Compiling HaishinKit EventDispatcher.swift
[370/396] Compiling HaishinKit FLVFoundation.swift
[371/396] Compiling HaishinKit RTMPChunk.swift
[372/396] Compiling HaishinKit RTMPConnection.swift
[373/396] Compiling HaishinKit RTMPHandshake.swift
[374/396] Compiling HaishinKit RTMPMessage.swift
[375/396] Compiling HaishinKit RTMPMuxer.swift
[376/396] Compiling HaishinKit RTMPNWSocket.swift
[377/396] Compiling HaishinKit RTMPObjectEncoding.swift
[378/396] Compiling HaishinKit RTMPSharedObject.swift
[379/396] Compiling HaishinKit RTMPSocketCompatible.swift
[380/396] Compiling HaishinKit RTMPStream.swift
[381/396] Compiling HaishinKit Data+Extension.swift
[382/396] Compiling HaishinKit ExpressibleByIntegerLiteral+Extension.swift
[383/396] Compiling HaishinKit Mirror+Extension.swift
[384/396] Compiling HaishinKit NSView+Extension.swift
[385/396] Compiling HaishinKit URL+Extension.swift
[386/396] Compiling HaishinKit VTCompressionSession+Extension.swift
[387/396] Compiling HaishinKit VTDecompressionSession+Extension.swift
[388/396] Compiling HaishinKit VTRotationSessionOption+Extension.swift
[389/396] Compiling HaishinKit vImage_Buffer+Extension.swift
[390/396] Compiling HaishinKit AudioNode.swift
[391/396] Compiling HaishinKit IOAudioCaptureUnit.swift
[392/396] Compiling HaishinKit IOAudioMixer.swift
[393/396] Compiling HaishinKit IOAudioMixerByMultiTrack.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 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 |
[401/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 |
[402/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 |
[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 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 | }
[410/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 | }
[411/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 | }
[412/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 {
[413/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 {
[414/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 {
[415/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)
[416/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)
[417/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
[418/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
[419/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
[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 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 |
[425/433] Compiling VideoViews ImageTestView.swift
[426/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 | }
[427/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)
[428/433] Emitting module VideoViews
[429/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()
[430/433] Compiling VideoViews RandomSwiftUIComponentsTestView.swift
[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! (70.72s)
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.