Build Information
Successful build of steampress-core with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 19
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 | title: "SteamPress",
36 | description: "The SteamPress Blog. SteamPress is an Open Source Blogging Engine and Platform Written in Swift, Powered by Vapor."
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Extensions/Request+ThemeUpdater.swift:96:13: warning: variable 'destinationURL' was never mutated; consider changing to 'let' constant
94 | try FileManager.default.removeItem(atPath: backupPath)
95 | }
96 | var destinationURL = URL(fileURLWithPath: backupPath)
| `- warning: variable 'destinationURL' was never mutated; consider changing to 'let' constant
97 | try Zip.zipFiles(paths: [URL(fileURLWithPath: defaultThemeFolderPath)], zipFilePath: destinationURL, password: nil, progress: { progress in
98 | })
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2071/2086] Compiling SteamPressCore String+Optional+Whitespace.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/SPSiteInformation.swift:34:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
32 | }
33 |
34 | static var current: SPSiteInformation = SPSiteInformation(
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 | title: "SteamPress",
36 | description: "The SteamPress Blog. SteamPress is an Open Source Blogging Engine and Platform Written in Swift, Powered by Vapor."
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Extensions/Request+ThemeUpdater.swift:96:13: warning: variable 'destinationURL' was never mutated; consider changing to 'let' constant
94 | try FileManager.default.removeItem(atPath: backupPath)
95 | }
96 | var destinationURL = URL(fileURLWithPath: backupPath)
| `- warning: variable 'destinationURL' was never mutated; consider changing to 'let' constant
97 | try Zip.zipFiles(paths: [URL(fileURLWithPath: defaultThemeFolderPath)], zipFilePath: destinationURL, password: nil, progress: { progress in
98 | })
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2072/2086] Compiling SteamPressCore String+Random.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/SPSiteInformation.swift:34:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
32 | }
33 |
34 | static var current: SPSiteInformation = SPSiteInformation(
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 | title: "SteamPress",
36 | description: "The SteamPress Blog. SteamPress is an Open Source Blogging Engine and Platform Written in Swift, Powered by Vapor."
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Extensions/Request+ThemeUpdater.swift:96:13: warning: variable 'destinationURL' was never mutated; consider changing to 'let' constant
94 | try FileManager.default.removeItem(atPath: backupPath)
95 | }
96 | var destinationURL = URL(fileURLWithPath: backupPath)
| `- warning: variable 'destinationURL' was never mutated; consider changing to 'let' constant
97 | try Zip.zipFiles(paths: [URL(fileURLWithPath: defaultThemeFolderPath)], zipFilePath: destinationURL, password: nil, progress: { progress in
98 | })
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2073/2086] Compiling SteamPressCore PostsAdminController.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:7:34: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:8:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:9:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:10:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:11:55: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:12:64: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:7:33: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:8:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:9:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:10:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:11:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:12:62: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:7:36: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:8:43: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:9:44: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:10:56: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:11:57: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:12:66: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:24:25: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
22 | // MARK: - Add routes
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:25:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:26:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:27:37: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:29:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:30:61: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:33:58: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
34 | routes.get(tagsPath, use: allTagsViewHandler)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:34:39: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
34 | routes.get(tagsPath, use: allTagsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:37:51: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
35 | // MARK: - Route Collection
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:38:49: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2074/2086] Compiling SteamPressCore TagsAdminController.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:7:34: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:8:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:9:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:10:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:11:55: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:12:64: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:7:33: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:8:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:9:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:10:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:11:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:12:62: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:7:36: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:8:43: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:9:44: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:10:56: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:11:57: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:12:66: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:24:25: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
22 | // MARK: - Add routes
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:25:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:26:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:27:37: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:29:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:30:61: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:33:58: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
34 | routes.get(tagsPath, use: allTagsViewHandler)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:34:39: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
34 | routes.get(tagsPath, use: allTagsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:37:51: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
35 | // MARK: - Route Collection
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:38:49: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2075/2086] Compiling SteamPressCore UsersAdminController.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:7:34: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:8:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:9:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:10:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:11:55: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:12:64: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:7:33: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:8:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:9:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:10:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:11:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:12:62: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:7:36: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:8:43: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:9:44: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:10:56: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:11:57: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:12:66: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:24:25: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
22 | // MARK: - Add routes
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:25:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:26:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:27:37: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:29:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:30:61: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:33:58: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
34 | routes.get(tagsPath, use: allTagsViewHandler)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:34:39: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
34 | routes.get(tagsPath, use: allTagsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:37:51: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
35 | // MARK: - Route Collection
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:38:49: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2076/2086] Compiling SteamPressCore BlogController.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:7:34: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:8:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:9:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:10:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:11:55: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:12:64: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:7:33: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:8:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:9:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:10:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:11:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:12:62: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:7:36: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:8:43: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:9:44: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:10:56: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:11:57: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:12:66: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:24:25: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
22 | // MARK: - Add routes
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:25:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:26:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:27:37: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:29:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:30:61: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:33:58: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
34 | routes.get(tagsPath, use: allTagsViewHandler)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:34:39: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
34 | routes.get(tagsPath, use: allTagsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:37:51: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
35 | // MARK: - Route Collection
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:38:49: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2077/2086] Compiling SteamPressCore FeedController.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:7:34: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:8:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:9:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:10:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:11:55: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:12:64: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:7:33: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:8:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:9:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:10:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:11:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:12:62: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:7:36: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:8:43: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:9:44: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:10:56: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:11:57: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:12:66: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:24:25: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
22 | // MARK: - Add routes
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:25:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:26:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:27:37: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:29:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:30:61: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:33:58: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
34 | routes.get(tagsPath, use: allTagsViewHandler)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:34:39: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
34 | routes.get(tagsPath, use: allTagsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:37:51: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
35 | // MARK: - Route Collection
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:38:49: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2078/2086] Compiling SteamPressCore Application+SteamPress.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:7:34: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:8:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:9:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:10:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:11:55: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:12:64: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:7:33: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:8:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:9:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:10:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:11:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:12:62: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:7:36: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:8:43: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:9:44: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:10:56: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:11:57: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:12:66: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:24:25: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
22 | // MARK: - Add routes
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:25:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:26:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:27:37: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:29:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:30:61: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:33:58: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
34 | routes.get(tagsPath, use: allTagsViewHandler)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:34:39: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
34 | routes.get(tagsPath, use: allTagsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:37:51: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
35 | // MARK: - Route Collection
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:38:49: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2079/2086] Compiling SteamPressCore BlogUser+Information.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:7:34: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:8:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:9:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("posts", use: postsHandler)
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:10:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("posts", "new", use: createPostHandler)
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:11:55: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("posts", "new", use: createPostPostHandler)
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/PostsAdminController.swift:12:64: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("posts", BlogPost.parameter, use: editPostHandler)
11 | routes.post("posts", BlogPost.parameter, use: editPostPostHandler)
12 | routes.get("posts", BlogPost.parameter, "delete", use: deletePostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:7:33: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:8:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:9:41: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("tags", use: tagsHandler)
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:10:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("tags", "new", use: createTagHandler)
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:11:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("tags", "new", use: createNewTagHandler)
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/TagsAdminController.swift:12:62: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("tags", BlogTag.parameter, use: tagHandler)
11 | routes.post("tags", BlogTag.parameter, use: updateTagHandler)
12 | routes.get("tags", BlogTag.parameter, "delete", use: deleteTagHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogTag.swift:16:6: warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 | public var name: String
15 |
16 | @Field(key: "visibility")
| `- warning: type 'BlogTag.TagVisibility' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | public var visibility: TagVisibility
18 |
:
44 |
45 | extension BlogTag {
46 | public enum TagVisibility: String, Codable {
| `- note: consider making enum 'TagVisibility' conform to the 'Sendable' protocol
47 | case `public`
48 | case `private`
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:7:36: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
5 | // MARK: - Route setup
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:8:43: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
6 | func boot(routes: RoutesBuilder) throws {
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:9:44: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
7 | routes.get("members", use: membersHandler)
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:10:56: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
8 | routes.get("members", "new", use: createMemberHandler)
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:11:57: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
9 | routes.post("members", "new", use: createNewMemberHandler)
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/Admin/UsersAdminController.swift:12:66: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
10 | routes.get("members", BlogUser.parameter, use: memberHandler)
11 | routes.post("members", BlogUser.parameter, use: updateMemberHandler)
12 | routes.get("members", BlogUser.parameter, "delete", use: deleteMemberHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:24:25: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
22 | // MARK: - Add routes
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:25:53: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
23 | func boot(routes: RoutesBuilder) throws {
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:26:40: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
24 | routes.get(use: indexHandler)
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:27:37: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
25 | routes.get(blogPostsPath, ":blogSlug", use: blogPostHandler)
26 | routes.get(blogPostsPath, use: blogPostIndexRedirectHandler)
27 | routes.get(searchPath, use: searchHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:29:42: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
27 | routes.get(searchPath, use: searchHandler)
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:30:61: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
28 | if enableAuthorPages {
29 | routes.get(authorsPath, use: allAuthorsViewHandler)
30 | routes.get(authorsPath, ":authorUsername", use: authorViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:33:58: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
31 | }
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
34 | routes.get(tagsPath, use: allTagsViewHandler)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/BlogController.swift:34:39: warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
32 | if enableTagsPages {
33 | routes.get(tagsPath, BlogTag.parameter, use: tagViewHandler)
34 | routes.get(tagsPath, use: allTagsViewHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> View' may introduce data races
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:37:51: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
35 | // MARK: - Route Collection
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Controllers/FeedController.swift:38:49: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
36 | func boot(routes: RoutesBuilder) throws {
37 | routes.get("atom.xml", use: atomGenerator.feedHandler)
38 | routes.get("rss.xml", use: rssGenerator.feedHandler)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Response' may introduce data races
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2080/2086] Compiling SteamPressCore URL+Converters.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2081/2086] Compiling SteamPressCore AtomFeedGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2082/2086] Compiling SteamPressCore RSSFeedGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2083/2086] Compiling SteamPressCore BlogAuthSessionsMiddleware.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2084/2086] Compiling SteamPressCore BlogLoginRedirectAuthMiddleware.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2085/2086] Compiling SteamPressCore BlogRememberMeMiddleware.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
[2086/2086] Compiling SteamPressCore BlogPostMigration.swift
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Presenters/BlogPathCreator.swift:5:29: warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | public struct BlogPathCreator {
4 |
5 | private(set) static var blogPath: String? = nil
| |- warning: static property 'blogPath' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blogPath' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'blogPath' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 |
7 | public static func createPath(for path: String?, query: String? = nil) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/SteamPressCore/Models/BlogUser.swift:28:6: warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
26 | public var resetPasswordRequired: Bool
27 |
28 | @Field(key: "user_type")
| `- warning: type 'BlogUser.BlogUserType' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | public var type: BlogUserType
30 |
:
77 |
78 | public extension BlogUser {
79 | enum BlogUserType: String, Codable {
| `- note: consider making enum 'BlogUserType' conform to the 'Sendable' protocol
80 | case member
81 | case owner
Build complete! (157.84s)
Fetching https://github.com/vapor/fluent-sqlite-driver
Fetching https://github.com/marmelroy/Zip.git
Fetching https://github.com/vapor/fluent.git
Fetching https://github.com/binarybirds/spec
Fetching https://github.com/vapor/vapor.git
[1/1963] Fetching zip
[159/3255] Fetching zip, fluent-sqlite-driver
[302/3335] Fetching zip, fluent-sqlite-driver, spec
[1727/16715] Fetching zip, fluent-sqlite-driver, spec, fluent
[6985/85409] Fetching zip, fluent-sqlite-driver, spec, fluent, vapor
Fetched https://github.com/marmelroy/Zip.git from cache (1.66s)
[28491/83446] Fetching fluent-sqlite-driver, spec, fluent, vapor
Fetched https://github.com/vapor/fluent-sqlite-driver from cache (2.61s)
Fetched https://github.com/binarybirds/spec from cache (2.61s)
Fetched https://github.com/vapor/fluent.git from cache (2.61s)
Fetched https://github.com/vapor/vapor.git from cache (2.61s)
Computing version for https://github.com/marmelroy/Zip.git
Computed https://github.com/marmelroy/Zip.git at 2.1.2 (0.68s)
Computing version for https://github.com/binarybirds/spec
Computed https://github.com/binarybirds/spec at 1.2.2 (0.66s)
Computing version for https://github.com/vapor/fluent-sqlite-driver
Computed https://github.com/vapor/fluent-sqlite-driver at 4.7.3 (0.52s)
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/vapor/fluent-kit.git
Fetching https://github.com/vapor/sqlite-kit.git
[1/2112] Fetching sqlite-kit
[192/5473] Fetching sqlite-kit, swift-log
[773/17702] Fetching sqlite-kit, swift-log, fluent-kit
Fetched https://github.com/apple/swift-log.git from cache (1.35s)
Fetched https://github.com/vapor/sqlite-kit.git from cache (1.36s)
Fetched https://github.com/vapor/fluent-kit.git from cache (1.36s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.5.4 (0.65s)
Computing version for https://github.com/vapor/sqlite-kit.git
Computed https://github.com/vapor/sqlite-kit.git at 4.5.2 (0.52s)
Fetching https://github.com/vapor/sql-kit.git
Fetching https://github.com/vapor/async-kit.git
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/vapor/sqlite-nio.git
[1/2335] Fetching async-kit
[48/8112] Fetching async-kit, sql-kit
[2295/9474] Fetching async-kit, sql-kit, sqlite-nio
[8127/75084] Fetching async-kit, sql-kit, sqlite-nio, swift-nio
Fetched https://github.com/vapor/sqlite-nio.git from cache (3.62s)
Fetched https://github.com/vapor/async-kit.git from cache (3.62s)
Fetched https://github.com/apple/swift-nio.git from cache (3.62s)
Fetched https://github.com/vapor/sql-kit.git from cache (3.62s)
Computing version for https://github.com/vapor/async-kit.git
Computed https://github.com/vapor/async-kit.git at 1.19.0 (0.66s)
Fetching https://github.com/apple/swift-algorithms.git
Fetching https://github.com/apple/swift-collections.git
[1/5228] Fetching swift-algorithms
[106/19257] Fetching swift-algorithms, swift-collections
Fetched https://github.com/apple/swift-algorithms.git from cache (1.73s)
Fetched https://github.com/apple/swift-collections.git from cache (1.73s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.65.0 (0.65s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-atomics.git
[1/1563] Fetching swift-atomics
[33/5086] Fetching swift-atomics, swift-system
Fetched https://github.com/apple/swift-system.git from cache (1.10s)
Fetched https://github.com/apple/swift-atomics.git from cache (1.10s)
Computing version for https://github.com/vapor/fluent-kit.git
Computed https://github.com/vapor/fluent-kit.git at 1.48.5 (0.54s)
Computing version for https://github.com/vapor/sql-kit.git
Computed https://github.com/vapor/sql-kit.git at 3.30.0 (0.52s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.0 (0.79s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.0 (0.64s)
Fetching https://github.com/apple/swift-numerics.git
[1/5472] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git from cache (1.24s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.53s)
Computing version for https://github.com/vapor/sqlite-nio.git
Computed https://github.com/vapor/sqlite-nio.git at 1.10.1 (0.55s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.3.0 (0.51s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.0.2 (0.65s)
Computing version for https://github.com/vapor/fluent.git
Computed https://github.com/vapor/fluent.git at 4.11.0 (0.51s)
Computing version for https://github.com/vapor/vapor.git
Computed https://github.com/vapor/vapor.git at 4.101.1 (0.74s)
Fetching https://github.com/apple/swift-nio-extras.git
Fetching https://github.com/apple/swift-metrics.git
Fetching https://github.com/vapor/websocket-kit.git
Fetching https://github.com/vapor/multipart-kit.git
Fetching https://github.com/apple/swift-nio-http2.git
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/vapor/routing-kit.git
[1/2473] Fetching websocket-kit
[100/23163] Fetching websocket-kit, routing-kit
[101/27996] Fetching websocket-kit, routing-kit, swift-nio-extras
[150/30024] Fetching websocket-kit, routing-kit, swift-nio-extras, swift-metrics
[280/31869] Fetching websocket-kit, routing-kit, swift-nio-extras, swift-metrics, multipart-kit
[2152/42102] Fetching websocket-kit, routing-kit, swift-nio-extras, swift-metrics, multipart-kit, swift-nio-http2
[11397/54370] Fetching websocket-kit, routing-kit, swift-nio-extras, swift-metrics, multipart-kit, swift-nio-http2, swift-nio-ssl
Fetched https://github.com/apple/swift-metrics.git from cache (1.16s)
Fetching https://github.com/apple/swift-crypto.git
[11144/52342] Fetching websocket-kit, routing-kit, swift-nio-extras, multipart-kit, swift-nio-http2, swift-nio-ssl
Fetched https://github.com/apple/swift-nio-extras.git from cache (1.24s)
Fetching https://github.com/vapor/console-kit.git
[13218/47509] Fetching websocket-kit, routing-kit, multipart-kit, swift-nio-http2, swift-nio-ssl
Fetched https://github.com/vapor/routing-kit.git from cache (1.69s)
Fetching https://github.com/swift-server/async-http-client.git
[16763/26819] Fetching websocket-kit, multipart-kit, swift-nio-http2, swift-nio-ssl
[25486/34673] Fetching websocket-kit, multipart-kit, swift-nio-http2, swift-nio-ssl, swift-crypto
[25565/40074] Fetching websocket-kit, multipart-kit, swift-nio-http2, swift-nio-ssl, swift-crypto, console-kit
Fetched https://github.com/apple/swift-nio-ssl.git from cache (2.03s)
Fetched https://github.com/apple/swift-nio-http2.git from cache (2.03s)
[3594/17573] Fetching websocket-kit, multipart-kit, swift-crypto, console-kit
Fetched https://github.com/vapor/websocket-kit.git from cache (2.14s)
Fetched https://github.com/vapor/multipart-kit.git from cache (2.14s)
[1386/13255] Fetching swift-crypto, console-kit
Fetched https://github.com/vapor/console-kit.git from cache (1.13s)
[1650/7854] Fetching swift-crypto
[1965/20518] Fetching swift-crypto, async-http-client
Fetched https://github.com/apple/swift-crypto.git from cache (1.66s)
[1647/12664] Fetching async-http-client
Fetched https://github.com/swift-server/async-http-client.git from cache (1.42s)
Computing version for https://github.com/vapor/routing-kit.git
Computed https://github.com/vapor/routing-kit.git at 4.9.1 (0.54s)
Computing version for https://github.com/vapor/websocket-kit.git
Computed https://github.com/vapor/websocket-kit.git at 2.15.0 (0.65s)
Fetching https://github.com/apple/swift-nio-transport-services.git
[1/2105] Fetching swift-nio-transport-services
Fetched https://github.com/apple/swift-nio-transport-services.git from cache (1.07s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.26.0 (0.69s)
Computing version for https://github.com/vapor/console-kit.git
Computed https://github.com/vapor/console-kit.git at 4.14.3 (0.54s)
Computing version for https://github.com/apple/swift-nio-extras.git
Computed https://github.com/apple/swift-nio-extras.git at 1.22.0 (0.68s)
Fetching https://github.com/apple/swift-http-types
[5/414] Fetching swift-http-types
Fetched https://github.com/apple/swift-http-types from cache (0.84s)
Computing version for https://github.com/apple/swift-nio-http2.git
Computed https://github.com/apple/swift-nio-http2.git at 1.31.0 (0.51s)
Computing version for https://github.com/swift-server/async-http-client.git
Computed https://github.com/swift-server/async-http-client.git at 1.21.1 (0.52s)
Computing version for https://github.com/apple/swift-nio-transport-services.git
Computed https://github.com/apple/swift-nio-transport-services.git at 1.21.0 (0.50s)
Computing version for https://github.com/apple/swift-http-types
Computed https://github.com/apple/swift-http-types at 1.1.0 (0.63s)
Computing version for https://github.com/vapor/multipart-kit.git
Computed https://github.com/vapor/multipart-kit.git at 4.7.0 (0.51s)
Computing version for https://github.com/apple/swift-metrics.git
Computed https://github.com/apple/swift-metrics.git at 2.4.4 (0.64s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.4.0 (0.52s)
Creating working copy for https://github.com/binarybirds/spec
Working copy of https://github.com/binarybirds/spec resolved at 1.2.2
Creating working copy for https://github.com/vapor/console-kit.git
Working copy of https://github.com/vapor/console-kit.git resolved at 4.14.3
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.0
Creating working copy for https://github.com/vapor/fluent-kit.git
Working copy of https://github.com/vapor/fluent-kit.git resolved at 1.48.5
Creating working copy for https://github.com/apple/swift-http-types
Working copy of https://github.com/apple/swift-http-types resolved at 1.1.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.5.4
Creating working copy for https://github.com/vapor/fluent-sqlite-driver
Working copy of https://github.com/vapor/fluent-sqlite-driver resolved at 4.7.3
Creating working copy for https://github.com/apple/swift-nio-extras.git
Working copy of https://github.com/apple/swift-nio-extras.git resolved at 1.22.0
Creating working copy for https://github.com/vapor/routing-kit.git
Working copy of https://github.com/vapor/routing-kit.git resolved at 4.9.1
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.26.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.0
Creating working copy for https://github.com/vapor/sql-kit.git
Working copy of https://github.com/vapor/sql-kit.git resolved at 3.30.0
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.0.2
Creating working copy for https://github.com/vapor/fluent.git
Working copy of https://github.com/vapor/fluent.git resolved at 4.11.0
Creating working copy for https://github.com/vapor/vapor.git
Working copy of https://github.com/vapor/vapor.git resolved at 4.101.1
Creating working copy for https://github.com/apple/swift-nio-transport-services.git
Working copy of https://github.com/apple/swift-nio-transport-services.git resolved at 1.21.0
Creating working copy for https://github.com/vapor/async-kit.git
Working copy of https://github.com/vapor/async-kit.git resolved at 1.19.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.65.0
Creating working copy for https://github.com/vapor/sqlite-nio.git
Working copy of https://github.com/vapor/sqlite-nio.git resolved at 1.10.1
Creating working copy for https://github.com/vapor/sqlite-kit.git
Working copy of https://github.com/vapor/sqlite-kit.git resolved at 4.5.2
Creating working copy for https://github.com/marmelroy/Zip.git
Working copy of https://github.com/marmelroy/Zip.git resolved at 2.1.2
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 3.4.0
Creating working copy for https://github.com/swift-server/async-http-client.git
Working copy of https://github.com/swift-server/async-http-client.git resolved at 1.21.1
Creating working copy for https://github.com/apple/swift-nio-http2.git
Working copy of https://github.com/apple/swift-nio-http2.git resolved at 1.31.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.3.0
Creating working copy for https://github.com/vapor/websocket-kit.git
Working copy of https://github.com/vapor/websocket-kit.git resolved at 2.15.0
Creating working copy for https://github.com/apple/swift-metrics.git
Working copy of https://github.com/apple/swift-metrics.git resolved at 2.4.4
Creating working copy for https://github.com/vapor/multipart-kit.git
Working copy of https://github.com/vapor/multipart-kit.git resolved at 4.7.0
warning: 'swift-system': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-system/Sources/System/CMakeLists.txt
warning: 'swift-algorithms': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-algorithms/Sources/Algorithms/Documentation.docc
Build complete.
{
"dependencies" : [
{
"identity" : "vapor",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/vapor.git"
},
{
"identity" : "fluent",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/fluent.git"
},
{
"identity" : "zip",
"requirement" : {
"range" : [
{
"lower_bound" : "2.1.2",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/marmelroy/Zip.git"
},
{
"identity" : "fluent-sqlite-driver",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/fluent-sqlite-driver"
},
{
"identity" : "spec",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/binarybirds/spec"
}
],
"manifest_display_name" : "steampress-core",
"name" : "steampress-core",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "SteamPressCore",
"targets" : [
"SteamPressCore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SteamPressCoreTests",
"module_type" : "SwiftTarget",
"name" : "SteamPressCoreTests",
"path" : "Tests/SteamPressCoreTests",
"product_dependencies" : [
"XCTVapor",
"FluentSQLiteDriver",
"Spec"
],
"sources" : [
"APITests/APITagControllerTests.swift",
"AdminTests/AccessAllowedTests.swift",
"AdminTests/AccessRestrictedTests.swift",
"AdminTests/LoginTests.swift",
"AdminTests/MembersCreateTests.swift",
"AdminTests/MembersDeleteTests.swift",
"AdminTests/MembersUpdateTests.swift",
"AdminTests/PagesPresenterTests.swift",
"AdminTests/PostsCreateTests.swift",
"AdminTests/PostsUpdateTests.swift",
"AdminTests/TagsTests.swift",
"BlogTests/AuthorTests.swift",
"BlogTests/DisabledBlogTagTests.swift",
"BlogTests/IndexTests.swift",
"BlogTests/PostTests.swift",
"BlogTests/SearchTests.swift",
"BlogTests/TagTests.swift",
"Fakes/CapturingViewRenderer.swift",
"Fakes/PasswordHasherChoice.swift",
"Fakes/Presenters/CapturingAdminPresenter.swift",
"Fakes/Presenters/CapturingBlogPresenter.swift",
"Fakes/ReversedPasswordHasher.swift",
"Fakes/StubbedRandomNumberGenerator.swift",
"Feed Tests/AtomFeedTests.swift",
"Feed Tests/RSSFeedTests.swift",
"Helpers/InMemoryRepository.swift",
"Helpers/SteamPressTestError.swift",
"Helpers/TestDataBuilder.swift",
"Helpers/TestWorld+Application.swift",
"Helpers/TestWorld+Responses.swift",
"Helpers/TestWorld+TestDataBuilder.swift",
"Helpers/TestWorld.swift",
"Models/LoginData.swift",
"ProviderTests.swift",
"ViewTests/BlogAdminPresenterTests.swift",
"ViewTests/BlogPresenterTests.swift",
"ViewTests/BlogViewTests.swift"
],
"target_dependencies" : [
"SteamPressCore"
],
"type" : "test"
},
{
"c99name" : "SteamPressCore",
"module_type" : "SwiftTarget",
"name" : "SteamPressCore",
"path" : "Sources/SteamPressCore",
"product_dependencies" : [
"Vapor",
"Fluent",
"Zip"
],
"product_memberships" : [
"SteamPressCore"
],
"sources" : [
"Config/FeedInformation.swift",
"Config/GlobalWebsiteInformation.swift",
"Config/PaginationInformation.swift",
"Controllers/API/APIController.swift",
"Controllers/API/APITagController.swift",
"Controllers/Admin/BlogAdminController.swift",
"Controllers/Admin/LoginController.swift",
"Controllers/Admin/PostsAdminController.swift",
"Controllers/Admin/TagsAdminController.swift",
"Controllers/Admin/UsersAdminController.swift",
"Controllers/BlogController.swift",
"Controllers/FeedController.swift",
"Extensions/Application+SteamPress.swift",
"Extensions/BlogUser+Information.swift",
"Extensions/Models+Parameters.swift",
"Extensions/Request+FilePath.swift",
"Extensions/Request+PageInformation.swift",
"Extensions/Request+PaginationInformation.swift",
"Extensions/Request+ThemeUpdater.swift",
"Extensions/String+Optional+Whitespace.swift",
"Extensions/String+Random.swift",
"Extensions/URL+Converters.swift",
"Feed Generators/AtomFeedGenerator.swift",
"Feed Generators/RSSFeedGenerator.swift",
"Middleware/BlogAuthSessionsMiddleware.swift",
"Middleware/BlogLoginRedirectAuthMiddleware.swift",
"Middleware/BlogRememberMeMiddleware.swift",
"Migrations/BlogPostMigration.swift",
"Migrations/BlogTagMigration.swift",
"Migrations/BlogUserMigration.swift",
"Migrations/PostTagPivotMigration.swift",
"Migrations/SPSiteInformationMigration.swift",
"Models/BlogPost.swift",
"Models/BlogTag.swift",
"Models/BlogUser.swift",
"Models/Contexts/ContextViews/BlogTagWithPostCount.swift",
"Models/Contexts/ContextViews/ViewBlogAuthor.swift",
"Models/Contexts/ContextViews/ViewBlogPost.swift",
"Models/Contexts/ContextViews/ViewBlogTag.swift",
"Models/Contexts/PaginationTagInformation.swift",
"Models/Errors/CreatePostErrors.swift",
"Models/FormData/CreatePostData.swift",
"Models/FormData/CreateTagData.swift",
"Models/FormData/CreateUserData.swift",
"Models/FormData/FileContainers.swift",
"Models/FormData/LoginData.swift",
"Models/FormData/ResetPasswordData.swift",
"Models/FormData/UpdateSiteInformation.swift",
"Models/PostTagPivot.swift",
"Models/SPSiteInformation.swift",
"Models/Theme.swift",
"Presenters/BlogPathCreator.swift",
"Presenters/Presenter+Registry+Factory+Extensions.swift",
"Presenters/Presenters+Protocols.swift",
"Presenters/Presenters.swift",
"Repositories/Registry+Factory+Extensions.swift",
"Repositories/Repositories.swift",
"Repositories/Repository+Protocols.swift",
"Services/LongPostDateFormatter.swift",
"Services/NumericPostFormatter.swift",
"Services/RealRandomNumberGenerator.swift",
"Services/SteamPressError.swift",
"Services/SteamPressRandomNumberGenerator.swift",
"SteamPressConfiguration.swift",
"SteamPressLifecycleHandler.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.