The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of swift-evolution-metadata-extractor, reference 0.1.0 (6c6e71), with Swift 6.0 for macOS (SPM) on 5 Nov 2024 13:13:07 UTC.

Swift 6 data race errors: 1

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/swiftlang/swift-evolution-metadata-extractor.git
Reference: 0.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swiftlang/swift-evolution-metadata-extractor
 * tag               0.1.0      -> FETCH_HEAD
HEAD is now at 6c6e715 Remove transition warning from README
Cloned https://github.com/swiftlang/swift-evolution-metadata-extractor.git
Revision (git rev-parse @):
6c6e7154a2338a694467f060b7dbcbc21006e93e
SUCCESS checkout https://github.com/swiftlang/swift-evolution-metadata-extractor.git at 0.1.0
Fetching https://github.com/swiftlang/swift-markdown
Fetching https://github.com/apple/swift-argument-parser.git
[1/12353] Fetching swift-argument-parser
[2/18631] Fetching swift-argument-parser, swift-markdown
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.64s)
Fetched https://github.com/swiftlang/swift-markdown from cache (1.64s)
Computing version for https://github.com/swiftlang/swift-markdown
Computed https://github.com/swiftlang/swift-markdown at 0.5.0 (4.19s)
Fetching https://github.com/apple/swift-cmark.git
[1/17896] Fetching swift-cmark
Fetched https://github.com/apple/swift-cmark.git from cache (1.99s)
Computing version for https://github.com/apple/swift-cmark.git
Computed https://github.com/apple/swift-cmark.git at 0.5.0 (0.73s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.54s)
Creating working copy for https://github.com/swiftlang/swift-markdown
Working copy of https://github.com/swiftlang/swift-markdown resolved at 0.5.0
Creating working copy for https://github.com/apple/swift-cmark.git
Working copy of https://github.com/apple/swift-cmark.git resolved at 0.5.0
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
========================================
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": "swift-evolution-metadata-extractor",
      "name": "swift-evolution-metadata-extractor",
      "url": "https://github.com/swiftlang/swift-evolution-metadata-extractor.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-evolution-metadata-extractor",
      "dependencies": [
        {
          "identity": "swift-markdown",
          "name": "swift-markdown",
          "url": "https://github.com/swiftlang/swift-markdown",
          "version": "0.5.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-markdown",
          "dependencies": [
            {
              "identity": "swift-cmark",
              "name": "cmark-gfm",
              "url": "https://github.com/apple/swift-cmark.git",
              "version": "0.5.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-cmark",
              "dependencies": [
              ]
            }
          ]
        },
        {
          "identity": "swift-argument-parser",
          "name": "swift-argument-parser",
          "url": "https://github.com/apple/swift-argument-parser.git",
          "version": "1.5.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/swiftlang/swift-evolution-metadata-extractor.git
[1/2030] Fetching swift-evolution-metadata-extractor
Fetched https://github.com/swiftlang/swift-evolution-metadata-extractor.git from cache (1.47s)
Fetching https://github.com/swiftlang/swift-markdown from cache
Fetching https://github.com/apple/swift-argument-parser.git from cache
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.79s)
Fetched https://github.com/swiftlang/swift-markdown from cache (0.79s)
Computing version for https://github.com/swiftlang/swift-markdown
Computed https://github.com/swiftlang/swift-markdown at 0.5.0 (0.02s)
Fetching https://github.com/apple/swift-cmark.git from cache
Fetched https://github.com/apple/swift-cmark.git from cache (0.92s)
Computing version for https://github.com/apple/swift-cmark.git
Computed https://github.com/apple/swift-cmark.git at 0.5.0 (0.03s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.04s)
Creating working copy for https://github.com/swiftlang/swift-markdown
Working copy of https://github.com/swiftlang/swift-markdown resolved at 0.5.0
Creating working copy for https://github.com/swiftlang/swift-evolution-metadata-extractor.git
Working copy of https://github.com/swiftlang/swift-evolution-metadata-extractor.git resolved at 0.1.0 (6c6e715)
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
Creating working copy for https://github.com/apple/swift-cmark.git
Working copy of https://github.com/apple/swift-cmark.git resolved at 0.5.0
Found 2 product dependencies
  - swift-markdown
  - swift-argument-parser
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/swiftlang/swift-evolution-metadata-extractor.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
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/47] Write sources
[4/47] Write swift-evolution-metadata-extractor-entitlement.plist
[5/47] Write swift-version--7754E27361AE5C74.txt
[6/47] Compiling cmark-gfm xml.c
[7/47] Compiling cmark-gfm arena.c
[8/47] Compiling cmark-gfm-extensions table.c
[9/47] Compiling cmark-gfm blocks.c
[10/47] Compiling cmark-gfm-extensions core-extensions.c
[11/47] Compiling cmark-gfm-extensions tasklist.c
[12/47] Compiling cmark-gfm-extensions strikethrough.c
[13/47] Compiling cmark-gfm syntax_extension.c
[14/47] Compiling cmark-gfm render.c
[15/47] Compiling cmark-gfm registry.c
[16/57] Compiling cmark-gfm references.c
[17/57] Compiling cmark-gfm plugin.c
[18/57] Compiling cmark-gfm utf8.c
[19/57] Compiling cmark-gfm plaintext.c
[20/57] Compiling cmark-gfm map.c
[21/57] Compiling cmark-gfm node.c
[22/57] Compiling cmark-gfm-extensions ext_scanners.c
[23/57] Compiling cmark-gfm latex.c
[24/57] Compiling cmark-gfm linked_list.c
[25/57] Compiling cmark-gfm man.c
[26/57] Compiling cmark-gfm iterator.c
[27/57] Compiling cmark-gfm-extensions tagfilter.c
[28/57] Compiling cmark-gfm houdini_html_e.c
[29/57] Compiling cmark-gfm html.c
[30/57] Compiling cmark-gfm houdini_href_e.c
[31/57] Compiling cmark-gfm footnotes.c
[32/57] Write sources
[33/57] Compiling cmark-gfm houdini_html_u.c
[34/57] Write sources
[36/57] Compiling cmark-gfm cmark_ctype.c
[37/57] Compiling cmark-gfm commonmark.c
[38/57] Compiling cmark-gfm cmark.c
[39/57] Compiling cmark-gfm buffer.c
[40/57] Compiling cmark-gfm inlines.c
[41/57] Compiling cmark-gfm scanners.c
[42/59] Compiling CAtomic CAtomic.c
[43/59] Compiling cmark-gfm-extensions autolink.c
[45/122] Compiling EvolutionMetadataModel Proposal+TrackingBug.swift
[46/122] Compiling EvolutionMetadataModel Proposal.swift
[47/122] Compiling EvolutionMetadataModel Proposal+UpcomingFeatureFlag.swift
[48/122] Compiling EvolutionMetadataModel Proposal+Implementation.swift
[49/122] Compiling EvolutionMetadataModel Proposal+Status.swift
[50/122] Compiling EvolutionMetadataModel Proposal+Issue.swift
[51/122] Compiling EvolutionMetadataModel EvolutionMetadata.swift
[52/122] Compiling EvolutionMetadataModel Proposal+Person.swift
[53/122] Emitting module EvolutionMetadataModel
[54/122] Compiling EvolutionMetadataModel Proposal+Discussion.swift
[55/122] Emitting module ArgumentParserToolInfo
[56/122] Compiling ArgumentParserToolInfo ToolInfo.swift
[57/161] Compiling ArgumentParser EnumerableFlag.swift
[58/161] Compiling ArgumentParser ExpressibleByArgument.swift
[59/161] Compiling ArgumentParser ArgumentHelp.swift
[60/161] Compiling ArgumentParser ArgumentVisibility.swift
[61/161] Compiling ArgumentParser CompletionKind.swift
[62/161] Compiling ArgumentParser Errors.swift
[63/161] Compiling ArgumentParser Flag.swift
[64/167] Emitting module ArgumentParser
[65/171] Compiling ArgumentParser ParsableArguments.swift
[66/171] Compiling ArgumentParser ParsableArgumentsValidation.swift
[67/171] Compiling ArgumentParser ParsableCommand.swift
[68/171] Compiling ArgumentParser ArgumentDecoder.swift
[69/171] Compiling ArgumentParser CommandConfiguration.swift
[70/171] Compiling ArgumentParser CommandGroup.swift
[78/171] Compiling ArgumentParser NameSpecification.swift
[79/171] Compiling ArgumentParser Option.swift
[80/171] Compiling ArgumentParser OptionGroup.swift
[81/171] Compiling ArgumentParser AsyncParsableCommand.swift
[82/171] Compiling ArgumentParser BashCompletionsGenerator.swift
[83/171] Compiling ArgumentParser CompletionsGenerator.swift
[84/171] Compiling ArgumentParser FishCompletionsGenerator.swift
[85/171] Compiling ArgumentParser ZshCompletionsGenerator.swift
[86/171] Compiling ArgumentParser Argument.swift
[87/171] Compiling ArgumentParser ArgumentDefinition.swift
[88/171] Compiling ArgumentParser ArgumentSet.swift
[89/171] Compiling ArgumentParser CommandParser.swift
[90/171] Compiling ArgumentParser InputKey.swift
[91/171] Compiling ArgumentParser Platform.swift
[92/171] Compiling ArgumentParser SequenceExtensions.swift
[93/171] Compiling ArgumentParser StringExtensions.swift
[94/171] Compiling ArgumentParser Tree.swift
[95/171] Compiling ArgumentParser InputOrigin.swift
[96/171] Compiling ArgumentParser Name.swift
[97/171] Compiling ArgumentParser Parsed.swift
[98/171] Compiling ArgumentParser ParsedValues.swift
[106/171] Compiling ArgumentParser ParserError.swift
[107/171] Compiling ArgumentParser SplitArguments.swift
[108/171] Compiling ArgumentParser DumpHelpGenerator.swift
[109/171] Compiling ArgumentParser HelpCommand.swift
[110/171] Compiling ArgumentParser HelpGenerator.swift
[111/171] Compiling ArgumentParser MessageInfo.swift
[112/171] Compiling ArgumentParser UsageGenerator.swift
[113/171] Compiling ArgumentParser CollectionExtensions.swift
[114/171] Compiling Markdown SoftBreak.swift
[115/171] Compiling Markdown SymbolLink.swift
[116/171] Compiling Markdown Text.swift
[117/171] Compiling Markdown Aside.swift
[118/171] Compiling Markdown BlockDirectiveParser.swift
[119/171] Compiling Markdown CommonMarkConverter.swift
[120/171] Compiling Markdown LazySplitLines.swift
[121/171] Compiling Markdown DoxygenParameter.swift
[122/171] Compiling Markdown DoxygenReturns.swift
[123/171] Compiling Markdown ListItem.swift
[124/171] Compiling Markdown OrderedList.swift
[125/171] Compiling Markdown UnorderedList.swift
[126/171] Compiling Markdown Paragraph.swift
[127/171] Compiling Markdown CodeBlock.swift
[135/171] Emitting module Markdown
[150/171] Compiling Markdown BlockMarkup.swift
[151/171] Compiling Markdown InlineContainer.swift
[152/171] Compiling Markdown InlineMarkup.swift
[153/171] Compiling Markdown ListItemContainer.swift
[154/171] Compiling Markdown AtomicCounter.swift
[155/171] Compiling Markdown CharacterExtensions.swift
[163/171] Compiling Markdown CollectionExtensions.swift
[164/171] Compiling Markdown StringExtensions.swift
[165/171] Compiling Markdown MarkupVisitor.swift
[166/171] Compiling Markdown MarkupWalker.swift
[167/171] Compiling Markdown MarkupFormatter.swift
[168/171] Compiling Markdown MarkupTreeDumper.swift
[169/190] Compiling EvolutionMetadataExtraction SummaryExtractor.swift
[170/190] Compiling EvolutionMetadataExtraction TitleExtractor.swift
[171/191] Compiling EvolutionMetadataExtraction ValidationIssues.swift
[172/191] Compiling EvolutionMetadataExtraction EvolutionMetadataExtractor.swift
/Users/admin/builder/spi-builder-workspace/Sources/EvolutionMetadataExtraction/Extractors/EvolutionMetadataExtractor.swift:31:90: warning: type 'KeyPath<SortableProposalWrapper, Int>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 29 |
 30 |         // Combine and sort reused and newly extracted proposal metadata
 31 |         let sortedRecords = (reusableProposals + proposals).sorted(using: SortDescriptor(\.sortIndex))
    |                                                                                          `- warning: type 'KeyPath<SortableProposalWrapper, Int>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 32 |         let combinedProposals = sortedRecords.map { $0.proposal }
 33 |
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/EvolutionMetadataExtraction/Extractors/EvolutionMetadataExtractor.swift:43:93: warning: type 'WritableKeyPath<String, String>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 41 |             }
 42 |         }
 43 |         let implementationVersions =  implementationVersionSet.sorted(using: SortDescriptor(\.self))
    |                                                                                             `- warning: type 'WritableKeyPath<String, String>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 44 |
 45 |         verbosePrint("Implementation Versions:", implementationVersions)
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
  |              `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
[173/191] Compiling EvolutionMetadataExtraction DiscussionExtractor.swift
/Users/admin/builder/spi-builder-workspace/Sources/EvolutionMetadataExtraction/Extractors/EvolutionMetadataExtractor.swift:31:90: warning: type 'KeyPath<SortableProposalWrapper, Int>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 29 |
 30 |         // Combine and sort reused and newly extracted proposal metadata
 31 |         let sortedRecords = (reusableProposals + proposals).sorted(using: SortDescriptor(\.sortIndex))
    |                                                                                          `- warning: type 'KeyPath<SortableProposalWrapper, Int>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 32 |         let combinedProposals = sortedRecords.map { $0.proposal }
 33 |
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/EvolutionMetadataExtraction/Extractors/EvolutionMetadataExtractor.swift:43:93: warning: type 'WritableKeyPath<String, String>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 41 |             }
 42 |         }
 43 |         let implementationVersions =  implementationVersionSet.sorted(using: SortDescriptor(\.self))
    |                                                                                             `- warning: type 'WritableKeyPath<String, String>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 44 |
 45 |         verbosePrint("Implementation Versions:", implementationVersions)
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
  |              `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
[174/191] Compiling EvolutionMetadataExtraction ProposalLinkExtractor.swift
[175/191] Compiling EvolutionMetadataExtraction StatusExtractor.swift
[176/191] Compiling EvolutionMetadataExtraction CommandLineSupport.swift
/Users/admin/builder/spi-builder-workspace/Sources/EvolutionMetadataExtraction/CommandLineSupport.swift:14:13: warning: var 'VERBOSE_ENABLED' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | // Will be nonisolated(unsafe) in Swift 5.10 and later
 14 | private var VERBOSE_ENABLED: Bool = false // Set once in `validate(verbose:)`, read once for `verboseEnabled`.
    |             |- warning: var 'VERBOSE_ENABLED' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'VERBOSE_ENABLED' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'VERBOSE_ENABLED' 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
 15 | func verbosePrint(_ items: Any..., additionalCondition: Bool = true, separator: String = " ", terminator: String = "\n\n") {
 16 |     if verboseEnabled && additionalCondition { print(items, separator: separator, terminator: terminator) }
[177/191] Compiling EvolutionMetadataExtraction ExtractionJob.swift
/Users/admin/builder/spi-builder-workspace/Sources/EvolutionMetadataExtraction/CommandLineSupport.swift:14:13: warning: var 'VERBOSE_ENABLED' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | // Will be nonisolated(unsafe) in Swift 5.10 and later
 14 | private var VERBOSE_ENABLED: Bool = false // Set once in `validate(verbose:)`, read once for `verboseEnabled`.
    |             |- warning: var 'VERBOSE_ENABLED' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'VERBOSE_ENABLED' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'VERBOSE_ENABLED' 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
 15 | func verbosePrint(_ items: Any..., additionalCondition: Bool = true, separator: String = " ", terminator: String = "\n\n") {
 16 |     if verboseEnabled && additionalCondition { print(items, separator: separator, terminator: terminator) }
[178/191] Emitting module EvolutionMetadataExtraction
/Users/admin/builder/spi-builder-workspace/Sources/EvolutionMetadataExtraction/CommandLineSupport.swift:14:13: warning: var 'VERBOSE_ENABLED' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | // Will be nonisolated(unsafe) in Swift 5.10 and later
 14 | private var VERBOSE_ENABLED: Bool = false // Set once in `validate(verbose:)`, read once for `verboseEnabled`.
    |             |- warning: var 'VERBOSE_ENABLED' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'VERBOSE_ENABLED' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'VERBOSE_ENABLED' 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
 15 | func verbosePrint(_ items: Any..., additionalCondition: Bool = true, separator: String = " ", terminator: String = "\n\n") {
 16 |     if verboseEnabled && additionalCondition { print(items, separator: separator, terminator: terminator) }
[179/191] Compiling EvolutionMetadataExtraction FoundationExtensions.swift
[180/191] Compiling EvolutionMetadataExtraction Networking.swift
[181/191] Compiling EvolutionMetadataExtraction PersonExtractor.swift
[182/191] Compiling EvolutionMetadataExtraction PreviousProposalExtractor.swift
[183/191] Compiling EvolutionMetadataExtraction TrackingBugExtractor.swift
[184/191] Compiling EvolutionMetadataExtraction UpcomingFeatureFlagExtractor.swift
[185/191] Compiling EvolutionMetadataExtraction ProposalMetadataExtractor.swift
[186/191] Compiling EvolutionMetadataExtraction FileUtilities.swift
[187/191] Compiling EvolutionMetadataExtraction HeaderFieldExtractor.swift
[188/191] Compiling EvolutionMetadataExtraction ImplementationExtractor.swift
[189/196] Compiling swift_evolution_metadata_extractor SnapshotCommand.swift
[190/196] Emitting module swift_evolution_metadata_extractor
[191/196] Compiling swift_evolution_metadata_extractor Help.swift
[192/196] Compiling swift_evolution_metadata_extractor ExtractCommand.swift
[193/196] Compiling swift_evolution_metadata_extractor RootCommand.swift
[193/196] Write Objects.LinkFileList
[194/196] Linking swift-evolution-metadata-extractor
[195/196] Applying swift-evolution-metadata-extractor
Build complete! (29.16s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-markdown",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.3.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-markdown"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    }
  ],
  "manifest_display_name" : "swift-evolution-metadata-extractor",
  "name" : "swift-evolution-metadata-extractor",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "EvolutionMetadataModel",
      "targets" : [
        "EvolutionMetadataModel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "swift-evolution-metadata-extractor",
      "targets" : [
        "swift-evolution-metadata-extractor"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "swift_evolution_metadata_extractor",
      "module_type" : "SwiftTarget",
      "name" : "swift-evolution-metadata-extractor",
      "path" : "Sources/swift-evolution-metadata-extractor",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "swift-evolution-metadata-extractor"
      ],
      "sources" : [
        "ExtractCommand.swift",
        "Help.swift",
        "RootCommand.swift",
        "SnapshotCommand.swift"
      ],
      "target_dependencies" : [
        "EvolutionMetadataExtraction"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ExtractionTests",
      "module_type" : "SwiftTarget",
      "name" : "ExtractionTests",
      "path" : "Tests/ExtractionTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ExtractionTests/Resources",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "BaselineModel/EvolutionMetadata.swift",
        "BaselineModel/Proposal+Discussion.swift",
        "BaselineModel/Proposal+Implementation.swift",
        "BaselineModel/Proposal+Issue.swift",
        "BaselineModel/Proposal+Person.swift",
        "BaselineModel/Proposal+Status.swift",
        "BaselineModel/Proposal+TrackingBug.swift",
        "BaselineModel/Proposal+UpcomingFeatureFlag.swift",
        "BaselineModel/Proposal.swift",
        "ExtractionTests.swift"
      ],
      "target_dependencies" : [
        "EvolutionMetadataExtraction"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EvolutionMetadataModel",
      "module_type" : "SwiftTarget",
      "name" : "EvolutionMetadataModel",
      "path" : "Sources/EvolutionMetadataModel",
      "product_memberships" : [
        "EvolutionMetadataModel",
        "swift-evolution-metadata-extractor"
      ],
      "sources" : [
        "EvolutionMetadata.swift",
        "Proposal+Discussion.swift",
        "Proposal+Implementation.swift",
        "Proposal+Issue.swift",
        "Proposal+Person.swift",
        "Proposal+Status.swift",
        "Proposal+TrackingBug.swift",
        "Proposal+UpcomingFeatureFlag.swift",
        "Proposal.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "EvolutionMetadataExtraction",
      "module_type" : "SwiftTarget",
      "name" : "EvolutionMetadataExtraction",
      "path" : "Sources/EvolutionMetadataExtraction",
      "product_dependencies" : [
        "Markdown",
        "ArgumentParser"
      ],
      "product_memberships" : [
        "swift-evolution-metadata-extractor"
      ],
      "sources" : [
        "CommandLineSupport.swift",
        "ExtractionJob.swift",
        "Extractors/EvolutionMetadataExtractor.swift",
        "Extractors/FieldExtractors/DiscussionExtractor.swift",
        "Extractors/FieldExtractors/HeaderFieldExtractor.swift",
        "Extractors/FieldExtractors/ImplementationExtractor.swift",
        "Extractors/FieldExtractors/PersonExtractor.swift",
        "Extractors/FieldExtractors/PreviousProposalExtractor.swift",
        "Extractors/FieldExtractors/ProposalLinkExtractor.swift",
        "Extractors/FieldExtractors/StatusExtractor.swift",
        "Extractors/FieldExtractors/SummaryExtractor.swift",
        "Extractors/FieldExtractors/TitleExtractor.swift",
        "Extractors/FieldExtractors/TrackingBugExtractor.swift",
        "Extractors/FieldExtractors/UpcomingFeatureFlagExtractor.swift",
        "Extractors/ProposalMetadataExtractor.swift",
        "Utilities/FileUtilities.swift",
        "Utilities/FoundationExtensions.swift",
        "Utilities/Networking.swift",
        "Utilities/ValidationIssues.swift"
      ],
      "target_dependencies" : [
        "EvolutionMetadataModel"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.