The Swift Package Index logo.Swift Package Index

Build Information

Successful build of forensiclens, reference v2.1.0 (58abb0), with Swift 6.4 for Android on 13 Oct 2026 08:04:18 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344847-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:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
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:         android
Swift version:             6.4
Building package at path:  $PWD
https://github.com/Deipedra34/ForensicLens.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-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:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:34a00a57f57797b403a98b861c3ce940f20735b4cb78ef45654f0d4f3b0c0295
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Building for debugging...
[Pre-planning 1 / 328]
[73 / 126] ImageDecoding
[82 / 136] ForensicLens
[91 / 136] ForensicLens
[93 / 136] ForensicLens
[99 / 136] BenchmarkReporting
[105 / 147] forensiclens-readme-updater-product
[110 / 147] ImageDecoding
[111 / 147] ImageDecoding
[118 / 148] HTMLReporting
[123 / 151] HTMLReporting
[131 / 158] HTMLReporting
[142 / 167] forensiclens-eval-product
[149 / 174] forensiclens-eval-product
[151 / 174] forensiclens-cli-product
[152 / 174] forensiclens-cli-product
[162 / 175] ForensicLens
[169 / 176] forensiclens-eval-product
[170 / 176] forensiclens-readme-updater-product
[178 / 178]
Build complete! (5.07 secs)
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"
}
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:34a00a57f57797b403a98b861c3ce940f20735b4cb78ef45654f0d4f3b0c0295
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Done.