This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 ReadingTimePublishPlugin with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alexito4/ReadingTimePublishPlugin.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/alexito4/ReadingTimePublishPlugin
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 531dd14 Update README.md
Cloned https://github.com/alexito4/ReadingTimePublishPlugin.git
Revision (git rev-parse @):
531dd144784e7e623d45a01dafdf4dd76c3349f8
SUCCESS checkout https://github.com/alexito4/ReadingTimePublishPlugin.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/alexito4/ReadingTimePublishPlugin.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/10] Write sources
[9/10] Write swift-version-6F35C1178C84523A.txt
[11/112] Emitting module CollectionConcurrencyKit
[12/112] Compiling CollectionConcurrencyKit CollectionConcurrencyKit.swift
[13/112] Compiling Plot ComponentContainer.swift
[14/112] Compiling Plot ComponentGroup.swift
[15/112] Compiling Plot ControlFlow.swift
[16/112] Compiling Plot EnvironmentKey.swift
[17/115] Compiling Plot XMLAttributes.swift
[18/115] Compiling Plot XMLElements.swift
[19/115] Compiling Plot AnyAttribute.swift
[20/115] Compiling Plot AnyElement.swift
[21/115] Compiling Plot AnyEnvironmentValue.swift
[22/115] Compiling Plot AnyNode.swift
[23/121] Compiling Plot Attribute.swift
[24/121] Compiling Plot Component.swift
[25/121] Compiling Plot ComponentAttributes.swift
[26/121] Compiling Plot ComponentBuilder.swift
[27/121] Emitting module Ink
[28/121] Compiling Plot ElementClosingMode.swift
[29/121] Compiling Plot ElementComponent.swift
[30/121] Compiling Plot ElementDefinition.swift
[31/121] Compiling Plot Document.swift
[32/121] Compiling Plot DocumentEncoding.swift
[33/121] Compiling Plot Element.swift
[34/121] Compiling Plot EmptyComponent.swift
[35/121] Compiling Plot HTMLButtonType.swift
[36/121] Compiling Plot HTMLComponents.swift
[37/121] Compiling Plot HTMLElements.swift
[38/121] Compiling Ink TextStyleMarker.swift
[39/121] Compiling Ink URL.swift
[40/121] Compiling Ink URLDeclaration.swift
[41/121] Compiling Plot HTMLVideoFormat.swift
[42/121] Compiling Plot HTMLViewportWidthMode.swift
[43/121] Compiling Plot Indentation.swift
[44/121] Compiling Plot HTMLAnchorTarget.swift
[45/121] Compiling Plot HTMLAttributes.swift
[46/121] Compiling Plot HTMLAudioFormat.swift
[47/121] Compiling Plot HTMLListStyle.swift
[48/121] Compiling Plot EnvironmentValue.swift
[49/121] Compiling Plot HTML.swift
[50/121] Compiling Plot HTMLAnchorRelationship.swift
[51/121] Compiling Plot Language.swift
[52/121] Compiling Plot SiteMap.swift
[53/121] Compiling Plot SiteMapChangeFrequency.swift
[54/121] Compiling Plot Node.swift
[55/121] Compiling Plot SiteMapElements.swift
[56/121] Compiling Plot NodeConvertible.swift
[57/121] Compiling Plot TwitterCardType.swift
[58/121] Compiling Plot URLRepresentable.swift
[59/121] Compiling Plot XML.swift
[60/121] Emitting module Plot
[68/121] Compiling Plot PodcastMediaType.swift
[69/121] Compiling Plot PodcastType.swift
[70/121] Compiling Plot RSS.swift
[71/121] Compiling Plot RSSAttributes.swift
[72/121] Compiling Plot RSSElements.swift
[73/121] Compiling Plot Renderable.swift
[74/121] Emitting module Codextended
[75/121] Compiling Codextended Codextended.swift
[76/121] Emitting module Sweep
[77/121] Compiling Plot ElementRenderingBuffer.swift
[78/121] Emitting module ShellOut
[79/121] Compiling Sweep Sweep.swift
[80/121] Compiling Plot ElementWrapper.swift
[81/121] Compiling Plot Environment.swift
[82/121] Compiling Plot ModifiedComponent.swift
[83/121] Compiling Plot Renderer.swift
[84/121] Compiling Plot String+Escaping.swift
[85/121] Compiling ShellOut ShellOut.swift
[86/121] Compiling Plot Optional+Component.swift
[87/121] Compiling Plot PodcastAttributes.swift
[88/121] Compiling Plot PodcastComponents.swift
[89/121] Compiling Plot PodcastElements.swift
[90/121] Compiling Plot PodcastEpisodeType.swift
[91/121] Compiling Plot PodcastFeed.swift
[119/121] Compiling Plot HTMLLinkRelationship.swift
[120/121] Emitting module Files
[121/121] Compiling Files Files.swift
[122/176] Compiling Publish Array+Appending.swift
[123/176] Compiling Publish CommandLine+Output.swift
[124/176] Compiling Publish ContentError.swift
[125/176] Compiling Publish File+SwiftPackageFolder.swift
[126/176] Compiling Publish FileIOError.swift
[127/176] Compiling Publish Folder+Group.swift
[128/181] Compiling Publish PlotModifiers.swift
[129/181] Compiling Publish Plugin.swift
[130/181] Compiling Publish PodcastAuthor.swift
[131/181] Compiling Publish PodcastCompatibleWebsiteItemMetadata.swift
[132/181] Compiling Publish PodcastEpisodeMetadata.swift
[133/181] Compiling Publish PodcastFeedConfiguration.swift
[134/181] Compiling Publish AnyItem.swift
[135/181] Compiling Publish Audio.swift
[136/181] Compiling Publish Content.swift
[137/181] Compiling Publish ContentProtocol.swift
[138/181] Compiling Publish DeploymentMethod.swift
[139/181] Compiling Publish Favicon.swift
[140/181] Compiling Publish FeedConfiguration.swift
[141/181] Compiling Publish HTMLFactory.swift
[142/181] Compiling Publish HTMLFileMode.swift
[143/181] Compiling Publish Index.swift
[144/181] Compiling Publish Item.swift
[145/181] Compiling Publish ItemRSSProperties.swift
[146/181] Compiling Publish Location.swift
[147/181] Compiling Publish Mutations.swift
[148/181] Compiling Publish Page.swift
[149/181] Compiling Publish Path.swift
[150/181] Compiling Publish PlotComponents.swift
[151/181] Compiling Publish PlotEnvironmentKeys.swift
[152/181] Compiling Publish Section.swift
[153/181] Compiling Publish SectionMap.swift
[154/181] Compiling Publish SortOrder.swift
[155/181] Compiling Publish StringWrapper.swift
[156/181] Compiling Publish Tag.swift
[157/181] Compiling Publish TagDetailsPage.swift
[158/181] Emitting module Publish
[159/181] Compiling Publish TagHTMLConfiguration.swift
[160/181] Compiling Publish TagListPage.swift
[161/181] Compiling Publish Theme+Foundation.swift
[162/181] Compiling Publish Theme.swift
[163/181] Compiling Publish Video.swift
[164/181] Compiling Publish Website.swift
[165/181] Compiling Publish Predicate.swift
[166/181] Compiling Publish PublishedWebsite.swift
[167/181] Compiling Publish PublishingContext.swift
[168/181] Compiling Publish PublishingError.swift
[169/181] Compiling Publish PublishingStep.swift
[170/181] Compiling Publish RSSFeedConfiguration.swift
[171/181] Compiling Publish HTMLGenerator.swift
[172/181] Compiling Publish MarkdownContentFactory.swift
[173/181] Compiling Publish MarkdownFileHandler.swift
[174/181] Compiling Publish MarkdownMetadataDecoder.swift
[175/181] Compiling Publish PodcastError.swift
[176/181] Compiling Publish PodcastFeedGenerator.swift
[177/181] Compiling Publish PublishingPipeline.swift
[178/181] Compiling Publish RSSFeedGenerator.swift
[179/181] Compiling Publish ShellOutError+PublishingErrorConvertible.swift
[180/181] Compiling Publish SiteMapGenerator.swift
[181/181] Compiling Publish String+Normalized.swift
[182/184] Compiling ReadingTimePublishPlugin ReadingTime.swift
/Users/admin/builder/spi-builder-workspace/Sources/ReadingTimePublishPlugin/ReadingTime.swift:42:13: warning: var 'data' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 | }
41 |
42 | private var data = [AnyHashable: ReadingTimeMetadata]()
   |             |- warning: var 'data' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'data' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'data' 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
43 |
44 | func estimateTime(for string: String, wordsPerMinute: Int) -> ReadingTimeMetadata {
/Users/admin/builder/spi-builder-workspace/Sources/ReadingTimePublishPlugin/CommandLine+Output.swift:8:5: warning: var 'output' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | var output: (String, OutputKind) -> Void = { string, kind in
   |     |- warning: var 'output' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |     |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
   |     |- note: annotate 'output' 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
 9 |     var string = string + "\n"
10 |
[183/184] Emitting module ReadingTimePublishPlugin
/Users/admin/builder/spi-builder-workspace/Sources/ReadingTimePublishPlugin/CommandLine+Output.swift:8:5: warning: var 'output' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | var output: (String, OutputKind) -> Void = { string, kind in
   |     |- warning: var 'output' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |     |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
   |     |- note: annotate 'output' 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
 9 |     var string = string + "\n"
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ReadingTimePublishPlugin/ReadingTime.swift:42:13: warning: var 'data' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 | }
41 |
42 | private var data = [AnyHashable: ReadingTimeMetadata]()
   |             |- warning: var 'data' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'data' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: annotate 'data' 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
43 |
44 | func estimateTime(for string: String, wordsPerMinute: Int) -> ReadingTimeMetadata {
[184/184] Compiling ReadingTimePublishPlugin CommandLine+Output.swift
/Users/admin/builder/spi-builder-workspace/Sources/ReadingTimePublishPlugin/CommandLine+Output.swift:8:5: warning: var 'output' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | var output: (String, OutputKind) -> Void = { string, kind in
   |     |- warning: var 'output' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |     |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
   |     |- note: annotate 'output' 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
 9 |     var string = string + "\n"
10 |
Build complete! (41.68s)
Fetching https://github.com/johnsundell/codextended.git
Fetching https://github.com/johnsundell/files.git
Fetching https://github.com/johnsundell/collectionConcurrencyKit.git
Fetching https://github.com/johnsundell/plot.git
Fetching https://github.com/johnsundell/ink.git
Fetching https://github.com/johnsundell/shellout.git
Fetching https://github.com/johnsundell/publish.git
[1/181] Fetching codextended
[16/264] Fetching codextended, collectionconcurrencykit
[37/1495] Fetching codextended, collectionconcurrencykit, files
[233/4377] Fetching codextended, collectionconcurrencykit, files, publish
[234/6462] Fetching codextended, collectionconcurrencykit, files, publish, plot
[283/8367] Fetching codextended, collectionconcurrencykit, files, publish, plot, ink
[391/9323] Fetching codextended, collectionconcurrencykit, files, publish, plot, ink, shellout
Fetched https://github.com/johnsundell/codextended.git from cache (1.08s)
Fetching https://github.com/johnsundell/sweep.git
Fetched https://github.com/johnsundell/ink.git from cache (1.08s)
Fetched https://github.com/johnsundell/publish.git from cache (1.08s)
Computing version for https://github.com/johnsundell/publish.git
Fetched https://github.com/johnsundell/shellout.git from cache (1.09s)
Fetched https://github.com/johnsundell/files.git from cache (1.09s)
Fetched https://github.com/johnsundell/collectionConcurrencyKit.git from cache (1.09s)
Fetched https://github.com/johnsundell/plot.git from cache (1.09s)
[1/116] Fetching sweep
Computed https://github.com/johnsundell/publish.git at 0.9.0 (0.70s)
Fetched https://github.com/johnsundell/sweep.git from cache (0.79s)
Computing version for https://github.com/johnsundell/collectionConcurrencyKit.git
Computed https://github.com/johnsundell/collectionConcurrencyKit.git at 0.2.0 (0.69s)
Computing version for https://github.com/johnsundell/sweep.git
Computed https://github.com/johnsundell/sweep.git at 0.4.0 (0.67s)
Computing version for https://github.com/johnsundell/shellout.git
Computed https://github.com/johnsundell/shellout.git at 2.3.0 (2.68s)
Computing version for https://github.com/johnsundell/codextended.git
Computed https://github.com/johnsundell/codextended.git at 0.3.0 (0.65s)
Computing version for https://github.com/johnsundell/files.git
Computed https://github.com/johnsundell/files.git at 4.2.0 (0.66s)
Computing version for https://github.com/johnsundell/plot.git
Computed https://github.com/johnsundell/plot.git at 0.11.0 (0.64s)
Computing version for https://github.com/johnsundell/ink.git
Computed https://github.com/johnsundell/ink.git at 0.5.1 (0.65s)
Creating working copy for https://github.com/johnsundell/files.git
Working copy of https://github.com/johnsundell/files.git resolved at 4.2.0
Creating working copy for https://github.com/johnsundell/publish.git
Working copy of https://github.com/johnsundell/publish.git resolved at 0.9.0
Creating working copy for https://github.com/johnsundell/plot.git
Working copy of https://github.com/johnsundell/plot.git resolved at 0.11.0
Creating working copy for https://github.com/johnsundell/collectionConcurrencyKit.git
Working copy of https://github.com/johnsundell/collectionConcurrencyKit.git resolved at 0.2.0
Creating working copy for https://github.com/johnsundell/codextended.git
Working copy of https://github.com/johnsundell/codextended.git resolved at 0.3.0
Creating working copy for https://github.com/johnsundell/ink.git
Working copy of https://github.com/johnsundell/ink.git resolved at 0.5.1
Creating working copy for https://github.com/johnsundell/shellout.git
Working copy of https://github.com/johnsundell/shellout.git resolved at 2.3.0
Creating working copy for https://github.com/johnsundell/sweep.git
Working copy of https://github.com/johnsundell/sweep.git resolved at 0.4.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "publish",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.9.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/johnsundell/publish.git"
    }
  ],
  "manifest_display_name" : "ReadingTimePublishPlugin",
  "name" : "ReadingTimePublishPlugin",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "ReadingTimePublishPlugin",
      "targets" : [
        "ReadingTimePublishPlugin"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ReadingTimePublishPluginTests",
      "module_type" : "SwiftTarget",
      "name" : "ReadingTimePublishPluginTests",
      "path" : "Tests/ReadingTimePublishPluginTests",
      "sources" : [
        "ConsoleOutputTests.swift",
        "ReadingTimeTests.swift"
      ],
      "target_dependencies" : [
        "ReadingTimePublishPlugin"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ReadingTimePublishPlugin",
      "module_type" : "SwiftTarget",
      "name" : "ReadingTimePublishPlugin",
      "path" : "Sources/ReadingTimePublishPlugin",
      "product_dependencies" : [
        "Publish"
      ],
      "product_memberships" : [
        "ReadingTimePublishPlugin"
      ],
      "sources" : [
        "CommandLine+Output.swift",
        "ReadingTime.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.