Build Information
Successful build of universal, reference main (50ada3
), with Swift 6.0 for macOS (SPM) on 6 Nov 2024 07:08:46 UTC.
Swift 6 data race errors: 6
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/marcprux/universal.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/marcprux/universal
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 50ada3f Test both 5.1 and 6.0 Android toolchain
Cloned https://github.com/marcprux/universal.git
Revision (git rev-parse @):
50ada3fd9d2726b05cc2ff460a92e8b65b1c2414
SUCCESS checkout https://github.com/marcprux/universal.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "universal",
"name": "universal",
"url": "https://github.com/marcprux/universal.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/universal",
"dependencies": [
]
}
]
}
Fetching https://github.com/marcprux/universal.git
[1/5057] Fetching universal
Fetched https://github.com/marcprux/universal.git from cache (1.88s)
Creating working copy for https://github.com/marcprux/universal.git
Working copy of https://github.com/marcprux/universal.git resolved at main (50ada3f)
warning: '.resolve-product-dependencies': dependency 'universal' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/marcprux/universal.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/7] Write sources
[6/7] Write swift-version--7754E27361AE5C74.txt
[8/9] Emitting module Either
/Users/admin/builder/spi-builder-workspace/Sources/Either/Either.swift:319:1: warning: extension declares a conformance of imported type 'Never' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
317 |
318 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
319 | extension Never : Decodable {
| |- warning: extension declares a conformance of imported type 'Never' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
320 | /// Throws an error, since it should never be decodable
321 | public init(from decoder: Decoder) throws {
/Users/admin/builder/spi-builder-workspace/Sources/Either/Either.swift:327:1: warning: extension declares a conformance of imported type 'Never' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
325 |
326 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
327 | extension Never : Encodable {
| |- warning: extension declares a conformance of imported type 'Never' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
328 | /// Throws an error, since it should never be encodable
329 | public func encode(to encoder: Encoder) throws {
[9/9] Compiling Either Either.swift
/Users/admin/builder/spi-builder-workspace/Sources/Either/Either.swift:319:1: warning: extension declares a conformance of imported type 'Never' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
317 |
318 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
319 | extension Never : Decodable {
| |- warning: extension declares a conformance of imported type 'Never' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
320 | /// Throws an error, since it should never be decodable
321 | public init(from decoder: Decoder) throws {
/Users/admin/builder/spi-builder-workspace/Sources/Either/Either.swift:327:1: warning: extension declares a conformance of imported type 'Never' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
325 |
326 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
327 | extension Never : Encodable {
| |- warning: extension declares a conformance of imported type 'Never' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
328 | /// Throws an error, since it should never be encodable
329 | public func encode(to encoder: Encoder) throws {
[10/20] Emitting module XML
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:285:27: warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
285 | public static let resolveExternalEntities = Self(rawValue: 1 << 0)
| |- warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'resolveExternalEntities' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:286:27: warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
285 | public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
| |- warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'reportNamespacePrefixes' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
288 | public static let tidyHTML = Self(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:287:27: warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
285 | public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
| |- warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'processNamespaces' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | public static let tidyHTML = Self(rawValue: 1 << 3)
289 |
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:288:27: warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
:
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
288 | public static let tidyHTML = Self(rawValue: 1 << 3)
| |- warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'tidyHTML' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 |
290 | public init(rawValue: Int) {
[11/20] Emitting module PLIST
[12/20] Compiling PLIST PLIST.swift
[13/20] Compiling XML XML.swift
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:285:27: warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
285 | public static let resolveExternalEntities = Self(rawValue: 1 << 0)
| |- warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'resolveExternalEntities' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:286:27: warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
285 | public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
| |- warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'reportNamespacePrefixes' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
288 | public static let tidyHTML = Self(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:287:27: warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
285 | public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
| |- warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'processNamespaces' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | public static let tidyHTML = Self(rawValue: 1 << 3)
289 |
/Users/admin/builder/spi-builder-workspace/Sources/XML/XML.swift:288:27: warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 | /// Options for configuring the `XMLParser`
282 | public struct Options: OptionSet, Hashable {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 | public let rawValue: Int
284 |
:
286 | public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 | public static let processNamespaces = Self(rawValue: 1 << 2)
288 | public static let tidyHTML = Self(rawValue: 1 << 3)
| |- warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'tidyHTML' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 |
290 | public init(rawValue: Int) {
[14/20] Compiling JSON JSONParser.swift
[15/20] Compiling JSON JSONX.swift
[16/20] Emitting module JSON
/Users/admin/builder/spi-builder-workspace/Sources/JSON/JSONCoding.swift:1702:14: warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
1700 |
1701 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
1702 | internal var _iso8601Formatter: ISO8601DateFormatter = {
| |- warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate '_iso8601Formatter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1703 | let formatter = ISO8601DateFormatter()
1704 | formatter.formatOptions = .withInternetDateTime
[17/20] Compiling JSON JSON.swift
[18/20] Compiling JSON JSONCoding.swift
/Users/admin/builder/spi-builder-workspace/Sources/JSON/JSONCoding.swift:1702:14: warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
1700 |
1701 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
1702 | internal var _iso8601Formatter: ISO8601DateFormatter = {
| |- warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate '_iso8601Formatter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1703 | let formatter = ISO8601DateFormatter()
1704 | formatter.formatOptions = .withInternetDateTime
/Users/admin/builder/spi-builder-workspace/Sources/JSON/JSONCoding.swift:558:9: warning: switch must be exhaustive; this is an error in the Swift 6 language mode
556 | }
557 | fileprivate func box(_ date: Date) throws -> _JSONContainer {
558 | switch self.options.dateEncodingStrategy {
| |- warning: switch must be exhaustive; this is an error in the Swift 6 language mode
| `- note: add missing case: '.formatted(_)'
559 | case .deferredToDate:
560 | // Must be called with a surrounding with(pushedKey:) call.
/Users/admin/builder/spi-builder-workspace/Sources/JSON/JSONCoding.swift:1739:9: warning: switch must be exhaustive; this is an error in the Swift 6 language mode
1737 |
1738 | fileprivate func unbox(_ value: JSON, as type: Date.Type) throws -> Date? {
1739 | switch options.dateDecodingStrategy {
| |- warning: switch must be exhaustive; this is an error in the Swift 6 language mode
| `- note: add missing case: '.formatted(_)'
1740 | case .deferredToDate:
1741 | return try Date(from: self)
[19/20] Compiling YAML YAML.swift
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:137:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
135 | }
136 |
137 | extension YAML.Scalar: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
138 | public var description: String {
139 | func desc(_ value: String) -> String { ".string(\"\(value)\")" }
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:213:1: warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
211 | }
212 |
213 | extension YAML.Scalar : ExpressibleByStringLiteral, ExpressibleByExtendedGraphemeClusterLiteral, ExpressibleByUnicodeScalarLiteral {
| |- warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
214 | public init(stringLiteral value: StringLiteralType) {
215 | self = YAML.Scalar(.init(value))
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:233:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
231 | }
232 |
233 | extension YAML.Scalar : ExpressibleByNilLiteral {
| |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
234 | public init(nilLiteral: ()) {
235 | self = YAML.Scalar.null
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:384:13: warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
382 | private typealias Context = YAMLParser.Context
383 |
384 | private var error = YAMLParser.Context.error
| |- warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'error' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'error' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
385 |
386 | private typealias ContextValue = (context: Context, value: YAML)
[20/20] Emitting module YAML
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:137:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
135 | }
136 |
137 | extension YAML.Scalar: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
138 | public var description: String {
139 | func desc(_ value: String) -> String { ".string(\"\(value)\")" }
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:213:1: warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
211 | }
212 |
213 | extension YAML.Scalar : ExpressibleByStringLiteral, ExpressibleByExtendedGraphemeClusterLiteral, ExpressibleByUnicodeScalarLiteral {
| |- warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
214 | public init(stringLiteral value: StringLiteralType) {
215 | self = YAML.Scalar(.init(value))
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:233:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
231 | }
232 |
233 | extension YAML.Scalar : ExpressibleByNilLiteral {
| |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
234 | public init(nilLiteral: ()) {
235 | self = YAML.Scalar.null
/Users/admin/builder/spi-builder-workspace/Sources/YAML/YAML.swift:384:13: warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
382 | private typealias Context = YAMLParser.Context
383 |
384 | private var error = YAMLParser.Context.error
| |- warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'error' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'error' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
385 |
386 | private typealias ContextValue = (context: Context, value: YAML)
[21/22] Compiling Universal Universal.swift
[22/22] Emitting module Universal
Build complete! (10.42s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "universal",
"name" : "universal",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Either",
"targets" : [
"Either"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "XML",
"targets" : [
"XML"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "YAML",
"targets" : [
"YAML"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "JSON",
"targets" : [
"JSON"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PLIST",
"targets" : [
"PLIST"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Universal",
"targets" : [
"Universal"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "YAMLTests",
"module_type" : "SwiftTarget",
"name" : "YAMLTests",
"path" : "Tests/YAMLTests",
"sources" : [
"YAMLTests.swift"
],
"target_dependencies" : [
"YAML"
],
"type" : "test"
},
{
"c99name" : "YAML",
"module_type" : "SwiftTarget",
"name" : "YAML",
"path" : "Sources/YAML",
"product_memberships" : [
"YAML",
"Universal"
],
"sources" : [
"YAML.swift"
],
"target_dependencies" : [
"Either"
],
"type" : "library"
},
{
"c99name" : "XMLTests",
"module_type" : "SwiftTarget",
"name" : "XMLTests",
"path" : "Tests/XMLTests",
"sources" : [
"XMLTests.swift"
],
"target_dependencies" : [
"XML"
],
"type" : "test"
},
{
"c99name" : "XML",
"module_type" : "SwiftTarget",
"name" : "XML",
"path" : "Sources/XML",
"product_memberships" : [
"XML",
"Universal"
],
"sources" : [
"XML.swift"
],
"target_dependencies" : [
"Either"
],
"type" : "library"
},
{
"c99name" : "UniversalTests",
"module_type" : "SwiftTarget",
"name" : "UniversalTests",
"path" : "Tests/UniversalTests",
"sources" : [
"UniversalTests.swift"
],
"target_dependencies" : [
"Universal"
],
"type" : "test"
},
{
"c99name" : "Universal",
"module_type" : "SwiftTarget",
"name" : "Universal",
"path" : "Sources/Universal",
"product_memberships" : [
"Universal"
],
"sources" : [
"Universal.swift"
],
"target_dependencies" : [
"XML",
"YAML",
"JSON",
"PLIST"
],
"type" : "library"
},
{
"c99name" : "PLISTTests",
"module_type" : "SwiftTarget",
"name" : "PLISTTests",
"path" : "Tests/PLISTTests",
"sources" : [
"PLISTTests.swift"
],
"target_dependencies" : [
"PLIST"
],
"type" : "test"
},
{
"c99name" : "PLIST",
"module_type" : "SwiftTarget",
"name" : "PLIST",
"path" : "Sources/PLIST",
"product_memberships" : [
"PLIST",
"Universal"
],
"sources" : [
"PLIST.swift"
],
"target_dependencies" : [
"Either"
],
"type" : "library"
},
{
"c99name" : "JSONTests",
"module_type" : "SwiftTarget",
"name" : "JSONTests",
"path" : "Tests/JSONTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/JSONTests/testdata",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"JSONParserTests.swift",
"JSONTests.swift"
],
"target_dependencies" : [
"JSON"
],
"type" : "test"
},
{
"c99name" : "JSON",
"module_type" : "SwiftTarget",
"name" : "JSON",
"path" : "Sources/JSON",
"product_memberships" : [
"JSON",
"Universal"
],
"sources" : [
"JSON.swift",
"JSONCoding.swift",
"JSONParser.swift",
"JSONX.swift"
],
"target_dependencies" : [
"Either"
],
"type" : "library"
},
{
"c99name" : "EitherTests",
"module_type" : "SwiftTarget",
"name" : "EitherTests",
"path" : "Tests/EitherTests",
"sources" : [
"EitherTests.swift"
],
"target_dependencies" : [
"Either"
],
"type" : "test"
},
{
"c99name" : "Either",
"module_type" : "SwiftTarget",
"name" : "Either",
"path" : "Sources/Either",
"product_memberships" : [
"Either",
"XML",
"YAML",
"JSON",
"PLIST",
"Universal"
],
"sources" : [
"Either.swift"
],
"type" : "library"
}
],
"tools_version" : "5.4"
}
Done.