Build Information
Successful build of OsmiumAtlas, reference main (691238), with Swift 6.1 for macOS (SPM) on 13 Mar 2026 13:31:07 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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/MarcoEidinger/OsmiumAtlas.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/MarcoEidinger/OsmiumAtlas
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
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 main
========================================
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
[6/16] Write iosdevdirectory-entitlement.plist
[7/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 FeedKit
[17/200] Compiling ArgumentParser AsyncParsableCommand.swift
[18/200] Compiling ArgumentParser CommandConfiguration.swift
[19/200] Compiling ArgumentParser EnumerableFlag.swift
[20/200] Compiling ArgumentParser ExpressibleByArgument.swift
[21/203] Emitting module ArgumentParser
[22/203] Compiling ArgumentParser Argument.swift
[23/203] Compiling ArgumentParser ArgumentHelp.swift
[24/203] Compiling ArgumentParser CompletionKind.swift
[25/203] Compiling ArgumentParser Errors.swift
[26/203] Compiling ArgumentParser Name.swift
[27/203] Compiling ArgumentParser Parsed.swift
[28/203] Compiling ArgumentParser ParsedValues.swift
[29/203] Compiling ArgumentParser ParserError.swift
[30/203] Compiling ArgumentParser SequenceExtensions.swift
[31/203] Compiling ArgumentParser StringExtensions.swift
[32/203] Compiling ArgumentParser Tree.swift
[33/203] Compiling ArgumentParser BashCompletionsGenerator.swift
[34/203] Compiling ArgumentParser CompletionsGenerator.swift
[35/203] Compiling ArgumentParser FishCompletionsGenerator.swift
[36/203] Compiling ArgumentParser ZshCompletionsGenerator.swift
[37/203] Compiling ArgumentParser ParsableArguments.swift
[38/203] Compiling ArgumentParser ParsableArgumentsValidation.swift
[39/203] Compiling ArgumentParser ParsableCommand.swift
[40/203] Compiling ArgumentParser ArgumentDecoder.swift
[41/203] Compiling SwiftyBeaver SBPlatformDestination.swift
[42/204] Compiling SwiftyBeaver FileDestination.swift
[43/204] Compiling SwiftyBeaver ConsoleDestination.swift
[44/204] Compiling SwiftyBeaver Extensions.swift
[45/204] Compiling SwiftyBeaver BaseDestination.swift
[46/204] Compiling SwiftyBeaver FilterValidator.swift
[47/204] Compiling SwiftyBeaver Filter.swift
[48/204] Compiling ArgumentParser SplitArguments.swift
[49/204] Compiling ArgumentParser DumpHelpGenerator.swift
[50/204] Compiling ArgumentParser HelpCommand.swift
[51/204] Compiling ArgumentParser HelpGenerator.swift
[52/204] Compiling ArgumentParser Flag.swift
[53/204] Compiling ArgumentParser NameSpecification.swift
[54/204] Compiling ArgumentParser Option.swift
[55/204] Compiling ArgumentParser OptionGroup.swift
[56/204] Compiling SwiftyBeaver GoogleCloudDestination.swift
[57/204] Compiling FeedKit MediaSubTitle.swift
[58/204] Compiling FeedKit MediaTag.swift
[59/204] Compiling FeedKit MediaText.swift
[60/204] Compiling FeedKit MediaThumbnail.swift
[61/204] Compiling FeedKit MediaTitle.swift
[62/204] Compiling FeedKit SyndicationNamespace.swift
[63/204] Compiling FeedKit SyndicationUpdatePeriod.swift
[64/204] Compiling FeedKit iTunesCategory.swift
[65/204] Compiling FeedKit iTunesImage.swift
[66/204] Compiling FeedKit RSSFeedImage.swift
[67/204] Compiling FeedKit RSSFeedItem.swift
[68/204] Compiling FeedKit RSSFeedItemCategory.swift
[69/204] Compiling FeedKit RSSFeedItemEnclosure.swift
[70/204] Compiling FeedKit RSSFeedItemGUID.swift
[71/204] Compiling FeedKit RSSFeedItemSource.swift
[72/204] Compiling FeedKit RSSFeedSkipDay.swift
[73/204] Compiling FeedKit RSSFeedSkipHour.swift
[74/204] Compiling FeedKit RSSFeedTextInput.swift
[75/204] Compiling OhhAuth OhhAuth.swift
[76/204] Emitting module OhhAuth
[93/204] Compiling ArgumentParser ArgumentDefinition.swift
[94/204] Compiling ArgumentParser ArgumentSet.swift
[95/204] Compiling ArgumentParser CommandParser.swift
[96/204] Compiling ArgumentParser InputOrigin.swift
[97/204] Compiling FeedKit RSSPath.swift
[98/204] Compiling FeedKit Feed.swift
[99/204] Compiling FeedKit FeedDataType.swift
[100/204] Compiling FeedKit FeedParser.swift
[101/204] Compiling FeedKit FeedParserProtocol.swift
[102/204] Compiling FeedKit JSONFeedParser.swift
[103/204] Compiling FeedKit ParserError.swift
[104/204] Compiling FeedKit XMLFeedParser.swift
[105/204] Compiling FeedKit XMLFeedType.swift
[106/204] Compiling FeedKit MediaDescription.swift
[107/204] Compiling FeedKit MediaEmbed.swift
[108/204] Compiling FeedKit MediaGroup.swift
[109/204] Compiling FeedKit MediaHash.swift
[110/204] Compiling FeedKit MediaLicence.swift
[111/204] Compiling FeedKit MediaLocation.swift
[112/204] Compiling FeedKit MediaNamespace.swift
[113/204] Compiling FeedKit MediaParam.swift
[114/204] Compiling FeedKit MediaPeerLink.swift
[115/204] Compiling SwiftyBeaver SwiftyBeaver.swift
[116/204] Emitting module SwiftyBeaver
[119/204] Compiling ArgumentParser MessageInfo.swift
[120/204] Compiling ArgumentParser UsageGenerator.swift
[121/204] Compiling ArgumentParser CollectionExtensions.swift
[137/204] Compiling FeedKit MediaCopyright.swift
[138/204] Compiling FeedKit MediaCredit.swift
[146/207] Compiling FeedKit MediaPlayer.swift
[147/207] Compiling FeedKit MediaPrice.swift
[148/207] Compiling FeedKit MediaRating.swift
[149/207] Compiling FeedKit MediaRestriction.swift
[150/207] Compiling FeedKit MediaRights.swift
[151/207] Compiling FeedKit MediaScene.swift
[152/207] Compiling FeedKit MediaStarRating.swift
[153/207] Compiling FeedKit MediaStatistics.swift
[154/207] Compiling FeedKit MediaStatus.swift
[155/207] Compiling FeedKit iTunesNamespace.swift
[156/207] Compiling FeedKit iTunesOwner.swift
[157/207] Compiling FeedKit iTunesSubCategory.swift
[158/207] Compiling FeedKit RDFPath.swift
[159/207] Compiling FeedKit RSSFeed + mapAttributes.swift
[160/207] Compiling FeedKit RSSFeed + mapCharacters.swift
[161/207] Compiling FeedKit RSSFeed.swift
[162/207] Compiling FeedKit RSSFeedCategory.swift
[163/207] Compiling FeedKit RSSFeedCloud.swift
[164/207] Compiling Logging NoLogger.swift
[165/207] 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 |
[166/207] 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 |
[170/210] Emitting module Swifter
[177/210] Compiling AsyncCompatibilityKit URLSession+Async.swift
[186/210] Compiling Swifter SwifterUsers.swift
[187/210] Compiling Swifter URL++.swift
[188/210] Compiling Swifter Utils.swift
[205/210] Emitting module AsyncCompatibilityKit
[206/210] Compiling AsyncCompatibilityKit View+Async.swift
[207/210] Compiling AsyncCompatibilityKit Publisher+Async.swift
[208/225] Compiling OsmiumAtlasFramework Article.swift
[209/226] Compiling OsmiumAtlasFramework SitesStats.swift
[210/226] Compiling Twitter TwitterListMember.swift
[211/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):
[212/226] Compiling OsmiumAtlasFramework BlogCategory.swift
[213/226] Compiling OsmiumAtlasFramework LocalizedBlogDirectory.swift
[214/226] Compiling OsmiumAtlasFramework Blog.swift
[215/226] Compiling OsmiumAtlasFramework Blog+FeedKit.swift
[216/226] Compiling OsmiumAtlasFramework FeedItem.swift
[217/226] Emitting module OsmiumAtlasFramework
[218/226] Compiling OsmiumAtlasFramework SitesAndStats.swift
[219/226] Compiling Twitter String+Extension.swift
[220/226] Compiling Twitter Credentials.swift
[221/226] Emitting module Twitter
[222/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 |
[223/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)
[224/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 |
[225/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 |
[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 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 | }
[228/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 | )
[228/231] Write Objects.LinkFileList
[229/231] Linking iosdevdirectory
[230/231] Applying iosdevdirectory
Build complete! (26.85s)
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.09s)
Fetching https://github.com/KaiOelfke/AsyncCompatibilityKit
[1/44] Fetching asynccompatibilitykit
Fetched https://github.com/KaiOelfke/AsyncCompatibilityKit from cache (0.64s)
Fetching https://github.com/SwiftyBeaver/SwiftyBeaver.git
Fetching https://github.com/mattdonnelly/Swifter
Fetching https://github.com/mw99/OhhAuth.git
Fetching https://github.com/nmdias/FeedKit.git
[1/77] Fetching ohhauth
[57/3980] Fetching ohhauth, swifter
[352/8060] Fetching ohhauth, swifter, swiftybeaver
[393/17404] Fetching ohhauth, swifter, swiftybeaver, feedkit
Fetched https://github.com/SwiftyBeaver/SwiftyBeaver.git from cache (1.36s)
[12484/13324] Fetching ohhauth, swifter, feedkit
Fetched https://github.com/nmdias/FeedKit.git from cache (1.54s)
Fetched https://github.com/mattdonnelly/Swifter from cache (1.54s)
Fetched https://github.com/mw99/OhhAuth.git from cache (1.54s)
Computing version for https://github.com/mw99/OhhAuth.git
Computed https://github.com/mw99/OhhAuth.git at 1.2.0 (4.08s)
Computing version for https://github.com/nmdias/FeedKit.git
Computed https://github.com/nmdias/FeedKit.git at 9.1.2 (0.61s)
Computing version for https://github.com/SwiftyBeaver/SwiftyBeaver.git
Computed https://github.com/SwiftyBeaver/SwiftyBeaver.git at 1.9.6 (0.61s)
Computing version for https://github.com/mattdonnelly/Swifter
Computed https://github.com/mattdonnelly/Swifter at 2.5.0 (0.59s)
Creating working copy for https://github.com/SwiftyBeaver/SwiftyBeaver.git
Working copy of https://github.com/SwiftyBeaver/SwiftyBeaver.git resolved at 1.9.6
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/nmdias/FeedKit.git
Working copy of https://github.com/nmdias/FeedKit.git resolved at 9.1.2
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/mw99/OhhAuth.git
Working copy of https://github.com/mw99/OhhAuth.git resolved at 1.2.0
Creating working copy for https://github.com/KaiOelfke/AsyncCompatibilityKit
Working copy of https://github.com/KaiOelfke/AsyncCompatibilityKit resolved at main (38333d1)
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.