Build Information
Successful build of EmealKit, reference 0.11.0 (c5a418
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 21:52:37 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kiliankoe/EmealKit.git
Reference: 0.11.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kiliankoe/EmealKit
* tag 0.11.0 -> FETCH_HEAD
HEAD is now at c5a4188 Merge pull request #21 from kiliankoe/sold-out-meals
Cloned https://github.com/kiliankoe/EmealKit.git
Revision (git rev-parse @):
c5a4188cc1f30482e7a7f388ec777406a321e9e7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/kiliankoe/EmealKit.git at 0.11.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/kiliankoe/EmealKit.git
https://github.com/kiliankoe/EmealKit.git
{
"dependencies" : [
{
"identity" : "htmlstring",
"requirement" : {
"range" : [
{
"lower_bound" : "5.0.0",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/alexaubry/HTMLString.git"
},
{
"identity" : "regex",
"requirement" : {
"range" : [
{
"lower_bound" : "2.1.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/sharplet/Regex.git"
},
{
"identity" : "feedkit",
"requirement" : {
"range" : [
{
"lower_bound" : "9.1.2",
"upper_bound" : "10.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/nmdias/FeedKit.git"
}
],
"manifest_display_name" : "EmealKit",
"name" : "EmealKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "7.0"
},
{
"name" : "tvos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "EmealKit",
"targets" : [
"EmealKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EmealKitTests",
"module_type" : "SwiftTarget",
"name" : "EmealKitTests",
"path" : "Tests/EmealKitTests",
"sources" : [
"CanteenTests.swift",
"EmealTests.swift",
"MealTests.swift",
"MockData.swift",
"MockURLSession.swift"
],
"target_dependencies" : [
"EmealKit"
],
"type" : "test"
},
{
"c99name" : "EmealKit",
"module_type" : "SwiftTarget",
"name" : "EmealKit",
"path" : "Sources/EmealKit",
"product_dependencies" : [
"HTMLString",
"Regex",
"FeedKit"
],
"product_memberships" : [
"EmealKit"
],
"sources" : [
"Cardservice/CardData.swift",
"Cardservice/Cardservice.swift",
"Cardservice/CardserviceAPI.swift",
"Cardservice/CardserviceError.swift",
"Cardservice/LoginResponse.swift",
"Cardservice/Transaction.swift",
"Date+short.swift",
"Double+euroString.swift",
"Emeal/Emeal.swift",
"Emeal/EmealDelegate.swift",
"Emeal/LocalizedEmealStrings.swift",
"Emeal/ObservableEmeal.swift",
"EmealError.swift",
"Logger.swift",
"Mensa/Canteen.swift",
"Mensa/Meal.swift",
"Mensa/MealFeed.swift",
"Mensa/MensaAPI.swift",
"URLSessionProtocol.swift"
],
"type" : "library"
},
{
"c99name" : "APIValidationTests",
"module_type" : "SwiftTarget",
"name" : "APIValidationTests",
"path" : "Tests/APIValidationTests",
"sources" : [
"CardserviceAPITests.swift",
"MenuAPITests.swift"
],
"target_dependencies" : [
"EmealKit"
],
"type" : "test"
}
],
"tools_version" : "5.5"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/102] Emitting module FeedKit
[7/111] Compiling FeedKit RSSPath.swift
[8/111] Compiling FeedKit Feed.swift
[9/111] Compiling FeedKit FeedDataType.swift
[10/111] Compiling FeedKit FeedParser.swift
[11/111] Compiling FeedKit FeedParserProtocol.swift
[12/111] Compiling FeedKit JSONFeedParser.swift
[13/111] Compiling FeedKit ParserError.swift
[14/111] Compiling FeedKit XMLFeedParser.swift
[15/111] Compiling FeedKit XMLFeedType.swift
[16/111] Compiling FeedKit RSSFeedImage.swift
[17/111] Compiling FeedKit RSSFeedItem.swift
[18/111] Compiling FeedKit RSSFeedItemCategory.swift
[19/111] Compiling FeedKit RSSFeedItemEnclosure.swift
[20/111] Compiling FeedKit RSSFeedItemGUID.swift
[21/111] Compiling FeedKit RSSFeedItemSource.swift
[22/111] Compiling FeedKit RSSFeedSkipDay.swift
[23/111] Compiling FeedKit RSSFeedSkipHour.swift
[24/111] Compiling FeedKit RSSFeedTextInput.swift
[25/111] Compiling FeedKit MediaDescription.swift
[26/111] Compiling FeedKit MediaEmbed.swift
[27/111] Compiling FeedKit MediaGroup.swift
[28/111] Compiling FeedKit MediaHash.swift
[29/111] Compiling FeedKit MediaLicence.swift
[30/111] Compiling FeedKit MediaLocation.swift
[31/111] Compiling FeedKit MediaNamespace.swift
[32/111] Compiling FeedKit MediaParam.swift
[33/111] Compiling FeedKit MediaPeerLink.swift
[34/111] Compiling FeedKit MediaPlayer.swift
[35/111] Compiling FeedKit MediaPrice.swift
[36/111] Compiling FeedKit MediaRating.swift
[37/111] Compiling FeedKit MediaRestriction.swift
[38/111] Compiling FeedKit MediaRights.swift
[39/111] Compiling FeedKit MediaScene.swift
[40/111] Compiling FeedKit MediaStarRating.swift
[41/111] Compiling FeedKit MediaStatistics.swift
[42/111] Compiling FeedKit MediaStatus.swift
[43/111] Compiling FeedKit AtomFeed + mapAttributes.swift
[44/111] Compiling FeedKit AtomFeed + mapCharacters.swift
[45/111] Compiling FeedKit AtomFeed.swift
[46/111] Compiling FeedKit AtomFeedAuthor.swift
[47/111] Compiling FeedKit AtomFeedCategory.swift
[48/111] Compiling FeedKit AtomFeedContributor.swift
[49/111] Compiling FeedKit AtomFeedEntry.swift
[50/111] Compiling FeedKit AtomFeedEntryAuthor.swift
[51/111] Compiling FeedKit AtomFeedEntryCategory.swift
[52/111] Compiling FeedKit AtomFeedEntryContent.swift
[53/111] Compiling FeedKit AtomFeedEntryContributor.swift
[54/111] Compiling FeedKit AtomFeedEntryLink.swift
[55/111] Compiling FeedKit AtomFeedEntrySource.swift
[56/111] Compiling FeedKit AtomFeedEntrySummary.swift
[57/111] Compiling FeedKit AtomFeedGenerator.swift
[58/111] Compiling FeedKit AtomFeedLink.swift
[59/111] Compiling FeedKit AtomFeedSubtitle.swift
[60/111] Compiling FeedKit AtomPath.swift
[61/111] Compiling FeedKit JSONFeed.swift
[62/111] Compiling FeedKit JSONFeedAttachment.swift
[63/111] Compiling FeedKit JSONFeedAuthor.swift
[64/111] Compiling FeedKit JSONFeedHub.swift
[65/111] Compiling FeedKit JSONFeedItem.swift
[66/111] Compiling FeedKit ContentNamespace.swift
[67/111] Compiling FeedKit DublinCoreNamespace.swift
[68/111] Compiling FeedKit MediaCategory.swift
[69/111] Compiling FeedKit MediaCommunity.swift
[70/111] Compiling FeedKit MediaContent.swift
[71/111] Compiling FeedKit MediaCopyright.swift
[72/111] Compiling FeedKit MediaCredit.swift
[73/111] Compiling HTMLString Mappings.swift
[74/111] Compiling HTMLString NSString+HTMLString.swift
[75/111] Compiling Regex MatchResult.swift
[76/111] Compiling Regex ThreadLocal.swift
[77/111] Compiling Regex String+ReplaceMatching.swift
[78/111] Compiling Regex Regex.swift
[79/111] Emitting module Regex
[80/111] Compiling Regex Options.swift
[81/111] Compiling Regex Foundation+Ranges.swift
[82/111] Compiling FeedKit iTunesNamespace.swift
[83/111] Compiling FeedKit iTunesOwner.swift
[84/111] Compiling FeedKit iTunesSubCategory.swift
[85/111] Compiling FeedKit RDFPath.swift
[86/111] Compiling FeedKit RSSFeed + mapAttributes.swift
[87/111] Compiling FeedKit RSSFeed + mapCharacters.swift
[88/111] Compiling FeedKit RSSFeed.swift
[89/111] Compiling FeedKit RSSFeedCategory.swift
[90/111] Compiling FeedKit RSSFeedCloud.swift
[91/111] Compiling FeedKit DateSpec.swift
[92/111] Compiling FeedKit ISO8601DateFormatter.swift
[93/111] Compiling FeedKit RFC3339DateFormatter.swift
[94/111] Compiling FeedKit RFC822DateFormatter.swift
[95/111] Compiling HTMLString HTMLString.swift
[96/111] Compiling FeedKit Array + Equatable.swift
[97/111] Compiling FeedKit Date + codingStrategy.swift
[98/111] Compiling FeedKit String + toBool.swift
[99/111] Compiling FeedKit String + toDate.swift
[100/111] Compiling FeedKit String + toDuration.swift
[101/111] Compiling FeedKit URL + replacingScheme.swift
[102/111] Emitting module HTMLString
[103/111] Compiling FeedKit MediaSubTitle.swift
[104/111] Compiling FeedKit MediaTag.swift
[105/111] Compiling FeedKit MediaText.swift
[106/111] Compiling FeedKit MediaThumbnail.swift
[107/111] Compiling FeedKit MediaTitle.swift
[108/111] Compiling FeedKit SyndicationNamespace.swift
[109/111] Compiling FeedKit SyndicationUpdatePeriod.swift
[110/111] Compiling FeedKit iTunesCategory.swift
[111/111] Compiling FeedKit iTunesImage.swift
[112/130] Compiling EmealKit EmealError.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Logger.swift:4:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Logger {
4 | private static var subsystem = "io.kilian.EmealKit"
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | static let emealKit = Logger(subsystem: subsystem, category: "EmealKit")
[113/130] Compiling EmealKit Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Logger.swift:4:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Logger {
4 | private static var subsystem = "io.kilian.EmealKit"
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | static let emealKit = Logger(subsystem: subsystem, category: "EmealKit")
[114/131] Compiling EmealKit MealFeed.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Mensa/MealFeed.swift:56:34: warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
54 | )
55 | }
56 | continuation.resume(returning: meals)
| |- warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'meals' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
57 | case .failure(let error):
58 | continuation.resume(throwing: error)
[115/131] Compiling EmealKit MensaAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Mensa/MealFeed.swift:56:34: warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
54 | )
55 | }
56 | continuation.resume(returning: meals)
| |- warning: sending 'meals' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'meals' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
57 | case .failure(let error):
58 | continuation.resume(throwing: error)
[116/131] Compiling EmealKit URLSessionProtocol.swift
[117/131] Compiling EmealKit Emeal.swift
[118/131] Compiling EmealKit EmealDelegate.swift
[119/131] Compiling EmealKit Date+short.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:4:16: warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Date {
4 | static var dayMonthYearFormatter: DateFormatter = {
| |- warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dayMonthYearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dayMonthYearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | let formatter = DateFormatter()
6 | formatter.dateFormat = "dd.MM.y"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:11:16: warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 | }()
10 |
11 | static var dayMonthYearHourMinute: DateFormatter = {
| |- warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dayMonthYearHourMinute' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dayMonthYearHourMinute' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let formatter = DateFormatter()
13 | formatter.dateFormat = "dd.MM.y HH:mm"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:18:16: warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | }()
17 |
18 | static var yearMonthDayFormatter: DateFormatter = {
| |- warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearMonthDayFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearMonthDayFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | let formatter = DateFormatter()
20 | formatter.dateFormat = "y-MM-dd"
[120/131] Compiling EmealKit Double+euroString.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:4:16: warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Date {
4 | static var dayMonthYearFormatter: DateFormatter = {
| |- warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dayMonthYearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dayMonthYearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | let formatter = DateFormatter()
6 | formatter.dateFormat = "dd.MM.y"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:11:16: warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 | }()
10 |
11 | static var dayMonthYearHourMinute: DateFormatter = {
| |- warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dayMonthYearHourMinute' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dayMonthYearHourMinute' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let formatter = DateFormatter()
13 | formatter.dateFormat = "dd.MM.y HH:mm"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:18:16: warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | }()
17 |
18 | static var yearMonthDayFormatter: DateFormatter = {
| |- warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearMonthDayFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearMonthDayFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | let formatter = DateFormatter()
20 | formatter.dateFormat = "y-MM-dd"
[121/131] Compiling EmealKit LocalizedEmealStrings.swift
[122/131] Compiling EmealKit ObservableEmeal.swift
[123/131] Compiling EmealKit LoginResponse.swift
[124/131] Compiling EmealKit Transaction.swift
[125/131] Compiling EmealKit CardserviceAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/CardserviceAPI.swift:25:17: warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
23 | let task = session.dataTask(with: request) { data, response, error in
24 | guard error == nil else {
25 | completion(.failure(.network(error)))
| |- warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 | return
27 | }
[126/131] Compiling EmealKit CardserviceError.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/CardserviceAPI.swift:25:17: warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
23 | let task = session.dataTask(with: request) { data, response, error in
24 | guard error == nil else {
25 | completion(.failure(.network(error)))
| |- warning: capture of 'completion' with non-sendable type '(Result<T, CardserviceError>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 | return
27 | }
[127/131] Emitting module EmealKit
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:4:16: warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Date {
4 | static var dayMonthYearFormatter: DateFormatter = {
| |- warning: static property 'dayMonthYearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dayMonthYearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dayMonthYearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 | let formatter = DateFormatter()
6 | formatter.dateFormat = "dd.MM.y"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:11:16: warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 | }()
10 |
11 | static var dayMonthYearHourMinute: DateFormatter = {
| |- warning: static property 'dayMonthYearHourMinute' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dayMonthYearHourMinute' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dayMonthYearHourMinute' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let formatter = DateFormatter()
13 | formatter.dateFormat = "dd.MM.y HH:mm"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Date+short.swift:18:16: warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | }()
17 |
18 | static var yearMonthDayFormatter: DateFormatter = {
| |- warning: static property 'yearMonthDayFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearMonthDayFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearMonthDayFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | let formatter = DateFormatter()
20 | formatter.dateFormat = "y-MM-dd"
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Logger.swift:4:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 |
3 | extension Logger {
4 | private static var subsystem = "io.kilian.EmealKit"
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | static let emealKit = Logger(subsystem: subsystem, category: "EmealKit")
[128/131] Compiling EmealKit Canteen.swift
[129/131] Compiling EmealKit Meal.swift
[130/131] Compiling EmealKit CardData.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:73:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
71 | try await withCheckedThrowingContinuation { continuation in
72 | self.login(username: username, password: password, session: session) { result in
73 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:116:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
114 | try await withCheckedThrowingContinuation { continuation in
115 | self.carddata(session: session) { result in
116 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
117 | }
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:197:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
195 | try await withCheckedThrowingContinuation { continuation in
196 | self.transactions(begin: begin, end: end, session: session) { result in
197 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
198 | }
199 | }
[131/131] Compiling EmealKit Cardservice.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:73:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
71 | try await withCheckedThrowingContinuation { continuation in
72 | self.login(username: username, password: password, session: session) { result in
73 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:116:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
114 | try await withCheckedThrowingContinuation { continuation in
115 | self.carddata(session: session) { result in
116 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
117 | }
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/EmealKit/Cardservice/Cardservice.swift:197:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
195 | try await withCheckedThrowingContinuation { continuation in
196 | self.transactions(begin: begin, end: end, session: session) { result in
197 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
198 | }
199 | }
Build complete! (16.11s)
Fetching https://github.com/sharplet/Regex.git
Fetching https://github.com/alexaubry/HTMLString.git
Fetching https://github.com/nmdias/FeedKit.git
[1/1254] Fetching regex
[2/2885] Fetching regex, htmlstring
[143/11643] Fetching regex, htmlstring, feedkit
Fetched https://github.com/nmdias/FeedKit.git from cache (1.23s)
Fetched https://github.com/sharplet/Regex.git from cache (1.23s)
Fetched https://github.com/alexaubry/HTMLString.git from cache (1.23s)
Computing version for https://github.com/nmdias/FeedKit.git
Computed https://github.com/nmdias/FeedKit.git at 9.1.2 (1.81s)
Computing version for https://github.com/alexaubry/HTMLString.git
Computed https://github.com/alexaubry/HTMLString.git at 5.0.0 (0.64s)
Computing version for https://github.com/sharplet/Regex.git
Computed https://github.com/sharplet/Regex.git at 2.1.1 (2.85s)
Creating working copy for https://github.com/sharplet/Regex.git
Working copy of https://github.com/sharplet/Regex.git resolved at 2.1.1
Creating working copy for https://github.com/nmdias/FeedKit.git
Working copy of https://github.com/nmdias/FeedKit.git resolved at 9.1.2
Creating working copy for https://github.com/alexaubry/HTMLString.git
Working copy of https://github.com/alexaubry/HTMLString.git resolved at 5.0.0
Build complete.
{
"dependencies" : [
{
"identity" : "htmlstring",
"requirement" : {
"range" : [
{
"lower_bound" : "5.0.0",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/alexaubry/HTMLString.git"
},
{
"identity" : "regex",
"requirement" : {
"range" : [
{
"lower_bound" : "2.1.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/sharplet/Regex.git"
},
{
"identity" : "feedkit",
"requirement" : {
"range" : [
{
"lower_bound" : "9.1.2",
"upper_bound" : "10.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/nmdias/FeedKit.git"
}
],
"manifest_display_name" : "EmealKit",
"name" : "EmealKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "7.0"
},
{
"name" : "tvos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "EmealKit",
"targets" : [
"EmealKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EmealKitTests",
"module_type" : "SwiftTarget",
"name" : "EmealKitTests",
"path" : "Tests/EmealKitTests",
"sources" : [
"CanteenTests.swift",
"EmealTests.swift",
"MealTests.swift",
"MockData.swift",
"MockURLSession.swift"
],
"target_dependencies" : [
"EmealKit"
],
"type" : "test"
},
{
"c99name" : "EmealKit",
"module_type" : "SwiftTarget",
"name" : "EmealKit",
"path" : "Sources/EmealKit",
"product_dependencies" : [
"HTMLString",
"Regex",
"FeedKit"
],
"product_memberships" : [
"EmealKit"
],
"sources" : [
"Cardservice/CardData.swift",
"Cardservice/Cardservice.swift",
"Cardservice/CardserviceAPI.swift",
"Cardservice/CardserviceError.swift",
"Cardservice/LoginResponse.swift",
"Cardservice/Transaction.swift",
"Date+short.swift",
"Double+euroString.swift",
"Emeal/Emeal.swift",
"Emeal/EmealDelegate.swift",
"Emeal/LocalizedEmealStrings.swift",
"Emeal/ObservableEmeal.swift",
"EmealError.swift",
"Logger.swift",
"Mensa/Canteen.swift",
"Mensa/Meal.swift",
"Mensa/MealFeed.swift",
"Mensa/MensaAPI.swift",
"URLSessionProtocol.swift"
],
"type" : "library"
},
{
"c99name" : "APIValidationTests",
"module_type" : "SwiftTarget",
"name" : "APIValidationTests",
"path" : "Tests/APIValidationTests",
"sources" : [
"CardserviceAPITests.swift",
"MenuAPITests.swift"
],
"target_dependencies" : [
"EmealKit"
],
"type" : "test"
}
],
"tools_version" : "5.5"
}
Done.