The Swift Package Index logo.Swift Package Index

Build Information

Successful build of forensiclens, reference v2.1.0 (58abb0), with Swift 6.4 for macOS (SPM) on 13 Oct 2026 12:34:51 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64

Build 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 /Users/admin/builder/spi-builder-workspace/.git/
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
========================================
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": "forensiclens",
      "name": "forensiclens",
      "url": "https://github.com/Deipedra34/ForensicLens.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ForensicLens",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/Deipedra34/ForensicLens.git
[1/444] Fetching forensiclens
Fetched https://github.com/Deipedra34/ForensicLens.git (1.05s)
Creating working copy for https://github.com/Deipedra34/ForensicLens.git
Working copy of https://github.com/Deipedra34/ForensicLens.git resolved at v2.1.0 (58abb0d)
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/Deipedra34/ForensicLens.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 / 328]
[Planning deferred tasks]
[67 / 139]
[70 / 141] ImageDecoding
[79 / 160]
[86 / 160] ImageDecoding
[94 / 161]
[97 / 161] CStbImage
[98 / 161] ImageDecoding
[100 / 161] BenchmarkReporting
[107 / 205]
[112 / 205]
[115 / 205]
[116 / 205]
[120 / 205]
[122 / 205]
[125 / 205]
[128 / 205]
[130 / 205]
[131 / 205]
[142 / 205] ForensicLens
[143 / 205] BenchmarkReporting
[160 / 205]
[162 / 207]
[163 / 208]
[166 / 213] forensiclens-benchmark-product
[168 / 218] forensiclens-readme-updater-product
[173 / 218] HTMLReporting
[191 / 219] ForensicLens-product
[191 / 219] HTMLReporting
[193 / 219] HTMLReporting
[202 / 224] BatchProcessing
[215 / 226] BatchProcessing
[216 / 226] forensiclens-cli-product
[227 / 238] forensiclens-eval-product
[230 / 238] forensiclens-cli-product
[232 / 238] forensiclens-eval-product
[234 / 238] forensiclens-cli-product
Build complete! (10.47 sec)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "forensiclens",
  "name" : "forensiclens",
  "path" : "/Users/admin/builder/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"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/deipedra34/forensiclens/v2.1.0
Repository:               Deipedra34/ForensicLens
Swift version used:       6.4
Target:                   ForensicLens
Extracting symbol information for 'ForensicLens'...
Finished extracting symbol information for 'ForensicLens'. (1.88s)
Building documentation for 'ForensicLens'...
warning: Parameter 'image' is missing documentation
  --> Sources/ForensicLens/ForensicLensEngine.swift:36:9-36:9
34 |     ///     tiling decision (`--tile-size` / `--no-tiling`). Defaults to
35 |     ///     `.none`, which leaves `config.tiling` in full control.
36 +     ///
37 |     /// Whether this image ends up tiled or not, both single-image and
38 |     /// batch callers go through this one method -- tiling is an internal
Finished building documentation for 'ForensicLens' (0.22s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/deipedra34/forensiclens/v2.1.0
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin (1.30s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (3.53s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3837] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.24s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.98s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[Planning 1 / 95]
[Planning deferred tasks]
[20 / 43] Snippets
[31 / 58] SymbolKit
[40 / 58] SymbolKit
[52 / 59] SymbolKit
[57 / 63] SymbolKit
[59 / 63] snippet-extract-product
[61 / 63] snippet-extract-product
Build complete! (2.29 sec)
Building for debugging...
[Planning deferred tasks]
[3 / 23]
[10 / 27] ImageDecoding
[14 / 24] ImageDecoding
[26 / 34] ForensicLens
[27 / 34] ForensicLens
[28 / 30] ForensicLens
Build complete! (1.66 sec)
     560
5	/Users/admin/builder/spi-builder-workspace/.docs/deipedra34/forensiclens/v2.1.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/deipedra34/forensiclens/v2.1.0
File count: 560
Doc size:   5.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -deipedra34-forensiclens-v2.1.0-8b323e80.zip to presigned URL
Starting upload of 989043 bytes...
Upload completed successfully
Done.