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 main (df3bab), with Swift 6.0 for macOS (SPM) on 16 Sep 2024 14:18:54 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.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.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftlang/swift-evolution-metadata-extractor.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swiftlang/swift-evolution-metadata-extractor
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at df3babd Fix typo issue at README.md
Cloned https://github.com/swiftlang/swift-evolution-metadata-extractor.git
Revision (git rev-parse @):
df3babde0e9eda5194f34670778879f416a928d6
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swiftlang/swift-evolution-metadata-extractor.git at main
========================================
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.0.0-Release.Candidate.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
[2/47] Write swift-evolution-metadata-extractor-entitlement.plist
[3/47] Write swift-version-117DEE11B69C53C9.txt
[4/47] Compiling cmark-gfm syntax_extension.c
[5/47] Compiling cmark-gfm xml.c
[6/47] Compiling cmark-gfm render.c
[7/47] Compiling cmark-gfm-extensions ext_scanners.c
[8/47] Compiling cmark-gfm-extensions strikethrough.c
[9/47] Compiling cmark-gfm utf8.c
[10/47] Compiling cmark-gfm plugin.c
[11/47] Compiling cmark-gfm registry.c
[12/47] Compiling cmark-gfm references.c
[13/47] Compiling cmark-gfm plaintext.c
[14/47] Compiling cmark-gfm map.c
[15/47] Compiling cmark-gfm man.c
[16/47] Compiling cmark-gfm node.c
[17/47] Compiling cmark-gfm-extensions core-extensions.c
[18/47] Compiling cmark-gfm linked_list.c
[19/47] Compiling cmark-gfm scanners.c
[20/47] Compiling cmark-gfm iterator.c
[21/47] Compiling cmark-gfm latex.c
[22/47] Compiling cmark-gfm houdini_html_e.c
[23/47] Compiling cmark-gfm-extensions tasklist.c
[24/47] Compiling cmark-gfm html.c
[25/47] Compiling cmark-gfm inlines.c
[26/47] Compiling cmark-gfm houdini_html_u.c
[27/47] Compiling cmark-gfm houdini_href_e.c
[28/47] Compiling cmark-gfm footnotes.c
[29/47] Write sources
[32/47] Compiling cmark-gfm cmark_ctype.c
[33/47] Compiling cmark-gfm commonmark.c
[34/47] Write sources
[36/47] Compiling cmark-gfm cmark.c
[37/47] Compiling cmark-gfm arena.c
[38/47] Compiling cmark-gfm buffer.c
[39/47] Compiling CAtomic CAtomic.c
[40/47] Compiling cmark-gfm-extensions tagfilter.c
[41/47] Compiling cmark-gfm-extensions table.c
[42/47] Compiling cmark-gfm blocks.c
[43/59] Compiling cmark-gfm-extensions autolink.c
[45/120] Compiling EvolutionMetadataModel Proposal+UpcomingFeatureFlag.swift
[46/120] Compiling EvolutionMetadataModel Proposal+TrackingBug.swift
[47/120] Compiling EvolutionMetadataModel Proposal.swift
[48/120] Compiling EvolutionMetadataModel Proposal+Issue.swift
[49/120] Compiling EvolutionMetadataModel EvolutionMetadata.swift
[50/120] Compiling EvolutionMetadataModel Proposal+Person.swift
[51/120] Emitting module EvolutionMetadataModel
[52/120] Compiling EvolutionMetadataModel Proposal+Implementation.swift
[53/120] Compiling EvolutionMetadataModel Proposal+Discussion.swift
[54/120] Compiling EvolutionMetadataModel Proposal+Status.swift
[55/120] Emitting module ArgumentParserToolInfo
[56/120] Compiling ArgumentParserToolInfo ToolInfo.swift
[57/159] Emitting module Markdown
[58/165] Compiling ArgumentParser ArgumentHelp.swift
[59/165] Compiling ArgumentParser ArgumentVisibility.swift
[60/165] Compiling ArgumentParser CompletionKind.swift
[61/165] Compiling ArgumentParser Errors.swift
[62/165] Compiling ArgumentParser Flag.swift
[63/169] Compiling ArgumentParser BashCompletionsGenerator.swift
[64/169] Compiling ArgumentParser CompletionsGenerator.swift
[65/169] Compiling ArgumentParser FishCompletionsGenerator.swift
[66/169] Compiling ArgumentParser ZshCompletionsGenerator.swift
[67/169] Compiling ArgumentParser Argument.swift
[71/169] Compiling ArgumentParser CommandConfiguration.swift
[72/169] Compiling ArgumentParser CommandGroup.swift
[73/169] Compiling ArgumentParser EnumerableFlag.swift
[77/169] Compiling ArgumentParser ExpressibleByArgument.swift
[78/169] Emitting module ArgumentParser
[79/169] Compiling Markdown ListItem.swift
[80/169] Compiling Markdown OrderedList.swift
[81/169] Compiling Markdown UnorderedList.swift
[82/169] Compiling Markdown Paragraph.swift
[83/169] Compiling Markdown CodeBlock.swift
[84/169] Compiling Markdown HTMLBlock.swift
[85/169] Compiling Markdown Heading.swift
[86/169] Compiling Markdown RangeAdjuster.swift
[87/169] Compiling Markdown RangerTracker.swift
[88/169] Compiling Markdown MarkupRewriter.swift
[89/169] Compiling Markdown BasicBlockContainer.swift
[90/169] Compiling Markdown BasicInlineContainer.swift
[91/169] Compiling Markdown BlockContainer.swift
[92/169] Compiling ArgumentParser StringExtensions.swift
[93/169] Compiling ArgumentParser Tree.swift
[94/169] Compiling Markdown InlineCode.swift
[95/169] Compiling Markdown InlineHTML.swift
[96/169] Compiling Markdown LineBreak.swift
[97/169] Compiling Markdown SoftBreak.swift
[98/169] Compiling Markdown SymbolLink.swift
[99/169] Compiling ArgumentParser Platform.swift
[100/169] Compiling ArgumentParser SequenceExtensions.swift
[103/169] Compiling ArgumentParser ParsableArguments.swift
[104/169] Compiling ArgumentParser ParsableArgumentsValidation.swift
[105/169] Compiling ArgumentParser ParsableCommand.swift
[106/169] Compiling ArgumentParser ArgumentDecoder.swift
[107/169] Compiling ArgumentParser NameSpecification.swift
[108/169] Compiling ArgumentParser Option.swift
[109/169] Compiling ArgumentParser OptionGroup.swift
[110/169] Compiling ArgumentParser AsyncParsableCommand.swift
[111/169] Compiling ArgumentParser ArgumentDefinition.swift
[112/169] Compiling ArgumentParser ArgumentSet.swift
[113/169] Compiling ArgumentParser CommandParser.swift
[114/169] Compiling ArgumentParser InputKey.swift
[115/169] Compiling ArgumentParser Name.swift
[116/169] Compiling ArgumentParser Parsed.swift
[117/169] Compiling ArgumentParser ParsedValues.swift
[118/169] Compiling ArgumentParser ParserError.swift
[119/169] Compiling ArgumentParser SplitArguments.swift
[120/169] Compiling ArgumentParser DumpHelpGenerator.swift
[121/169] Compiling ArgumentParser HelpCommand.swift
[122/169] Compiling ArgumentParser HelpGenerator.swift
[123/169] Compiling ArgumentParser MessageInfo.swift
[124/169] Compiling ArgumentParser UsageGenerator.swift
[125/169] Compiling ArgumentParser CollectionExtensions.swift
[128/169] Compiling ArgumentParser InputOrigin.swift
[154/169] Compiling Markdown CollectionExtensions.swift
[155/169] Compiling Markdown StringExtensions.swift
[156/169] Compiling Markdown MarkupVisitor.swift
[157/169] Compiling Markdown MarkupWalker.swift
[158/169] Compiling Markdown MarkupFormatter.swift
[159/169] Compiling Markdown MarkupTreeDumper.swift
[167/188] Compiling EvolutionMetadataExtraction SummaryExtractor.swift
[168/188] Compiling EvolutionMetadataExtraction TitleExtractor.swift
[169/189] 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) }
[170/189] Compiling EvolutionMetadataExtraction HeaderFieldExtractor.swift
[171/189] Compiling EvolutionMetadataExtraction ImplementationExtractor.swift
[172/189] Compiling EvolutionMetadataExtraction ValidationIssues.swift
[173/189] Compiling EvolutionMetadataExtraction PersonExtractor.swift
[174/189] Compiling EvolutionMetadataExtraction PreviousProposalExtractor.swift
[175/189] 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 | }
[176/189] 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 | }
[177/189] 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) }
[178/189] 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) }
[179/189] Compiling EvolutionMetadataExtraction TrackingBugExtractor.swift
[180/189] Compiling EvolutionMetadataExtraction UpcomingFeatureFlagExtractor.swift
[181/189] Compiling EvolutionMetadataExtraction FoundationExtensions.swift
[182/189] Compiling EvolutionMetadataExtraction Networking.swift
[183/189] Compiling EvolutionMetadataExtraction ProposalMetadataExtractor.swift
[184/189] Compiling EvolutionMetadataExtraction FileUtilities.swift
[185/189] Compiling EvolutionMetadataExtraction ProposalLinkExtractor.swift
[186/189] Compiling EvolutionMetadataExtraction StatusExtractor.swift
[187/194] Compiling swift_evolution_metadata_extractor RootCommand.swift
[188/194] Compiling swift_evolution_metadata_extractor SnapshotCommand.swift
[189/194] Compiling swift_evolution_metadata_extractor Help.swift
[190/194] Compiling swift_evolution_metadata_extractor ExtractCommand.swift
[191/194] Emitting module swift_evolution_metadata_extractor
[191/194] Write Objects.LinkFileList
[192/194] Linking swift-evolution-metadata-extractor
[193/194] Applying swift-evolution-metadata-extractor
Build complete! (35.94s)
Fetching https://github.com/swiftlang/swift-markdown
Fetching https://github.com/apple/swift-argument-parser.git
[1/12169] Fetching swift-argument-parser
[2/18322] Fetching swift-argument-parser, swift-markdown
Fetched https://github.com/swiftlang/swift-markdown from cache (1.56s)
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.56s)
Computing version for https://github.com/swiftlang/swift-markdown
Computed https://github.com/swiftlang/swift-markdown at 0.4.0 (3.59s)
Fetching https://github.com/apple/swift-cmark.git
[1/17852] Fetching swift-cmark
Fetched https://github.com/apple/swift-cmark.git from cache (1.71s)
Computing version for https://github.com/apple/swift-cmark.git
Computed https://github.com/apple/swift-cmark.git at 0.4.0 (0.65s)
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.51s)
Creating working copy for https://github.com/swiftlang/swift-markdown
Working copy of https://github.com/swiftlang/swift-markdown resolved at 0.4.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.4.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
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.