Build Information
Successful build of MosaicKit, reference main (cd1cf3), with Swift 6.4 for macOS (SPM) on 3 Oct 2026 16:02:27 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fdenis75/MosaicKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fdenis75/MosaicKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at cd1cf36 Merge pull request #49 from fdenis75/claude/f2-ffmpeg-args-i2-i3
Cloned https://github.com/fdenis75/MosaicKit.git
Revision (git rev-parse @):
cd1cf36776d9af71d33f2578a6ba1e42ba6463c8
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/fdenis75/MosaicKit.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/fdenis75/MosaicKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 305]
[Planning deferred tasks]
[37 / 129] DominantColors
[79 / 129] MosaicKit_MosaicKit
[80 / 129] MosaicKit_MosaicKit
[89 / 132] webp
[96 / 222]
[105 / 293]
[112 / 293]
[122 / 293]
[130 / 293]
[133 / 293]
[136 / 293]
[145 / 293]
[149 / 293]
[153 / 293]
[159 / 293]
[170 / 293]
[175 / 293]
[180 / 293]
[182 / 293]
[194 / 293]
[200 / 293]
[203 / 293]
[209 / 293]
[214 / 293]
[218 / 293]
[219 / 293]
[227 / 293]
[231 / 293] DominantColors
[232 / 293] webp
[233 / 293] SJSAssetExportSession
[247 / 293] webp
[249 / 293] webp
[254 / 293] webp
[255 / 293] webp-product
[260 / 293] SJSAssetExportSession
[263 / 293] DominantColors-product
[267 / 293] DominantColors
[268 / 293] SJSAssetExportSession
[271 / 293]
[272 / 294] DominantColors
[272 / 294] webp
[274 / 294] MosaicKit
[286 / 321]
[289 / 321]
[290 / 321]
[303 / 321] MosaicKit
[310 / 322] MosaicKit
[310 / 322] MosaicKitWebP
[313 / 325] MosaicKitWebP
[319 / 325] MosaicKitWebP
[320 / 325] MosaicKit
[325 / 325] MosaicKitWebP-product
Build complete! (15.55 sec)
Fetching https://github.com/awxkee/webp.swift.git
Fetching https://github.com/DenDmitriev/DominantColors.git
Fetching https://github.com/samsonjs/SJSAssetExportSession.git
[1/173] Fetching webp.swift
[128/613] Fetching webp.swift, sjsassetexportsession
[129/1624] Fetching webp.swift, sjsassetexportsession, dominantcolors
Fetched https://github.com/samsonjs/SJSAssetExportSession.git (2.29s)
Fetched https://github.com/awxkee/webp.swift.git (2.29s)
Fetched https://github.com/DenDmitriev/DominantColors.git (2.29s)
Computing version for https://github.com/awxkee/webp.swift.git
Computed https://github.com/awxkee/webp.swift.git at 1.1.2 (5.07s)
Fetching https://github.com/awxkee/libwebp-ios.git
[1/556] Fetching libwebp-ios
Fetched https://github.com/awxkee/libwebp-ios.git (2.15s)
Computing version for https://github.com/samsonjs/SJSAssetExportSession.git
Computed https://github.com/samsonjs/SJSAssetExportSession.git at 0.4.0 (2.78s)
Computing version for https://github.com/awxkee/libwebp-ios.git
Computed https://github.com/awxkee/libwebp-ios.git at 1.1.1 (0.69s)
Computing version for https://github.com/DenDmitriev/DominantColors.git
Computed https://github.com/DenDmitriev/DominantColors.git at 1.2.2 (0.59s)
Creating working copy for https://github.com/awxkee/libwebp-ios.git
Working copy of https://github.com/awxkee/libwebp-ios.git resolved at 1.1.1
Creating working copy for https://github.com/DenDmitriev/DominantColors.git
Working copy of https://github.com/DenDmitriev/DominantColors.git resolved at 1.2.2
Creating working copy for https://github.com/samsonjs/SJSAssetExportSession.git
Working copy of https://github.com/samsonjs/SJSAssetExportSession.git resolved at 0.4.0
Creating working copy for https://github.com/awxkee/webp.swift.git
Working copy of https://github.com/awxkee/webp.swift.git resolved at 1.1.2
warning: missing creator for mutated node: ('/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/MosaicKit_MosaicKit.bundle/Contents/MacOS')
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/FFmpegEncoder.swift:288:9: [1;33mwarning: [1;39m'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Process', consider removing it[0;0m
[0;36m286 |[0;0m // Reference types so they can be safely captured across concurrency boundaries
[0;36m287 |[0;0m // without triggering Swift 6 Sendable errors (Process and Pipe are not Sendable).
[0;36m288 |[0;0m nonisolated(unsafe) let processRef = process
[0;36m|[0;0m `- [1;33mwarning: [1;39m'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Process', consider removing it[0;0m
[0;36m289 |[0;0m nonisolated(unsafe) let pipeRef = stderrPipe
[0;36m290 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/FFmpegEncoder.swift:289:9: [1;33mwarning: [1;39m'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Pipe', consider removing it[0;0m
[0;36m287 |[0;0m // without triggering Swift 6 Sendable errors (Process and Pipe are not Sendable).
[0;36m288 |[0;0m nonisolated(unsafe) let processRef = process
[0;36m289 |[0;0m nonisolated(unsafe) let pipeRef = stderrPipe
[0;36m|[0;0m `- [1;33mwarning: [1;39m'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Pipe', consider removing it[0;0m
[0;36m290 |[0;0m
[0;36m291 |[0;0m // Mutable stderr state: only accessed from Foundation's serial readability queue.
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:874:27: [1;33mwarning: [1;39m'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m872 |[0;0m nominalFrameRate: Float
[0;36m873 |[0;0m ) -> AVVideoComposition {
[0;36m874 |[0;0m let instruction = AVMutableVideoCompositionInstruction()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m875 |[0;0m instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
[0;36m876 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:877:32: [1;33mwarning: [1;39m'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m875 |[0;0m instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
[0;36m876 |[0;0m
[0;36m877 |[0;0m let layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: compositionVideoTrack)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m878 |[0;0m layerInstruction.setTransform(finalTransform, at: .zero)
[0;36m879 |[0;0m instruction.layerInstructions = [layerInstruction]
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:881:32: [1;33mwarning: [1;39m'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m879 |[0;0m instruction.layerInstructions = [layerInstruction]
[0;36m880 |[0;0m
[0;36m881 |[0;0m let videoComposition = AVMutableVideoComposition()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m882 |[0;0m videoComposition.instructions = [instruction]
[0;36m883 |[0;0m videoComposition.renderSize = renderSize
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
"dependencies" : [
{
"identity" : "dominantcolors",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/DenDmitriev/DominantColors.git"
},
{
"identity" : "sjsassetexportsession",
"requirement" : {
"range" : [
{
"lower_bound" : "0.4.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/samsonjs/SJSAssetExportSession.git"
},
{
"identity" : "webp.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/awxkee/webp.swift.git"
}
],
"manifest_display_name" : "MosaicKit",
"name" : "MosaicKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "26.0"
},
{
"name" : "ios",
"version" : "26.0"
},
{
"name" : "maccatalyst",
"version" : "26.0"
}
],
"products" : [
{
"name" : "MosaicKit",
"targets" : [
"MosaicKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MosaicKitWebP",
"targets" : [
"MosaicKitWebP"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MosaicKitWebP",
"module_type" : "SwiftTarget",
"name" : "MosaicKitWebP",
"path" : "SourcesWebP",
"product_dependencies" : [
"webp"
],
"product_memberships" : [
"MosaicKitWebP"
],
"sources" : [
"MosaicKitWebP.swift"
],
"target_dependencies" : [
"MosaicKit"
],
"type" : "library"
},
{
"c99name" : "MosaicKitTests",
"module_type" : "SwiftTarget",
"name" : "MosaicKitTests",
"path" : "Tests/MosaicKitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/mosaic-config-1.0.0.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/mosaic-config-1.3.2.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/mosaic-config-1.7.0.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/mosaic-config-legacy-minimal.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/preview-config-1.7.0.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/preview-config-legacy-minimal.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/rotated_portrait.mp4",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/MosaicKitTests/embeddedAsset/test_video.mp4",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AnimatedGifGeneratorTests.swift",
"BatchRunnerTests.swift",
"BenchmarkTests.swift",
"CombinationTests.swift",
"ConfigurationInitializerTests.swift",
"ErrorTypesTests.swift",
"ExportStressTests.swift",
"ExportWatchdogTests.swift",
"FFmpegArgumentsTests.swift",
"InputValidationRegressionTests.swift",
"LayoutProcessorTests.swift",
"LegacyConfigurationDecodingTests.swift",
"MosaicCancellationTests.swift",
"MosaicCompositionPathTests.swift",
"MosaicConfigurationTests.swift",
"MosaicGeneratorCoordinatorTests.swift",
"MosaicPipelineReliabilityTests.swift",
"OutputTransactionTests.swift",
"OverlayConfigurationTests.swift",
"OverlayProcessorTests.swift",
"PreviewCancellationTests.swift",
"PreviewCombinationTests.swift",
"PreviewConfigurationTests.swift",
"PreviewCoordinatorTests.swift",
"PreviewExportSmokeTests.swift",
"PreviewReliabilityRegressionTests.swift",
"PreviewVideoGeneratorTests.swift",
"ProcessScheduling.swift",
"RotatedSourceTests.swift",
"ThumbnailProcessorTests.swift"
],
"target_dependencies" : [
"MosaicKit",
"MosaicKitWebP"
],
"type" : "test"
},
{
"c99name" : "MosaicKit",
"module_type" : "SwiftTarget",
"name" : "MosaicKit",
"path" : "Sources",
"product_dependencies" : [
"DominantColors",
"SJSAssetExportSession"
],
"product_memberships" : [
"MosaicKit",
"MosaicKitWebP"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Shaders/MetalShaders.metal",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Models/ConfigurationValidation.swift",
"Models/DensityConfig.swift",
"Models/FFmpegEncodingOptions.swift",
"Models/LayoutConfiguration.swift",
"Models/MosaicConfiguration.swift",
"Models/MosaicLayout.swift",
"Models/OverlayConfiguration.swift",
"Models/PreviewConfiguration.swift",
"Models/PreviewExportDescription.swift",
"Models/PreviewGenerationProgress.swift",
"Models/VideoFormat.swift",
"Models/VideoInput.swift",
"Models/VideoSource.swift",
"Processing/AnimatedGifGenerator.swift",
"Processing/GenerationJobs.swift",
"Processing/LayoutProcessor.swift",
"Processing/MetalImageProcessor.swift",
"Processing/MetalMosaicGenerator.swift",
"Processing/MosaicGeneratorCoordinator.swift",
"Processing/MosaicGeneratorProtocol.swift",
"Processing/OutputTransaction.swift",
"Processing/OverlayProcessor.swift",
"Processing/Preview/AppLifecycleMonitor.swift",
"Processing/Preview/ExportWatchdog.swift",
"Processing/Preview/FFmpegEncoder.swift",
"Processing/Preview/PreviewError.swift",
"Processing/Preview/PreviewGeneratorCoordinator.swift",
"Processing/Preview/PreviewVideoGenerator.swift",
"Processing/ProcessingError.swift",
"Processing/ThumbnailProcessor.swift",
"Processing/VideoError.swift",
"Processing/VideoMetadataExtractor.swift",
"Processing/WebPSupport.swift",
"VideoInputScanner.swift"
],
"type" : "library"
}
],
"tools_version" : "6.2"
}
Done.