The Swift Package Index logo.Swift Package Index

Build Information

Successful build of XcodeTools, reference 0.13.2 (061309), with Swift 6.3 for macOS (SPM) on 23 Apr 2026 17:31:32 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2007/2088] Compiling XcodeProj Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2008/2088] Compiling XcodeProj PBXContainerItemProxy.swift
[2009/2088] Compiling XcodeProj PBXFileReference.swift
[2010/2088] Compiling XcodeProj PBXGroup.swift
[2011/2088] Compiling XcodeProj PBXReferenceProxy.swift
[2012/2088] Compiling XcodeProj PBXVariantGroup.swift
[2013/2088] Compiling XcodeProj XCVersionGroup.swift
[2014/2088] Compiling XcodeProj PBXProject.swift
[2015/2088] Emitting module XcodeProj
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2016/2088] Compiling XcodeProj PBXBuildPhase.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2017/2088] Compiling XcodeProj PBXFileElement.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2018/2088] Compiling XcodeProj PBXObject.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2019/2088] Compiling XcodeProj PBXTarget.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2020/2088] Compiling XcodeProj PBXBuildFile.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/PBXModel/Build/PBXBuildRule.swift:38:10: warning: Comment below is not true anymore
36 | 	}
37 |
38 | #warning("Comment below is not true anymore")
   |          `- warning: Comment below is not true anymore
39 | 	/* (Very) sadly, a throwing computed property is not possible, so we use a function to get the non-optional value.
40 | 	 * Otherwise, for the compilerSpec example for instance, I’d very much have liked to have a CoreData property named `compilerSpec_o` for instance
[2024/2088] Compiling XcodeProj XcodeProj+BuildSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:25:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
23 | 	public func iterateCombinedBuildSettingsOfProject<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:26:158: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                              `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
27 |
28 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:40:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
38 | 	public func iterateCombinedBuildSettingsOfTargets<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ target: PBXTarget, _ targetName: String, _ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
42 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:41:162: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                                  `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
42 |
43 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:41: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |                                         |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:96: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:98: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                  |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:54:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
52 | 	public func getReferencedFiles() throws -> [(fileURL: URL, knownFileType: String?)] {
53 | 		return try managedObjectContext.performAndWait{
54 | 			try onContext_getReferencedFiles()
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
55 | 		}
56 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Packages.swift:31:31: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 	public func iterateReferencedSPMTargets(of targetName: String, _ handler: (_ proj: SPMProj, _ target: SPMTarget) async throws -> Void) async throws {
30 | 		let (spmTargetsFilterSet, referencedFiles) = try managedObjectContext.performAndWait{
31 | 			let spmTargetsFilter = try pbxproj.rootObject.getTargets()
   |                               `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
32 | 				.filter{ try $0.getName() == targetName } /* We could’ve made a fetch request to replace this line and the ones above, and potentially the next one too… */
33 | 				.flatMap{ try $0.getDependencies().compactMap{ try $0.productRef?.getProductName() } }
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2025/2088] Compiling XcodeProj XcodeProj+Files.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:25:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
23 | 	public func iterateCombinedBuildSettingsOfProject<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:26:158: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                              `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
27 |
28 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:40:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
38 | 	public func iterateCombinedBuildSettingsOfTargets<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ target: PBXTarget, _ targetName: String, _ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
42 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:41:162: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                                  `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
42 |
43 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:41: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |                                         |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:96: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:98: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                  |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:54:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
52 | 	public func getReferencedFiles() throws -> [(fileURL: URL, knownFileType: String?)] {
53 | 		return try managedObjectContext.performAndWait{
54 | 			try onContext_getReferencedFiles()
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
55 | 		}
56 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Packages.swift:31:31: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 	public func iterateReferencedSPMTargets(of targetName: String, _ handler: (_ proj: SPMProj, _ target: SPMTarget) async throws -> Void) async throws {
30 | 		let (spmTargetsFilterSet, referencedFiles) = try managedObjectContext.performAndWait{
31 | 			let spmTargetsFilter = try pbxproj.rootObject.getTargets()
   |                               `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
32 | 				.filter{ try $0.getName() == targetName } /* We could’ve made a fetch request to replace this line and the ones above, and potentially the next one too… */
33 | 				.flatMap{ try $0.getDependencies().compactMap{ try $0.productRef?.getProductName() } }
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2026/2088] Compiling XcodeProj XcodeProj+Packages.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:25:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
23 | 	public func iterateCombinedBuildSettingsOfProject<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:26:158: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                              `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
27 |
28 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:40:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
38 | 	public func iterateCombinedBuildSettingsOfTargets<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ target: PBXTarget, _ targetName: String, _ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
42 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:41:162: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                                  `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
42 |
43 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:41: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |                                         |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:96: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:98: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                  |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:54:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
52 | 	public func getReferencedFiles() throws -> [(fileURL: URL, knownFileType: String?)] {
53 | 		return try managedObjectContext.performAndWait{
54 | 			try onContext_getReferencedFiles()
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
55 | 		}
56 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Packages.swift:31:31: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 	public func iterateReferencedSPMTargets(of targetName: String, _ handler: (_ proj: SPMProj, _ target: SPMTarget) async throws -> Void) async throws {
30 | 		let (spmTargetsFilterSet, referencedFiles) = try managedObjectContext.performAndWait{
31 | 			let spmTargetsFilter = try pbxproj.rootObject.getTargets()
   |                               `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
32 | 				.filter{ try $0.getName() == targetName } /* We could’ve made a fetch request to replace this line and the ones above, and potentially the next one too… */
33 | 				.flatMap{ try $0.getDependencies().compactMap{ try $0.productRef?.getProductName() } }
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2027/2088] Compiling XcodeProj XcodeProj.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:25:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
23 | 	public func iterateCombinedBuildSettingsOfProject<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:26:158: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                              `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
27 |
28 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:40:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
38 | 	public func iterateCombinedBuildSettingsOfTargets<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ target: PBXTarget, _ targetName: String, _ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
42 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:41:162: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                                  `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
42 |
43 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:41: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |                                         |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:96: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:98: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                  |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:54:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
52 | 	public func getReferencedFiles() throws -> [(fileURL: URL, knownFileType: String?)] {
53 | 		return try managedObjectContext.performAndWait{
54 | 			try onContext_getReferencedFiles()
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
55 | 		}
56 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Packages.swift:31:31: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 	public func iterateReferencedSPMTargets(of targetName: String, _ handler: (_ proj: SPMProj, _ target: SPMTarget) async throws -> Void) async throws {
30 | 		let (spmTargetsFilterSet, referencedFiles) = try managedObjectContext.performAndWait{
31 | 			let spmTargetsFilter = try pbxproj.rootObject.getTargets()
   |                               `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
32 | 				.filter{ try $0.getName() == targetName } /* We could’ve made a fetch request to replace this line and the ones above, and potentially the next one too… */
33 | 				.flatMap{ try $0.getDependencies().compactMap{ try $0.productRef?.getProductName() } }
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2028/2088] Compiling XcodeProj XcodeProjConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:25:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
23 | 	public func iterateCombinedBuildSettingsOfProject<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:26:158: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                              `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
27 |
28 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:40:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
38 | 	public func iterateCombinedBuildSettingsOfTargets<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ target: PBXTarget, _ targetName: String, _ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
42 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:41:162: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                                  `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
42 |
43 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:41: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |                                         |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:96: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:98: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                  |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:54:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
52 | 	public func getReferencedFiles() throws -> [(fileURL: URL, knownFileType: String?)] {
53 | 		return try managedObjectContext.performAndWait{
54 | 			try onContext_getReferencedFiles()
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
55 | 		}
56 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Packages.swift:31:31: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 	public func iterateReferencedSPMTargets(of targetName: String, _ handler: (_ proj: SPMProj, _ target: SPMTarget) async throws -> Void) async throws {
30 | 		let (spmTargetsFilterSet, referencedFiles) = try managedObjectContext.performAndWait{
31 | 			let spmTargetsFilter = try pbxproj.rootObject.getTargets()
   |                               `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
32 | 				.filter{ try $0.getName() == targetName } /* We could’ve made a fetch request to replace this line and the ones above, and potentially the next one too… */
33 | 				.flatMap{ try $0.getDependencies().compactMap{ try $0.productRef?.getProductName() } }
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2029/2088] Compiling XcodeProj XcodeProjErrors.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:25:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
23 | 	public func iterateCombinedBuildSettingsOfProject<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:26:158: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                              `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
27 |
28 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:40:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
38 | 	public func iterateCombinedBuildSettingsOfTargets<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ target: PBXTarget, _ targetName: String, _ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
42 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:41:162: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                                  `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
42 |
43 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:41: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |                                         |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:96: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:98: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                  |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:54:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
52 | 	public func getReferencedFiles() throws -> [(fileURL: URL, knownFileType: String?)] {
53 | 		return try managedObjectContext.performAndWait{
54 | 			try onContext_getReferencedFiles()
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
55 | 		}
56 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Packages.swift:31:31: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 	public func iterateReferencedSPMTargets(of targetName: String, _ handler: (_ proj: SPMProj, _ target: SPMTarget) async throws -> Void) async throws {
30 | 		let (spmTargetsFilterSet, referencedFiles) = try managedObjectContext.performAndWait{
31 | 			let spmTargetsFilter = try pbxproj.rootObject.getTargets()
   |                               `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
32 | 				.filter{ try $0.getName() == targetName } /* We could’ve made a fetch request to replace this line and the ones above, and potentially the next one too… */
33 | 				.flatMap{ try $0.getDependencies().compactMap{ try $0.productRef?.getProductName() } }
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2030/2088] Compiling XcodeProj resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:25:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
23 | 	public func iterateCombinedBuildSettingsOfProject<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:26:158: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
24 | 		return try managedObjectContext.performAndWait{
25 | 			let pbxProject = pbxproj.rootObject
26 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForProject(pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                              `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
27 |
28 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:32:16: warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
30 | 					throw Err.internalError(.combinedSettingsForProjectWithTargetName)
31 | 				}
32 | 				return try handler(combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | 			}
34 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:40:21: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
38 | 	public func iterateCombinedBuildSettingsOfTargets<T>(defaultBuildSettings: BuildSettingsRef, _ handler: (_ target: PBXTarget, _ targetName: String, _ configuration: XCBuildConfiguration, _ configurationName: String, _ combinedBuildSettings: CombinedBuildSettings) throws -> T) throws -> [T] {
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
   |                     `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
42 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:41:162: warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
39 | 		return try managedObjectContext.performAndWait{
40 | 			let pbxProject = pbxproj.rootObject
41 | 			let allCombinedBuildSettings = try CombinedBuildSettings.allCombinedBuildSettingsForTargets(of: pbxProject, xcodeprojURL: xcodeprojURL, defaultBuildSettings: defaultBuildSettings)
   |                                                                                                                                                                  `- warning: capture of 'defaultBuildSettings' with non-Sendable type 'BuildSettingsRef' (aka 'Ref<BuildSettings>') in a '@Sendable' closure [#SendableClosureCaptures]
42 |
43 | 			return try allCombinedBuildSettings.sorted(by: CombinedBuildSettings.convenienceSort).map{ combinedBuildSettings -> T in
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in a '@Sendable' closure [#SendableClosureCaptures]
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+BuildSettings.swift:50:16: warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
48 | 					throw Err.internalError(.combinedSettingsForTargetWithoutTarget)
49 | 				}
50 | 				return try handler(target, targetName, combinedBuildSettings.configuration, combinedBuildSettings.configurationName, combinedBuildSettings)
   |                |- warning: capture of 'handler' with non-Sendable type '(PBXTarget, String, XCBuildConfiguration, String, CombinedBuildSettings) throws -> T' in an isolated closure
   |                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | 			}
52 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:36:41: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
34 | 	public func iterateReferencedFiles(_ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
35 | 		try managedObjectContext.performAndWait{
36 | 			try onContext_iterateReferencedFiles(handler)
   |                                         |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | 		}
38 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:42:96: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
40 | 	public func iterateSources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
41 | 		try managedObjectContext.performAndWait{
42 | 			try pbxproj.rootObject.onContext_iterateSources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
43 | 		}
44 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:48:98: warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
46 | 	public func iterateResources(of targetName: String, _ handler: (_ fileURL: URL, _ knownFileType: String?) throws -> Void) throws {
47 | 		try managedObjectContext.performAndWait{
48 | 			try pbxproj.rootObject.onContext_iterateResources(of: targetName, xcodeprojURL: xcodeprojURL, handler)
   |                                                                                                  |- warning: capture of 'handler' with non-Sendable type '(URL, String?) throws -> Void' in a '@Sendable' closure [#SendableClosureCaptures]
   |                                                                                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
49 | 		}
50 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Files.swift:54:8: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
52 | 	public func getReferencedFiles() throws -> [(fileURL: URL, knownFileType: String?)] {
53 | 		return try managedObjectContext.performAndWait{
54 | 			try onContext_getReferencedFiles()
   |        `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
55 | 		}
56 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj+Packages.swift:31:31: warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 	public func iterateReferencedSPMTargets(of targetName: String, _ handler: (_ proj: SPMProj, _ target: SPMTarget) async throws -> Void) async throws {
30 | 		let (spmTargetsFilterSet, referencedFiles) = try managedObjectContext.performAndWait{
31 | 			let spmTargetsFilter = try pbxproj.rootObject.getTargets()
   |                               `- warning: capture of 'self' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
32 | 				.filter{ try $0.getName() == targetName } /* We could’ve made a fetch request to replace this line and the ones above, and potentially the next one too… */
33 | 				.flatMap{ try $0.getDependencies().compactMap{ try $0.productRef?.getProductName() } }
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: consider making struct 'XcodeProj' conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2031/2088] Compiling XcodeProj ValueAndComment.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/CombinedBuildSettings.swift:189:10: warning: TODO: Implement variable conditionals…
187 | 		 * instead of an array of BuildSetting, which prevented it from doing the smarter resolution it now has. */
188 | 		let searchedSettings = buildSettingsLevels.enumerated().flatMap{ elementAndOffset in elementAndOffset.element.value.settings.map{ (level: elementAndOffset.offset, setting: $0) } }
189 | #warning("TODO: Implement variable conditionals…")
    |          `- warning: TODO: Implement variable conditionals…
190 | 		let settingsWhoseKeyMatch = searchedSettings.filter{ $0.setting.value.key.key == key.key }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/PBXProj.swift:80:15: warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 78 | 		rootObject = try context.performAndWait{
 79 | 			var decodedObjects = [String: PBXObject]()
 80 | 			for key in ro.keys {
    |               `- warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 81 | 				_ = try PBXObject.onContext_instantiate(id: key, on: context, rawObjects: ro, decodedObjects: &decodedObjects)
 82 | 			}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2032/2088] Compiling XcodeProj BuildSetting.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/CombinedBuildSettings.swift:189:10: warning: TODO: Implement variable conditionals…
187 | 		 * instead of an array of BuildSetting, which prevented it from doing the smarter resolution it now has. */
188 | 		let searchedSettings = buildSettingsLevels.enumerated().flatMap{ elementAndOffset in elementAndOffset.element.value.settings.map{ (level: elementAndOffset.offset, setting: $0) } }
189 | #warning("TODO: Implement variable conditionals…")
    |          `- warning: TODO: Implement variable conditionals…
190 | 		let settingsWhoseKeyMatch = searchedSettings.filter{ $0.setting.value.key.key == key.key }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/PBXProj.swift:80:15: warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 78 | 		rootObject = try context.performAndWait{
 79 | 			var decodedObjects = [String: PBXObject]()
 80 | 			for key in ro.keys {
    |               `- warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 81 | 				_ = try PBXObject.onContext_instantiate(id: key, on: context, rawObjects: ro, decodedObjects: &decodedObjects)
 82 | 			}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2033/2088] Compiling XcodeProj BuildSettingKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/CombinedBuildSettings.swift:189:10: warning: TODO: Implement variable conditionals…
187 | 		 * instead of an array of BuildSetting, which prevented it from doing the smarter resolution it now has. */
188 | 		let searchedSettings = buildSettingsLevels.enumerated().flatMap{ elementAndOffset in elementAndOffset.element.value.settings.map{ (level: elementAndOffset.offset, setting: $0) } }
189 | #warning("TODO: Implement variable conditionals…")
    |          `- warning: TODO: Implement variable conditionals…
190 | 		let settingsWhoseKeyMatch = searchedSettings.filter{ $0.setting.value.key.key == key.key }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/PBXProj.swift:80:15: warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 78 | 		rootObject = try context.performAndWait{
 79 | 			var decodedObjects = [String: PBXObject]()
 80 | 			for key in ro.keys {
    |               `- warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 81 | 				_ = try PBXObject.onContext_instantiate(id: key, on: context, rawObjects: ro, decodedObjects: &decodedObjects)
 82 | 			}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2034/2088] Compiling XcodeProj BuildSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/CombinedBuildSettings.swift:189:10: warning: TODO: Implement variable conditionals…
187 | 		 * instead of an array of BuildSetting, which prevented it from doing the smarter resolution it now has. */
188 | 		let searchedSettings = buildSettingsLevels.enumerated().flatMap{ elementAndOffset in elementAndOffset.element.value.settings.map{ (level: elementAndOffset.offset, setting: $0) } }
189 | #warning("TODO: Implement variable conditionals…")
    |          `- warning: TODO: Implement variable conditionals…
190 | 		let settingsWhoseKeyMatch = searchedSettings.filter{ $0.setting.value.key.key == key.key }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/PBXProj.swift:80:15: warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 78 | 		rootObject = try context.performAndWait{
 79 | 			var decodedObjects = [String: PBXObject]()
 80 | 			for key in ro.keys {
    |               `- warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 81 | 				_ = try PBXObject.onContext_instantiate(id: key, on: context, rawObjects: ro, decodedObjects: &decodedObjects)
 82 | 			}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2035/2088] Compiling XcodeProj CombinedBuildSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/CombinedBuildSettings.swift:189:10: warning: TODO: Implement variable conditionals…
187 | 		 * instead of an array of BuildSetting, which prevented it from doing the smarter resolution it now has. */
188 | 		let searchedSettings = buildSettingsLevels.enumerated().flatMap{ elementAndOffset in elementAndOffset.element.value.settings.map{ (level: elementAndOffset.offset, setting: $0) } }
189 | #warning("TODO: Implement variable conditionals…")
    |          `- warning: TODO: Implement variable conditionals…
190 | 		let settingsWhoseKeyMatch = searchedSettings.filter{ $0.setting.value.key.key == key.key }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/PBXProj.swift:80:15: warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 78 | 		rootObject = try context.performAndWait{
 79 | 			var decodedObjects = [String: PBXObject]()
 80 | 			for key in ro.keys {
    |               `- warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 81 | 				_ = try PBXObject.onContext_instantiate(id: key, on: context, rawObjects: ro, decodedObjects: &decodedObjects)
 82 | 			}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2036/2088] Compiling XcodeProj PBXProj.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/CombinedBuildSettings.swift:189:10: warning: TODO: Implement variable conditionals…
187 | 		 * instead of an array of BuildSetting, which prevented it from doing the smarter resolution it now has. */
188 | 		let searchedSettings = buildSettingsLevels.enumerated().flatMap{ elementAndOffset in elementAndOffset.element.value.settings.map{ (level: elementAndOffset.offset, setting: $0) } }
189 | #warning("TODO: Implement variable conditionals…")
    |          `- warning: TODO: Implement variable conditionals…
190 | 		let settingsWhoseKeyMatch = searchedSettings.filter{ $0.setting.value.key.key == key.key }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/PBXProj.swift:80:15: warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 78 | 		rootObject = try context.performAndWait{
 79 | 			var decodedObjects = [String: PBXObject]()
 80 | 			for key in ro.keys {
    |               `- warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 81 | 				_ = try PBXObject.onContext_instantiate(id: key, on: context, rawObjects: ro, decodedObjects: &decodedObjects)
 82 | 			}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2037/2088] Compiling XcodeProj XCConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/CombinedBuildSettings.swift:189:10: warning: TODO: Implement variable conditionals…
187 | 		 * instead of an array of BuildSetting, which prevented it from doing the smarter resolution it now has. */
188 | 		let searchedSettings = buildSettingsLevels.enumerated().flatMap{ elementAndOffset in elementAndOffset.element.value.settings.map{ (level: elementAndOffset.offset, setting: $0) } }
189 | #warning("TODO: Implement variable conditionals…")
    |          `- warning: TODO: Implement variable conditionals…
190 | 		let settingsWhoseKeyMatch = searchedSettings.filter{ $0.setting.value.key.key == key.key }
191 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/PBXProj.swift:80:15: warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 78 | 		rootObject = try context.performAndWait{
 79 | 			var decodedObjects = [String: PBXObject]()
 80 | 			for key in ro.keys {
    |               `- warning: capture of 'ro' with non-Sendable type '[String : [String : Any]]' in a '@Sendable' closure [#SendableClosureCaptures]
 81 | 				_ = try PBXObject.onContext_instantiate(id: key, on: context, rawObjects: ro, decodedObjects: &decodedObjects)
 82 | 			}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2038/2102] Compiling XcodeTools XcodeUtils.swift
[2039/2102] Compiling XcodeTools XcodeToolsError.swift
[2040/2102] Compiling XcodeTools XcodeToolsConfig.swift
[2041/2102] Compiling XcodeTools XcodeToolsConstants.swift
[2042/2102] Compiling XcodeTools ColorSet.swift
[2043/2102] Compiling XcodeTools XcodeAssets.swift
[2044/2102] Compiling xct_pbxproj XctPbxproj.swift
[2045/2102] Compiling xct_pbxproj XctPbxprojError.swift
[2046/2102] Compiling xct_pbxproj ListTargets.swift
/Users/admin/builder/spi-builder-workspace/Sources/xct-pbxproj/Commands/ListTargets.swift:28:20: warning: capture of 'xcodeproj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 		let context = xcodeproj.managedObjectContext
27 | 		try context.performAndWait{
28 | 			let names = try xcodeproj.pbxproj.rootObject.getTargets().map{ try $0.getName() }
   |                    `- warning: capture of 'xcodeproj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 			for name in names {
30 | 				print(name, terminator: print0 ? "\0" : "\n")
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2047/2102] Compiling XcodeTools Project.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Project.swift:41:10: warning: TODO: Embedded xcodeprojs
39 | 					res.append(contentsOf: spm.targets.map{ .spmTarget($0, project: spm) })
40 | 				}
41 | #warning("TODO: Embedded xcodeprojs")
   |          `- warning: TODO: Embedded xcodeprojs
42 | 				return res
43 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Project.swift:28:37: warning: capture of 'proj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
26 | 			case .xcodeproj(let proj):
27 | 				let (partialRes, referencedFiles) = try await proj.managedObjectContext.perform{
28 | 					let partialRes: [Target] = try proj.pbxproj.rootObject.getTargets().map{ target in
   |                                     `- warning: capture of 'proj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
29 | 						.xcodeTarget(targetID: target.objectID, project: proj)
30 | 					}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Project.swift:29:56: warning: capture of 'proj' with non-Sendable type 'XcodeProj' in an isolated closure
27 | 				let (partialRes, referencedFiles) = try await proj.managedObjectContext.perform{
28 | 					let partialRes: [Target] = try proj.pbxproj.rootObject.getTargets().map{ target in
29 | 						.xcodeTarget(targetID: target.objectID, project: proj)
   |                                                        `- warning: capture of 'proj' with non-Sendable type 'XcodeProj' in an isolated closure
30 | 					}
31 | 					let referencedFiles = try proj.onContext_getReferencedFiles()
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2048/2102] Emitting module xct_pbxproj
[2049/2102] Compiling xct_pbxproj Sanitize.swift
/Users/admin/builder/spi-builder-workspace/Sources/xct-pbxproj/Commands/Sanitize.swift:38:14: warning: capture of 'xcodeproj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
36 |
37 | 			/* Sort the package references. */
38 | 			let ids = xcodeproj.pbxproj.rootObject.packageReferences?.map{ $0.objectID }
   |              `- warning: capture of 'xcodeproj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
39 | 			try xcodeproj.pbxproj.rootObject.packageReferences = xcodeproj.pbxproj.rootObject.packageReferences?.sorted{ ref1, ref2 in
40 | 				try ref1.getPackageName().localizedCaseInsensitiveCompare(ref2.getPackageName()) == .orderedAscending
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/xct-pbxproj/Commands/Sanitize.swift:42:35: warning: implicit capture of 'xcodeproj' requires that 'XcodeProj' conforms to 'Sendable'
40 | 				try ref1.getPackageName().localizedCaseInsensitiveCompare(ref2.getPackageName()) == .orderedAscending
41 | 			}
42 | 			modified = (modified || ids != xcodeproj.pbxproj.rootObject.packageReferences?.map{ $0.objectID })
   |                                   `- warning: implicit capture of 'xcodeproj' requires that 'XcodeProj' conforms to 'Sendable'
43 |
44 | 			try xcodeproj.pbxproj.rootObject.getTargets().forEach{ target in
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2049/2102] Write Objects.LinkFileList
[2051/2102] Emitting module XcodeTools
[2052/2102] Compiling XcodeTools Target.swift
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:28:17: warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 10 |
 11 |
 12 | public enum Target : Hashable {
    |             `- note: consider making enum 'Target' conform to the 'Sendable' protocol
 13 |
 14 | 	case xcodeTarget(targetID: NSManagedObjectID, project: XcodeProj)
    :
 26 | 			case let .xcodeTarget(targetID, project):
 27 | 				return try project.managedObjectContext.performAndWait{
 28 | 					return try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext).getName()
    |                 `- warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 29 | 				}
 30 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:28:64: warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 26 | 			case let .xcodeTarget(targetID, project):
 27 | 				return try project.managedObjectContext.performAndWait{
 28 | 					return try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext).getName()
    |                                                                `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 29 | 				}
 30 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:47:17: warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 10 |
 11 |
 12 | public enum Target : Hashable {
    |             `- note: consider making enum 'Target' conform to the 'Sendable' protocol
 13 |
 14 | 	case xcodeTarget(targetID: NSManagedObjectID, project: XcodeProj)
    :
 45 | 			case let .xcodeTarget(targetID, project):
 46 | 				return try project.managedObjectContext.performAndWait{
 47 | 					return try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                 `- warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 48 | 						.getBuildPhases()
 49 | 						.lazy
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:47:64: warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 45 | 			case let .xcodeTarget(targetID, project):
 46 | 				return try project.managedObjectContext.performAndWait{
 47 | 					return try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                                                                `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 48 | 						.getBuildPhases()
 49 | 						.lazy
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:55:24: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 53 | 								/* A build file has either a file ref or a product ref. */
 54 | 								return try file.fileRef?.resolvedPathAsURL(
 55 | 									xcodeprojURL: project.xcodeprojURL,
    |                        `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 56 | 									variables: BuildSettings.standardDefaultSettingsForResolvingPathsAsDictionary(xcodeprojURL: project.xcodeprojURL)
 57 | 								)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:55:24: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 53 | 								/* A build file has either a file ref or a product ref. */
 54 | 								return try file.fileRef?.resolvedPathAsURL(
 55 | 									xcodeprojURL: project.xcodeprojURL,
    |                        `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 56 | 									variables: BuildSettings.standardDefaultSettingsForResolvingPathsAsDictionary(xcodeprojURL: project.xcodeprojURL)
 57 | 								)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:71:17: warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 10 |
 11 |
 12 | public enum Target : Hashable {
    |             `- note: consider making enum 'Target' conform to the 'Sendable' protocol
 13 |
 14 | 	case xcodeTarget(targetID: NSManagedObjectID, project: XcodeProj)
    :
 69 | 			case let .xcodeTarget(targetID, project):
 70 | 				return try project.managedObjectContext.performAndWait{
 71 | 					return try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                 `- warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 72 | 						.getBuildPhases()
 73 | 						.lazy
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:71:64: warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 69 | 			case let .xcodeTarget(targetID, project):
 70 | 				return try project.managedObjectContext.performAndWait{
 71 | 					return try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                                                                `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 72 | 						.getBuildPhases()
 73 | 						.lazy
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:79:24: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 77 | 								/* A build file has either a file ref or a product ref. */
 78 | 								return try file.fileRef?.resolvedPathAsURL(
 79 | 									xcodeprojURL: project.xcodeprojURL,
    |                        `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 80 | 									variables: BuildSettings.standardDefaultSettingsForResolvingPathsAsDictionary(xcodeprojURL: project.xcodeprojURL)
 81 | 								)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:79:24: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 77 | 								/* A build file has either a file ref or a product ref. */
 78 | 								return try file.fileRef?.resolvedPathAsURL(
 79 | 									xcodeprojURL: project.xcodeprojURL,
    |                        `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
 80 | 									variables: BuildSettings.standardDefaultSettingsForResolvingPathsAsDictionary(xcodeprojURL: project.xcodeprojURL)
 81 | 								)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:104:28: warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 10 |
 11 |
 12 | public enum Target : Hashable {
    |             `- note: consider making enum 'Target' conform to the 'Sendable' protocol
 13 |
 14 | 	case xcodeTarget(targetID: NSManagedObjectID, project: XcodeProj)
    :
102 | 			case let .xcodeTarget(targetID, project):
103 | 				let resultClosures: [() async throws -> Target] = try await project.managedObjectContext.perform{
104 | 					let xcodeTarget = try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                            `- warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
105 | 					let pbxProject = try xcodeTarget.getProject()
106 | 					assert(pbxProject === project.pbxproj.rootObject)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:104:75: warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
102 | 			case let .xcodeTarget(targetID, project):
103 | 				let resultClosures: [() async throws -> Target] = try await project.managedObjectContext.perform{
104 | 					let xcodeTarget = try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                                                                           `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
105 | 					let pbxProject = try xcodeTarget.getProject()
106 | 					assert(pbxProject === project.pbxproj.rootObject)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:106:28: warning: implicit capture of 'project' requires that 'XcodeProj' conforms to 'Sendable'
104 | 					let xcodeTarget = try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
105 | 					let pbxProject = try xcodeTarget.getProject()
106 | 					assert(pbxProject === project.pbxproj.rootObject)
    |                            `- warning: implicit capture of 'project' requires that 'XcodeProj' conforms to 'Sendable'
107 |
108 | 					return try xcodeTarget
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:118:67: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
116 | 									throw Err.internalError("productRef is non-nil with a non-nil target: AFAIK this is an invalid pbxproj.")
117 | 								}
118 | 								return { .xcodeTarget(targetID: target.objectID, project: project) }
    |                                                                   `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
119 |
120 | 							} else if let productRef = dependency.productRef {
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:118:67: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
116 | 									throw Err.internalError("productRef is non-nil with a non-nil target: AFAIK this is an invalid pbxproj.")
117 | 								}
118 | 								return { .xcodeTarget(targetID: target.objectID, project: project) }
    |                                                                   `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
119 |
120 | 							} else if let productRef = dependency.productRef {
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:127:54: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
125 | 									let productName = try productRef.getProductName()
126 | 									return {
127 | 										guard let (spmProj, spmTarget) = try await project.getReferencedSPMTarget(named: productName) else {
    |                                                      `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
128 | 											throw Err.internalError("SPM target \(productName) not found in referenced files.")
129 | 										}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:154:28: warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
 10 |
 11 |
 12 | public enum Target : Hashable {
    |             `- note: consider making enum 'Target' conform to the 'Sendable' protocol
 13 |
 14 | 	case xcodeTarget(targetID: NSManagedObjectID, project: XcodeProj)
    :
152 | 			case let .xcodeTarget(targetID, project):
153 | 				let resultClosures: [() async throws -> Target] = try await project.managedObjectContext.perform{
154 | 					let xcodeTarget = try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                            `- warning: capture of 'self' with non-Sendable type 'Target' in a '@Sendable' closure [#SendableClosureCaptures]
155 | 					let pbxProject = try xcodeTarget.getProject()
156 | 					assert(pbxProject === project.pbxproj.rootObject)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:154:75: warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
152 | 			case let .xcodeTarget(targetID, project):
153 | 				let resultClosures: [() async throws -> Target] = try await project.managedObjectContext.perform{
154 | 					let xcodeTarget = try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
    |                                                                           `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
155 | 					let pbxProject = try xcodeTarget.getProject()
156 | 					assert(pbxProject === project.pbxproj.rootObject)
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:156:28: warning: implicit capture of 'project' requires that 'XcodeProj' conforms to 'Sendable'
154 | 					let xcodeTarget = try onContext_xcodeTargetFromID(targetID, context: project.managedObjectContext)
155 | 					let pbxProject = try xcodeTarget.getProject()
156 | 					assert(pbxProject === project.pbxproj.rootObject)
    |                            `- warning: implicit capture of 'project' requires that 'XcodeProj' conforms to 'Sendable'
157 |
158 | 					/* Implicit dependencies discovery algo: <https://stackoverflow.com/a/45179347> or <https://stackoverflow.com/a/59218952>. */
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:172:53: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
170 | 								let productName = try packageProductDep.getProductName()
171 | 								return {
172 | 									guard let (spmProj, spmTarget) = try await project.getReferencedSPMTarget(named: productName) else {
    |                                                     `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
173 | 										throw Err.internalError("SPM target \(productName) not found in referenced files.")
174 | 									}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/XcodeTools/Project/Target.swift:172:53: warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
170 | 								let productName = try packageProductDep.getProductName()
171 | 								return {
172 | 									guard let (spmProj, spmTarget) = try await project.getReferencedSPMTarget(named: productName) else {
    |                                                     `- warning: capture of 'project' with non-Sendable type 'XcodeProj' in an isolated closure
173 | 										throw Err.internalError("SPM target \(productName) not found in referenced files.")
174 | 									}
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2057/2119] Emitting module XibLoc
[2058/2119] Compiling hagvtool Hagvtool.swift
[2059/2119] Emitting module hagvtool
[2063/2119] Write Objects.LinkFileList
[2068/2119] Linking xct-pbxproj
[2069/2119] Applying xct-pbxproj
[2071/2119] Emitting module xct_build
[2072/2119] Compiling xct_build XctBuild.swift
[2073/2119] Compiling xct_versions String+Escaping.swift
[2074/2119] Compiling xct_versions XcodeProj+Utils.swift
[2075/2119] Compiling xct_versions XctVersions.swift
[2076/2120] Compiling xct_versions SetVersion.swift
/Users/admin/builder/spi-builder-workspace/Sources/xct-versions/SetVersion.swift:92:8: warning: capture of 'xcodeproj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |
 91 | 		try xcodeproj.managedObjectContext.performAndWait{
 92 | 			try xcodeproj.managedObjectContext.save()
    |        `- warning: capture of 'xcodeproj' with non-Sendable type 'XcodeProj' in a '@Sendable' closure [#SendableClosureCaptures]
 93 | 			try Data(xcodeproj.pbxproj.stringSerialization(projectName: xcodeproj.projectName).utf8).write(to: xcodeproj.pbxprojURL)
 94 |
/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/XcodeProj/XcodeProj.swift:13:15: note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
11 |  This struct is Hashable.
12 |  Two XcodeProj are considered equal if their pbxproj URLs are equal. */
13 | public struct XcodeProj {
   |               `- note: struct 'XcodeProj' does not conform to the 'Sendable' protocol
14 |
15 | 	public let xcodeprojURL: URL
/Users/admin/builder/spi-builder-workspace/Sources/xct-versions/SetVersion.swift:96:20: warning: capture of 'xcconfigsToRewrite' with non-Sendable type '[XCConfigRef]' (aka 'Array<Ref<XCConfig>>') in a '@Sendable' closure [#SendableClosureCaptures]
 94 |
 95 | 			var rewrittenURLs = Set<URL>()
 96 | 			for xcconfig in xcconfigsToRewrite {
    |                    `- warning: capture of 'xcconfigsToRewrite' with non-Sendable type '[XCConfigRef]' (aka 'Array<Ref<XCConfig>>') in a '@Sendable' closure [#SendableClosureCaptures]
 97 | 				let url = xcconfig.value.sourceURL
 98 | 				guard !rewrittenURLs.contains(url) else {continue}
/Users/admin/builder/spi-builder-workspace/Sources/Utils/Ref.swift:14:14: note: generic class 'Ref' does not conform to the 'Sendable' protocol
12 |  Be careful if you use this class in a Set for instance:
13 |  you _must not_ mutate the Ref while it is in the set or you might break unicity contraint of the Set. */
14 | public class Ref<T> {
   |              `- note: generic class 'Ref' does not conform to the 'Sendable' protocol
15 |
16 | 	public var value: T
/Users/admin/builder/spi-builder-workspace/Sources/xct-versions/SetVersion.swift:96:20: warning: reference to captured var 'xcconfigsToRewrite' in concurrently-executing code [#SendableClosureCaptures]
 94 |
 95 | 			var rewrittenURLs = Set<URL>()
 96 | 			for xcconfig in xcconfigsToRewrite {
    |                    `- warning: reference to captured var 'xcconfigsToRewrite' in concurrently-executing code [#SendableClosureCaptures]
 97 | 				let url = xcconfig.value.sourceURL
 98 | 				guard !rewrittenURLs.contains(url) else {continue}
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[2076/2120] Write Objects.LinkFileList
[2078/2120] Compiling xct_versions XctVersionsError.swift
[2094/2120] Linking hagvtool
[2095/2120] Applying hagvtool
[2097/2120] Compiling XibLoc XibLocNumber.swift
[2098/2120] Compiling XibLoc XibLoc.swift
[2099/2120] Compiling XibLoc XibLocConfig.swift
[2100/2120] Compiling xct_versions SetBuildVersion.swift
/Users/admin/builder/spi-builder-workspace/Sources/xct-versions/Commands/SetBuildVersion.swift:30:10: warning: Evil NSLog!
28 | 			)
29 | 		} catch {
30 | #warning("Evil NSLog!")
   |          `- warning: Evil NSLog!
31 | 			NSLog("%@", "There was an error setting the version of the project. Some files might have been modified.")
32 | 			throw error
[2101/2120] Compiling xct_versions NullEncodable.swift
[2102/2120] Compiling xct_versions SetMarketingVersion.swift
/Users/admin/builder/spi-builder-workspace/Sources/xct-versions/Commands/SetMarketingVersion.swift:30:10: warning: Evil NSLog!
28 | 			)
29 | 		} catch {
30 | #warning("Evil NSLog!")
   |          `- warning: Evil NSLog!
31 | 			NSLog("%@", "There was an error setting the version of the project. Some files might have been modified.")
32 | 			throw error
[2103/2120] Compiling xct_versions GetVersions.swift
[2104/2120] Emitting module xct_versions
[2105/2120] Compiling xct_versions ValidateSetup.swift
[2105/2120] Write Objects.LinkFileList
[2106/2120] Linking xct-build
[2107/2120] Applying xct-build
[2108/2120] Linking xct-versions
[2109/2120] Applying xct-versions
[2118/2132] Compiling xct_gen XctGenError.swift
[2119/2132] Compiling xct_gen XctGen.swift
[2120/2132] Emitting module xct_gen
[2121/2132] Compiling xct_gen GenAssetsConstants.swift
/Users/admin/builder/spi-builder-workspace/Sources/xct-gen/Commands/GenAssetsConstants.swift:77:10: warning: No filter on Tests…
 75 | 			let relativeRootDest = generatedFilePathTemplate.applying(xibLocInfo: resolvingInfo)
 76 |
 77 | #warning("No filter on Tests…")
    |          `- warning: No filter on Tests…
 78 | 			let parentConstants = try await project
 79 | 				.getDependents(of: target)
[2122/2132] Compiling SourceBuilder DownloadFilePhase.swift
[2123/2132] Compiling SourceBuilder AnyHasher.swift
[2124/2132] Emitting module SourceBuilder
/Users/admin/builder/spi-builder-workspace/Sources/SourceBuilder/SourceBuilderConfig.swift:54:14: warning: stored property 'registeredBuildPhases' of 'Sendable'-conforming struct 'BuildPhases' contains non-Sendable type 'any BuildPhase.Type'
52 | 	}
53 |
54 | 	private var registeredBuildPhases: [String: BuildPhase.Type] = [:]
   |              `- warning: stored property 'registeredBuildPhases' of 'Sendable'-conforming struct 'BuildPhases' contains non-Sendable type 'any BuildPhase.Type'
55 |
56 | }
[2125/2132] Compiling SourceBuilder BuildPhase.swift
[2126/2132] Compiling SourceBuilder SourceBuilderErrors.swift
[2127/2132] Compiling SourceBuilder FileDescriptor+StreamReader.swift
[2128/2132] Compiling SourceBuilder UntarPhase.swift
[2129/2132] Compiling SourceBuilder SourceBuilderConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/SourceBuilder/SourceBuilderConfig.swift:54:14: warning: stored property 'registeredBuildPhases' of 'Sendable'-conforming struct 'BuildPhases' contains non-Sendable type 'any BuildPhase.Type'
52 | 	}
53 |
54 | 	private var registeredBuildPhases: [String: BuildPhase.Type] = [:]
   |              `- warning: stored property 'registeredBuildPhases' of 'Sendable'-conforming struct 'BuildPhases' contains non-Sendable type 'any BuildPhase.Type'
55 |
56 | }
[2129/2132] Write Objects.LinkFileList
[2130/2132] Linking xct-gen
[2131/2132] Applying xct-gen
Build complete! (66.49s)
warning: failed to retrieve search paths with pkg-config; maybe pkg-config is not installed
warning: couldn't find pc file for sqlite3
warning: couldn't find pc file for sqlite3
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-package-manager",
      "requirement" : {
        "revision" : [
          "swift-6.2.3-RELEASE"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-package-manager.git"
    },
    {
      "identity" : "swift-system",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.6.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-system.git"
    },
    {
      "identity" : "collectionconcurrencykit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.3.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/CollectionConcurrencyKit.git"
    },
    {
      "identity" : "globalconfmodule",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.4.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/GlobalConfModule.git"
    },
    {
      "identity" : "safeglobal",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.3.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/SafeGlobal.git"
    },
    {
      "identity" : "stream-reader",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.5.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/stream-reader.git"
    },
    {
      "identity" : "unwraporthrow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/UnwrapOrThrow.git"
    },
    {
      "identity" : "xibloc",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/XibLoc.git"
    },
    {
      "identity" : "clt-logger",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/xcode-actions/clt-logger.git"
    },
    {
      "identity" : "swift-process-invocation",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0-beta.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/xcode-actions/swift-process-invocation.git"
    },
    {
      "identity" : "swift-signal-handling",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/xcode-actions/swift-signal-handling.git"
    }
  ],
  "manifest_display_name" : "XcodeTools",
  "name" : "XcodeTools",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "xct",
      "targets" : [
        "xct"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "xct-build",
      "targets" : [
        "xct-build"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "xct-gen",
      "targets" : [
        "xct-gen"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "xct-pbxproj",
      "targets" : [
        "xct-pbxproj"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "xct-versions",
      "targets" : [
        "xct-versions"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "hagvtool",
      "targets" : [
        "hagvtool"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "XcodeTools",
      "targets" : [
        "XcodeTools"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SourceBuilder",
      "targets" : [
        "SourceBuilder"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SPMProj",
      "targets" : [
        "SPMProj"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "XcodeProj",
      "targets" : [
        "XcodeProj"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "XCTUtils",
      "targets" : [
        "Utils"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "xct_versions",
      "module_type" : "SwiftTarget",
      "name" : "xct-versions",
      "path" : "Sources/xct-versions",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "xct-versions"
      ],
      "sources" : [
        "Commands/GetVersions.swift",
        "Commands/SetBuildVersion.swift",
        "Commands/SetMarketingVersion.swift",
        "Commands/ValidateSetup.swift",
        "NullEncodable.swift",
        "SetVersion.swift",
        "String+Escaping.swift",
        "XcodeProj+Utils.swift",
        "XctVersions.swift",
        "XctVersionsError.swift"
      ],
      "target_dependencies" : [
        "XcodeProj",
        "XcodeTools"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "xct_pbxproj",
      "module_type" : "SwiftTarget",
      "name" : "xct-pbxproj",
      "path" : "Sources/xct-pbxproj",
      "product_dependencies" : [
        "ArgumentParser",
        "CLTLogger",
        "Logging"
      ],
      "product_memberships" : [
        "xct-pbxproj"
      ],
      "sources" : [
        "Commands/ListTargets.swift",
        "Commands/Sanitize.swift",
        "XctPbxproj.swift",
        "XctPbxprojError.swift"
      ],
      "target_dependencies" : [
        "XcodeProj"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "xct_gen",
      "module_type" : "SwiftTarget",
      "name" : "xct-gen",
      "path" : "Sources/xct-gen",
      "product_dependencies" : [
        "ArgumentParser",
        "CLTLogger",
        "Logging",
        "XibLoc"
      ],
      "product_memberships" : [
        "xct-gen"
      ],
      "sources" : [
        "Commands/GenAssetsConstants.swift",
        "XctGen.swift",
        "XctGenError.swift"
      ],
      "target_dependencies" : [
        "XcodeProj",
        "XcodeTools"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "xct_build",
      "module_type" : "SwiftTarget",
      "name" : "xct-build",
      "path" : "Sources/xct-build",
      "product_dependencies" : [
        "ArgumentParser",
        "CLTLogger",
        "Logging",
        "ProcessInvocation",
        "SafeGlobal",
        "StreamReader",
        "SystemPackage"
      ],
      "product_memberships" : [
        "xct-build"
      ],
      "sources" : [
        "XctBuild.swift"
      ],
      "target_dependencies" : [
        "XcodeJsonOutput",
        "XcodeTools"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "xct",
      "module_type" : "SwiftTarget",
      "name" : "xct",
      "path" : "Sources/xct",
      "product_dependencies" : [
        "ArgumentParser",
        "CLTLogger",
        "Logging",
        "SystemPackage"
      ],
      "product_memberships" : [
        "xct"
      ],
      "sources" : [
        "GenerateMetaCompletionScript.swift",
        "Utils.swift",
        "Xct.swift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "hagvtool",
      "module_type" : "SwiftTarget",
      "name" : "hagvtool",
      "path" : "Sources/hagvtool",
      "product_dependencies" : [
        "ArgumentParser",
        "CLTLogger",
        "Logging",
        "SystemPackage"
      ],
      "product_memberships" : [
        "hagvtool"
      ],
      "sources" : [
        "Hagvtool.swift"
      ],
      "target_dependencies" : [
        "XcodeTools"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "XcodeToolsTests",
      "module_type" : "SwiftTarget",
      "name" : "XcodeToolsTests",
      "path" : "Tests/XcodeToolsTests",
      "product_dependencies" : [
        "CLTLogger",
        "GlobalConfModule",
        "Logging",
        "StreamReader",
        "SystemPackage"
      ],
      "sources" : [
        "ProjectTests.swift"
      ],
      "target_dependencies" : [
        "XcodeTools",
        "CommonForTests",
        "Utils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XcodeTools",
      "module_type" : "SwiftTarget",
      "name" : "XcodeTools",
      "path" : "Sources/XcodeTools",
      "product_dependencies" : [
        "CollectionConcurrencyKit",
        "Logging",
        "SignalHandling",
        "StreamReader",
        "SystemPackage"
      ],
      "product_memberships" : [
        "xct-build",
        "xct-gen",
        "xct-versions",
        "hagvtool",
        "XcodeTools",
        "SourceBuilder"
      ],
      "sources" : [
        "Project/Project.swift",
        "Project/Target.swift",
        "XcodeResources/ColorSet.swift",
        "XcodeResources/XcodeAssets.swift",
        "XcodeToolsConfig.swift",
        "XcodeToolsConstants.swift",
        "XcodeToolsError.swift",
        "XcodeUtils.swift"
      ],
      "target_dependencies" : [
        "SPMProj",
        "Utils",
        "XcodeProj"
      ],
      "type" : "library"
    },
    {
      "c99name" : "XcodeProjTests",
      "module_type" : "SwiftTarget",
      "name" : "XcodeProjTests",
      "path" : "Tests/XcodeProjTests",
      "product_dependencies" : [
        "ProcessInvocation"
      ],
      "sources" : [
        "BuildSettingsTests.swift",
        "TestAllProjects.swift",
        "TestsProject1.swift",
        "TestsProject2.swift",
        "TestsSPMAssertionFailure.swift",
        "VariableResolutionTests.swift",
        "XCConfigTests.swift"
      ],
      "target_dependencies" : [
        "XcodeProj",
        "CommonForTests"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XcodeProj",
      "module_type" : "SwiftTarget",
      "name" : "XcodeProj",
      "path" : "Sources/XcodeProj",
      "product_dependencies" : [
        "GlobalConfModule",
        "Logging",
        "SafeGlobal",
        "UnwrapOrThrow"
      ],
      "product_memberships" : [
        "xct-build",
        "xct-gen",
        "xct-pbxproj",
        "xct-versions",
        "hagvtool",
        "XcodeTools",
        "SourceBuilder",
        "XcodeProj"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/XcodeProj/CoreDataModelArtifacts_PBXModel/PBXModel.momd",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "CoreDataModelArtifacts_PBXModel/PBXAggregateTarget+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXAppleScriptBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXBuildFile+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXBuildRule+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXContainerItemProxy+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXCopyFilesBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXFileElement+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXFileReference+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXFrameworksBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXGroup+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXHeadersBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXLegacyTarget+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXModel+CoreDataModel.swift",
        "CoreDataModelArtifacts_PBXModel/PBXNativeTarget+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXObject+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXProject+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXReferenceProxy+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXResourcesBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXShellScriptBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXSourcesBuildPhase+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXTarget+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXTargetDependency+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/PBXVariantGroup+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/ProjectReference+CoreDataClass.swift",
        "CoreDataModelArtifacts_PBXModel/ProjectReference+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/XCBuildConfiguration+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/XCConfigurationList+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/XCRemoteSwiftPackageReference+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/XCSwiftPackageProductDependency+CoreDataProperties.swift",
        "CoreDataModelArtifacts_PBXModel/XCVersionGroup+CoreDataProperties.swift",
        "ModelSingleton.swift",
        "PBXModel/0-AbstractClasses/PBXBuildPhase.swift",
        "PBXModel/0-AbstractClasses/PBXFileElement.swift",
        "PBXModel/0-AbstractClasses/PBXObject.swift",
        "PBXModel/0-AbstractClasses/PBXTarget.swift",
        "PBXModel/Build/PBXBuildFile.swift",
        "PBXModel/Build/PBXBuildRule.swift",
        "PBXModel/BuildConfigurations/XCBuildConfiguration.swift",
        "PBXModel/BuildConfigurations/XCConfigurationList.swift",
        "PBXModel/BuildPhases/PBXAppleScriptBuildPhase.swift",
        "PBXModel/BuildPhases/PBXCopyFilesBuildPhase.swift",
        "PBXModel/BuildPhases/PBXFrameworksBuildPhase.swift",
        "PBXModel/BuildPhases/PBXHeadersBuildPhase.swift",
        "PBXModel/BuildPhases/PBXResourcesBuildPhase.swift",
        "PBXModel/BuildPhases/PBXShellScriptBuildPhase.swift",
        "PBXModel/BuildPhases/PBXSourcesBuildPhase.swift",
        "PBXModel/Container/PBXContainerItemProxy.swift",
        "PBXModel/FileElements/PBXFileReference.swift",
        "PBXModel/FileElements/PBXGroup.swift",
        "PBXModel/FileElements/PBXReferenceProxy.swift",
        "PBXModel/FileElements/PBXVariantGroup.swift",
        "PBXModel/FileElements/XCVersionGroup.swift",
        "PBXModel/PBXProject.swift",
        "PBXModel/SPMSupport/XCRemoteSwiftPackageReference.swift",
        "PBXModel/SPMSupport/XCSwiftPackageProductDependency.swift",
        "PBXModel/TargetDependency/PBXTargetDependency.swift",
        "PBXModel/Targets/PBXAggregateTarget.swift",
        "PBXModel/Targets/PBXLegacyTarget.swift",
        "PBXModel/Targets/PBXNativeTarget.swift",
        "Utils.swift",
        "ValueAndComment.swift",
        "XcodeProj/BuildSetting.swift",
        "XcodeProj/BuildSettingKey.swift",
        "XcodeProj/BuildSettings.swift",
        "XcodeProj/CombinedBuildSettings.swift",
        "XcodeProj/PBXProj.swift",
        "XcodeProj/XCConfig.swift",
        "XcodeProj/XcodeProj+BuildSettings.swift",
        "XcodeProj/XcodeProj+Files.swift",
        "XcodeProj/XcodeProj+Packages.swift",
        "XcodeProj/XcodeProj.swift",
        "XcodeProjConfig.swift",
        "XcodeProjErrors.swift"
      ],
      "target_dependencies" : [
        "SPMProj",
        "Utils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "XcodeJsonOutput",
      "module_type" : "SwiftTarget",
      "name" : "XcodeJsonOutput",
      "path" : "Sources/XcodeJsonOutput",
      "product_dependencies" : [
        "CLTLogger",
        "GlobalConfModule",
        "Logging"
      ],
      "product_memberships" : [
        "xct-build"
      ],
      "sources" : [
        "@Indirect.swift",
        "Model/ Meta/AnyActionAbstractTestSummary.swift",
        "Model/ Meta/AnyActionTestSummaryIdentifiableObject.swift",
        "Model/ Meta/AnyActivityLogSectionHead.swift",
        "Model/ Meta/AnyActivityLogSectionTail.swift",
        "Model/ Meta/AnyIssueSummary.swift",
        "Model/ Meta/AnyStreamedEventPayload.swift",
        "Model/ Meta/Object.swift",
        "Model/ Meta/ObjectType.swift",
        "Model/ActionAbstractTestSummary/ActionTestSummaryIdentifiableObject/ActionTestMetadata.swift",
        "Model/ActionAbstractTestSummary/ActionTestSummaryIdentifiableObject/ActionTestSummaryGroup.swift",
        "Model/ActionAbstractTestSummary/ActionTestSummaryIdentifiableObject/ActionTestSummaryIdentifiableObject.swift",
        "Model/ActionDeviceRecord.swift",
        "Model/ActionPlatformRecord.swift",
        "Model/ActionRecordHead.swift",
        "Model/ActionRecordTail.swift",
        "Model/ActionResult.swift",
        "Model/ActionRunDestinationRecord.swift",
        "Model/ActionSDKRecord.swift",
        "Model/ActionsInvocationMetadata.swift",
        "Model/ActivityLogMessage.swift",
        "Model/ActivityLogSectionHead/ActivityLogCommandInvocationSectionHead.swift",
        "Model/ActivityLogSectionHead/ActivityLogMajorSectionHead.swift",
        "Model/ActivityLogSectionHead/ActivityLogSectionHead.swift",
        "Model/ActivityLogSectionHead/ActivityLogUnitTestSectionHead.swift",
        "Model/ActivityLogSectionTail/ActivityLogCommandInvocationSectionTail.swift",
        "Model/ActivityLogSectionTail/ActivityLogMajorSectionTail.swift",
        "Model/ActivityLogSectionTail/ActivityLogSectionTail.swift",
        "Model/ActivityLogSectionTail/ActivityLogUnitTestSectionTail.swift",
        "Model/AnyStreamedEventPayload/ActionFinishedEventPayload.swift",
        "Model/AnyStreamedEventPayload/ActionStartedEventPayload.swift",
        "Model/AnyStreamedEventPayload/InvocationFinishedEventPayload.swift",
        "Model/AnyStreamedEventPayload/InvocationStartedEventPayload.swift",
        "Model/AnyStreamedEventPayload/IssueEmittedEventPayload.swift",
        "Model/AnyStreamedEventPayload/LogMessageEmittedEventPayload.swift",
        "Model/AnyStreamedEventPayload/LogSectionAttachedEventPayload.swift",
        "Model/AnyStreamedEventPayload/LogSectionClosedEventPayload.swift",
        "Model/AnyStreamedEventPayload/LogSectionCreatedEventPayload.swift",
        "Model/AnyStreamedEventPayload/LogTextAppendedEventPayload.swift",
        "Model/AnyStreamedEventPayload/TestEventPayload.swift",
        "Model/AnyStreamedEventPayload/TestFinishedEventPayload.swift",
        "Model/Array.swift",
        "Model/Bool.swift",
        "Model/CodeCoverageInfo.swift",
        "Model/Date.swift",
        "Model/DocumentLocation.swift",
        "Model/Double.swift",
        "Model/EntityIdentifier.swift",
        "Model/Int.swift",
        "Model/IssueSummary/IssueSummary.swift",
        "Model/IssueSummary/TestFailureIssueSummary.swift",
        "Model/Reference.swift",
        "Model/ResultIssueSummaries.swift",
        "Model/ResultMetrics.swift",
        "Model/StreamedActionInfo.swift",
        "Model/StreamedActionResultInfo.swift",
        "Model/StreamedEvent.swift",
        "Model/String.swift",
        "Model/TypeDefinition.swift",
        "Parser.swift",
        "Utils.swift",
        "XcodeJsonOutputConfig.swift",
        "XcodeJsonOutputErrors.swift"
      ],
      "target_dependencies" : [
        "Utils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Utils",
      "module_type" : "SwiftTarget",
      "name" : "Utils",
      "path" : "Sources/Utils",
      "product_dependencies" : [
        "SystemPackage"
      ],
      "product_memberships" : [
        "xct-build",
        "xct-gen",
        "xct-pbxproj",
        "xct-versions",
        "hagvtool",
        "XcodeTools",
        "SourceBuilder",
        "SPMProj",
        "XcodeProj",
        "XCTUtils"
      ],
      "sources" : [
        "CharacterSet.swift",
        "Collection.swift",
        "Dictionary.swift",
        "Error.swift",
        "FileManager.swift",
        "FilePath.swift",
        "Optional.swift",
        "Ref.swift",
        "Result.swift",
        "Scanner.swift",
        "Sequence.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SourceBuilderTests",
      "module_type" : "SwiftTarget",
      "name" : "SourceBuilderTests",
      "path" : "Tests/SourceBuilderTests",
      "product_dependencies" : [
        "CLTLogger",
        "Logging",
        "SystemPackage"
      ],
      "sources" : [
        "SourceBuilderTests.swift"
      ],
      "target_dependencies" : [
        "SourceBuilder",
        "CommonForTests",
        "Utils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SourceBuilder",
      "module_type" : "SwiftTarget",
      "name" : "SourceBuilder",
      "path" : "Sources/SourceBuilder",
      "product_dependencies" : [
        "Crypto",
        "GlobalConfModule",
        "Logging",
        "ProcessInvocation",
        "SignalHandling",
        "StreamReader",
        "XibLoc",
        "SystemPackage"
      ],
      "product_memberships" : [
        "SourceBuilder"
      ],
      "sources" : [
        "AnyHasher.swift",
        "BuildPhase.swift",
        "DownloadFilePhase.swift",
        "FileDescriptor+StreamReader.swift",
        "SourceBuilderConfig.swift",
        "SourceBuilderErrors.swift",
        "UntarPhase.swift"
      ],
      "target_dependencies" : [
        "Utils",
        "XcodeTools"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SPMProjTests",
      "module_type" : "SwiftTarget",
      "name" : "SPMProjTests",
      "path" : "Tests/SPMProjTests",
      "sources" : [
        "SPMProjTests.swift"
      ],
      "target_dependencies" : [
        "SPMProj",
        "CommonForTests"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SPMProj",
      "module_type" : "SwiftTarget",
      "name" : "SPMProj",
      "path" : "Sources/SPMProj",
      "product_dependencies" : [
        "Logging",
        "GlobalConfModule",
        "SwiftPMDataModel"
      ],
      "product_memberships" : [
        "xct-build",
        "xct-gen",
        "xct-pbxproj",
        "xct-versions",
        "hagvtool",
        "XcodeTools",
        "SourceBuilder",
        "SPMProj",
        "XcodeProj"
      ],
      "sources" : [
        "SPMProj.swift",
        "SPMProjCache.swift",
        "SPMProjConfig.swift",
        "SPMProjErrors.swift",
        "SPMTarget.swift"
      ],
      "target_dependencies" : [
        "Utils"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CommonForTests",
      "module_type" : "SwiftTarget",
      "name" : "CommonForTests",
      "path" : "Tests/ Common",
      "product_dependencies" : [
        "Logging",
        "CLTLogger",
        "SystemPackage"
      ],
      "sources" : [
        "TestGlobals.swift"
      ],
      "target_dependencies" : [
        "Utils"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.