The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of XcodeSelectiveTesting, reference main (edd6e7), with Swift 6.0 for Linux on 6 Nov 2024 09:25:56 UTC.

Swift 6 data race errors: 1

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mikeger/XcodeSelectiveTesting.git
Reference: main
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/mikeger/XcodeSelectiveTesting
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at edd6e7f Update README.md
Cloned https://github.com/mikeger/XcodeSelectiveTesting.git
Revision (git rev-parse @):
edd6e7f1e6565969a8ce160d6bb0dfc4f90a1d76
SUCCESS checkout https://github.com/mikeger/XcodeSelectiveTesting.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/mikeger/XcodeSelectiveTesting.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/jpsim/Yams.git
Fetching https://github.com/kylef/PathKit.git
Fetching https://github.com/tuist/XcodeProj.git
[1/1411] Fetching pathkit
[862/2537] Fetching pathkit, rainbow
[2538/12439] Fetching pathkit, rainbow, yams
Fetched https://github.com/kylef/PathKit.git from cache (0.28s)
[1226/11028] Fetching rainbow, yams
[1524/32877] Fetching rainbow, yams, xcodeproj
[8175/45235] Fetching rainbow, yams, xcodeproj, swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.94s)
[25435/32877] Fetching rainbow, yams, xcodeproj
Fetched https://github.com/jpsim/Yams.git from cache (1.41s)
Fetched https://github.com/onevcat/Rainbow from cache (1.56s)
Fetched https://github.com/tuist/XcodeProj.git from cache (1.59s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.0.1 (2.21s)
Computing version for https://github.com/kylef/PathKit.git
Computed https://github.com/kylef/PathKit.git at 1.0.1 (3.56s)
Fetching https://github.com/kylef/Spectre.git
[1/1021] Fetching spectre
Fetched https://github.com/kylef/Spectre.git from cache (0.38s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (0.96s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 5.1.3 (0.64s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.46s)
Computing version for https://github.com/tuist/XcodeProj.git
Computed https://github.com/tuist/XcodeProj.git at 8.24.8 (0.44s)
Fetching https://github.com/tadija/AEXML.git
[1/2102] Fetching aexml
Fetched https://github.com/tadija/AEXML.git from cache (0.35s)
Computing version for https://github.com/tadija/AEXML.git
Computed https://github.com/tadija/AEXML.git at 4.6.1 (0.82s)
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.0.1
Creating working copy for https://github.com/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 5.1.3
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
Creating working copy for https://github.com/tuist/XcodeProj.git
Working copy of https://github.com/tuist/XcodeProj.git resolved at 8.24.8
Creating working copy for https://github.com/tadija/AEXML.git
Working copy of https://github.com/tadija/AEXML.git resolved at 4.6.1
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
[1/1] Compiling plugin GenerateManual
/host/spi-builder-workspace/Plugins/SelectiveTestingPlugin/SelectiveTestingPlugin.swift:27:23: warning: result of call to 'changeCurrentDirectoryPath' is unused
25 |
26 |     func performCommand(context: PluginContext, arguments: [String]) async throws {
27 |         FileManager().changeCurrentDirectoryPath(context.package.directory.string)
   |                       `- warning: result of call to 'changeCurrentDirectoryPath' is unused
28 |         let tool = try context.tool(named: "xcode-selective-test")
29 |
[2/2] Compiling plugin SelectiveTestingPlugin
Building for debugging...
[2/41] Write sources
[17/41] Compiling reader.c
[18/41] Compiling writer.c
[19/41] Compiling parser.c
[20/41] Compiling api.c
[21/41] Compiling scanner.c
[22/41] Compiling emitter.c
[23/41] Write swift-version-24593BA9C3E375BF.txt
[25/80] Emitting module PathKit
[26/80] Emitting module Rainbow
[27/81] Compiling Rainbow StringGenerator.swift
[28/81] Emitting module ArgumentParserToolInfo
[29/81] Compiling ArgumentParserToolInfo ToolInfo.swift
[30/82] Compiling Rainbow Style.swift
[32/82] Compiling Rainbow String+Rainbow.swift
[32/82] Wrapping AST for ArgumentParserToolInfo for debugging
[34/120] Compiling Rainbow Rainbow.swift
[35/120] Compiling Rainbow OutputTarget.swift
[36/120] Compiling ArgumentParser FishCompletionsGenerator.swift
[37/120] Compiling ArgumentParser ZshCompletionsGenerator.swift
[38/120] Emitting module ArgumentParser
[39/125] Compiling ArgumentParser Argument.swift
[40/125] Compiling ArgumentParser ArgumentHelp.swift
[41/125] Compiling ArgumentParser BashCompletionsGenerator.swift
[42/125] Compiling ArgumentParser CompletionsGenerator.swift
[43/126] Compiling AEXML Options.swift
[44/126] Compiling AEXML Parser.swift
[46/126] Compiling AEXML Element.swift
[47/126] Compiling AEXML Error.swift
[48/126] Compiling AEXML Document.swift
[49/126] Emitting module AEXML
[51/128] Wrapping AST for Rainbow for debugging
[53/130] Compiling ArgumentParser NameSpecification.swift
[54/130] Compiling ArgumentParser Option.swift
[56/130] Compiling PathKit PathKit.swift
[57/130] Compiling ArgumentParser ArgumentVisibility.swift
[58/130] Compiling ArgumentParser CompletionKind.swift
[59/130] Compiling ArgumentParser Errors.swift
[60/130] Compiling ArgumentParser Flag.swift
[63/131] Emitting module SelectiveTestShell
[64/131] Compiling SelectiveTestShell Shell.swift
[65/131] Compiling SelectiveTestShell String+Error.swift
[65/131] Wrapping AST for AEXML for debugging
[69/131] Compiling ArgumentParser OptionGroup.swift
[70/131] Compiling ArgumentParser AsyncParsableCommand.swift
[71/131] Emitting module Yams
[85/132] Emitting module SelectiveTestLogger
/host/spi-builder-workspace/Sources/SelectiveTestLogger/Logger.swift:12:12: warning: var 'errStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | }
11 |
12 | public var errStream = StandardErrorOutputStream()
   |            |- warning: var 'errStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: convert 'errStream' to a 'let' constant to make 'Sendable' shared state immutable
   |            |- note: annotate 'errStream' with '@MainActor' if property should only be accessed from the main actor
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | public enum Logger {
[86/132] Compiling SelectiveTestLogger Logger.swift
/host/spi-builder-workspace/Sources/SelectiveTestLogger/Logger.swift:12:12: warning: var 'errStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | }
11 |
12 | public var errStream = StandardErrorOutputStream()
   |            |- warning: var 'errStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: convert 'errStream' to a 'let' constant to make 'Sendable' shared state immutable
   |            |- note: annotate 'errStream' with '@MainActor' if property should only be accessed from the main actor
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | public enum Logger {
/host/spi-builder-workspace/Sources/SelectiveTestLogger/Logger.swift:9:66: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | public struct StandardErrorOutputStream: TextOutputStream {
 9 |     public mutating func write(_ string: String) { fputs(string, stderr) }
   |                                                                  `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
10 | }
11 |
SwiftGlibc.stderr:1:12: note: var declared here
1 | public var stderr: UnsafeMutablePointer<FILE>!
  |            `- note: var declared here
[88/133] Compiling Yams YamlError.swift
[88/134] Wrapping AST for PathKit for debugging
[91/134] Wrapping AST for SelectiveTestShell for debugging
[92/169] Wrapping AST for Yams for debugging
[93/196] Wrapping AST for SelectiveTestLogger for debugging
[95/226] Compiling XcodeProj PBXObjectReference.swift
[96/226] Compiling XcodeProj PBXObjects.swift
[97/226] Compiling XcodeProj PBXOutputSettings.swift
[98/226] Compiling XcodeProj PBXProj.swift
[99/226] Compiling XcodeProj PBXProjEncoder.swift
[100/226] Compiling XcodeProj PBXBuildFile.swift
[101/226] Compiling XcodeProj PBXBuildPhase.swift
[102/226] Compiling XcodeProj PBXBuildRule.swift
[103/226] Compiling XcodeProj PBXCopyFilesBuildPhase.swift
[104/226] Compiling XcodeProj PBXFrameworksBuildPhase.swift
[105/226] Compiling XcodeProj BuildSettings.swift
[106/226] Compiling XcodeProj XCBuildConfiguration.swift
[107/226] Compiling XcodeProj XCConfigurationList.swift
[108/226] Compiling XcodeProj PBXContainerItem.swift
[109/226] Compiling XcodeProj PBXContainerItemProxy.swift
[110/226] Compiling XcodeProj PBXHeadersBuildPhase.swift
[111/226] Compiling XcodeProj PBXResourcesBuildPhase.swift
[112/226] Compiling XcodeProj PBXRezBuildPhase.swift
[113/226] Compiling XcodeProj PBXShellScriptBuildPhase.swift
[114/226] Compiling XcodeProj PBXSourcesBuildPhase.swift
[115/226] Compiling Git Git.swift
[116/226] Emitting module Git
[117/226] Compiling Git Git+Changeset.swift
[119/227] Compiling XcodeProj PBXSourceTree.swift
[120/227] Compiling XcodeProj PBXVariantGroup.swift
[121/227] Compiling XcodeProj XCVersionGroup.swift
[122/227] Compiling XcodeProj PBXObject.swift
[123/227] Compiling XcodeProj PBXObjectParser.swift
[124/227] Compiling XcodeProj PBXFileElement.swift
[125/227] Compiling XcodeProj PBXFileReference.swift
[126/227] Compiling XcodeProj PBXFileSystemSynchronizedBuildFileExceptionSet.swift
[127/227] Compiling XcodeProj PBXFileSystemSynchronizedRootGroup.swift
[128/227] Compiling XcodeProj PBXGroup.swift
[128/228] Wrapping AST for Git for debugging
[130/228] Wrapping AST for ArgumentParser for debugging
[132/228] Compiling XcodeProj Errors.swift
[133/228] Compiling XcodeProj AEXML+XcodeFormat.swift
[134/228] Compiling XcodeProj Array+Extras.swift
[135/228] Compiling XcodeProj Bool+Extras.swift
[136/228] Compiling XcodeProj Dictionary+Enumerate.swift
[137/228] Compiling XcodeProj Dictionary+Extras.swift
[138/228] Compiling XcodeProj KeyedDecodingContainer+Additions.swift
[139/228] Compiling XcodeProj NSRecursiveLock+Sync.swift
[140/228] Compiling XcodeProj Path+Extras.swift
[141/228] Compiling XcodeProj String+Utils.swift
[142/228] Compiling XcodeProj String+md5.swift
[143/228] Compiling XcodeProj BuildPhase.swift
[145/240] Emitting module XcodeProj
[146/240] Compiling XcodeProj XCScheme+RemoteRunnable.swift
[147/240] Compiling XcodeProj XCScheme+Runnable.swift
[148/240] Compiling XcodeProj XCScheme+SerialAction.swift
[149/240] Compiling XcodeProj XCScheme+StoreKitConfigurationFileReference.swift
[150/240] Compiling XcodeProj XCScheme+TestAction.swift
[151/240] Compiling XcodeProj XCScheme+TestItem.swift
[152/240] Compiling XcodeProj XCScheme+TestPlanReference.swift
[153/240] Compiling XcodeProj XCScheme+TestableReference.swift
[154/240] Compiling XcodeProj XCScheme.swift
[155/240] Compiling XcodeProj XCSchemeManagement.swift
[156/240] Compiling XcodeProj BuildSettingsProvider.swift
[157/240] Compiling XcodeProj CommentedString.swift
[158/240] Compiling XcodeProj XCScheme+AnalyzeAction.swift
[159/240] Compiling XcodeProj XCScheme+ArchiveAction.swift
[160/240] Compiling XcodeProj XCScheme+BuildAction.swift
[161/240] Compiling XcodeProj XCScheme+BuildableProductRunnable.swift
[162/240] Compiling XcodeProj XCScheme+BuildableReference.swift
[163/240] Compiling XcodeProj XCScheme+CommandLineArguments.swift
[164/240] Compiling XcodeProj XCScheme+EnvironmentVariable.swift
[165/240] Compiling XcodeProj XCScheme+ExecutionAction.swift
[166/240] Compiling XcodeProj XCScheme+LaunchAction.swift
[167/240] Compiling XcodeProj XCScheme+LocationScenarioReference.swift
[168/240] Compiling XcodeProj XCScheme+PathRunnable.swift
[169/240] Compiling XcodeProj XCScheme+ProfileAction.swift
[170/240] Compiling XcodeProj PBXReferenceProxy.swift
[171/240] Compiling XcodeProj PBXTarget.swift
[172/240] Compiling XcodeProj PBXTargetDependency.swift
[173/240] Compiling XcodeProj WorkspaceSettings.swift
[174/240] Compiling XcodeProj XCBreakpointList.swift
[175/240] Compiling XcodeProj XCDebugger.swift
[176/240] Compiling XcodeProj XCSharedData.swift
[177/240] Compiling XcodeProj XCUserData.swift
[178/240] Compiling XcodeProj Xcode.swift
[179/240] Compiling XcodeProj XcodeProj.swift
[180/240] Compiling XcodeProj Writable.swift
[181/240] Compiling XcodeProj XCScheme+AditionalOption.swift
[185/240] Compiling XcodeProj PBXProject.swift
[186/240] Compiling XcodeProj Equality.generated.swift
[187/240] Compiling XcodeProj Sourcery.swift
[188/240] Compiling XcodeProj XCLocalSwiftPackageReference.swift
[189/240] Compiling XcodeProj XCRemoteSwiftPackageReference.swift
[190/240] Compiling XcodeProj XCSwiftPackageProductDependency.swift
[191/240] Compiling XcodeProj PBXAggregateTarget.swift
[192/240] Compiling XcodeProj PBXLegacyTarget.swift
[193/240] Compiling XcodeProj PBXNativeTarget.swift
[194/240] Compiling XcodeProj PBXProductType.swift
[195/240] Compiling XcodeProj Decoders.swift
[196/240] Compiling XcodeProj JSONDecoding.swift
[197/240] Compiling XcodeProj PBXBatchUpdater.swift
[198/240] Compiling XcodeProj PlistValue.swift
[199/240] Compiling XcodeProj ReferenceGenerator.swift
[200/240] Compiling XcodeProj XCConfig.swift
[201/240] Compiling XcodeProj XCWorkspace.swift
[202/240] Compiling XcodeProj XCWorkspaceData.swift
[203/240] Compiling XcodeProj XCWorkspaceDataElement.swift
[204/240] Compiling XcodeProj XCWorkspaceDataElementLocationType.swift
[205/240] Compiling XcodeProj XCWorkspaceDataFileRef.swift
[206/240] Compiling XcodeProj XCWorkspaceDataGroup.swift
[233/241] Wrapping AST for XcodeProj for debugging
[235/247] Emitting module Workspace
[236/247] Compiling Workspace Sequence+Extensions.swift
[237/247] Compiling Workspace DependencyGraph.swift
[238/247] Compiling Workspace XCWorkspace+Projects.swift
[239/247] Compiling Workspace Target.swift
[240/247] Compiling Workspace WorkspaceInfo.swift
[241/248] Wrapping AST for Workspace for debugging
[243/258] Compiling DependencyCalculator ConcurrentMap.swift
/host/spi-builder-workspace/Sources/DependencyCalculator/ConcurrentMap.swift:29:27: warning: capture of 'self' with non-sendable type 'Array<Element>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |         let result = ThreadSafe([B?](repeating: nil, count: count))
28 |         DispatchQueue.concurrentPerform(iterations: count) { idx in
29 |             let element = self[idx]
   |                           `- warning: capture of 'self' with non-sendable type 'Array<Element>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
30 |             let transformed = transform(element)
31 |             result.atomically {
/host/spi-builder-workspace/Sources/DependencyCalculator/ConcurrentMap.swift:30:31: warning: capture of 'transform' with non-sendable type '(Element) -> B' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |         DispatchQueue.concurrentPerform(iterations: count) { idx in
29 |             let element = self[idx]
30 |             let transformed = transform(element)
   |                               |- warning: capture of 'transform' with non-sendable type '(Element) -> B' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
31 |             result.atomically {
32 |                 $0[idx] = transformed
/host/spi-builder-workspace/Sources/DependencyCalculator/ConcurrentMap.swift:31:13: warning: capture of 'result' with non-sendable type 'ThreadSafe<[B?]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 5 | import Foundation
 6 |
 7 | final class ThreadSafe<A> {
   |             `- note: generic class 'ThreadSafe' does not conform to the 'Sendable' protocol
 8 |     private var _value: A
 9 |     private let queue = DispatchQueue(label: "ThreadSafe")
   :
29 |             let element = self[idx]
30 |             let transformed = transform(element)
31 |             result.atomically {
   |             `- warning: capture of 'result' with non-sendable type 'ThreadSafe<[B?]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |                 $0[idx] = transformed
33 |             }
[244/258] Emitting module DependencyCalculator
[245/258] Compiling TestConfigurator Array+Extensions.swift
[246/258] Compiling TestConfigurator TestPlanHelper.swift
[247/258] Compiling DependencyCalculator PackageMetadata.swift
[248/258] Compiling DependencyCalculator DependencyCalculator.swift
[249/258] Compiling DependencyCalculator DependencyGraph.swift
[251/259] Emitting module TestConfigurator
[252/259] Compiling TestConfigurator TestConfigurator.swift
[253/259] Compiling TestConfigurator TestPlanModel.swift
[254/260] Wrapping AST for DependencyCalculator for debugging
[255/260] Wrapping AST for TestConfigurator for debugging
[257/264] Compiling SelectiveTestingCore DependencyGraph+Visualization.swift
[258/264] Compiling SelectiveTestingCore SelectiveTestingTool.swift
[259/264] Compiling SelectiveTestingCore Config.swift
[260/264] Emitting module SelectiveTestingCore
[261/265] Wrapping AST for SelectiveTestingCore for debugging
[263/267] Emitting module xcode_selective_test
[264/267] Compiling xcode_selective_test SelectiveTesting.swift
[265/268] Wrapping AST for xcode-selective-test for debugging
[266/268] Write Objects.LinkFileList
[267/268] Linking xcode-selective-test
Build complete! (75.66s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "xcodeproj",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "8.24.1",
            "upper_bound" : "9.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/tuist/XcodeProj.git"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "pathkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "1.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kylef/PathKit.git"
    },
    {
      "identity" : "rainbow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/onevcat/Rainbow"
    },
    {
      "identity" : "yams",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.5",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/jpsim/Yams.git"
    }
  ],
  "manifest_display_name" : "XcodeSelectiveTesting",
  "name" : "XcodeSelectiveTesting",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "xcode-selective-test",
      "targets" : [
        "xcode-selective-test"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "XcodeSelectiveTest",
      "targets" : [
        "SelectiveTestingPlugin"
      ],
      "type" : {
        "plugin" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "xcode_selective_test",
      "module_type" : "SwiftTarget",
      "name" : "xcode-selective-test",
      "path" : "Sources/xcode-selective-test",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "SelectiveTesting.swift"
      ],
      "target_dependencies" : [
        "SelectiveTestingCore"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Workspace",
      "module_type" : "SwiftTarget",
      "name" : "Workspace",
      "path" : "Sources/Workspace",
      "product_dependencies" : [
        "XcodeProj"
      ],
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "DependencyGraph.swift",
        "Sequence+Extensions.swift",
        "Target.swift",
        "WorkspaceInfo.swift",
        "XCWorkspace+Projects.swift"
      ],
      "target_dependencies" : [
        "SelectiveTestLogger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TestConfigurator",
      "module_type" : "SwiftTarget",
      "name" : "TestConfigurator",
      "path" : "Sources/TestConfigurator",
      "product_dependencies" : [
        "PathKit"
      ],
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "TestConfigurator.swift",
        "xctestplanner/Core/Entity/TestPlanModel.swift",
        "xctestplanner/Core/Extensions/Array+Extensions.swift",
        "xctestplanner/Core/Helper/TestPlanHelper.swift"
      ],
      "target_dependencies" : [
        "Workspace",
        "SelectiveTestLogger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SelectiveTestingTests",
      "module_type" : "SwiftTarget",
      "name" : "SelectiveTestingTests",
      "path" : "Tests/SelectiveTestingTests",
      "product_dependencies" : [
        "PathKit"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/SelectiveTestingTests/ExampleProject",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "IntegrationTestTool.swift",
        "SelectiveTestingConfigTests.swift",
        "SelectiveTestingPackagesTests.swift",
        "SelectiveTestingPerformanceTests.swift",
        "SelectiveTestingProjectTests.swift",
        "SelectiveTestingWorkspaceTests.swift"
      ],
      "target_dependencies" : [
        "xcode-selective-test"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SelectiveTestingPlugin",
      "module_type" : "PluginTarget",
      "name" : "SelectiveTestingPlugin",
      "path" : "Plugins/SelectiveTestingPlugin",
      "plugin_capability" : {
        "intent" : {
          "description" : "Configure test plan for current changeset",
          "type" : "custom",
          "verb" : "xcode-selective-test"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "Update test plan file",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "SelectiveTestingPlugin.swift"
      ],
      "target_dependencies" : [
        "xcode-selective-test"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "SelectiveTestingCore",
      "module_type" : "SwiftTarget",
      "name" : "SelectiveTestingCore",
      "path" : "Sources/SelectiveTestingCore",
      "product_dependencies" : [
        "PathKit",
        "Rainbow",
        "Yams"
      ],
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "Config.swift",
        "DependencyGraph+Visualization.swift",
        "SelectiveTestingTool.swift"
      ],
      "target_dependencies" : [
        "DependencyCalculator",
        "TestConfigurator",
        "Git"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SelectiveTestShell",
      "module_type" : "SwiftTarget",
      "name" : "SelectiveTestShell",
      "path" : "Sources/SelectiveTestShell",
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "Shell.swift",
        "String+Error.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SelectiveTestLogger",
      "module_type" : "SwiftTarget",
      "name" : "SelectiveTestLogger",
      "path" : "Sources/SelectiveTestLogger",
      "product_dependencies" : [
        "Rainbow"
      ],
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "Logger.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Git",
      "module_type" : "SwiftTarget",
      "name" : "Git",
      "path" : "Sources/Git",
      "product_dependencies" : [
        "PathKit"
      ],
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "Git+Changeset.swift",
        "Git.swift"
      ],
      "target_dependencies" : [
        "SelectiveTestShell",
        "SelectiveTestLogger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DependencyCalculatorTests",
      "module_type" : "SwiftTarget",
      "name" : "DependencyCalculatorTests",
      "path" : "Tests/DependencyCalculatorTests",
      "product_dependencies" : [
        "PathKit"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/DependencyCalculatorTests/ExamplePackages",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "DependencyCalculatorTests.swift",
        "PackageMetadataTests.swift"
      ],
      "target_dependencies" : [
        "DependencyCalculator",
        "Workspace",
        "SelectiveTestingCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DependencyCalculator",
      "module_type" : "SwiftTarget",
      "name" : "DependencyCalculator",
      "path" : "Sources/DependencyCalculator",
      "product_dependencies" : [
        "PathKit"
      ],
      "product_memberships" : [
        "xcode-selective-test",
        "XcodeSelectiveTest"
      ],
      "sources" : [
        "ConcurrentMap.swift",
        "DependencyCalculator.swift",
        "DependencyGraph.swift",
        "PackageMetadata.swift"
      ],
      "target_dependencies" : [
        "Workspace",
        "SelectiveTestLogger",
        "Git"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.