Build Information
Successful build of forensiclens, reference v2.1.0 (58abb0), with Swift 6.1 for Linux on 13 Oct 2026 12:20:20 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Deipedra34/ForensicLens.git
Reference: v2.1.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/Deipedra34/ForensicLens
* tag v2.1.0 -> FETCH_HEAD
HEAD is now at 58abb0d Add rotation/scale-tolerant clone detection via feature matching and RANSAC
Cloned https://github.com/Deipedra34/ForensicLens.git
Revision (git rev-parse @):
58abb0dfe6a5e0b171886ed5f31c6a2b3be33f00
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Deipedra34/ForensicLens.git at v2.1.0
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/Deipedra34/ForensicLens.git
https://github.com/Deipedra34/ForensicLens.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:13a529f31207afe6597b18f20995fc2db944100da935819188c653038756cb1b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest
Building for debugging...
[0/28] Write sources
[9/28] Compiling CStbImage cstbimage.c
[10/28] Write swift-version-24593BA9C3E375BF.txt
[12/36] Compiling ImageDecoding ImageDecoder.swift
[13/36] Compiling ImageDecoding ImageData.swift
[14/36] Compiling ImageDecoding PixelBuffer.swift
[15/36] Emitting module ImageDecoding
[16/36] Compiling ImageDecoding ImageEncoder.swift
[17/36] Compiling ImageDecoding ImageFormat.swift
[18/37] Wrapping AST for ImageDecoding for debugging
[20/56] Compiling ForensicLens SuspicionScorer.swift
[21/56] Compiling ForensicLens PixelBuffer+Tiling.swift
[22/58] Compiling ForensicLens TiledCloneDetection.swift
[23/58] Compiling ForensicLens TilingCoordinator.swift
[24/58] Emitting module BenchmarkReporting
[25/58] Compiling BenchmarkReporting BenchmarkResult.swift
[26/59] Wrapping AST for BenchmarkReporting for debugging
[28/62] Emitting module forensiclens_readme_updater
[29/62] Compiling forensiclens_readme_updater ReadmeUpdater.swift
[30/62] Compiling forensiclens_readme_updater Entrypoint.swift
[32/63] Compiling ForensicLens Analyzer.swift
[33/63] Compiling ForensicLens CloneDetectionAnalyzer.swift
[34/63] Compiling ForensicLens DoubleCompressionAnalyzer.swift
[34/63] Wrapping AST for forensiclens-readme-updater for debugging
[35/63] Write Objects.LinkFileList
[36/63] Linking forensiclens-readme-updater
[38/63] Compiling ForensicLens DoubleCompressionMath.swift
[39/63] Compiling ForensicLens ELAAnalyzer.swift
[40/63] Compiling ForensicLens AffineTransform2D.swift
[41/63] Emitting module ForensicLens
[42/63] Compiling ForensicLens ForensicLensConfig.swift
[43/63] Compiling ForensicLens ForensicLensEngine.swift
[44/63] Compiling ForensicLens SpatialTileMerger.swift
[45/63] Compiling ForensicLens TilePlan.swift
[46/63] Compiling ForensicLens DescriptorMatcher.swift
[47/63] Compiling ForensicLens FeatureCloneDetector.swift
[48/63] Compiling ForensicLens FeatureExtractor.swift
[49/63] Compiling ForensicLens RANSACAffineEstimator.swift
[50/63] Compiling ForensicLens MetadataAnalyzer.swift
[51/63] Compiling ForensicLens ConfigLoader.swift
[52/64] Wrapping AST for ForensicLens for debugging
[54/71] Compiling HTMLReporting EmbeddedImage.swift
[55/71] Emitting module HTMLReporting
[56/71] Compiling HTMLReporting HTMLReportIndex.swift
[57/71] Compiling HTMLReporting HTMLTemplate.swift
[58/71] Compiling HTMLReporting HTMLReportGenerator.swift
[59/72] Emitting module forensiclens_benchmark
[60/72] Compiling forensiclens_benchmark main.swift
[62/73] Wrapping AST for HTMLReporting for debugging
[63/78] Wrapping AST for forensiclens-benchmark for debugging
[64/78] Write Objects.LinkFileList
[66/78] Emitting module BatchProcessing
[66/78] Linking forensiclens-benchmark
[68/78] Compiling BatchProcessing BatchRunner.swift
[69/78] Compiling BatchProcessing BatchHTMLReports.swift
[70/78] Compiling BatchProcessing BatchFileScanner.swift
[71/78] Compiling BatchProcessing BatchFileAnalyzer.swift
[72/79] Wrapping AST for BatchProcessing for debugging
[74/91] Compiling forensiclens_eval LabeledDataset.swift
[75/91] Compiling forensiclens_eval Evaluator.swift
[76/91] Compiling forensiclens_eval EvaluationReport.swift
[77/91] Compiling forensiclens_eval Entrypoint.swift
[78/91] Compiling forensiclens_eval EvalCLI.swift
[79/91] Compiling forensiclens_cli CLI.swift
[80/91] Emitting module forensiclens_cli
[81/91] Compiling forensiclens_cli BatchReportFormatter.swift
[82/91] Compiling forensiclens_cli BatchReport.swift
[83/91] Compiling forensiclens_cli Entrypoint.swift
[84/92] Wrapping AST for forensiclens-cli for debugging
[85/92] Write Objects.LinkFileList
[87/92] Compiling forensiclens_eval ClassificationMetrics.swift
[88/92] Emitting module forensiclens_eval
[89/93] Wrapping AST for forensiclens-eval for debugging
[90/93] Write Objects.LinkFileList
[91/93] Linking forensiclens-cli
[92/93] Linking forensiclens-eval
Build complete! (7.31s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "forensiclens",
"name" : "forensiclens",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "ForensicLens",
"targets" : [
"ForensicLens"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "forensiclens-cli",
"targets" : [
"forensiclens-cli"
],
"type" : {
"executable" : null
}
},
{
"name" : "forensiclens-eval",
"targets" : [
"forensiclens-eval"
],
"type" : {
"executable" : null
}
},
{
"name" : "forensiclens-readme-updater",
"targets" : [
"forensiclens-readme-updater"
],
"type" : {
"executable" : null
}
},
{
"name" : "forensiclens-benchmark",
"targets" : [
"forensiclens-benchmark"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "forensiclens_readme_updater",
"module_type" : "SwiftTarget",
"name" : "forensiclens-readme-updater",
"path" : "Sources/forensiclens-readme-updater",
"product_memberships" : [
"forensiclens-readme-updater"
],
"sources" : [
"Entrypoint.swift",
"ReadmeUpdater.swift"
],
"target_dependencies" : [
"BenchmarkReporting"
],
"type" : "executable"
},
{
"c99name" : "forensiclens_eval",
"module_type" : "SwiftTarget",
"name" : "forensiclens-eval",
"path" : "Sources/forensiclens-eval",
"product_memberships" : [
"forensiclens-eval"
],
"sources" : [
"ClassificationMetrics.swift",
"Entrypoint.swift",
"EvalCLI.swift",
"EvaluationReport.swift",
"Evaluator.swift",
"LabeledDataset.swift"
],
"target_dependencies" : [
"ForensicLens",
"ImageDecoding",
"BatchProcessing"
],
"type" : "executable"
},
{
"c99name" : "forensiclens_cli",
"module_type" : "SwiftTarget",
"name" : "forensiclens-cli",
"path" : "Sources/forensiclens-cli",
"product_memberships" : [
"forensiclens-cli"
],
"sources" : [
"BatchReport.swift",
"BatchReportFormatter.swift",
"CLI.swift",
"Entrypoint.swift"
],
"target_dependencies" : [
"ForensicLens",
"ImageDecoding",
"HTMLReporting",
"BatchProcessing"
],
"type" : "executable"
},
{
"c99name" : "forensiclens_benchmark",
"module_type" : "SwiftTarget",
"name" : "forensiclens-benchmark",
"path" : "Sources/forensiclens-benchmark",
"product_memberships" : [
"forensiclens-benchmark"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"ForensicLens",
"ImageDecoding",
"BenchmarkReporting"
],
"type" : "executable"
},
{
"c99name" : "ImageDecoding",
"module_type" : "SwiftTarget",
"name" : "ImageDecoding",
"path" : "Sources/ImageDecoding",
"product_memberships" : [
"ForensicLens",
"forensiclens-cli",
"forensiclens-eval",
"forensiclens-benchmark"
],
"sources" : [
"ImageData.swift",
"ImageDecoder.swift",
"ImageEncoder.swift",
"ImageFormat.swift",
"PixelBuffer.swift"
],
"target_dependencies" : [
"CStbImage"
],
"type" : "library"
},
{
"c99name" : "HTMLReporting",
"module_type" : "SwiftTarget",
"name" : "HTMLReporting",
"path" : "Sources/HTMLReporting",
"product_memberships" : [
"forensiclens-cli",
"forensiclens-eval"
],
"sources" : [
"EmbeddedImage.swift",
"HTMLReportGenerator.swift",
"HTMLReportIndex.swift",
"HTMLTemplate.swift"
],
"target_dependencies" : [
"ForensicLens",
"ImageDecoding"
],
"type" : "library"
},
{
"c99name" : "ForensicLensTests",
"module_type" : "SwiftTarget",
"name" : "ForensicLensTests",
"path" : "Tests/ForensicLensTests",
"sources" : [
"BatchCommandTests.swift",
"CloneDetectionAnalyzerTests.swift",
"ConfigTests.swift",
"DoubleCompressionAnalyzerTests.swift",
"ELAAnalyzerTests.swift",
"EvaluationMetricsTests.swift",
"EvaluationToolTests.swift",
"FailThresholdTests.swift",
"FeatureCloneDetectionTests.swift",
"FeatureMatchingCLITests.swift",
"Fixtures.swift",
"HTMLReportTests.swift",
"MetadataAnalyzerTests.swift",
"RANSACAffineEstimatorTests.swift",
"ReadmeUpdaterTests.swift",
"ScoringTests.swift",
"TilingCLITests.swift",
"TilingTests.swift"
],
"target_dependencies" : [
"ForensicLens",
"ImageDecoding",
"HTMLReporting",
"BatchProcessing",
"forensiclens-cli",
"forensiclens-readme-updater",
"forensiclens-eval",
"BenchmarkReporting"
],
"type" : "test"
},
{
"c99name" : "ForensicLens",
"module_type" : "SwiftTarget",
"name" : "ForensicLens",
"path" : "Sources/ForensicLens",
"product_memberships" : [
"ForensicLens",
"forensiclens-cli",
"forensiclens-eval",
"forensiclens-benchmark"
],
"sources" : [
"Analyzer.swift",
"Analyzers/CloneDetectionAnalyzer.swift",
"Analyzers/DoubleCompressionAnalyzer.swift",
"Analyzers/DoubleCompressionMath.swift",
"Analyzers/ELAAnalyzer.swift",
"Analyzers/FeatureMatching/AffineTransform2D.swift",
"Analyzers/FeatureMatching/DescriptorMatcher.swift",
"Analyzers/FeatureMatching/FeatureCloneDetector.swift",
"Analyzers/FeatureMatching/FeatureExtractor.swift",
"Analyzers/FeatureMatching/RANSACAffineEstimator.swift",
"Analyzers/MetadataAnalyzer.swift",
"Config/ConfigLoader.swift",
"Config/ForensicLensConfig.swift",
"ForensicLensEngine.swift",
"Scoring/SuspicionScorer.swift",
"Tiling/PixelBuffer+Tiling.swift",
"Tiling/SpatialTileMerger.swift",
"Tiling/TilePlan.swift",
"Tiling/TiledCloneDetection.swift",
"Tiling/TilingCoordinator.swift"
],
"target_dependencies" : [
"ImageDecoding"
],
"type" : "library"
},
{
"c99name" : "CStbImage",
"module_type" : "ClangTarget",
"name" : "CStbImage",
"path" : "Sources/CStbImage",
"product_memberships" : [
"ForensicLens",
"forensiclens-cli",
"forensiclens-eval",
"forensiclens-benchmark"
],
"sources" : [
"cstbimage.c"
],
"type" : "library"
},
{
"c99name" : "BenchmarkReporting",
"module_type" : "SwiftTarget",
"name" : "BenchmarkReporting",
"path" : "Sources/BenchmarkReporting",
"product_memberships" : [
"forensiclens-readme-updater",
"forensiclens-benchmark"
],
"sources" : [
"BenchmarkResult.swift"
],
"type" : "library"
},
{
"c99name" : "BatchProcessing",
"module_type" : "SwiftTarget",
"name" : "BatchProcessing",
"path" : "Sources/BatchProcessing",
"product_memberships" : [
"forensiclens-cli",
"forensiclens-eval"
],
"sources" : [
"BatchFileAnalyzer.swift",
"BatchFileScanner.swift",
"BatchHTMLReports.swift",
"BatchRunner.swift"
],
"target_dependencies" : [
"ForensicLens",
"ImageDecoding",
"HTMLReporting"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
basic-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:13a529f31207afe6597b18f20995fc2db944100da935819188c653038756cb1b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest
Done.