The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build CurrencyConverter, reference main (c6e000), with Swift 6.0 for Linux on 6 Nov 2024 15:21:01 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pixyzehn/currency-converter.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/pixyzehn/currency-converter
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at c6e0008 Fix format
Cloned https://github.com/pixyzehn/currency-converter.git
Revision (git rev-parse @):
c6e0008549e6fcac8a547b48131feae4d58653fb
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/pixyzehn/currency-converter.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/pixyzehn/currency-converter.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/apple/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (0.36s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.3 (1.84s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3154] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.35s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.45s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/10] Compiling CurrencyConverter ReferenceRates.swift
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRates.swift:22:22: warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
20 |     ///     - baseCurrencyCode: The base currency code for the currency rates. The default is "EUR".
21 |     public func rates(amount: Double = 1, baseCurrencyCode: String = "EUR") -> [CurrencyRate] {
22 |         guard Locale.isoCurrencyCodes.contains(baseCurrencyCode) else {
   |                      `- warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
23 |             return []
24 |         }
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRates.swift:57:39: warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
55 |         }
56 |
57 |         let isoCurrencyCodes = Locale.isoCurrencyCodes
   |                                       `- warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
58 |
59 |         guard isoCurrencyCodes.contains(fromCurrencyCode) && isoCurrencyCodes.contains(toCurrencyCode) else {
[6/10] Compiling CurrencyConverter CurrencyConverter.swift
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:3:42: error: cannot find type 'XMLParserDelegate' in scope
 1 | import Foundation
 2 |
 3 | class ReferenceRatesXMLParser: NSObject, XMLParserDelegate {
   |                                          `- error: cannot find type 'XMLParserDelegate' in scope
 4 |     private static let defaultXMLURL = URL(string: "https://getexpenses.app/eurofxref/eurofxref.xml")!
 5 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/10] Emitting module CurrencyConverter
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:3:42: error: cannot find type 'XMLParserDelegate' in scope
 1 | import Foundation
 2 |
 3 | class ReferenceRatesXMLParser: NSObject, XMLParserDelegate {
   |                                          `- error: cannot find type 'XMLParserDelegate' in scope
 4 |     private static let defaultXMLURL = URL(string: "https://getexpenses.app/eurofxref/eurofxref.xml")!
 5 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:6:25: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
 4 |     private static let defaultXMLURL = URL(string: "https://getexpenses.app/eurofxref/eurofxref.xml")!
 5 |
 6 |     private let parser: XMLParser?
   |                         `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
 7 |
 8 |     private var resultDate: String?
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:41:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
39 |     // MARK: - XMLParserDelegate
40 |
41 |     func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String: String] = [:]) {
   |                           `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
42 |         guard elementName == "Cube", !attributeDict.isEmpty else {
43 |             // Skip throwing an error as there will be element names to ignore,
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:84:41: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
82 |     }
83 |
84 |     func parserDidEndDocument(_ parser: XMLParser) {
   |                                         `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
85 |         if let resultDate = resultDate {
86 |             callbacks.parseSucceeded?(.init(date: resultDate, rates: resultRates))
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:92:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
90 |     }
91 |
92 |     func parser(_ parser: XMLParser, parseErrorOccurred parseError: Error) {
   |                           `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
93 |         callbacks.parseErrorOccurred?(.general(parseError))
94 |     }
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
[8/10] Compiling CurrencyConverter CurrencyRate.swift
[9/10] Compiling CurrencyConverter XMLParserError.swift
[10/10] Compiling CurrencyConverter ReferenceRatesXMLParser.swift
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:3:42: error: cannot find type 'XMLParserDelegate' in scope
 1 | import Foundation
 2 |
 3 | class ReferenceRatesXMLParser: NSObject, XMLParserDelegate {
   |                                          `- error: cannot find type 'XMLParserDelegate' in scope
 4 |     private static let defaultXMLURL = URL(string: "https://getexpenses.app/eurofxref/eurofxref.xml")!
 5 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:6:25: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
 4 |     private static let defaultXMLURL = URL(string: "https://getexpenses.app/eurofxref/eurofxref.xml")!
 5 |
 6 |     private let parser: XMLParser?
   |                         `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
 7 |
 8 |     private var resultDate: String?
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:41:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
39 |     // MARK: - XMLParserDelegate
40 |
41 |     func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String: String] = [:]) {
   |                           `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
42 |         guard elementName == "Cube", !attributeDict.isEmpty else {
43 |             // Skip throwing an error as there will be element names to ignore,
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:84:41: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
82 |     }
83 |
84 |     func parserDidEndDocument(_ parser: XMLParser) {
   |                                         `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
85 |         if let resultDate = resultDate {
86 |             callbacks.parseSucceeded?(.init(date: resultDate, rates: resultRates))
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:92:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
90 |     }
91 |
92 |     func parser(_ parser: XMLParser, parseErrorOccurred parseError: Error) {
   |                           `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
93 |         callbacks.parseErrorOccurred?(.general(parseError))
94 |     }
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:24:18: error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
22 |
23 |     init(contentsOf url: URL = defaultXMLURL) {
24 |         parser = XMLParser(contentsOf: url)
   |                  `- error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
25 |         super.init()
26 |         parser?.delegate = self
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:26:17: error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
24 |         parser = XMLParser(contentsOf: url)
25 |         super.init()
26 |         parser?.delegate = self
   |                 `- error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
27 |     }
28 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:30:18: error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 |
29 |     init(data: Data) {
30 |         parser = XMLParser(data: data)
   |                  `- error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |         super.init()
32 |         parser?.delegate = self
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:32:17: error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
30 |         parser = XMLParser(data: data)
31 |         super.init()
32 |         parser?.delegate = self
   |                 `- error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
33 |     }
34 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:36:17: error: value of type 'XMLParser' (aka 'AnyObject') has no member 'parse'
34 |
35 |     func parse() {
36 |         parser?.parse()
   |                 `- error: value of type 'XMLParser' (aka 'AnyObject') has no member 'parse'
37 |     }
38 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:68:27: warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
66 |                 }
67 |             case XMLParserKeys.currency.rawValue:
68 |                 if Locale.isoCurrencyCodes.contains(attribute.value) {
   |                           `- warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
69 |                     currencyRate.currencyCode = attribute.value
70 |                 } else {
BUILD FAILURE 6.0 linux