Build Information
Failed to build CurrencyConverter, reference 0.2.4 (5ac7d6
), with Swift 6.0 for Linux on 15 Jun 2025 18:18:38 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pixyzehn/currency-converter.git
Reference: 0.2.4
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
* tag 0.2.4 -> FETCH_HEAD
HEAD is now at 5ac7d6b Protect array from concurrent mutations or reads
Cloned https://github.com/pixyzehn/currency-converter.git
Revision (git rev-parse @):
5ac7d6bf004df0c52cb4a1118ce1872ef5b220a8
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/pixyzehn/currency-converter.git at 0.2.4
========================================
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-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:b6b5ca269897060a445977894eeda322d27576a88fe7ac1ad02aed9d137eb478
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2082] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.59s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.4 (2.20s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3411] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.40s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.58s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.4
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/11] Compiling CurrencyConverter XMLParserError.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/11] 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://expenses.cash/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://expenses.cash/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 let resultRatesQueue = DispatchQueue(label: "ReferenceRatesXMLParser.resultRatesQueue")
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:53:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
51 | // MARK: - XMLParserDelegate
52 |
53 | 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.
54 | guard elementName == "Cube", !attributeDict.isEmpty else {
55 | // 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:96:41: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
94 | }
95 |
96 | func parserDidEndDocument(_ parser: XMLParser) {
| `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
97 | if let resultDate = resultDate {
98 | 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:104:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
102 | }
103 |
104 | 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.
105 | callbacks.parseErrorOccurred?(.general(parseError))
106 | }
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
[7/11] 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://expenses.cash/eurofxref/eurofxref.xml")!
5 |
[8/11] Compiling CurrencyConverter SafeCallback.swift
[9/11] 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://expenses.cash/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://expenses.cash/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 let resultRatesQueue = DispatchQueue(label: "ReferenceRatesXMLParser.resultRatesQueue")
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:53:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
51 | // MARK: - XMLParserDelegate
52 |
53 | 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.
54 | guard elementName == "Cube", !attributeDict.isEmpty else {
55 | // 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:96:41: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
94 | }
95 |
96 | func parserDidEndDocument(_ parser: XMLParser) {
| `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
97 | if let resultDate = resultDate {
98 | 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:104:27: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
102 | }
103 |
104 | 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.
105 | callbacks.parseErrorOccurred?(.general(parseError))
106 | }
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:36:18: error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
34 |
35 | init(contentsOf url: URL = defaultXMLURL) {
36 | parser = XMLParser(contentsOf: url)
| `- error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
37 | super.init()
38 | parser?.delegate = self
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:38:17: error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
36 | parser = XMLParser(contentsOf: url)
37 | super.init()
38 | parser?.delegate = self
| `- error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
39 | }
40 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:42:18: error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
40 |
41 | init(data: Data) {
42 | parser = XMLParser(data: data)
| `- error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
43 | super.init()
44 | parser?.delegate = self
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:44:17: error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
42 | parser = XMLParser(data: data)
43 | super.init()
44 | parser?.delegate = self
| `- error: value of type 'XMLParser' (aka 'AnyObject') has no member 'delegate'
45 | }
46 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:48:17: error: value of type 'XMLParser' (aka 'AnyObject') has no member 'parse'
46 |
47 | func parse() {
48 | parser?.parse()
| `- error: value of type 'XMLParser' (aka 'AnyObject') has no member 'parse'
49 | }
50 |
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:80:27: warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
78 | }
79 | case XMLParserKeys.currency.rawValue:
80 | if Locale.isoCurrencyCodes.contains(attribute.value) {
| `- warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead
81 | currencyRate.currencyCode = attribute.value
82 | } else {
[10/11] Compiling CurrencyConverter CurrencyRate.swift
[11/11] 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 {
BUILD FAILURE 6.0 linux