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.