Build Information
Successful build of SalahKit, reference main (91e776), with Swift 6.3 for macOS (SPM) on 1 Nov 2026 12:44:25 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/salah-kit/SalahKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/salah-kit/SalahKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 91e7766 Choose the nearest color that reaches the contrast ratio
Cloned https://github.com/salah-kit/SalahKit.git
Revision (git rev-parse @):
91e776679a40bc383f66f465d1393e38390e7fc2
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/salah-kit/SalahKit.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/salah-kit/SalahKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64
Building for debugging...
[0/18] Write sources
[1/18] Copying PrivacyInfo.xcprivacy
[1/18] Write sources
[3/18] Write DarwinSignalHelper-entitlement.plist
[3/18] Write sources
[8/18] Copying Info.plist
[10/18] Copying Localizable.xcstrings
[11/18] Write sources
[14/18] Write swift-version-69A768CDF2A0BEE1.txt
[16/55] Emitting module SalahCore
[17/57] Compiling SalahCore InstantText.swift
[18/57] Compiling SalahCore WallTimeResolver.swift
[19/57] Compiling SalahCore PrayerNames.swift
[20/57] Compiling SalahCore ScheduleContext.swift
[21/57] Compiling SalahCore ScheduleCoverage.swift
[22/57] Compiling SalahCore WallClockTime.swift
[23/57] Compiling SalahCore resource_bundle_accessor.swift
[24/57] Compiling SalahCore CivilDay.swift
[25/57] Compiling SalahCore PrayerDay.swift
[26/57] Compiling SalahCore PrayerEvent.swift
[27/57] Compiling SalahCore PrayerSource.swift
[28/57] Compiling SalahCore TimetableSource.swift
[29/57] Compiling SalahCore PrayerKind.swift
[30/57] Compiling SalahCore PrayerLocation.swift
[31/57] Compiling SalahCore HijriDateFormat.swift
[32/57] Compiling SalahCore PrayerDurationFormat.swift
[33/57] Compiling SalahCore PrayerLocale.swift
[34/57] Compiling SalahCore Gregorian.swift
[35/57] Compiling SalahCore StringCatalog.swift
[36/57] Compiling SalahCore PrayerSchedule.swift
[37/57] Compiling SalahCore RefreshPlan.swift
[38/57] Compiling SalahCore StatePolicy.swift
[39/57] Compiling SalahCore IqamaRules.swift
[40/57] Compiling SalahCore ScheduleEngine.swift
[41/57] Compiling SalahCore ScheduleState.swift
[42/57] Compiling SalahTimes SolarEvents.swift
[49/57] Emitting module SalahTimes
[50/57] Compiling SalahTimes PrayerTimes.swift
[51/57] Compiling SalahTimes Validation.swift
[52/57] Compiling SalahTimes GregorianDay.swift
[53/57] Compiling SalahTimes Qibla.swift
[54/57] Compiling SalahTimes MethodSuggestions.swift
[55/89] Emitting module SalahFixtures
[56/89] Compiling SalahFixtures FixtureRows.swift
[57/89] Compiling SalahFixtures PrayerFixtures+Moments.swift
[58/89] Compiling SalahFixtures PrayerFixtures+Places.swift
[59/89] Compiling SalahFixtures PrayerFixtures.swift
[60/89] Compiling SalahTimes Rules.swift
[61/93] Compiling SalahCalculation MethodSuggestion.swift
[62/93] Compiling SalahCalculation CalculationSettings.swift
[63/93] Emitting module SalahCalculation
[64/93] Compiling SalahCalculation CalculationSource.swift
[65/93] Emitting module SalahAlerts
[66/93] Compiling SalahAlerts AlertSettings.swift
[67/93] Compiling SalahAlerts AlertSchedule.swift
[68/93] Compiling SalahAlerts NotificationScheduler.swift
[69/93] Compiling SalahAlerts InProcessAlertEngine.swift
[70/93] Compiling SalahAlerts AlertPlanner.swift
[71/93] Compiling SalahAlerts NotificationIdentity.swift
[72/93] Compiling SalahWidgets resource_bundle_accessor.swift
[73/93] Compiling SalahUI ContrastCheck.swift
[74/93] Compiling SalahUI DisplayContent.swift
[75/93] Emitting module SalahUI
[76/94] Compiling SalahUI ThemeColor.swift
[77/94] Compiling SalahUI ThemeColor+SwiftUI.swift
[78/94] Compiling SalahUI PrayerCountdown.swift
[79/94] Emitting module SalahWidgets
[80/94] Compiling SalahUI PrayerFocus.swift
[81/94] Compiling SalahUI NextPrayerView.swift
[82/94] Compiling SalahWidgets PrayerTimelineState.swift
[83/94] Compiling SalahWidgets PrayerTimelineBuilder+WidgetKit.swift
[84/94] Compiling SalahWidgets PrayerTimelineBuilder.swift
[85/94] Compiling SalahWidgets PrayerTimeline.swift
[86/94] Compiling SalahWidgets SharedValue.swift
[87/94] Compiling SalahWidgets DarwinSignal.swift
[88/94] Compiling SalahUI ListRowContent.swift
[89/94] Compiling SalahUI NextPrayerStyle.swift
[90/94] Compiling SalahUI PrayerRowStyle.swift
[91/94] Compiling SalahUI PrayerTimesList.swift
[92/98] Compiling DarwinSignalHelper main.swift
[93/98] Emitting module DarwinSignalHelper
[93/98] Write Objects.LinkFileList
[95/98] Emitting module SalahUIPreviews
[96/98] Compiling SalahUIPreviews Gallery.swift
[96/98] Linking DarwinSignalHelper
[97/98] Applying DarwinSignalHelper
Build complete! (17.66s)
Fetching https://github.com/salah-kit/SalahTimes.git
[1/667] Fetching salahtimes
Fetched https://github.com/salah-kit/SalahTimes.git from cache (1.10s)
Computing version for https://github.com/salah-kit/SalahTimes.git
Computed https://github.com/salah-kit/SalahTimes.git at 0.1.0 (1.67s)
Creating working copy for https://github.com/salah-kit/SalahTimes.git
Working copy of https://github.com/salah-kit/SalahTimes.git resolved at 0.1.0
Build complete.
{
"default_localization" : "en",
"dependencies" : [
{
"identity" : "salahtimes",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "0.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/salah-kit/SalahTimes.git"
}
],
"manifest_display_name" : "SalahKit",
"name" : "SalahKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SalahCore",
"targets" : [
"SalahCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahCalculation",
"targets" : [
"SalahCalculation"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahFixtures",
"targets" : [
"SalahFixtures"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahAlerts",
"targets" : [
"SalahAlerts"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahWidgets",
"targets" : [
"SalahWidgets"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahUI",
"targets" : [
"SalahUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "DarwinSignalHelper",
"targets" : [
"DarwinSignalHelper"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "SalahWidgetsTests",
"module_type" : "SwiftTarget",
"name" : "SalahWidgetsTests",
"path" : "Tests/SalahWidgetsTests",
"product_dependencies" : [
"SalahTimes"
],
"sources" : [
"DarwinSignalTests.swift",
"LessonsDocumentationExamples.swift",
"PrayerTimelineBuilderTests.swift",
"SevenDayTimelineTests.swift",
"SharedValueTests.swift",
"WidgetHost.swift",
"WidgetsDocumentationExamples.swift",
"WidgetsDocumentationTests.swift"
],
"target_dependencies" : [
"DarwinSignalHelper",
"SalahCalculation",
"SalahCore",
"SalahFixtures",
"SalahUI",
"SalahWidgets"
],
"type" : "test"
},
{
"c99name" : "SalahWidgets",
"module_type" : "SwiftTarget",
"name" : "SalahWidgets",
"path" : "Sources/SalahWidgets",
"product_memberships" : [
"SalahWidgets",
"DarwinSignalHelper"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SalahWidgets/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"DarwinSignal.swift",
"PrayerTimeline.swift",
"PrayerTimelineBuilder+WidgetKit.swift",
"PrayerTimelineBuilder.swift",
"PrayerTimelineState.swift",
"SharedValue.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahUITests",
"module_type" : "SwiftTarget",
"name" : "SalahUITests",
"path" : "Tests/SalahUITests",
"sources" : [
"DisplayContentTests.swift",
"ListRowContentTests.swift",
"MissingRowsRenderingTests.swift",
"NarrowLayoutTests.swift",
"PrayerFocusTests.swift",
"Snapshot.swift",
"SnapshotComparisonTests.swift",
"SnapshotTests.swift",
"ThemeColorTests.swift",
"UIDocumentationExamples.swift",
"UIDocumentationTests.swift"
],
"target_dependencies" : [
"SalahCore",
"SalahFixtures",
"SalahUI",
"SalahUIPreviews"
],
"type" : "test"
},
{
"c99name" : "SalahUIPreviews",
"module_type" : "SwiftTarget",
"name" : "SalahUIPreviews",
"path" : "Sources/SalahUIPreviews",
"sources" : [
"Gallery.swift"
],
"target_dependencies" : [
"SalahCore",
"SalahFixtures",
"SalahUI"
],
"type" : "library"
},
{
"c99name" : "SalahUI",
"module_type" : "SwiftTarget",
"name" : "SalahUI",
"path" : "Sources/SalahUI",
"product_memberships" : [
"SalahUI"
],
"sources" : [
"ContrastCheck.swift",
"Internal/DisplayContent.swift",
"Internal/ListRowContent.swift",
"NextPrayerStyle.swift",
"NextPrayerView.swift",
"PrayerCountdown.swift",
"PrayerFocus.swift",
"PrayerRowStyle.swift",
"PrayerTimesList.swift",
"ThemeColor+SwiftUI.swift",
"ThemeColor.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahFixturesTests",
"module_type" : "SwiftTarget",
"name" : "SalahFixturesTests",
"path" : "Tests/SalahFixturesTests",
"sources" : [
"DocumentationTests.swift",
"FixtureChecks.swift",
"FixtureDataTests.swift",
"MomentTests.swift",
"PlaceCaseTests.swift",
"PlaceCatalogTests.swift"
],
"target_dependencies" : [
"SalahCore",
"SalahFixtures"
],
"type" : "test"
},
{
"c99name" : "SalahFixtures",
"module_type" : "SwiftTarget",
"name" : "SalahFixtures",
"path" : "Sources/SalahFixtures",
"product_memberships" : [
"SalahFixtures"
],
"sources" : [
"FixtureRows.swift",
"PrayerFixtures+Moments.swift",
"PrayerFixtures+Places.swift",
"PrayerFixtures.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahCoreTests",
"module_type" : "SwiftTarget",
"name" : "SalahCoreTests",
"path" : "Tests/SalahCoreTests",
"sources" : [
"CatalogTests.swift",
"DocumentationExamples.swift",
"DocumentationTests.swift",
"DomainTests.swift",
"HijriDateFormatTests.swift",
"LeadTests.swift",
"NonisolatedAPITests.swift",
"PrayerDurationFormatTests.swift",
"PrayerLocaleTests.swift",
"PrayerNamesTests.swift",
"RefreshPlanTests.swift",
"ScheduleTests.swift",
"SourceContractTests.swift",
"VectorTests.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "test"
},
{
"c99name" : "SalahCore",
"module_type" : "SwiftTarget",
"name" : "SalahCore",
"path" : "Sources/SalahCore",
"product_memberships" : [
"SalahCore",
"SalahCalculation",
"SalahFixtures",
"SalahAlerts",
"SalahWidgets",
"SalahUI",
"DarwinSignalHelper"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SalahCore/Resources/Localizable.xcstrings",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Domain/CivilDay.swift",
"Domain/PrayerDay.swift",
"Domain/PrayerEvent.swift",
"Domain/PrayerKind.swift",
"Domain/PrayerLocation.swift",
"Formatting/HijriDateFormat.swift",
"Formatting/PrayerDurationFormat.swift",
"Formatting/PrayerLocale.swift",
"Internal/Gregorian.swift",
"Internal/InstantText.swift",
"Internal/WallTimeResolver.swift",
"Names/PrayerNames.swift",
"Names/StringCatalog.swift",
"Schedule/PrayerSchedule.swift",
"Schedule/RefreshPlan.swift",
"Schedule/ScheduleContext.swift",
"Schedule/ScheduleCoverage.swift",
"Schedule/ScheduleEngine.swift",
"Schedule/ScheduleState.swift",
"Schedule/StatePolicy.swift",
"Sources/IqamaRules.swift",
"Sources/PrayerSource.swift",
"Sources/TimetableSource.swift",
"Sources/WallClockTime.swift"
],
"type" : "library"
},
{
"c99name" : "SalahCalculationTests",
"module_type" : "SwiftTarget",
"name" : "SalahCalculationTests",
"path" : "Tests/SalahCalculationTests",
"product_dependencies" : [
"SalahTimes"
],
"sources" : [
"CalculationDocumentationExamples.swift",
"CalculationDocumentationTests.swift",
"CalculationSettingsTests.swift",
"CalculationSourceTests.swift",
"CalculationVectorTests.swift",
"GoldenTests.swift",
"NonisolatedCalculationAPITests.swift",
"Places.swift",
"PrayerTimesInvarianceTests.swift"
],
"target_dependencies" : [
"SalahCalculation",
"SalahCore"
],
"type" : "test"
},
{
"c99name" : "SalahCalculation",
"module_type" : "SwiftTarget",
"name" : "SalahCalculation",
"path" : "Sources/SalahCalculation",
"product_dependencies" : [
"SalahTimes"
],
"product_memberships" : [
"SalahCalculation"
],
"sources" : [
"CalculationSettings.swift",
"CalculationSource.swift",
"MethodSuggestion.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahAlertsTests",
"module_type" : "SwiftTarget",
"name" : "SalahAlertsTests",
"path" : "Tests/SalahAlertsTests",
"sources" : [
"AlertPlannerTests.swift",
"AlertVectorTests.swift",
"AlertsDocumentationExamples.swift",
"AlertsDocumentationTests.swift",
"CharacterizationPortTests.swift",
"InProcessAlertEngineTests.swift",
"NotificationSchedulerTests.swift",
"ReconciliationVectorTests.swift",
"Support/Fixture.swift",
"Support/JSON.swift",
"Support/ModelCenter.swift"
],
"target_dependencies" : [
"SalahAlerts",
"SalahCalculation",
"SalahCore"
],
"type" : "test"
},
{
"c99name" : "SalahAlerts",
"module_type" : "SwiftTarget",
"name" : "SalahAlerts",
"path" : "Sources/SalahAlerts",
"product_memberships" : [
"SalahAlerts"
],
"sources" : [
"AlertPlanner.swift",
"AlertSchedule.swift",
"AlertSettings.swift",
"InProcessAlertEngine.swift",
"NotificationIdentity.swift",
"NotificationScheduler.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "DarwinSignalHelper",
"module_type" : "SwiftTarget",
"name" : "DarwinSignalHelper",
"path" : "Tests/DarwinSignalHelper",
"product_memberships" : [
"DarwinSignalHelper"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SalahWidgets"
],
"type" : "executable"
}
],
"tools_version" : "6.2"
}
Done.