The Swift Package Index logo.Swift Package Index

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 arm64

Build 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: warning: 'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Process', consider removing it
286 |         // Reference types so they can be safely captured across concurrency boundaries
287 |         // without triggering Swift 6 Sendable errors (Process and Pipe are not Sendable).
288 |         nonisolated(unsafe) let processRef = process
    |         `- warning: 'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Process', consider removing it
289 |         nonisolated(unsafe) let pipeRef = stderrPipe
290 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/FFmpegEncoder.swift:289:9: warning: 'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Pipe', consider removing it
287 |         // without triggering Swift 6 Sendable errors (Process and Pipe are not Sendable).
288 |         nonisolated(unsafe) let processRef = process
289 |         nonisolated(unsafe) let pipeRef = stderrPipe
    |         `- warning: 'nonisolated(unsafe)' is unnecessary for a constant with 'Sendable' type 'Pipe', consider removing it
290 |
291 |         // Mutable stderr state: only accessed from Foundation's serial readability queue.
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:874:27: warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 872 |         nominalFrameRate: Float
 873 |     ) -> AVVideoComposition {
 874 |         let instruction = AVMutableVideoCompositionInstruction()
     |                           `- warning: 'AVMutableVideoCompositionInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionInstruction.Configuration instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 875 |         instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
 876 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:877:32: warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 875 |         instruction.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
 876 |
 877 |         let layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: compositionVideoTrack)
     |                                `- warning: 'AVMutableVideoCompositionLayerInstruction' was deprecated in macOS 26.0: Use AVVideoCompositionLayerInstruction.Configuration instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 878 |         layerInstruction.setTransform(finalTransform, at: .zero)
 879 |         instruction.layerInstructions = [layerInstruction]
/Users/admin/builder/spi-builder-workspace/Sources/Processing/Preview/PreviewVideoGenerator.swift:881:32: warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 879 |         instruction.layerInstructions = [layerInstruction]
 880 |
 881 |         let videoComposition = AVMutableVideoComposition()
     |                                `- warning: 'AVMutableVideoComposition' was deprecated in macOS 26.0: Use AVVideoComposition.Configuration instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 882 |         videoComposition.instructions = [instruction]
 883 |         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.