The Swift Package Index logo.Swift Package Index

Build Information

Successful build of OsmiumAtlas, reference 1.1.7 (691238), with Swift 6.1 for macOS (SPM) on 13 Mar 2026 13:22:42 UTC.

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/MarcoEidinger/OsmiumAtlas.git
Reference: 1.1.7
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/MarcoEidinger/OsmiumAtlas
 * tag               1.1.7      -> FETCH_HEAD
HEAD is now at 691238b ci: fix build workflow
Cloned https://github.com/MarcoEidinger/OsmiumAtlas.git
Revision (git rev-parse @):
691238bb8e481b710a69b50afcedf7f93fb7cab9
SUCCESS checkout https://github.com/MarcoEidinger/OsmiumAtlas.git at 1.1.7
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/MarcoEidinger/OsmiumAtlas.git
https://github.com/MarcoEidinger/OsmiumAtlas.git
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "branch" : [
          "async"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/MarcoEidinger/swift-argument-parser"
    },
    {
      "identity" : "swiftybeaver",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.9.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/SwiftyBeaver/SwiftyBeaver.git"
    },
    {
      "identity" : "feedkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.0.0",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nmdias/FeedKit.git"
    },
    {
      "identity" : "asynccompatibilitykit",
      "requirement" : {
        "branch" : [
          "main"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/KaiOelfke/AsyncCompatibilityKit"
    },
    {
      "identity" : "ohhauth",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mw99/OhhAuth.git"
    },
    {
      "identity" : "swifter",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mattdonnelly/Swifter"
    }
  ],
  "manifest_display_name" : "OsmiumAtlas",
  "name" : "OsmiumAtlas",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "iosdevdirectory",
      "targets" : [
        "OsmiumAtlas"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Twitter",
      "module_type" : "SwiftTarget",
      "name" : "Twitter",
      "path" : "Sources/Twitter",
      "product_dependencies" : [
        "Swifter",
        "OhhAuth",
        "AsyncCompatibilityKit"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "API.swift",
        "Credentials.swift",
        "String+Extension.swift",
        "TwitterListMember.swift"
      ],
      "target_dependencies" : [
        "Logging"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OsmiumAtlasFrameworkTests",
      "module_type" : "SwiftTarget",
      "name" : "OsmiumAtlasFrameworkTests",
      "path" : "Tests/OsmiumAtlasFrameworkTests",
      "sources" : [
        "OsmiumAtlasTests.swift"
      ],
      "target_dependencies" : [
        "OsmiumAtlasFramework"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OsmiumAtlasFramework",
      "module_type" : "SwiftTarget",
      "name" : "OsmiumAtlasFramework",
      "path" : "Sources/OsmiumAtlasFramework",
      "product_dependencies" : [
        "FeedKit",
        "AsyncCompatibilityKit",
        "ArgumentParser"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "Extensions/Blog+FeedKit.swift",
        "Extensions/FeedKit+Extensions.swift",
        "Models/Article.swift",
        "Models/Blog.swift",
        "Models/BlogCategory.swift",
        "Models/FeedItem.swift",
        "Models/LocalizedBlogDirectory.swift",
        "Models/SitesAndStats.swift",
        "Models/SitesStats.swift",
        "iOSDevDirectoryNetworkingService.swift"
      ],
      "target_dependencies" : [
        "Logging"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OsmiumAtlas",
      "module_type" : "SwiftTarget",
      "name" : "OsmiumAtlas",
      "path" : "Sources/OsmiumAtlas",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "CLI.swift",
        "CLIUtil.swift",
        "Commands/UpdateTwitterList.swift",
        "Commands/iOSDevDirectoryEnglishDevBlogs.swift"
      ],
      "target_dependencies" : [
        "OsmiumAtlasFramework",
        "Twitter"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Logging",
      "module_type" : "SwiftTarget",
      "name" : "Logging",
      "path" : "Sources/Logging",
      "product_dependencies" : [
        "SwiftyBeaver"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "Logger.swift",
        "NoLogger.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/16] Write sources
[8/16] Write iosdevdirectory-entitlement.plist
[10/16] Write sources
[12/16] Write swift-version-2F0A5646E1D333AE.txt
[14/155] Emitting module ArgumentParserToolInfo
[15/155] Compiling ArgumentParserToolInfo ToolInfo.swift
[16/191] Emitting module ArgumentParser
[17/194] Compiling ArgumentParser BashCompletionsGenerator.swift
[18/194] Compiling ArgumentParser CompletionsGenerator.swift
[19/194] Compiling ArgumentParser FishCompletionsGenerator.swift
[20/194] Compiling ArgumentParser ZshCompletionsGenerator.swift
[21/194] Compiling ArgumentParser Flag.swift
[22/194] Compiling ArgumentParser NameSpecification.swift
[23/194] Compiling ArgumentParser Option.swift
[24/194] Compiling ArgumentParser OptionGroup.swift
[25/194] Compiling ArgumentParser SequenceExtensions.swift
[26/194] Compiling ArgumentParser StringExtensions.swift
[27/194] Compiling ArgumentParser Tree.swift
[28/194] Compiling ArgumentParser Argument.swift
[29/194] Compiling ArgumentParser ArgumentHelp.swift
[30/194] Compiling ArgumentParser CompletionKind.swift
[31/194] Compiling ArgumentParser Errors.swift
[32/194] Emitting module OhhAuth
[33/194] Compiling OhhAuth OhhAuth.swift
[34/194] Compiling SwiftyBeaver Filter.swift
[35/194] Compiling SwiftyBeaver FilterValidator.swift
[36/194] Compiling SwiftyBeaver FileDestination.swift
[37/195] Compiling SwiftyBeaver Extensions.swift
[38/195] Compiling SwiftyBeaver SBPlatformDestination.swift
[39/195] Compiling SwiftyBeaver GoogleCloudDestination.swift
[40/195] Compiling SwiftyBeaver BaseDestination.swift
[41/195] Compiling SwiftyBeaver ConsoleDestination.swift
[42/195] Compiling FeedKit MediaPlayer.swift
[43/195] Compiling FeedKit MediaPrice.swift
[44/195] Compiling FeedKit MediaRating.swift
[45/195] Compiling FeedKit MediaRestriction.swift
[46/195] Compiling FeedKit MediaRights.swift
[47/195] Compiling FeedKit MediaScene.swift
[48/195] Compiling FeedKit MediaStarRating.swift
[49/195] Compiling FeedKit MediaStatistics.swift
[50/195] Compiling FeedKit MediaStatus.swift
[51/195] Emitting module FeedKit
[52/204] Compiling FeedKit RSSFeedImage.swift
[53/204] Compiling FeedKit RSSFeedItem.swift
[54/204] Compiling FeedKit RSSFeedItemCategory.swift
[55/204] Compiling FeedKit RSSFeedItemEnclosure.swift
[56/204] Compiling FeedKit RSSFeedItemGUID.swift
[57/204] Compiling FeedKit RSSFeedItemSource.swift
[58/204] Compiling FeedKit RSSFeedSkipDay.swift
[59/204] Compiling FeedKit RSSFeedSkipHour.swift
[60/204] Compiling FeedKit RSSFeedTextInput.swift
[61/204] Compiling FeedKit MediaDescription.swift
[62/204] Compiling FeedKit MediaEmbed.swift
[63/204] Compiling FeedKit MediaGroup.swift
[64/204] Compiling FeedKit MediaHash.swift
[65/204] Compiling FeedKit MediaLicence.swift
[66/204] Compiling FeedKit MediaLocation.swift
[67/204] Compiling FeedKit MediaNamespace.swift
[68/204] Compiling FeedKit MediaParam.swift
[69/204] Compiling FeedKit MediaPeerLink.swift
[70/204] Compiling ArgumentParser Parsed.swift
[71/204] Compiling ArgumentParser ParsedValues.swift
[72/204] Compiling ArgumentParser ParserError.swift
[73/207] Emitting module SwiftyBeaver
[76/207] Compiling ArgumentParser AsyncParsableCommand.swift
[77/207] Compiling ArgumentParser CommandConfiguration.swift
[78/207] Compiling ArgumentParser EnumerableFlag.swift
[79/207] Compiling ArgumentParser ExpressibleByArgument.swift
[80/207] Compiling ArgumentParser SplitArguments.swift
[81/207] Compiling ArgumentParser DumpHelpGenerator.swift
[82/207] Emitting module Swifter
[83/207] Compiling ArgumentParser ParsableArgumentsValidation.swift
[84/207] Compiling ArgumentParser ParsableCommand.swift
[85/207] Compiling ArgumentParser ArgumentDecoder.swift
[86/207] Compiling ArgumentParser Name.swift
[96/207] Compiling Swifter SwifterUsers.swift
[97/207] Compiling Swifter URL++.swift
[98/207] Compiling Swifter Utils.swift
[101/207] Compiling FeedKit MediaCopyright.swift
[102/207] Compiling FeedKit MediaCredit.swift
[103/207] Compiling SwiftyBeaver SwiftyBeaver.swift
[108/207] Compiling ArgumentParser MessageInfo.swift
[109/207] Compiling ArgumentParser UsageGenerator.swift
[110/207] Compiling ArgumentParser CollectionExtensions.swift
[111/207] Compiling ArgumentParser ArgumentDefinition.swift
[112/207] Compiling ArgumentParser ArgumentSet.swift
[113/207] Compiling ArgumentParser CommandParser.swift
[114/207] Compiling ArgumentParser InputOrigin.swift
[123/207] Compiling ArgumentParser ParsableArguments.swift
[155/210] Compiling Logging NoLogger.swift
[156/210] Emitting module Logging
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
155 | }
156 |
[157/210] Compiling Logging Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
155 | }
156 |
[158/210] Compiling FeedKit RSSPath.swift
[159/210] Compiling FeedKit Feed.swift
[160/210] Compiling FeedKit FeedDataType.swift
[161/210] Compiling FeedKit FeedParser.swift
[162/210] Compiling FeedKit FeedParserProtocol.swift
[163/210] Compiling FeedKit JSONFeedParser.swift
[164/210] Compiling FeedKit ParserError.swift
[165/210] Compiling FeedKit XMLFeedParser.swift
[166/210] Compiling FeedKit XMLFeedType.swift
[170/210] Compiling FeedKit iTunesNamespace.swift
[171/210] Compiling FeedKit iTunesOwner.swift
[172/210] Compiling FeedKit iTunesSubCategory.swift
[173/210] Compiling FeedKit RDFPath.swift
[174/210] Compiling FeedKit RSSFeed + mapAttributes.swift
[175/210] Compiling FeedKit RSSFeed + mapCharacters.swift
[176/210] Compiling FeedKit RSSFeed.swift
[177/210] Compiling FeedKit RSSFeedCategory.swift
[178/210] Compiling FeedKit RSSFeedCloud.swift
[179/210] Compiling FeedKit MediaSubTitle.swift
[180/210] Compiling FeedKit MediaTag.swift
[181/210] Compiling FeedKit MediaText.swift
[182/210] Compiling FeedKit MediaThumbnail.swift
[183/210] Compiling FeedKit MediaTitle.swift
[184/210] Compiling FeedKit SyndicationNamespace.swift
[185/210] Compiling FeedKit SyndicationUpdatePeriod.swift
[186/210] Compiling FeedKit iTunesCategory.swift
[187/210] Compiling FeedKit iTunesImage.swift
[204/210] Compiling AsyncCompatibilityKit URLSession+Async.swift
[205/210] Compiling AsyncCompatibilityKit Publisher+Async.swift
[206/210] Emitting module AsyncCompatibilityKit
[207/210] Compiling AsyncCompatibilityKit View+Async.swift
[208/225] Emitting module OsmiumAtlasFramework
[209/226] Compiling OsmiumAtlasFramework SitesStats.swift
[210/226] Compiling OsmiumAtlasFramework iOSDevDirectoryNetworkingService.swift
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/iOSDevDirectoryNetworkingService.swift:29:16: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
27 |         let endDate = Date()
28 |         let differenceInSeconds = Int(endDate.timeIntervalSince(startDate))
29 |         Logger.shared.debug("Performance: \(differenceInSeconds) seconds")
   |                `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
30 |
31 |         let sortedBlogsWithMostRecentArticle = blogsWithMostRecentArticle.sorted(by: { $0.most_recent_article!.published_date!.compare($1.most_recent_article!.published_date!) == .orderedDescending })
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/iOSDevDirectoryNetworkingService.swift:46:42: warning: type 'Blog' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 |     /// - Returns: subset of `blogs` and  subset entries are guaranteed to have `most_recent_article`
45 |     func fetchBlogsWithRssFeedItem(for blogs: [Blog]) async -> [Blog] {
46 |         let blogsWithRssFeedItem = await withTaskGroup(of: Blog.self, returning: [Blog].self) { group in
   |                                          `- warning: type 'Blog' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 |             for blog in blogs {
48 |                 group.addTask {
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/Models/Blog.swift:4:15: note: consider making struct 'Blog' conform to the 'Sendable' protocol
 2 |
 3 | /// representing a blog / site listed in iOS Dev Directory (https://raw.githubusercontent.com/daveverwer/iOSDevDirectory/master/blogs.json)
 4 | public struct Blog: Codable {
   |               `- note: consider making struct 'Blog' conform to the 'Sendable' protocol
 5 |     public var title: String
 6 |     public var author: String
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/iOSDevDirectoryNetworkingService.swift:46:95: warning: type 'Blog' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 |     /// - Returns: subset of `blogs` and  subset entries are guaranteed to have `most_recent_article`
45 |     func fetchBlogsWithRssFeedItem(for blogs: [Blog]) async -> [Blog] {
46 |         let blogsWithRssFeedItem = await withTaskGroup(of: Blog.self, returning: [Blog].self) { group in
   |                                                                                               `- warning: type 'Blog' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 |             for blog in blogs {
48 |                 group.addTask {
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/Models/Blog.swift:4:15: note: consider making struct 'Blog' conform to the 'Sendable' protocol
 2 |
 3 | /// representing a blog / site listed in iOS Dev Directory (https://raw.githubusercontent.com/daveverwer/iOSDevDirectory/master/blogs.json)
 4 | public struct Blog: Codable {
   |               `- note: consider making struct 'Blog' conform to the 'Sendable' protocol
 5 |     public var title: String
 6 |     public var author: String
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/iOSDevDirectoryNetworkingService.swift:48:23: warning: type 'Blog' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |         let blogsWithRssFeedItem = await withTaskGroup(of: Blog.self, returning: [Blog].self) { group in
47 |             for blog in blogs {
48 |                 group.addTask {
   |                       `- warning: type 'Blog' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
49 |                     let checkedBlog = await blog.fetchLatestPostDateFromRss()
50 |                     Logger.shared.debug("\(blog.title) checked for timestamp")
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/Models/Blog.swift:4:15: note: consider making struct 'Blog' conform to the 'Sendable' protocol
 2 |
 3 | /// representing a blog / site listed in iOS Dev Directory (https://raw.githubusercontent.com/daveverwer/iOSDevDirectory/master/blogs.json)
 4 | public struct Blog: Codable {
   |               `- note: consider making struct 'Blog' conform to the 'Sendable' protocol
 5 |     public var title: String
 6 |     public var author: String
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/iOSDevDirectoryNetworkingService.swift:50:28: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
48 |                 group.addTask {
49 |                     let checkedBlog = await blog.fetchLatestPostDateFromRss()
50 |                     Logger.shared.debug("\(blog.title) checked for timestamp")
   |                            `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
51 |                     return (checkedBlog)
52 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/iOSDevDirectoryNetworkingService.swift:61:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
59 |                 }
60 |             }
61 |             Logger.shared.debug("All blogs checked for timestamp")
   |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
62 |             return blogsWithRssFeedItem
63 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/iOSDevDirectoryNetworkingService.swift:48:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
46 |         let blogsWithRssFeedItem = await withTaskGroup(of: Blog.self, returning: [Blog].self) { group in
47 |             for blog in blogs {
48 |                 group.addTask {
   |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
49 |                     let checkedBlog = await blog.fetchLatestPostDateFromRss()
   |                                             `- note: closure captures 'blog' which is accessible to code in the current task
50 |                     Logger.shared.debug("\(blog.title) checked for timestamp")
51 |                     return (checkedBlog)
[211/226] Compiling OsmiumAtlasFramework LocalizedBlogDirectory.swift
[212/226] Compiling OsmiumAtlasFramework BlogCategory.swift
[213/226] Compiling OsmiumAtlasFramework FeedItem.swift
[214/226] Compiling OsmiumAtlasFramework Blog.swift
[215/226] Compiling OsmiumAtlasFramework Blog+FeedKit.swift
[216/226] Compiling OsmiumAtlasFramework FeedKit+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/Extensions/FeedKit+Extensions.swift:33:28: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
31 |
32 |                 case let .failure(error):
33 |                     Logger.shared.error("Error \(error.localizedDescription) - \(error.errorDescription ?? "") for trying to determine last post date for blog \(blog.title)")
   |                            `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
34 |                     continuation.resume(returning: nil)
35 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlasFramework/Extensions/FeedKit+Extensions.swift:30:34: warning: sending 'latestFeedIten' risks causing data races; this is an error in the Swift 6 language mode
28 |                     }
29 |
30 |                     continuation.resume(returning: latestFeedIten)
   |                                  |- warning: sending 'latestFeedIten' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'latestFeedIten' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
31 |
32 |                 case let .failure(error):
[217/226] Compiling OsmiumAtlasFramework Article.swift
[218/226] Compiling OsmiumAtlasFramework SitesAndStats.swift
[219/226] Compiling Twitter Credentials.swift
[220/226] Emitting module Twitter
[221/226] Compiling Twitter API.swift
/Users/admin/builder/spi-builder-workspace/Sources/Twitter/API.swift:73:36: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 71 |                     if let userId = entry["id_str"].string {
 72 |                         if let user = entry["name"].string {
 73 |                             Logger.shared.debug("User '\(user)' with id: \(userId)")
    |                                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 74 |                         }
 75 |                         userIds.append(userId)
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/Twitter/API.swift:80:24: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 78 |                 continuation.resume(returning: userIds)
 79 |             } failure: { error in
 80 |                 Logger.shared.error("cannot lookup Ids for \(users)" + error.localizedDescription)
    |                        `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 81 |                 continuation.resume(throwing: TwitterError.operationFailed(error))
 82 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/Twitter/API.swift:91:24: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 89 |                 continuation.resume()
 90 |             } failure: { error in
 91 |                 Logger.shared.error("cannot add \(userTag)" + error.localizedDescription)
    |                        `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 92 |                 continuation.resume()
 93 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
[222/226] Compiling Twitter TwitterListMember.swift
[223/226] Compiling Twitter String+Extension.swift
[224/231] Emitting module OsmiumAtlas
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/CLI.swift:35:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 |     // Customize your command's help and subcommands by implementing the
34 |     // `configuration` property.
35 |     static var configuration = CommandConfiguration(
   |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |         // Pass an array to `subcommands` to set up a nested tree of subcommands.
37 |         // With language support for type-level introspection, this could be
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:8:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  6 |
  7 | struct UpdateTwitterList: AsyncParsableCommand {
  8 |     static var configuration = CommandConfiguration(
    |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |         commandName: "update-twitterlist"
 10 |     )
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/iOSDevDirectoryEnglishDevBlogs.swift:7:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | struct iOSDevDirectoryEnglishDevBlogs: AsyncParsableCommand {
 7 |     static var configuration = CommandConfiguration(
   |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |         commandName: "check-en-dev"
 9 |     )
[225/231] Compiling OsmiumAtlas UpdateTwitterList.swift
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:8:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  6 |
  7 | struct UpdateTwitterList: AsyncParsableCommand {
  8 |     static var configuration = CommandConfiguration(
    |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |         commandName: "update-twitterlist"
 10 |     )
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:38:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 36 |             let twitter = Twitter.API(consumerKey: consumerKey, consumerSecret: consumerSecret, oauthToken: oauthToken, oauthTokenSecret: oauthTokenSecret)
 37 |             let twitterListMemberUsername = try await twitter.getListMembers(for: twitterListId).map { $0.lowercased() }
 38 |             Logger.shared.info("\(twitterListMemberUsername.count) Members in Twitter List: \(twitterListMemberUsername)")
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 39 |
 40 |             // 2. download blogs to get recent authors
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:41:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 39 |
 40 |             // 2. download blogs to get recent authors
 41 |             Logger.shared.reset()
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 42 |             let blogs = try await CLIUtil().getSitesAndStats().sites
 43 |             let authorTwitterUsername = blogs
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:49:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 47 |                 .filter { $0.isEmpty == false }[0 ..< 75]
 48 |             setLogger()
 49 |             Logger.shared.info("Latest authors: \(authorTwitterUsername)")
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 50 |
 51 |             // 3. delta comparison
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:58:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 56 |             let userNamesToBeRemoved = twitterListMemberUsernameSet.subtracting(authorTwitterUsername)
 57 |
 58 |             Logger.shared.info("\(userNamesToBeAdded.count) people to be added: \(userNamesToBeAdded)")
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 59 |             Logger.shared.info("\(userNamesToBeRemoved.count) people to be removed: \(userNamesToBeRemoved)")
 60 |             Logger.shared.info("new total member count: \(authorTwitterUsernameSet.count) or \(twitterListMemberUsername.count + userNamesToBeAdded.count - userNamesToBeRemoved.count)")
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:59:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 57 |
 58 |             Logger.shared.info("\(userNamesToBeAdded.count) people to be added: \(userNamesToBeAdded)")
 59 |             Logger.shared.info("\(userNamesToBeRemoved.count) people to be removed: \(userNamesToBeRemoved)")
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 60 |             Logger.shared.info("new total member count: \(authorTwitterUsernameSet.count) or \(twitterListMemberUsername.count + userNamesToBeAdded.count - userNamesToBeRemoved.count)")
 61 |
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:60:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 58 |             Logger.shared.info("\(userNamesToBeAdded.count) people to be added: \(userNamesToBeAdded)")
 59 |             Logger.shared.info("\(userNamesToBeRemoved.count) people to be removed: \(userNamesToBeRemoved)")
 60 |             Logger.shared.info("new total member count: \(authorTwitterUsernameSet.count) or \(twitterListMemberUsername.count + userNamesToBeAdded.count - userNamesToBeRemoved.count)")
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 61 |
 62 |             guard dryRun == false else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:68:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 66 |
 67 |         } catch {
 68 |             Logger.shared.error(error.localizedDescription)
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 69 |         }
 70 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:78:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 76 |             var userIdsToRemove: [String] = []
 77 |
 78 |             Logger.shared.info("updating list ...")
    |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 |             if adding.count > 0 {
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:105:16: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
103 |         }
104 |
105 |         Logger.shared.info("updating list done")
    |                `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
106 |
107 |         let twitterListMemberUsername = try await api.getListMembers(for: listId).map { $0.lowercased() }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:108:16: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
106 |
107 |         let twitterListMemberUsername = try await api.getListMembers(for: listId).map { $0.lowercased() }
108 |         Logger.shared.info("\(twitterListMemberUsername.count) Members in Twitter List: \(twitterListMemberUsername)")
    |                `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
109 |     }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:112:16: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
110 |
111 |     func setLogger() {
112 |         Logger.shared = BeaverLogger.create(verbose: debug, logDestination: .console, format: "$d $C$L$c $M")
    |                `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
113 |     }
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:91:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 89 |
 90 |             for userid in userIdsToAdd {
 91 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 92 |                     _ = try await api.addListMember(id: userid, to: listId)
    |                                   `- note: closure captures 'api' which is accessible to code in the current task
 93 |                     return (userid)
 94 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/UpdateTwitterList.swift:98:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 96 |
 97 |             for userid in userIdsToRemove {
 98 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 99 |                     _ = try await api.removeListMember(id: userid, from: listId)
    |                                   `- note: closure captures 'api' which is accessible to code in the current task
100 |                     return (userid)
101 |                 }
[226/231] Compiling OsmiumAtlas CLI.swift
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/CLI.swift:35:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 |     // Customize your command's help and subcommands by implementing the
34 |     // `configuration` property.
35 |     static var configuration = CommandConfiguration(
   |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |         // Pass an array to `subcommands` to set up a nested tree of subcommands.
37 |         // With language support for type-level introspection, this could be
[227/231] Compiling OsmiumAtlas iOSDevDirectoryEnglishDevBlogs.swift
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/iOSDevDirectoryEnglishDevBlogs.swift:7:16: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | struct iOSDevDirectoryEnglishDevBlogs: AsyncParsableCommand {
 7 |     static var configuration = CommandConfiguration(
   |                |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |         commandName: "check-en-dev"
 9 |     )
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/iOSDevDirectoryEnglishDevBlogs.swift:16:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
14 |     mutating func runAsync() async throws {
15 |         do {
16 |             Logger.shared = BeaverLogger.create(verbose: debug, logDestination: .defaultFile)
   |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
17 |             let result = try await CLIUtil().getSitesAndStats()
18 |             print(try result.asJson())
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/Commands/iOSDevDirectoryEnglishDevBlogs.swift:20:20: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
18 |             print(try result.asJson())
19 |         } catch {
20 |             Logger.shared.error(error.localizedDescription)
   |                    `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
21 |         }
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
[228/231] Compiling OsmiumAtlas CLIUtil.swift
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/CLIUtil.swift:10:16: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 8 |
 9 |         let blogs = try await service.getEnglishDevelopmentBlogs()
10 |         Logger.shared.info("English dev blogs: \(blogs.count)")
   |                `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |         let blogsWithMostRecentArticle = try await service.blogsWithMostRecentArticle(for: Array(blogs))
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Sources/OsmiumAtlas/CLIUtil.swift:13:16: warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |         let blogsWithMostRecentArticle = try await service.blogsWithMostRecentArticle(for: Array(blogs))
13 |         Logger.shared.info("English dev blogs with most recent article: \(blogsWithMostRecentArticle.count)")
   |                `- warning: reference to static property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
14 |
15 |         let result = SitesAndStats(sites: blogsWithMostRecentArticle,
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Logger.swift:154:23: note: static property declared here
152 | public enum Logger {
153 |     /// singleton to access logger
154 |     public static var shared: Logging = NoLogger()
    |                       `- note: static property declared here
155 | }
156 |
[228/231] Write Objects.LinkFileList
[229/231] Linking iosdevdirectory
[230/231] Applying iosdevdirectory
Build complete! (27.25s)
Fetching https://github.com/MarcoEidinger/swift-argument-parser
[1/3220] Fetching swift-argument-parser
Fetched https://github.com/MarcoEidinger/swift-argument-parser from cache (1.17s)
Fetching https://github.com/KaiOelfke/AsyncCompatibilityKit
[1/44] Fetching asynccompatibilitykit
Fetched https://github.com/KaiOelfke/AsyncCompatibilityKit from cache (0.68s)
Fetching https://github.com/SwiftyBeaver/SwiftyBeaver.git
Fetching https://github.com/nmdias/FeedKit.git
Fetching https://github.com/mw99/OhhAuth.git
Fetching https://github.com/mattdonnelly/Swifter
[1/77] Fetching ohhauth
[78/9421] Fetching ohhauth, feedkit
[79/13324] Fetching ohhauth, feedkit, swifter
[197/17404] Fetching ohhauth, feedkit, swifter, swiftybeaver
Fetched https://github.com/SwiftyBeaver/SwiftyBeaver.git from cache (1.25s)
Fetched https://github.com/nmdias/FeedKit.git from cache (1.35s)
Fetched https://github.com/mattdonnelly/Swifter from cache (1.35s)
Fetched https://github.com/mw99/OhhAuth.git from cache (1.35s)
Computing version for https://github.com/mw99/OhhAuth.git
Computed https://github.com/mw99/OhhAuth.git at 1.2.0 (3.97s)
Computing version for https://github.com/nmdias/FeedKit.git
Computed https://github.com/nmdias/FeedKit.git at 9.1.2 (0.56s)
Computing version for https://github.com/SwiftyBeaver/SwiftyBeaver.git
Computed https://github.com/SwiftyBeaver/SwiftyBeaver.git at 1.9.6 (0.57s)
Computing version for https://github.com/mattdonnelly/Swifter
Computed https://github.com/mattdonnelly/Swifter at 2.5.0 (0.67s)
Creating working copy for https://github.com/nmdias/FeedKit.git
Working copy of https://github.com/nmdias/FeedKit.git resolved at 9.1.2
Creating working copy for https://github.com/mw99/OhhAuth.git
Working copy of https://github.com/mw99/OhhAuth.git resolved at 1.2.0
Creating working copy for https://github.com/mattdonnelly/Swifter
Working copy of https://github.com/mattdonnelly/Swifter resolved at 2.5.0
Creating working copy for https://github.com/KaiOelfke/AsyncCompatibilityKit
Working copy of https://github.com/KaiOelfke/AsyncCompatibilityKit resolved at main (38333d1)
Creating working copy for https://github.com/MarcoEidinger/swift-argument-parser
Working copy of https://github.com/MarcoEidinger/swift-argument-parser resolved at async (dfeefc7)
Creating working copy for https://github.com/SwiftyBeaver/SwiftyBeaver.git
Working copy of https://github.com/SwiftyBeaver/SwiftyBeaver.git resolved at 1.9.6
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "branch" : [
          "async"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/MarcoEidinger/swift-argument-parser"
    },
    {
      "identity" : "swiftybeaver",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.9.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/SwiftyBeaver/SwiftyBeaver.git"
    },
    {
      "identity" : "feedkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.0.0",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nmdias/FeedKit.git"
    },
    {
      "identity" : "asynccompatibilitykit",
      "requirement" : {
        "branch" : [
          "main"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/KaiOelfke/AsyncCompatibilityKit"
    },
    {
      "identity" : "ohhauth",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mw99/OhhAuth.git"
    },
    {
      "identity" : "swifter",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mattdonnelly/Swifter"
    }
  ],
  "manifest_display_name" : "OsmiumAtlas",
  "name" : "OsmiumAtlas",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "iosdevdirectory",
      "targets" : [
        "OsmiumAtlas"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Twitter",
      "module_type" : "SwiftTarget",
      "name" : "Twitter",
      "path" : "Sources/Twitter",
      "product_dependencies" : [
        "Swifter",
        "OhhAuth",
        "AsyncCompatibilityKit"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "API.swift",
        "Credentials.swift",
        "String+Extension.swift",
        "TwitterListMember.swift"
      ],
      "target_dependencies" : [
        "Logging"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OsmiumAtlasFrameworkTests",
      "module_type" : "SwiftTarget",
      "name" : "OsmiumAtlasFrameworkTests",
      "path" : "Tests/OsmiumAtlasFrameworkTests",
      "sources" : [
        "OsmiumAtlasTests.swift"
      ],
      "target_dependencies" : [
        "OsmiumAtlasFramework"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OsmiumAtlasFramework",
      "module_type" : "SwiftTarget",
      "name" : "OsmiumAtlasFramework",
      "path" : "Sources/OsmiumAtlasFramework",
      "product_dependencies" : [
        "FeedKit",
        "AsyncCompatibilityKit",
        "ArgumentParser"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "Extensions/Blog+FeedKit.swift",
        "Extensions/FeedKit+Extensions.swift",
        "Models/Article.swift",
        "Models/Blog.swift",
        "Models/BlogCategory.swift",
        "Models/FeedItem.swift",
        "Models/LocalizedBlogDirectory.swift",
        "Models/SitesAndStats.swift",
        "Models/SitesStats.swift",
        "iOSDevDirectoryNetworkingService.swift"
      ],
      "target_dependencies" : [
        "Logging"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OsmiumAtlas",
      "module_type" : "SwiftTarget",
      "name" : "OsmiumAtlas",
      "path" : "Sources/OsmiumAtlas",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "CLI.swift",
        "CLIUtil.swift",
        "Commands/UpdateTwitterList.swift",
        "Commands/iOSDevDirectoryEnglishDevBlogs.swift"
      ],
      "target_dependencies" : [
        "OsmiumAtlasFramework",
        "Twitter"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Logging",
      "module_type" : "SwiftTarget",
      "name" : "Logging",
      "path" : "Sources/Logging",
      "product_dependencies" : [
        "SwiftyBeaver"
      ],
      "product_memberships" : [
        "iosdevdirectory"
      ],
      "sources" : [
        "Logger.swift",
        "NoLogger.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.