Build Information
Successful build of blue-triangle, reference 3.16.0-beta-1 (02058f), with Swift 6.4 for macOS (SPM) on 23 Sep 2026 14:40:45 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/blue-triangle-tech/btt-swift-sdk.git
Reference: 3.16.0-beta-1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/blue-triangle-tech/btt-swift-sdk
* tag 3.16.0-beta-1 -> FETCH_HEAD
HEAD is now at 02058fe Swift 6 Beta Release (#139)
Cloned https://github.com/blue-triangle-tech/btt-swift-sdk.git
Revision (git rev-parse @):
02058fe29f43e1c2946f77c8710f3b404968d405
SUCCESS checkout https://github.com/blue-triangle-tech/btt-swift-sdk.git at 3.16.0-beta-1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/blue-triangle-tech/btt-swift-sdk.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 155]
[Planning deferred tasks]
[38 / 59] blue-triangle_BlueTriangle
[40 / 59]
[45 / 60] Backtrace
[52 / 73]
[54 / 73]
[57 / 73] AppEventLogger
[68 / 104]
[72 / 104]
[73 / 104]
[85 / 185]
[90 / 185]
[97 / 185]
[108 / 185]
[110 / 185]
[114 / 185]
[119 / 185]
[122 / 185]
[128 / 185]
[131 / 185]
[137 / 185]
[140 / 185]
[142 / 185]
[143 / 185]
[156 / 185]
[158 / 185]
[159 / 185]
[162 / 185]
[164 / 185]
[176 / 185] BlueTriangle
[177 / 185] BlueTriangle
[182 / 185] BlueTriangle
[184 / 185] BlueTriangle
Build complete! (10.82 sec)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future[0;0m
[0;36m7 |[0;0m import Foundation
[0;36m8 |[0;0m
[0;36m9 |[0;0m extension URL: ExpressibleByStringLiteral {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m10 |[0;0m public init(stringLiteral value: StaticString) {
[0;36m11 |[0;0m guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: [1;33mwarning: [1;39m'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m101 |[0;0m
[0;36m102 |[0;0m // Custom Variables
[0;36m103 |[0;0m if let customVars = page.customVariables {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m104 |[0;0m try con.encode(customVars.cv1, forKey: .cv1)
[0;36m105 |[0;0m try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: [1;33mwarning: [1;39m'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m114 |[0;0m }
[0;36m115 |[0;0m
[0;36m116 |[0;0m if let customCats = page.customCategories {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m117 |[0;0m try con.encode(customCats.cv6, forKey: .cv6)
[0;36m118 |[0;0m try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: [1;33mwarning: [1;39m'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m122 |[0;0m }
[0;36m123 |[0;0m
[0;36m124 |[0;0m if let customNums = page.customNumbers {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m125 |[0;0m try con.encode(customNums.cn1, forKey: .cn1)
[0;36m126 |[0;0m try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: [1;33mwarning: [1;39m'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m190 |[0;0m
[0;36m191 |[0;0m // CustomVariables
[0;36m192 |[0;0m let customVariables = CustomVariables(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m193 |[0;0m cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
[0;36m194 |[0;0m cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: [1;33mwarning: [1;39m'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m203 |[0;0m
[0;36m204 |[0;0m // CustomCategories
[0;36m205 |[0;0m let customCategories = CustomCategories(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m206 |[0;0m cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
[0;36m207 |[0;0m cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: [1;33mwarning: [1;39m'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m211 |[0;0m
[0;36m212 |[0;0m // CustomNumbers
[0;36m213 |[0;0m let customNumbers: CustomNumbers?
[0;36m|[0;0m `- [1;33mwarning: [1;39m'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m214 |[0;0m if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
[0;36m215 |[0;0m customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: [1;33mwarning: [1;39m'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m213 |[0;0m let customNumbers: CustomNumbers?
[0;36m214 |[0;0m if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
[0;36m215 |[0;0m customNumbers = CustomNumbers(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m216 |[0;0m cn1: cn1,
[0;36m217 |[0;0m cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: [1;33mwarning: [1;39m'init(pageName:pageTitle:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m239 |[0;0m
[0;36m240 |[0;0m // Page
[0;36m241 |[0;0m self.page = Page(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'init(pageName:pageTitle:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m242 |[0;0m pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
[0;36m243 |[0;0m brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:90:60: [1;33mwarning: [1;39m'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m88 |[0;0m }else{ module = file}
[0;36m89 |[0;0m
[0;36m90 |[0;0m if let dli_sname = info.dli_sname, let sname = String(validatingUTF8: dli_sname) {
[0;36m|[0;0m |- [1;33mwarning: [1;39m'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39muse 'String.init(validatingCString:)' instead[0;0m
[0;36m91 |[0;0m
[0;36m92 |[0;0m line = Int(addrValue - UInt(bitPattern: info.dli_saddr))
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: [1;33mwarning: [1;39mreference to captured var 'self' in concurrently-executing code[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m63 |[0;0m case .TaskStart:
[0;36m64 |[0;0m self?.queue.async {
[0;36m65 |[0;0m if self?._runningTask == nil{
[0;36m|[0;0m `- [1;33mwarning: [1;39mreference to captured var 'self' in concurrently-executing code[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m66 |[0;0m self?._runningTask = ThreadTask(startTime: Date())
[0;36m67 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: [1;33mwarning: [1;39mreference to captured var 'self' in concurrently-executing code[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m64 |[0;0m self?.queue.async {
[0;36m65 |[0;0m if self?._runningTask == nil{
[0;36m66 |[0;0m self?._runningTask = ThreadTask(startTime: Date())
[0;36m|[0;0m `- [1;33mwarning: [1;39mreference to captured var 'self' in concurrently-executing code[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m67 |[0;0m }
[0;36m68 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: [1;33mwarning: [1;39mreference to captured var 'self' in concurrently-executing code[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m69 |[0;0m case .TaskFinish:
[0;36m70 |[0;0m self?.queue.async {
[0;36m71 |[0;0m self?._runningTask = nil
[0;36m|[0;0m `- [1;33mwarning: [1;39mreference to captured var 'self' in concurrently-executing code[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m72 |[0;0m }
[0;36m73 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/NWPathMonitor+Combine.swift:25:34: [1;33mwarning: [1;39mcapture of non-Sendable type 'Target.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m23 |[0;0m func request(_ demand: Subscribers.Demand) {
[0;36m24 |[0;0m monitor.pathUpdateHandler = { [weak self] path in
[0;36m25 |[0;0m guard let self = self else {
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Target.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m26 |[0;0m return
[0;36m27 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future[0;0m
[0;36m7 |[0;0m import Foundation
[0;36m8 |[0;0m
[0;36m9 |[0;0m extension URL: ExpressibleByStringLiteral {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m10 |[0;0m public init(stringLiteral value: StaticString) {
[0;36m11 |[0;0m guard let url = URL(string: "\(value)") else {
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:195:13: [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m193 |[0;0m Task {
[0;36m194 |[0;0m self.syncStoredConfigToSessionAndApply()
[0;36m195 |[0;0m await BlueTriangle.updateCaptureRequests()
[0;36m|[0;0m `- [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m196 |[0;0m await BlueTriangle.updateGroupedViewCaptureRequest()
[0;36m197 |[0;0m await configSyncer.updateAndApplySDKState()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:196:13: [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m194 |[0;0m self.syncStoredConfigToSessionAndApply()
[0;36m195 |[0;0m await BlueTriangle.updateCaptureRequests()
[0;36m196 |[0;0m await BlueTriangle.updateGroupedViewCaptureRequest()
[0;36m|[0;0m `- [1;33mwarning: [1;39mno 'async' operations occur within 'await' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m197 |[0;0m await configSyncer.updateAndApplySDKState()
[0;36m198 |[0;0m }
[#UnnecessaryEffectMarker]: <https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker>
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Device.swift:125:16: [1;33mwarning: [1;39m'init(cString:)' is deprecated: Use String(decoding: array, as: UTF8.self) instead, after truncating the null termination.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m123 |[0;0m var machine = [CChar](repeating: 0, count: Int(size))
[0;36m124 |[0;0m sysctlbyname("hw.machine", &machine, &size, nil, 0)
[0;36m125 |[0;0m return String(cString: machine)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'init(cString:)' is deprecated: Use String(decoding: array, as: UTF8.self) instead, after truncating the null termination.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m126 |[0;0m }
[0;36m127 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Device.swift:133:16: [1;33mwarning: [1;39m'init(cString:)' is deprecated: Use String(decoding: array, as: UTF8.self) instead, after truncating the null termination.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m131 |[0;0m var model = [CChar](repeating: 0, count: size)
[0;36m132 |[0;0m sysctlbyname("hw.model", &model, &size, nil, 0)
[0;36m133 |[0;0m return String(cString: model)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'init(cString:)' is deprecated: Use String(decoding: array, as: UTF8.self) instead, after truncating the null termination.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m134 |[0;0m }
[0;36m135 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "blue-triangle",
"name" : "blue-triangle",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "BlueTriangle",
"targets" : [
"BlueTriangle"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ObjcCompatibilityTests",
"module_type" : "ClangTarget",
"name" : "ObjcCompatibilityTests",
"path" : "Tests/ObjcCompatibilityTests",
"sources" : [
"ObjcCompatibilityTests.m"
],
"target_dependencies" : [
"BlueTriangle"
],
"type" : "test"
},
{
"c99name" : "BlueTriangleTests",
"module_type" : "SwiftTarget",
"name" : "BlueTriangleTests",
"path" : "Tests/BlueTriangleTests",
"sources" : [
"AnyCodableTests.swift",
"App/CollectionViewController.swift",
"App/Extensions/UIColor+Utils.swift",
"App/ImageCell.swift",
"App/Models/Album.swift",
"App/Models/Photo.swift",
"App/Models/SingleSection.swift",
"App/Models/ViewState.swift",
"App/NetworkClientMock.swift",
"BTTConfigurationFetcherTests.swift",
"BTTConfigurationRepoTests.swift",
"BTTConfigurationUpdaterTests.swift",
"BTTimerTests.swift",
"BlueTriangleTests.swift",
"CaptureRateProbabilityTest.swift",
"CaptureTimerManagerTests.swift",
"ContentTypeTests.swift",
"CrashReportManagerTests.swift",
"DeviceTests.swift",
"InitiatorTypeTests.swift",
"Mocks/CaptureTimerManagerMock.swift",
"Mocks/CapturedRequestCollectorMock.swift",
"Mocks/CrashReportPersistenceMock.swift",
"Mocks/LoggerMock.swift",
"Mocks/Mock.swift",
"Mocks/MockBTTConfigurationFetcher.swift",
"Mocks/MockBTTConfigurationRepo.swift",
"Mocks/MockRemoteConfigURL.swift",
"Mocks/PerformanceMonitorMock.swift",
"Mocks/ResourceUsageMock.swift",
"Mocks/SystemLoggerMock.swift",
"Mocks/URLProtocolMock.swift",
"Mocks/UploaderMock.swift",
"NetworkCaptureDelegateTests.swift",
"PersistenceTests.swift",
"RequestCacheTests.swift",
"RequestCollectionTests.swift",
"RequestCollectorTests.swift",
"ResourceUsageTests.swift",
"TimerRequestBuilderTests.swift",
"UploaderTests.swift",
"UtilityTests.swift"
],
"target_dependencies" : [
"BlueTriangle"
],
"type" : "test"
},
{
"c99name" : "BlueTriangle",
"module_type" : "SwiftTarget",
"name" : "BlueTriangle",
"path" : "Sources/BlueTriangle",
"product_memberships" : [
"BlueTriangle"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"AppEventObserver.swift",
"BTLogger.swift",
"BTSignalCrashReporter.swift",
"BTTimer.swift",
"BlueTriangle.swift",
"BlueTriangleConfiguration.swift",
"ClaritySupport/ClaritySessionConnector.swift",
"Constants.swift",
"CrashReportManager.swift",
"CrashReportPersistence.swift",
"Device.swift",
"DisableModeSessionManager.swift",
"DynamicConfig/BTTConfigurationFetcher.swift",
"DynamicConfig/BTTConfigurationRepo.swift",
"DynamicConfig/BTTConfigurationUpdater.swift",
"DynamicConfig/BTTRemoteConfig.swift",
"DynamicConfig/BTTSavedRemoteConfig.swift",
"DynamicConfig/BTTStoredConfigSyncer.swift",
"DynamicConfig/RemoteConfigAckReporter.swift",
"DynamicConfig/SessionStore.swift",
"Extensions/Array+Vitals.swift",
"Extensions/Bool+Utils.swift",
"Extensions/Bundle+Utils.swift",
"Extensions/Data+Utils.swift",
"Extensions/Date+Utils.swift",
"Extensions/HTTPURLResponse+ContentType.swift",
"Extensions/JSONDecoder+Utils.swift",
"Extensions/NSException+Utils.swift",
"Extensions/NSLocking+Utils.swift",
"Extensions/NSNumber+Utils.swift",
"Extensions/NWPathMonitor+Combine.swift",
"Extensions/NotificationName+Platform.swift",
"Extensions/OperatingSystemVersion+Utils.swift",
"Extensions/Publisher+Retry.swift",
"Extensions/Task+Utils.swift",
"Extensions/TimeInterval+Utils.swift",
"Extensions/URL+ExpressibleByStringLiteral.swift",
"Extensions/URLSession+NetworkCapture.swift",
"Extensions/URLSession+Networking.swift",
"Extensions/URLSession+Publisher.swift",
"Extensions/UserDefault+Utils.swift",
"Identifier.swift",
"InternalTimer.swift",
"MetricKit/CrashReportResponse.swift",
"MetricKit/CrashSignal.swift",
"MetricKit/DignosticWatchDog.swift",
"Millisecond.swift",
"Models/AnyCodable.swift",
"Models/CapturedRequest.swift",
"Models/CrashReport.swift",
"Models/CustomCategories.swift",
"Models/CustomNumbers.swift",
"Models/CustomVariables.swift",
"Models/ErrorReport.swift",
"Models/NativeAppProperties.swift",
"Models/Page.swift",
"Models/PageTimeInterval.swift",
"Models/PerformanceReport.swift",
"Models/PurchaseConfirmation.swift",
"Models/ResourceUsageMeasurement.swift",
"Models/Session.swift",
"Models/TimerRequest.swift",
"NetworkCapture/ActionRequestCollection.swift",
"NetworkCapture/ActionRequestCollector.swift",
"NetworkCapture/BTTimerNetStateAccumulator.swift",
"NetworkCapture/CaptureTimerManager.swift",
"NetworkCapture/CapturedActionRequestCollector.swift",
"NetworkCapture/CapturedGroupRequestCollector.swift",
"NetworkCapture/CapturedRequestBuilder.swift",
"NetworkCapture/CapturedRequestCollector.swift",
"NetworkCapture/GroupRequestCollection.swift",
"NetworkCapture/NetworkCaptureConfiguration.swift",
"NetworkCapture/NetworkCaptureTracker.swift",
"NetworkCapture/NetworkStateMonitor.swift",
"NetworkCapture/NetworkTelephonyHandler.swift",
"NetworkCapture/RequestCollection.swift",
"NetworkCaptureSessionDelegate.swift",
"Offline/Payload.swift",
"Offline/PayloadCache.swift",
"Persistence/File.swift",
"Persistence/Persistence.swift",
"Persistence/PersistenceError.swift",
"Persistence/UserLocation.swift",
"Protocols/CaptureTimerManaging.swift",
"Protocols/CapturedActionRequestCollecting.swift",
"Protocols/CapturedGroupRequestCollecting.swift",
"Protocols/CapturedRequestCollecting.swift",
"Protocols/CrashReportManaging.swift",
"Protocols/CrashReportPersisting.swift",
"Protocols/FileLocation.swift",
"Protocols/Logging.swift",
"Protocols/PerformanceMonitoring.swift",
"Protocols/RequestFailureHandling.swift",
"Protocols/ResourceMeasuring.swift",
"Protocols/SystemLogging.swift",
"Protocols/URLRequestConvertible.swift",
"Protocols/Uploading.swift",
"Request.swift",
"RequestCache.swift",
"RequestFailureHandler.swift",
"SessionManager.swift",
"TimerRequestBuilder.swift",
"Uploader.swift",
"Version.swift",
"Vitals/ANR/ANRPerformanceMonitor.swift",
"Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift",
"Vitals/ANR/ANRWatchDog.swift",
"Vitals/ANR/MainThreadObserver.swift",
"Vitals/DispatchSourceTimerPerformanceMonitor.swift",
"Vitals/DisplayLinkPerformanceMonitor.swift",
"Vitals/GroupTracking/BTActionTracker.swift",
"Vitals/GroupTracking/BTGroupTimer.swift",
"Vitals/GroupTracking/BTTimerGroupManager.swift",
"Vitals/Launch/LaunchTimeMonitor.swift",
"Vitals/Launch/LaunchTimeReporter.swift",
"Vitals/Memory/MemoryWarningWatchDog.swift",
"Vitals/PerformanceMonitorBuilder.swift",
"Vitals/ResourceUsage.swift",
"Vitals/RunLoopServices.swift",
"Vitals/ScreenTracker/BTTScreenLifecycleTracker.swift",
"Vitals/ScreenTracker/BTTScreenTracker.swift",
"Vitals/ScreenTracker/BTTWebViewTracker.swift",
"Vitals/ScreenTracker/ViewControllerLifecycleTracker.swift",
"Vitals/ScreenTracker/ViewLifecycleTrackerModifier.swift",
"Vitals/TimerPerformanceMonitor.swift"
],
"target_dependencies" : [
"Backtrace",
"AppEventLogger"
],
"type" : "library"
},
{
"c99name" : "Backtrace",
"module_type" : "ClangTarget",
"name" : "Backtrace",
"path" : "Sources/Backtrace",
"product_memberships" : [
"BlueTriangle"
],
"sources" : [
"backtress_extracter.c"
],
"type" : "library"
},
{
"c99name" : "AppEventLogger",
"module_type" : "ClangTarget",
"name" : "AppEventLogger",
"path" : "Sources/AppEventLogger",
"product_memberships" : [
"BlueTriangle"
],
"sources" : [
"AppNotificationLogger.m",
"NotificationLog.m",
"SignalHandler.m"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Done.