Build Information
Successful build of MosaicKit, reference 1.15.0 (3c02b8), with Swift 6.4 for macOS (SPM) on 27 Oct 2026 18:42:39 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fdenis75/MosaicKit.git
Reference: 1.15.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fdenis75/MosaicKit
* tag 1.15.0 -> FETCH_HEAD
HEAD is now at 3c02b8e Merge pull request #86 from fdenis75/claude/lucid-volta-qov3v7
Cloned https://github.com/fdenis75/MosaicKit.git
Revision (git rev-parse @):
3c02b8e939642328b816c4d60572fe3aab17b070
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/fdenis75/MosaicKit.git at 1.15.0
Fetching https://github.com/awxkee/webp.swift.git
Fetching https://github.com/samsonjs/SJSAssetExportSession.git
Fetching https://github.com/DenDmitriev/DominantColors.git
Fetching https://github.com/awxkee/libwebp-ios.git
[1/1123] Fetching dominantcolors
[2/1665] Fetching dominantcolors, sjsassetexportsession
[272/2221] Fetching dominantcolors, sjsassetexportsession, libwebp-ios
[887/2394] Fetching dominantcolors, sjsassetexportsession, libwebp-ios, webp.swift
Fetched https://github.com/awxkee/libwebp-ios.git (4.35s)
Fetched https://github.com/DenDmitriev/DominantColors.git (4.35s)
[314/715] Fetching sjsassetexportsession, webp.swift
Fetched https://github.com/awxkee/webp.swift.git (4.62s)
Fetched https://github.com/samsonjs/SJSAssetExportSession.git (4.62s)
Creating working copy for https://github.com/DenDmitriev/DominantColors.git
Creating working copy for https://github.com/awxkee/libwebp-ios.git
Creating working copy for https://github.com/awxkee/webp.swift.git
Creating working copy for https://github.com/samsonjs/SJSAssetExportSession.git
Working copy of https://github.com/awxkee/webp.swift.git resolved at 1.1.2
Working copy of https://github.com/samsonjs/SJSAssetExportSession.git resolved at 0.4.0
Working copy of https://github.com/awxkee/libwebp-ios.git resolved at 1.1.1
Working copy of https://github.com/DenDmitriev/DominantColors.git resolved at 1.2.2
========================================
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",
"traits": [
"default"
],
"dependencies": [
{
"identity": "mosaickit",
"name": "MosaicKit",
"url": "https://github.com/fdenis75/MosaicKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/MosaicKit",
"traits": [
"default"
],
"dependencies": [
{
"identity": "dominantcolors",
"name": "DCLib",
"url": "https://github.com/DenDmitriev/DominantColors.git",
"version": "1.3.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DominantColors",
"traits": [
"default"
],
"dependencies": [
]
},
{
"identity": "sjsassetexportsession",
"name": "SJSAssetExportSession",
"url": "https://github.com/samsonjs/SJSAssetExportSession.git",
"version": "0.5.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SJSAssetExportSession",
"traits": [
"default"
],
"dependencies": [
]
},
{
"identity": "webp.swift",
"name": "webp",
"url": "https://github.com/awxkee/webp.swift.git",
"version": "1.1.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/webp.swift",
"traits": [
"default"
],
"dependencies": [
{
"identity": "libwebp-ios",
"name": "libwebp-ios",
"url": "https://github.com/awxkee/libwebp-ios.git",
"version": "1.1.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/libwebp-ios",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
]
}
]
}
Fetching https://github.com/fdenis75/MosaicKit.git
[1/3032] Fetching mosaickit
Fetched https://github.com/fdenis75/MosaicKit.git (13.06s)
Fetching https://github.com/awxkee/webp.swift.git from cache
Fetching https://github.com/DenDmitriev/DominantColors.git from cache
Fetching https://github.com/samsonjs/SJSAssetExportSession.git from cache
Fetched https://github.com/awxkee/webp.swift.git from cache (0.54s)
Fetched https://github.com/samsonjs/SJSAssetExportSession.git from cache (0.54s)
Fetched https://github.com/DenDmitriev/DominantColors.git from cache (0.54s)
Computing version for https://github.com/awxkee/webp.swift.git
Computed https://github.com/awxkee/webp.swift.git at 1.1.2 (1.20s)
Fetching https://github.com/awxkee/libwebp-ios.git from cache
Fetched https://github.com/awxkee/libwebp-ios.git from cache (0.53s)
Computing version for https://github.com/awxkee/libwebp-ios.git
Computed https://github.com/awxkee/libwebp-ios.git at 1.1.1 (1.19s)
Computing version for https://github.com/DenDmitriev/DominantColors.git
Computed https://github.com/DenDmitriev/DominantColors.git at 1.3.0 (0.56s)
Computing version for https://github.com/samsonjs/SJSAssetExportSession.git
Computed https://github.com/samsonjs/SJSAssetExportSession.git at 0.5.2 (0.55s)
Creating working copy for https://github.com/DenDmitriev/DominantColors.git
Working copy of https://github.com/DenDmitriev/DominantColors.git resolved at 1.3.0
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/samsonjs/SJSAssetExportSession.git
Working copy of https://github.com/samsonjs/SJSAssetExportSession.git resolved at 0.5.2
Creating working copy for https://github.com/fdenis75/MosaicKit.git
Working copy of https://github.com/fdenis75/MosaicKit.git resolved at 1.15.0 (3c02b8e)
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: '.resolve-product-dependencies': dependency 'mosaickit' is not used by any target
Found 3 product dependencies
- DCLib
- SJSAssetExportSession
- webp
========================================
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.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 305]
[Planning deferred tasks]
[29 / 129] MosaicKit
[79 / 129] MosaicKit_MosaicKit
[80 / 129]
[89 / 132] webp
[96 / 222]
[107 / 293]
[114 / 293]
[126 / 293]
[131 / 293]
[135 / 293]
[136 / 293]
[144 / 293]
[149 / 293] webpbridge
[153 / 293]
[158 / 293]
[165 / 293]
[170 / 293]
[175 / 293]
[180 / 293]
[181 / 293]
[182 / 293]
[195 / 293]
[200 / 293]
[203 / 293]
[205 / 293]
[213 / 293]
[218 / 293]
[219 / 293]
[227 / 293]
[231 / 293] DominantColors
[233 / 293] SJSAssetExportSession
[252 / 293] webp
[253 / 293] webp-product
[254 / 293] webp-product
[257 / 293] webp
[258 / 293] webp
[259 / 293] webp
[262 / 293] SJSAssetExportSession-product
[268 / 293] DominantColors
[270 / 293]
[272 / 294]
[274 / 294] DominantColors
[274 / 294] MosaicKit
[288 / 322] DominantColors
[291 / 322]
[304 / 322] MosaicKit
[310 / 322]
[311 / 323] MosaicKit
[311 / 323] MosaicKitWebP
[314 / 326] MosaicKitWebP
[320 / 326] MosaicKitWebP
[321 / 326] MosaicKit
[326 / 326] MosaicKitWebP-product
Build complete! (15.35 sec)
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:875: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;36m873 |[0;0m nominalFrameRate: Float
[0;36m874 |[0;0m ) -> AVVideoComposition {
[0;36m875 |[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;36m876 |[0;0m instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
[0;36m877 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:878: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;36m876 |[0;0m instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
[0;36m877 |[0;0m
[0;36m878 |[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;36m879 |[0;0m layerInstruction.setTransform(finalTransform, at: .zero)
[0;36m880 |[0;0m instruction.layerInstructions = [layerInstruction]
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:882: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;36m880 |[0;0m instruction.layerInstructions = [layerInstruction]
[0;36m881 |[0;0m
[0;36m882 |[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;36m883 |[0;0m videoComposition.instructions = [instruction]
[0;36m884 |[0;0m videoComposition.renderSize = renderSize
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Processing/ThumbnailProcessor.swift:958:13: [1;33mwarning: [1;39minitialization of immutable value 'baseFontSize' was never used; consider replacing with assignment to '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m956 |[0;0m )
[0;36m957 |[0;0m let padding = metrics.padding
[0;36m958 |[0;0m let baseFontSize = metrics.baseFontSize
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of immutable value 'baseFontSize' was never used; consider replacing with assignment to '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m959 |[0;0m let fontSize = metrics.fontSize
[0;36m960 |[0;0m let rowSpecs = metrics.rowSpecs
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
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",
"ColorPaletteSwatchTests.swift",
"CombinationTests.swift",
"ConfigurationInitializerTests.swift",
"ErrorTypesTests.swift",
"ExportStressTests.swift",
"ExportWatchdogTests.swift",
"FFmpegArgumentsTests.swift",
"FixedGridConfigurationTests.swift",
"FixedGridFixedAspectTests.swift",
"FixedGridLayoutTests.swift",
"FixedGridSamplingAndOverlayTests.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",
"PreviewSkipExistingTests.swift",
"PreviewVideoGeneratorTests.swift",
"ProcessScheduling.swift",
"RemoteVideoSourceTests.swift",
"RotatedSourceTests.swift",
"ThumbnailExtractionTests.swift",
"ThumbnailProcessorTests.swift",
"UnevenLayoutTests.swift",
"UnevenTilePackerTests.swift",
"VideoCodecSupportTests.swift",
"VideoDiscoveryReportTests.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/FixedGridPlan.swift",
"Models/GridSpecification.swift",
"Models/LayoutConfiguration.swift",
"Models/MosaicConfiguration.swift",
"Models/MosaicLayout.swift",
"Models/OverlayConfiguration.swift",
"Models/PreviewConfiguration.swift",
"Models/PreviewExportDescription.swift",
"Models/PreviewGenerationProgress.swift",
"Models/PreviewQualityTier.swift",
"Models/ThumbnailExtraction.swift",
"Models/VideoDiscoveryReport.swift",
"Models/VideoFormat.swift",
"Models/VideoInput.swift",
"Models/VideoSource.swift",
"Processing/AnimatedGifGenerator.swift",
"Processing/GenerationJobs.swift",
"Processing/ImageFileWriter.swift",
"Processing/LayoutProcessor+FixedGrid.swift",
"Processing/LayoutProcessor+Uneven.swift",
"Processing/LayoutProcessor.swift",
"Processing/MetalImageProcessor.swift",
"Processing/MetalMosaicGenerator+Thumbnails.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/RemoteVideoSupport.swift",
"Processing/ThumbnailProcessor.swift",
"Processing/UnevenTilePacker.swift",
"Processing/VideoCodecSupport.swift",
"Processing/VideoError.swift",
"Processing/VideoMetadataExtractor.swift",
"Processing/WebPSupport.swift",
"VideoInputScanner.swift"
],
"type" : "library"
}
],
"tools_version" : "6.2"
}
Done.