The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Compute, reference main (4400e5), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 14:48:46 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats

Build Log

========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/schwa/Compute.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/schwa/Compute
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 4400e59 Get rid of buildkite for real.
Cloned https://github.com/schwa/Compute.git
Revision (git rev-parse @):
4400e59c1459473bb7a7cf5caa95f686622a8de2
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/schwa/Compute.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/schwa/Compute.git
https://github.com/schwa/Compute.git
{
  "dependencies" : [
    {
      "identity" : "metalcompilerplugin",
      "requirement" : {
        "branch" : [
          "jwight/develop"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/schwa/MetalCompilerPlugin"
    }
  ],
  "manifest_display_name" : "Compute",
  "name" : "Compute",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "15.0"
    },
    {
      "name" : "ios",
      "version" : "18.0"
    }
  ],
  "products" : [
    {
      "name" : "Compute",
      "targets" : [
        "Compute"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Examples",
      "targets" : [
        "Examples"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MetalSupportLite",
      "module_type" : "SwiftTarget",
      "name" : "MetalSupportLite",
      "path" : "Sources/MetalSupportLite",
      "product_memberships" : [
        "Examples"
      ],
      "sources" : [
        "BaseSupport.swift",
        "MTLBuffer+Extensions.swift",
        "MetalBasicExtensions.swift",
        "MetalSupportLite.swift",
        "TypedMTLBuffer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Examples",
      "module_type" : "SwiftTarget",
      "name" : "Examples",
      "path" : "Sources/Examples",
      "product_dependencies" : [
        "MetalCompilerPlugin"
      ],
      "product_memberships" : [
        "Examples"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Bundle.txt",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Resources/Media.xcassets",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Examples.swift",
        "Examples/BareMetal.swift",
        "Examples/BitonicSort/BitonicSort.swift",
        "Examples/Broken/CountingSort/CountingSort.swift",
        "Examples/Broken/RadixSort/RadixSort.swift",
        "Examples/Broken/RadixSort/RadixSortCPU.swift",
        "Examples/BufferFill.swift",
        "Examples/Checkerboard.swift",
        "Examples/CounterDemo.swift",
        "Examples/GameOfLife/GameOfLife.swift",
        "Examples/HelloWorldDemo.swift",
        "Examples/Histogram.swift",
        "Examples/ImageInvert.swift",
        "Examples/MaxParallel.swift",
        "Examples/MaxValue.swift",
        "Examples/MemcopyDemo.swift",
        "Examples/RandomFill.swift",
        "Examples/SIMDReduce.swift",
        "Examples/ThreadgroupLog.swift",
        "Support.swift"
      ],
      "target_dependencies" : [
        "Compute",
        "MetalSupportLite"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ComputeTests",
      "module_type" : "SwiftTarget",
      "name" : "ComputeTests",
      "path" : "Tests/ComputeTests",
      "sources" : [
        "ComputeTests.swift"
      ],
      "target_dependencies" : [
        "Compute"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Compute",
      "module_type" : "SwiftTarget",
      "name" : "Compute",
      "path" : "Sources/Compute",
      "product_memberships" : [
        "Compute",
        "Examples"
      ],
      "sources" : [
        "Compute+Arguments.swift",
        "Compute+Pipeline.swift",
        "Compute+Task.swift",
        "Compute.swift",
        "ShaderFunction.swift",
        "Support.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
[0/8] Write sources
[2/8] Write MetalCompilerTool-tool-entitlement.plist
[2/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/10] Emitting module ArgumentParserToolInfo
[7/10] Compiling ArgumentParserToolInfo ToolInfo.swift
[8/49] Emitting module ArgumentParser
[9/53] Compiling ArgumentParser CommandConfiguration.swift
[10/53] Compiling ArgumentParser CommandGroup.swift
[11/53] Compiling ArgumentParser EnumerableFlag.swift
[12/53] Compiling ArgumentParser ExpressibleByArgument.swift
[13/53] Compiling ArgumentParser NameSpecification.swift
[14/53] Compiling ArgumentParser Option.swift
[15/53] Compiling ArgumentParser OptionGroup.swift
[16/53] Compiling ArgumentParser AsyncParsableCommand.swift
[17/53] Compiling ArgumentParser BashCompletionsGenerator.swift
[18/53] Compiling ArgumentParser CompletionsGenerator.swift
[19/53] Compiling ArgumentParser FishCompletionsGenerator.swift
[20/53] Compiling ArgumentParser ZshCompletionsGenerator.swift
[21/53] Compiling ArgumentParser Argument.swift
[22/53] Compiling ArgumentParser InputOrigin.swift
[23/53] Compiling ArgumentParser Name.swift
[24/53] Compiling ArgumentParser Parsed.swift
[25/53] Compiling ArgumentParser ParsedValues.swift
[26/53] Compiling ArgumentParser ArgumentDefinition.swift
[27/53] Compiling ArgumentParser ArgumentSet.swift
[28/53] Compiling ArgumentParser CommandParser.swift
[29/53] Compiling ArgumentParser InputKey.swift
[30/53] Compiling ArgumentParser ArgumentHelp.swift
[31/53] Compiling ArgumentParser ArgumentVisibility.swift
[32/53] Compiling ArgumentParser CompletionKind.swift
[33/53] Compiling ArgumentParser Errors.swift
[34/53] Compiling ArgumentParser Flag.swift
[35/53] Compiling ArgumentParser Platform.swift
[36/53] Compiling ArgumentParser SequenceExtensions.swift
[37/53] Compiling ArgumentParser StringExtensions.swift
[38/53] Compiling ArgumentParser Tree.swift
[39/53] Compiling ArgumentParser HelpGenerator.swift
[40/53] Compiling ArgumentParser MessageInfo.swift
[41/53] Compiling ArgumentParser UsageGenerator.swift
[42/53] Compiling ArgumentParser CollectionExtensions.swift
[43/53] Compiling ArgumentParser ParsableArguments.swift
[44/53] Compiling ArgumentParser ParsableArgumentsValidation.swift
[45/53] Compiling ArgumentParser ParsableCommand.swift
[46/53] Compiling ArgumentParser ArgumentDecoder.swift
[47/53] Compiling ArgumentParser ParserError.swift
[48/53] Compiling ArgumentParser SplitArguments.swift
[49/53] Compiling ArgumentParser DumpHelpGenerator.swift
[50/53] Compiling ArgumentParser HelpCommand.swift
[51/55] Compiling MetalCompilerTool MetalCompiler.swift
[52/55] Emitting module MetalCompilerTool
[52/55] Write Objects.LinkFileList
[53/55] Linking MetalCompilerTool-tool
[54/55] Applying MetalCompilerTool-tool
[1/1] Compiling plugin MetalCompilerPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/19] Write sources
[3/19] Write Examples-entitlement.plist
[4/19] Write sources
[6/19] Copying Bundle.txt
[6/19] Write sources
[10/19] Copying Media.xcassets
[11/19] Write swift-version-2F0A5646E1D333AE.txt
[12/32] Write Objects.LinkFileList
[13/32] Linking MetalCompilerTool-tool
[14/32] MetalCompilerTool
[15/32] Copying debug.metallib
[17/32] Compiling MetalSupportLite MetalBasicExtensions.swift
[18/32] Compiling MetalSupportLite MTLBuffer+Extensions.swift
[19/32] Compiling MetalSupportLite MetalSupportLite.swift
[20/32] Compiling MetalSupportLite TypedMTLBuffer.swift
[21/32] Compiling MetalSupportLite BaseSupport.swift
[22/32] Emitting module MetalSupportLite
[23/32] Compiling Compute Compute+Task.swift
[24/32] Compiling Compute Compute.swift
[25/32] Compiling Compute Compute+Arguments.swift
[26/32] Emitting module Compute
[27/32] Compiling Compute ShaderFunction.swift
[28/32] Compiling Compute Support.swift
[29/32] Compiling Compute Compute+Pipeline.swift
[30/52] Emitting module Examples
[31/54] Compiling Examples Examples.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 |         // Execute compute pipeline
93 |         try compute.run(pipeline: fill, width: buffer.length)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 |     }
95 | }
[32/54] Compiling Examples BareMetal.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 |         // Execute compute pipeline
93 |         try compute.run(pipeline: fill, width: buffer.length)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 |     }
95 | }
[33/54] Compiling Examples BitonicSort.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 |         // Execute compute pipeline
93 |         try compute.run(pipeline: fill, width: buffer.length)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 |     }
95 | }
[34/54] Compiling Examples MemcopyDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:66:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
64 |         // Run and time the empty kernel (baseline)
65 |         try timeit(length: length) {
66 |             try compute.run(pipeline: empty, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
67 |         }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:72:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
70 |         // Run and time the fill kernel
71 |         try timeit(length: length) {
72 |             try compute.run(pipeline: fill, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
73 |         }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:78:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
76 |         // Run and time the GPU memcpy kernel
77 |         try timeit(length: length) {
78 |             try compute.run(pipeline: memcopy, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
79 |         }
80 |
[35/54] Compiling Examples RandomFill.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:66:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
64 |         // Run and time the empty kernel (baseline)
65 |         try timeit(length: length) {
66 |             try compute.run(pipeline: empty, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
67 |         }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:72:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
70 |         // Run and time the fill kernel
71 |         try timeit(length: length) {
72 |             try compute.run(pipeline: fill, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
73 |         }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:78:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
76 |         // Run and time the GPU memcpy kernel
77 |         try timeit(length: length) {
78 |             try compute.run(pipeline: memcopy, width: count)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
79 |         }
80 |
[36/54] Compiling Examples Checkerboard.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/Checkerboard.swift:65:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
63 |         checkerboard.arguments.color2 = try .color(.mint)
64 |         checkerboard.arguments.cellSize = .vector(SIMD2<UInt32>(64, 64))
65 |         try compute.run(pipeline: checkerboard, width: outputTexture.width, height: outputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
66 |
67 |         let url = URL(filePath: "/tmp/checkerboard.png")
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/CounterDemo.swift:39:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |         pipeline.arguments.step = .int(1)
38 |         try timeit {
39 |             try compute.run(pipeline: pipeline, width: numberOfCounters)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |         }
41 | //        print(Array<Float>(counters))
[37/54] Compiling Examples CounterDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/Checkerboard.swift:65:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
63 |         checkerboard.arguments.color2 = try .color(.mint)
64 |         checkerboard.arguments.cellSize = .vector(SIMD2<UInt32>(64, 64))
65 |         try compute.run(pipeline: checkerboard, width: outputTexture.width, height: outputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
66 |
67 |         let url = URL(filePath: "/tmp/checkerboard.png")
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/CounterDemo.swift:39:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |         pipeline.arguments.step = .int(1)
38 |         try timeit {
39 |             try compute.run(pipeline: pipeline, width: numberOfCounters)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |         }
41 | //        print(Array<Float>(counters))
[38/54] Compiling Examples RadixSortCPU.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BufferFill.swift:36:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
34 |         var values = Array<UInt32>(repeating: 0, count: count)
35 |         while n > 0 {
36 |             try compute.run(pipeline: bufferFill, width: n)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             values[0..<n] = Array(repeating: UInt32(n), count: n)[0..<n]
38 |             n >>= 1
[39/54] Compiling Examples BufferFill.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BufferFill.swift:36:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
34 |         var values = Array<UInt32>(repeating: 0, count: count)
35 |         while n > 0 {
36 |             try compute.run(pipeline: bufferFill, width: n)
   |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             values[0..<n] = Array(repeating: UInt32(n), count: n)[0..<n]
38 |             n >>= 1
[40/54] Compiling Examples MaxParallel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxParallel.swift:39:29: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             let count = Int(pow(2, Double(n+1))) - 1
38 |             let time = try timed() {
39 |                 try compute.run(pipeline: pipeline, width: count)
   |                             `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |             }
41 |             print("\(count),\t\(Array<UInt32>(maximum)[0]),\t\(Double(time) / Double(1_000_000))")
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:41:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 39 |         maxValue.arguments.output = .buffer(output)
 40 |         try timeit(#function) {
 41 |             try compute.run(pipeline: maxValue, width: 1)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 42 |         }
 43 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:74:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 72 |         maxValue.arguments.output = .buffer(output)
 73 |         try timeit(#function) {
 74 |             try compute.run(pipeline: maxValue, width: values.count)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 75 |         }
 76 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
[41/54] Compiling Examples MaxValue.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxParallel.swift:39:29: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 |             let count = Int(pow(2, Double(n+1))) - 1
38 |             let time = try timed() {
39 |                 try compute.run(pipeline: pipeline, width: count)
   |                             `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
40 |             }
41 |             print("\(count),\t\(Array<UInt32>(maximum)[0]),\t\(Double(time) / Double(1_000_000))")
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:41:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 39 |         maxValue.arguments.output = .buffer(output)
 40 |         try timeit(#function) {
 41 |             try compute.run(pipeline: maxValue, width: 1)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 42 |         }
 43 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:74:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 72 |         maxValue.arguments.output = .buffer(output)
 73 |         try timeit(#function) {
 74 |             try compute.run(pipeline: maxValue, width: values.count)
    |                         `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
 75 |         }
 76 |         let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
[42/54] Compiling Examples CountingSort.swift
[43/54] Compiling Examples RadixSort.swift
[44/54] Compiling Examples SIMDReduce.swift
[45/54] Compiling Examples ThreadgroupLog.swift
[46/54] Compiling Examples Histogram.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/ImageInvert.swift:47:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
45 |         invertImage.arguments.inputTexture = .texture(inputTexture)
46 |         invertImage.arguments.outputTexture = .texture(outputTexture)
47 |         try compute.run(pipeline: invertImage, width: inputTexture.width, height: inputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
48 |
49 |         try outputTexture.export(to: URL(filePath: "/tmp/inverted.png"))
[47/54] Compiling Examples ImageInvert.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/ImageInvert.swift:47:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
45 |         invertImage.arguments.inputTexture = .texture(inputTexture)
46 |         invertImage.arguments.outputTexture = .texture(outputTexture)
47 |         try compute.run(pipeline: invertImage, width: inputTexture.width, height: inputTexture.height)
   |                     `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
48 |
49 |         try outputTexture.export(to: URL(filePath: "/tmp/inverted.png"))
[48/54] Compiling Examples GameOfLife.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/HelloWorldDemo.swift:24:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
22 |         let library = ShaderLibrary.source(source, enableLogging: true)
23 |         let helloWorld = try compute.makePipeline(function: library.hello_world)
24 |         try compute.run(pipeline: helloWorld, width: 1)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
25 |     }
26 | }
[49/54] Compiling Examples HelloWorldDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/HelloWorldDemo.swift:24:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
22 |         let library = ShaderLibrary.source(source, enableLogging: true)
23 |         let helloWorld = try compute.makePipeline(function: library.hello_world)
24 |         try compute.run(pipeline: helloWorld, width: 1)
   |                     `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
25 |     }
26 | }
[50/54] Compiling Examples Support.swift
[51/54] Compiling Examples resource_bundle_accessor.swift
[51/54] Write Objects.LinkFileList
[52/54] Linking Examples
[53/54] Applying Examples
Build complete! (25.69s)
Fetching https://github.com/schwa/MetalCompilerPlugin
[1/185] Fetching metalcompilerplugin
Fetched https://github.com/schwa/MetalCompilerPlugin from cache (0.73s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.70s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (1.20s)
Creating working copy for https://github.com/schwa/MetalCompilerPlugin
Working copy of https://github.com/schwa/MetalCompilerPlugin resolved at jwight/develop (72b94d2)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "metalcompilerplugin",
      "requirement" : {
        "branch" : [
          "jwight/develop"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/schwa/MetalCompilerPlugin"
    }
  ],
  "manifest_display_name" : "Compute",
  "name" : "Compute",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "15.0"
    },
    {
      "name" : "ios",
      "version" : "18.0"
    }
  ],
  "products" : [
    {
      "name" : "Compute",
      "targets" : [
        "Compute"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Examples",
      "targets" : [
        "Examples"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MetalSupportLite",
      "module_type" : "SwiftTarget",
      "name" : "MetalSupportLite",
      "path" : "Sources/MetalSupportLite",
      "product_memberships" : [
        "Examples"
      ],
      "sources" : [
        "BaseSupport.swift",
        "MTLBuffer+Extensions.swift",
        "MetalBasicExtensions.swift",
        "MetalSupportLite.swift",
        "TypedMTLBuffer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Examples",
      "module_type" : "SwiftTarget",
      "name" : "Examples",
      "path" : "Sources/Examples",
      "product_dependencies" : [
        "MetalCompilerPlugin"
      ],
      "product_memberships" : [
        "Examples"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Bundle.txt",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Resources/Media.xcassets",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Examples.swift",
        "Examples/BareMetal.swift",
        "Examples/BitonicSort/BitonicSort.swift",
        "Examples/Broken/CountingSort/CountingSort.swift",
        "Examples/Broken/RadixSort/RadixSort.swift",
        "Examples/Broken/RadixSort/RadixSortCPU.swift",
        "Examples/BufferFill.swift",
        "Examples/Checkerboard.swift",
        "Examples/CounterDemo.swift",
        "Examples/GameOfLife/GameOfLife.swift",
        "Examples/HelloWorldDemo.swift",
        "Examples/Histogram.swift",
        "Examples/ImageInvert.swift",
        "Examples/MaxParallel.swift",
        "Examples/MaxValue.swift",
        "Examples/MemcopyDemo.swift",
        "Examples/RandomFill.swift",
        "Examples/SIMDReduce.swift",
        "Examples/ThreadgroupLog.swift",
        "Support.swift"
      ],
      "target_dependencies" : [
        "Compute",
        "MetalSupportLite"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ComputeTests",
      "module_type" : "SwiftTarget",
      "name" : "ComputeTests",
      "path" : "Tests/ComputeTests",
      "sources" : [
        "ComputeTests.swift"
      ],
      "target_dependencies" : [
        "Compute"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Compute",
      "module_type" : "SwiftTarget",
      "name" : "Compute",
      "path" : "Sources/Compute",
      "product_memberships" : [
        "Compute",
        "Examples"
      ],
      "sources" : [
        "Compute+Arguments.swift",
        "Compute+Pipeline.swift",
        "Compute+Task.swift",
        "Compute.swift",
        "ShaderFunction.swift",
        "Support.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.