Build Information
Successful build of PorscheConnect, reference main (a003b1), with Swift 6.4 for macOS (SPM) on 25 Sep 2026 15:13:15 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/dglancy/porsche-connect.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dglancy/porsche-connect
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at a003b19 Merge pull request #168 from wtpalexander/fix-auth
Cloned https://github.com/dglancy/porsche-connect.git
Revision (git rev-parse @):
a003b1997848232be53b0706352c56f5832436ac
SUCCESS checkout https://github.com/dglancy/porsche-connect.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/dglancy/porsche-connect.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 214]
[Planning deferred tasks]
[48 / 96]
[51 / 99] ArgumentParserToolInfo
[55 / 103] ArgumentParserToolInfo
[62 / 104] JWTDecode
[78 / 185]
[82 / 198]
[91 / 198] ArgumentParserToolInfo
[97 / 198]
[101 / 198]
[109 / 198]
[113 / 198]
[119 / 198]
[126 / 198]
[128 / 198]
[130 / 198]
[132 / 198]
[143 / 198] SwiftSoup
[144 / 198] JWTDecode
[146 / 198] JWTDecode
[162 / 198] JWTDecode-product
[163 / 198] JWTDecode-product
[164 / 198] JWTDecode-product
[166 / 198] ArgumentParser-product
[168 / 198] ArgumentParser
[171 / 198] SwiftSoup
[178 / 198] SwiftSoup-product
[179 / 199] ArgumentParser
[187 / 245]
[196 / 245]
[203 / 245]
[208 / 245]
[209 / 245]
[212 / 245]
[216 / 245] SwiftSoup
[217 / 245]
[229 / 245] PorscheConnect
[238 / 246] PorscheConnect
[238 / 246] porsche-product
[246 / 257] porsche-product
[247 / 257] porsche-product
[250 / 257] porsche-product
[251 / 257] PorscheConnect
[255 / 257] porsche-product
Build complete! (13.64 sec)
Fetching https://github.com/auth0/JWTDecode.swift
Fetching https://github.com/envoy/Ambassador.git
Fetching https://github.com/scinfu/SwiftSoup.git
Fetching https://github.com/envoy/Embassy.git
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/mochidev/XCTAsync.git
Fetching https://github.com/SVGKit/SVGKit
[1/2100] Fetching embassy
[43/2929] Fetching embassy, ambassador
[193/21728] Fetching embassy, ambassador, svgkit
[1216/28660] Fetching embassy, ambassador, svgkit, swiftsoup
[3535/28700] Fetching embassy, ambassador, svgkit, swiftsoup, xctasync
[3575/47641] Fetching embassy, ambassador, svgkit, swiftsoup, xctasync, swift-argument-parser
[3912/52010] Fetching embassy, ambassador, svgkit, swiftsoup, xctasync, swift-argument-parser, jwtdecode.swift
Fetched https://github.com/auth0/JWTDecode.swift (2.86s)
[30158/47641] Fetching embassy, ambassador, svgkit, swiftsoup, xctasync, swift-argument-parser
Fetched https://github.com/envoy/Embassy.git (6.15s)
Fetched https://github.com/apple/swift-argument-parser (6.15s)
Fetched https://github.com/envoy/Ambassador.git (6.16s)
Fetched https://github.com/mochidev/XCTAsync.git (6.16s)
Fetched https://github.com/scinfu/SwiftSoup.git (6.16s)
Fetched https://github.com/SVGKit/SVGKit (6.16s)
Computing version for https://github.com/SVGKit/SVGKit
Computed https://github.com/SVGKit/SVGKit at 3.0.0 (6.88s)
Fetching https://github.com/CocoaLumberjack/CocoaLumberjack.git
[1/19151] Fetching cocoalumberjack
Fetched https://github.com/CocoaLumberjack/CocoaLumberjack.git (2.56s)
Computing version for https://github.com/mochidev/XCTAsync.git
Computed https://github.com/mochidev/XCTAsync.git at 1.0.1 (3.24s)
Computing version for https://github.com/envoy/Ambassador.git
Computed https://github.com/envoy/Ambassador.git at 4.0.5 (2.18s)
Computing version for https://github.com/envoy/Embassy.git
Computed https://github.com/envoy/Embassy.git at 4.1.6 (2.15s)
Computing version for https://github.com/auth0/JWTDecode.swift
Computed https://github.com/auth0/JWTDecode.swift at 3.3.0 (0.56s)
Computing version for https://github.com/CocoaLumberjack/CocoaLumberjack.git
Computed https://github.com/CocoaLumberjack/CocoaLumberjack.git at 3.10.0 (0.60s)
Fetching https://github.com/apple/swift-log
[1/8165] Fetching swift-log
Fetched https://github.com/apple/swift-log (7.47s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.15.1 (8.11s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.58s)
Computing version for https://github.com/scinfu/SwiftSoup.git
Computed https://github.com/scinfu/SwiftSoup.git at 2.13.9 (0.55s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/scinfu/SwiftSoup.git
Working copy of https://github.com/scinfu/SwiftSoup.git resolved at 2.13.9
Creating working copy for https://github.com/envoy/Ambassador.git
Working copy of https://github.com/envoy/Ambassador.git resolved at 4.0.5
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.15.1
Creating working copy for https://github.com/SVGKit/SVGKit
Working copy of https://github.com/SVGKit/SVGKit resolved at 3.0.0
Creating working copy for https://github.com/CocoaLumberjack/CocoaLumberjack.git
Working copy of https://github.com/CocoaLumberjack/CocoaLumberjack.git resolved at 3.10.0
Creating working copy for https://github.com/auth0/JWTDecode.swift
Working copy of https://github.com/auth0/JWTDecode.swift resolved at 3.3.0
Creating working copy for https://github.com/mochidev/XCTAsync.git
Working copy of https://github.com/mochidev/XCTAsync.git resolved at 1.0.1
Creating working copy for https://github.com/envoy/Embassy.git
Working copy of https://github.com/envoy/Embassy.git resolved at 4.1.6
/Users/admin/builder/spi-builder-workspace/Sources/PorscheConnect/APIs/PorscheConnect+Summary.swift:45:17: [1;33mwarning: [1;39mvariable 'container' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m43 |[0;0m
[0;36m44 |[0;0m public init(from decoder: any Decoder) throws {
[0;36m45 |[0;0m var container = try decoder.singleValueContainer()
[0;36m|[0;0m `- [1;33mwarning: [1;39mvariable 'container' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m46 |[0;0m let measurements = try container.decode([Measurement].self)
[0;36m47 |[0;0m
[#VariableNeverMutated]: <https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated>
/Users/admin/builder/spi-builder-workspace/Sources/PorscheConnect/APIs/PorscheConnect+Pictures.swift:25:13: [1;33mwarning: [1;39mvariable 'container' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m23 |[0;0m
[0;36m24 |[0;0m public init(from decoder: Decoder) throws {
[0;36m25 |[0;0m var container = try decoder.singleValueContainer()
[0;36m|[0;0m `- [1;33mwarning: [1;39mvariable 'container' was never mutated; consider changing to 'let' constant[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
[0;36m26 |[0;0m self.pictures = try container.decode([Picture].self)
[0;36m27 |[0;0m }
[#VariableNeverMutated]: <https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated>
/Users/admin/builder/spi-builder-workspace/Sources/CommandLineTool/Porsche.swift:8:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'SupportedLocale' to imported protocols 'ExpressibleByArgument', '_SendableMetatype'; this will not behave correctly if the owners of 'PorscheConnect' introduce this conformance in the future[0;0m
[0;36m6 |[0;0m
[0;36m7 |[0;0m // Allow SupportedLocale to be used as a command line option.
[0;36m8 |[0;0m extension SupportedLocale: ExpressibleByArgument {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'SupportedLocale' to imported protocols 'ExpressibleByArgument', '_SendableMetatype'; this will not behave correctly if the owners of 'PorscheConnect' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/CommandLineTool/Porsche.swift:8:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'SupportedLocale' to imported protocols 'ExpressibleByArgument', '_SendableMetatype'; this will not behave correctly if the owners of 'PorscheConnect' introduce this conformance in the future[0;0m
[0;36m6 |[0;0m
[0;36m7 |[0;0m // Allow SupportedLocale to be used as a command line option.
[0;36m8 |[0;0m extension SupportedLocale: ExpressibleByArgument {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'SupportedLocale' to imported protocols 'ExpressibleByArgument', '_SendableMetatype'; this will not behave correctly if the owners of 'PorscheConnect' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m9 |[0;0m }
[0;36m10 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/PorscheConnect/NetworkClient.swift:126:16: [1;33mwarning: [1;39mcapture of 'responseType' with non-Sendable type 'D.Type' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m124 |[0;0m }
[0;36m125 |[0;0m
[0;36m126 |[0;0m switch responseType {
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of 'responseType' with non-Sendable type 'D.Type' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m127 |[0;0m case is String.Type:
[0;36m128 |[0;0m let result = String(data: unwrappedData, encoding: .utf8)! as! D
/Users/admin/builder/spi-builder-workspace/Sources/PorscheConnect/PorscheConnect.swift:103:91: [1;33mwarning: [1;39mimmutable value 'apiKey' was never used; consider replacing with '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m101 |[0;0m _ = try await authIfRequired(application: application)
[0;36m102 |[0;0m
[0;36m103 |[0;0m guard let auth = await authStorage.authentication(for: application.clientId), let apiKey = auth.apiKey else {
[0;36m|[0;0m `- [1;33mwarning: [1;39mimmutable value 'apiKey' was never used; consider replacing with '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m104 |[0;0m throw PorscheConnectError.AuthFailure
[0;36m105 |[0;0m }
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
Build complete.
{
"dependencies" : [
{
"identity" : "embassy",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.6",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/envoy/Embassy.git"
},
{
"identity" : "ambassador",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.5",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/envoy/Ambassador.git"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "xctasync",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/mochidev/XCTAsync.git"
},
{
"identity" : "swiftsoup",
"requirement" : {
"range" : [
{
"lower_bound" : "2.6.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/scinfu/SwiftSoup.git"
},
{
"identity" : "svgkit",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/SVGKit/SVGKit"
},
{
"identity" : "jwtdecode.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "3.2.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/auth0/JWTDecode.swift"
}
],
"manifest_display_name" : "PorscheConnect",
"name" : "PorscheConnect",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "porsche",
"targets" : [
"CommandLineTool"
],
"type" : {
"executable" : null
}
},
{
"name" : "PorscheConnect",
"targets" : [
"PorscheConnect"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "PorscheConnectTests",
"module_type" : "SwiftTarget",
"name" : "PorscheConnectTests",
"path" : "Tests/PorscheConnectTests",
"product_dependencies" : [
"Embassy",
"Ambassador",
"XCTAsync"
],
"sources" : [
"Common/BaseMockNetworkTestCase.swift",
"Common/TestConstants.swift",
"Formatters/DistanceFormatterTests.swift",
"Formatters/GenericValueFormatterTests.swift",
"Formatters/TimestampFormatterTests.swift",
"Foundations/OAuth/OAuthApplicationTests.swift",
"Mock Server Backend/MockNetworkRoutes.swift",
"Mock Server Backend/MockResponseJson.swift",
"Mock Server Backend/MockServer.swift",
"Models/Models+AuthTests.swift",
"Models/Models+CapabilitiesTests.swift",
"Models/Models+DirectCharging.swift",
"Models/Models+EmobilityTests.swift",
"Models/Models+FlashAndHonk.swift",
"Models/Models+LockUnlockTests.swift",
"Models/Models+MaintenanceItemTests.swift",
"Models/Models+PinSecurityChallengeTests.swift",
"Models/Models+Position.swift",
"Models/Models+RemoteCommandAcceptedTests.swift",
"Models/Models+SummaryTests.swift",
"Models/Models+TripTests.swift",
"Models/Models+VehicleTests.swift",
"Networking/NetworkClientTests.swift",
"Networking/NetworkRoutesTests.swift",
"Public/PorscheConnect+AuthTests.swift",
"Public/PorscheConnect+CarControlTests.swift",
"Public/PorscheConnect+Maintenance.swift",
"Public/PorscheConnect+PortalTests.swift",
"Public/PorscheConnect+RemoteCommandStatusTests.swift",
"Public/PorscheConnect+TripsTests.swift",
"Public/PorscheConnectTests.swift"
],
"target_dependencies" : [
"PorscheConnect"
],
"type" : "test"
},
{
"c99name" : "PorscheConnect",
"module_type" : "SwiftTarget",
"name" : "PorscheConnect",
"path" : "Sources/PorscheConnect",
"product_dependencies" : [
"SwiftSoup",
"SVGKitSwift",
"JWTDecode"
],
"product_memberships" : [
"porsche",
"PorscheConnect"
],
"sources" : [
"APIs/PorscheConnect+Auth.swift",
"APIs/PorscheConnect+Capabilities.swift",
"APIs/PorscheConnect+Emobility.swift",
"APIs/PorscheConnect+Maintenance.swift",
"APIs/PorscheConnect+Pictures.swift",
"APIs/PorscheConnect+Position.swift",
"APIs/PorscheConnect+Status.swift",
"APIs/PorscheConnect+Stored.swift",
"APIs/PorscheConnect+Summary.swift",
"APIs/PorscheConnect+Trips.swift",
"APIs/PorscheConnect+Vehicles.swift",
"APIs/RemoteCommands/DirectCharging/PorscheConnect+ToggleDirectCharging.swift",
"APIs/RemoteCommands/DirectClimatisation/PorscheConnect+ToggleDirectClimatisation.swift",
"APIs/RemoteCommands/Flash/PorscheConnect+Flash.swift",
"APIs/RemoteCommands/LockUnlock/PorscheConnect+Lock.swift",
"APIs/RemoteCommands/LockUnlock/PorscheConnect+LockUnlockLastActions.swift",
"APIs/RemoteCommands/LockUnlock/PorscheConnect+Unlock.swift",
"APIs/RemoteCommands/PorscheConnect+RemoteCommandStatus.swift",
"APIs/RemoteCommands/RemoteCommandAccepted.swift",
"APIs/VehicleCommand.swift",
"APIs/VehicleMeasurement.swift",
"APIs/VehicleTripStatistic.swift",
"CommonResponseObjects/Distance.swift",
"CommonResponseObjects/Doors.swift",
"CommonResponseObjects/ElectricEngineConsumption.swift",
"CommonResponseObjects/FuelConsumption.swift",
"CommonResponseObjects/GenericValue.swift",
"CommonResponseObjects/Picture.swift",
"CommonResponseObjects/Pressure.swift",
"CommonResponseObjects/RemainingRanges.swift",
"CommonResponseObjects/ServiceIntervals.swift",
"CommonResponseObjects/Speed.swift",
"CommonResponseObjects/Tires.swift",
"CommonResponseObjects/Windows.swift",
"Constants.swift",
"Environment.swift",
"Formatters/DistanceFormatter.swift",
"Formatters/GenericValueFormatter.swift",
"Formatters/TimestampFormatter.swift",
"Foundations/Extensions/Color+Hex.swift",
"Foundations/Extensions/String+Hex.swift",
"Foundations/Extensions/URL+Params.swift",
"Foundations/HTTP/HttpStatusCode.swift",
"Foundations/OAuth/AuthStoring.swift",
"Foundations/OAuth/OAuthApplication.swift",
"NetworkClient.swift",
"NetworkRoutes.swift",
"PorscheConnect.swift"
],
"type" : "library"
},
{
"c99name" : "CommandLineTool",
"module_type" : "SwiftTarget",
"name" : "CommandLineTool",
"path" : "Sources/CommandLineTool",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"porsche"
],
"sources" : [
"Command+Flash.swift",
"Command+HonkAndFlash.swift",
"Command+ListVehicles.swift",
"Command+Lock.swift",
"Command+ShowCapabilities.swift",
"Command+ShowEmobility.swift",
"Command+ShowMaintenance.swift",
"Command+ShowPosition.swift",
"Command+ShowStatus.swift",
"Command+ShowSummary.swift",
"Command+ShowTrips.swift",
"Command+ToggleDirectCharging.swift",
"Command+ToggleDirectClimatisation.swift",
"Command+Unlock.swift",
"Extensions.swift",
"Porsche.swift"
],
"target_dependencies" : [
"PorscheConnect"
],
"type" : "executable"
}
],
"tools_version" : "5.7"
}
Done.