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 0.10.4 (aa3410), with Swift 6.0 for Linux on 6 Nov 2024 09:20:07 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: 0.10.4
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
 * tag               0.10.4     -> FETCH_HEAD
HEAD is now at aa3410f Support PBXGroup build file elements eg localized variants (#35)
Cloned https://github.com/mikeger/XcodeSelectiveTesting.git
Revision (git rev-parse @):
aa3410ff9cf76d090fa3c901afa104d28cfc5f75
SUCCESS checkout https://github.com/mikeger/XcodeSelectiveTesting.git at 0.10.4
========================================
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/jpsim/Yams.git
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/kylef/PathKit.git
Fetching https://github.com/tuist/XcodeProj.git
[1/1411] Fetching pathkit
[1412/2537] Fetching pathkit, rainbow
[2538/12439] Fetching pathkit, rainbow, yams
[2935/34288] Fetching pathkit, rainbow, yams, xcodeproj
[10996/46646] Fetching pathkit, rainbow, yams, xcodeproj, swift-argument-parser
Fetched https://github.com/kylef/PathKit.git from cache (1.14s)
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.15s)
Fetched https://github.com/onevcat/Rainbow from cache (1.43s)
Fetched https://github.com/tuist/XcodeProj.git from cache (1.48s)
Fetched https://github.com/jpsim/Yams.git from cache (1.48s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.0.1 (2.64s)
Computing version for https://github.com/kylef/PathKit.git
Computed https://github.com/kylef/PathKit.git at 1.0.1 (4.48s)
Fetching https://github.com/kylef/Spectre.git
[1/1021] Fetching spectre
Fetched https://github.com/kylef/Spectre.git from cache (0.25s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (1.16s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 5.1.3 (0.63s)
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.52s)
Computing version for https://github.com/tuist/XcodeProj.git
Computed https://github.com/tuist/XcodeProj.git at 8.24.8 (1.13s)
Fetching https://github.com/tadija/AEXML.git
[1/2102] Fetching aexml
Fetched https://github.com/tadija/AEXML.git from cache (0.33s)
Computing version for https://github.com/tadija/AEXML.git
Computed https://github.com/tadija/AEXML.git at 4.6.1 (0.92s)
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/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/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
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/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.0.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
[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 writer.c
[18/41] Compiling reader.c
[19/41] Compiling parser.c
[20/41] Compiling api.c
[21/41] Compiling emitter.c
[22/41] Write swift-version-24593BA9C3E375BF.txt
[23/41] Compiling scanner.c
[25/80] Emitting module ArgumentParserToolInfo
[26/80] Compiling ArgumentParserToolInfo ToolInfo.swift
[27/81] Compiling Yams Mark.swift
[28/81] Compiling Yams Node.Mapping.swift
[29/82] Compiling Rainbow StringGenerator.swift
[30/83] Wrapping AST for ArgumentParserToolInfo for debugging
[32/121] Compiling Rainbow Style.swift
[33/121] Emitting module ArgumentParser
[34/126] Compiling ArgumentParser ArgumentVisibility.swift
[35/126] Compiling ArgumentParser CompletionKind.swift
[36/126] Compiling ArgumentParser Errors.swift
[37/126] Compiling ArgumentParser Flag.swift
[38/126] Compiling ArgumentParser NameSpecification.swift
[39/126] Compiling ArgumentParser Option.swift
[42/126] Compiling Rainbow OutputTarget.swift
[43/126] Compiling Yams YamlError.swift
[48/126] Compiling PathKit PathKit.swift
[49/126] Emitting module PathKit
[50/127] Compiling ArgumentParser Argument.swift
[51/127] Compiling ArgumentParser ArgumentHelp.swift
[52/127] Compiling AEXML Parser.swift
[53/127] Compiling AEXML Options.swift
[54/127] Emitting module AEXML
[55/127] Compiling AEXML Document.swift
[56/127] Compiling ArgumentParser BashCompletionsGenerator.swift
[57/127] Compiling ArgumentParser CompletionsGenerator.swift
[58/127] Compiling ArgumentParser OptionGroup.swift
[59/127] Compiling ArgumentParser AsyncParsableCommand.swift
[60/127] Compiling ArgumentParser FishCompletionsGenerator.swift
[61/127] Compiling ArgumentParser ZshCompletionsGenerator.swift
[63/127] Compiling AEXML Element.swift
[64/127] Compiling AEXML Error.swift
[65/128] Emitting module Rainbow
[66/128] Compiling Rainbow String+Rainbow.swift
[67/128] Compiling Rainbow Rainbow.swift
[70/129] Emitting module SelectiveTestShell
[71/129] Compiling SelectiveTestShell Shell.swift
[72/129] Compiling SelectiveTestShell String+Error.swift
[75/130] Compiling ArgumentParser CommandConfiguration.swift
[76/130] Compiling ArgumentParser CommandGroup.swift
[77/130] Compiling ArgumentParser EnumerableFlag.swift
[80/130] Emitting module Yams
[89/131] Compiling ArgumentParser CollectionExtensions.swift
[90/131] Compiling ArgumentParser Platform.swift
[91/131] Compiling ArgumentParser SequenceExtensions.swift
[92/131] Compiling ArgumentParser StringExtensions.swift
[93/131] Compiling ArgumentParser Tree.swift
[94/131] Wrapping AST for PathKit for debugging
[96/131] Wrapping AST for AEXML for debugging
[97/131] Wrapping AST for Rainbow for debugging
[98/133] Wrapping AST for SelectiveTestShell for debugging
[99/133] Wrapping AST for Yams for debugging
[101/222] 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
[102/222] 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 {
[104/223] Compiling XcodeProj XCSharedData.swift
[105/223] Compiling XcodeProj XCUserData.swift
[106/223] Compiling XcodeProj Xcode.swift
[107/223] Compiling XcodeProj XcodeProj.swift
[108/223] Compiling XcodeProj Writable.swift
[109/223] Compiling XcodeProj PBXTarget.swift
[110/223] Compiling XcodeProj PBXTargetDependency.swift
[111/223] Compiling XcodeProj WorkspaceSettings.swift
[112/223] Compiling XcodeProj XCBreakpointList.swift
[113/223] Compiling XcodeProj XCDebugger.swift
[114/223] Compiling XcodeProj Equality.generated.swift
[115/223] Compiling XcodeProj Sourcery.swift
[116/223] Compiling XcodeProj XCLocalSwiftPackageReference.swift
[117/223] Compiling XcodeProj XCRemoteSwiftPackageReference.swift
[118/223] Compiling XcodeProj XCSwiftPackageProductDependency.swift
[119/223] Compiling XcodeProj PBXAggregateTarget.swift
[120/223] Compiling XcodeProj PBXLegacyTarget.swift
[121/223] Compiling XcodeProj PBXNativeTarget.swift
[122/223] Compiling XcodeProj PBXProductType.swift
[123/223] Compiling XcodeProj PBXReferenceProxy.swift
[123/223] Wrapping AST for SelectiveTestLogger for debugging
[125/227] Wrapping AST for ArgumentParser for debugging
[127/227] Emitting module Git
[128/227] Compiling Git Git+Changeset.swift
[129/227] Compiling Git Git.swift
[130/228] Wrapping AST for Git for debugging
[132/228] Emitting module XcodeProj
[133/240] Compiling XcodeProj XCScheme+RemoteRunnable.swift
[134/240] Compiling XcodeProj XCScheme+Runnable.swift
[135/240] Compiling XcodeProj XCScheme+SerialAction.swift
[136/240] Compiling XcodeProj XCScheme+StoreKitConfigurationFileReference.swift
[137/240] Compiling XcodeProj XCScheme+TestAction.swift
[138/240] Compiling XcodeProj XCScheme+TestItem.swift
[139/240] Compiling XcodeProj XCScheme+TestPlanReference.swift
[140/240] Compiling XcodeProj XCScheme+TestableReference.swift
[141/240] Compiling XcodeProj XCScheme.swift
[142/240] Compiling XcodeProj XCSchemeManagement.swift
[143/240] Compiling XcodeProj BuildSettingsProvider.swift
[144/240] Compiling XcodeProj CommentedString.swift
[145/240] Compiling XcodeProj PBXBuildPhase.swift
[146/240] Compiling XcodeProj PBXBuildRule.swift
[147/240] Compiling XcodeProj PBXCopyFilesBuildPhase.swift
[148/240] Compiling XcodeProj PBXFrameworksBuildPhase.swift
[149/240] Compiling XcodeProj PBXHeadersBuildPhase.swift
[150/240] Compiling XcodeProj PBXResourcesBuildPhase.swift
[151/240] Compiling XcodeProj PBXRezBuildPhase.swift
[152/240] Compiling XcodeProj PBXShellScriptBuildPhase.swift
[153/240] Compiling XcodeProj PBXSourcesBuildPhase.swift
[154/240] Compiling XcodeProj BuildSettings.swift
[155/240] Compiling XcodeProj XCBuildConfiguration.swift
[156/240] Compiling XcodeProj XCConfigurationList.swift
[157/240] Compiling XcodeProj PBXContainerItem.swift
[169/240] Compiling XcodeProj XCScheme+AditionalOption.swift
[170/240] Compiling XcodeProj XCScheme+AnalyzeAction.swift
[171/240] Compiling XcodeProj XCScheme+ArchiveAction.swift
[172/240] Compiling XcodeProj XCScheme+BuildAction.swift
[173/240] Compiling XcodeProj XCScheme+BuildableProductRunnable.swift
[174/240] Compiling XcodeProj XCScheme+BuildableReference.swift
[175/240] Compiling XcodeProj XCScheme+CommandLineArguments.swift
[176/240] Compiling XcodeProj XCScheme+EnvironmentVariable.swift
[177/240] Compiling XcodeProj XCScheme+ExecutionAction.swift
[178/240] Compiling XcodeProj XCScheme+LaunchAction.swift
[179/240] Compiling XcodeProj XCScheme+LocationScenarioReference.swift
[180/240] Compiling XcodeProj XCScheme+PathRunnable.swift
[181/240] Compiling XcodeProj XCScheme+ProfileAction.swift
[182/240] Compiling XcodeProj Errors.swift
[183/240] Compiling XcodeProj AEXML+XcodeFormat.swift
[184/240] Compiling XcodeProj Array+Extras.swift
[185/240] Compiling XcodeProj Bool+Extras.swift
[186/240] Compiling XcodeProj Dictionary+Enumerate.swift
[187/240] Compiling XcodeProj Dictionary+Extras.swift
[188/240] Compiling XcodeProj KeyedDecodingContainer+Additions.swift
[189/240] Compiling XcodeProj NSRecursiveLock+Sync.swift
[190/240] Compiling XcodeProj Path+Extras.swift
[191/240] Compiling XcodeProj String+Utils.swift
[192/240] Compiling XcodeProj String+md5.swift
[193/240] Compiling XcodeProj BuildPhase.swift
[194/240] Compiling XcodeProj PBXBuildFile.swift
[195/240] Compiling XcodeProj PBXOutputSettings.swift
[196/240] Compiling XcodeProj PBXProj.swift
[197/240] Compiling XcodeProj PBXProjEncoder.swift
[198/240] Compiling XcodeProj PBXProject.swift
[208/240] Compiling XcodeProj PBXContainerItemProxy.swift
[209/240] Compiling XcodeProj PBXFileElement.swift
[210/240] Compiling XcodeProj PBXFileReference.swift
[211/240] Compiling XcodeProj PBXFileSystemSynchronizedBuildFileExceptionSet.swift
[212/240] Compiling XcodeProj PBXFileSystemSynchronizedRootGroup.swift
[213/240] Compiling XcodeProj PBXGroup.swift
[214/240] Compiling XcodeProj PBXSourceTree.swift
[215/240] Compiling XcodeProj PBXVariantGroup.swift
[216/240] Compiling XcodeProj XCVersionGroup.swift
[217/240] Compiling XcodeProj PBXObject.swift
[218/240] Compiling XcodeProj PBXObjectParser.swift
[219/240] Compiling XcodeProj PBXObjectReference.swift
[220/240] Compiling XcodeProj PBXObjects.swift
[221/240] Compiling XcodeProj Decoders.swift
[222/240] Compiling XcodeProj JSONDecoding.swift
[223/240] Compiling XcodeProj PBXBatchUpdater.swift
[224/240] Compiling XcodeProj PlistValue.swift
[225/240] Compiling XcodeProj ReferenceGenerator.swift
[226/240] Compiling XcodeProj XCConfig.swift
[227/240] Compiling XcodeProj XCWorkspace.swift
[228/240] Compiling XcodeProj XCWorkspaceData.swift
[229/240] Compiling XcodeProj XCWorkspaceDataElement.swift
[230/240] Compiling XcodeProj XCWorkspaceDataElementLocationType.swift
[231/240] Compiling XcodeProj XCWorkspaceDataFileRef.swift
[232/240] Compiling XcodeProj XCWorkspaceDataGroup.swift
[233/241] Wrapping AST for XcodeProj for debugging
[235/247] Compiling Workspace XCWorkspace+Projects.swift
[236/247] Compiling Workspace WorkspaceInfo.swift
[237/247] Compiling Workspace Sequence+Extensions.swift
[238/247] Compiling Workspace DependencyGraph.swift
[239/247] Emitting module Workspace
[240/247] Compiling Workspace Target.swift
[241/248] Wrapping AST for Workspace for debugging
[243/258] Compiling DependencyCalculator PackageMetadata.swift
[244/258] Compiling TestConfigurator Array+Extensions.swift
[245/258] Compiling TestConfigurator TestPlanHelper.swift
[246/258] Compiling DependencyCalculator DependencyCalculator.swift
[247/258] Emitting module DependencyCalculator
[248/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 |             }
[249/258] Compiling DependencyCalculator DependencyGraph.swift
[251/259] Compiling TestConfigurator TestPlanModel.swift
[252/259] Compiling TestConfigurator TestConfigurator.swift
[253/259] Emitting module TestConfigurator
[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] Emitting module SelectiveTestingCore
[259/264] Compiling SelectiveTestingCore Config.swift
[260/264] Compiling SelectiveTestingCore SelectiveTestingTool.swift
[261/265] Wrapping AST for SelectiveTestingCore for debugging
[263/267] Compiling xcode_selective_test SelectiveTesting.swift
[264/267] Emitting module xcode_selective_test
[265/268] Wrapping AST for xcode-selective-test for debugging
[266/268] Write Objects.LinkFileList
[267/268] Linking xcode-selective-test
Build complete! (54.42s)
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.