The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build CurrencyConverter, reference main (9bcb65), with Swift 6.2 for Wasm on 20 Oct 2025 01:03:20 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasip1 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.68.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 9bcb65a Update swift-tools-version comment format
Cloned https://github.com/pixyzehn/currency-converter.git
Revision (git rev-parse @):
9bcb65ac4e4dbc9bc7a075a7426a695c0b64102f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/pixyzehn/currency-converter.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.2
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" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasip1 2>&1
wasm-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f6b6b9bdb5d5605d727da337418fc455cd8a0394d3a815b70631008c48829755
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest
warning: multiple Swift SDKs match target triple `wasm32-unknown-wasip1` and host triple x86_64-unknown-linux-gnu, selected one at /root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/swift-sdk.json
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2133] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.92s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.5 (3.19s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3553] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.39s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.22s)
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
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.5
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/11] Compiling CurrencyConverter SafeCallback.swift
[6/11] Compiling CurrencyConverter XMLParserError.swift
[7/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:8:36: error: cannot find 'DispatchQueue' in scope
  6 |     private let parser: XMLParser?
  7 |
  8 |     private let resultRatesQueue = DispatchQueue(label: "ReferenceRatesXMLParser.resultRatesQueue")
    |                                    `- error: cannot find 'DispatchQueue' in scope
  9 |     private var _resultRates: [CurrencyRate] = []
 10 |     private var resultDate: String?
/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 [#DeprecatedDeclaration]
 78 |                 }
 79 |             case XMLParserKeys.currency.rawValue:
 80 |                 if Locale.isoCurrencyCodes.contains(attribute.value) {
    |                           `- warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead [#DeprecatedDeclaration]
 81 |                     currencyRate.currencyCode = attribute.value
 82 |                 } else {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/11] Compiling CurrencyConverter CurrencyRate.swift
[9/11] Compiling CurrencyConverter ReferenceRates.swift
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRates.swift:22:22: warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
23 |             return []
24 |         }
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRates.swift:57:39: warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead [#DeprecatedDeclaration]
55 |         }
56 |
57 |         let isoCurrencyCodes = Locale.isoCurrencyCodes
   |                                       `- warning: 'isoCurrencyCodes' is deprecated: Use `Locale.Currency.isoCurrencies` instead [#DeprecatedDeclaration]
58 |
59 |         guard isoCurrencyCodes.contains(fromCurrencyCode) && isoCurrencyCodes.contains(toCurrencyCode) else {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[10/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:8:36: error: cannot find 'DispatchQueue' in scope
  6 |     private let parser: XMLParser?
  7 |
  8 |     private let resultRatesQueue = DispatchQueue(label: "ReferenceRatesXMLParser.resultRatesQueue")
    |                                    `- error: cannot find 'DispatchQueue' in scope
  9 |     private var _resultRates: [CurrencyRate] = []
 10 |     private var resultDate: String?
/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
[11/11] Compiling CurrencyConverter CurrencyConverter.swift
/host/spi-builder-workspace/Sources/CurrencyConverter/ReferenceRatesXMLParser.swift:8:36: error: cannot find 'DispatchQueue' in scope
  6 |     private let parser: XMLParser?
  7 |
  8 |     private let resultRatesQueue = DispatchQueue(label: "ReferenceRatesXMLParser.resultRatesQueue")
    |                                    `- error: cannot find 'DispatchQueue' in scope
  9 |     private var _resultRates: [CurrencyRate] = []
 10 |     private var resultDate: String?
/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 |
BUILD FAILURE 6.2 wasm