Build Information
Failed to build Appcast, reference 1.0.0 (9871ef), with Swift 6.3 for Linux on 12 Aug 2026 12:09:55 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344844-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 729ceb5fcd9493dc13ee340bc4f0908bd201f85d
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/slidoapp/Appcast.git
Reference: 1.0.0
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/slidoapp/Appcast
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at 9871eff Appcast v1.0.0 release
Cloned https://github.com/slidoapp/Appcast.git
Revision (git rev-parse @):
9871effb8f3c5cf7820200f112f1a1055d7a786c
SUCCESS checkout https://github.com/slidoapp/Appcast.git at 1.0.0
========================================
Build
========================================
Selected platform: linux
Swift version: 6.3
Building package at path: $PWD
https://github.com/slidoapp/Appcast.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:b82c9ac2aaad9c671b7a7653c8e6eeaf006cac60f6a8910901b9357c067e0892
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/16] Compiling Appcast SUStandardVersionComparator.swift
[4/16] Compiling Appcast SPUAppcastSigningValidationStatus.swift
[5/16] Compiling Appcast SPUDownloadData.swift
[6/16] Compiling Appcast SPUSkippedUpdate.swift
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:235:41: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
233 | }
234 |
235 | func sparkleNamespacedName(of node: XMLNode) -> String? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
236 | // XML namespace prefix is semantically meaningless, so compare namespace URI
237 | // NS URI isn't used to fetch anything, and must match exactly, so we look for http:// not https://
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:252:30: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
250 | static let SUXMLLanguage = "xml:lang"
251 |
252 | func bestNode(in nodes: [XMLNode], name: String) -> XMLNode? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
253 | // We use this method to pick out the localized version of a node when one's available.
254 | if nodes.count == 1 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:252:57: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
250 | static let SUXMLLanguage = "xml:lang"
251 |
252 | func bestNode(in nodes: [XMLNode], name: String) -> XMLNode? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
253 | // We use this method to pick out the localized version of a node when one's available.
254 | if nodes.count == 1 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:287:30: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
285 | typealias AttributesDictionary = [String: String]
286 |
287 | func attributes(of node: XMLNode) -> AttributesDictionary {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
288 | var dictionary = [String: String]()
289 |
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:62:28: error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
60 | self.signingValidationStatus = signingValidationStatus
61 |
62 | let document = try XMLDocument(data: appcastData, options: .nodeLoadExternalEntitiesNever)
| `- error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
63 | let xmlItems = try document.nodes(forXPath: "/rss/channel/item")
64 |
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:62:69: error: cannot infer contextual base in reference to member 'nodeLoadExternalEntitiesNever'
60 | self.signingValidationStatus = signingValidationStatus
61 |
62 | let document = try XMLDocument(data: appcastData, options: .nodeLoadExternalEntitiesNever)
| `- error: cannot infer contextual base in reference to member 'nodeLoadExternalEntitiesNever'
63 | let xmlItems = try document.nodes(forXPath: "/rss/channel/item")
64 |
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:83:39: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
81 | for item in xmlItems {
82 | var dict = SUAppcastItemProperties()
83 | var nodesDict = [String: [XMLNode]]()
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
84 |
85 | if item.childCount > 0 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:131:46: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
129 | // that's a risk we can avoid. We don't use the date anywhere other
130 | // than it being accessible from SUAppcastItem
131 | if let dateString = node.stringValue {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
132 | dict[name] = dateString
133 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:136:47: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
134 | }
135 | else if name == SURSSElement.Description {
136 | if let description = node.stringValue {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
137 | let attributes = self.attributes(of: node)
138 | let descriptionFormat = attributes[SUAppcastAttribute.Format]
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:148:52: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
146 | }
147 | else if name == SUAppcastElement.ReleaseNotesLink {
148 | if let releaseNotesLink = node.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines) {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
149 | let attributes = self.attributes(of: node)
150 | var linkDictionary = AttributesDictionary()
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:148:89: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
146 | }
147 | else if name == SUAppcastElement.ReleaseNotesLink {
148 | if let releaseNotesLink = node.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines) {
| `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
149 | let attributes = self.attributes(of: node)
150 | var linkDictionary = AttributesDictionary()
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:160:44: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
158 | var deltas = [[String: String]]()
159 |
160 | if let children = node.children {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
161 | for child in children {
162 | if child.name == SURSSElement.Enclosure {
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:174:44: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
172 | var tags = [String]()
173 |
174 | if let children = node.children {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
175 | for child in children {
176 | if let childName = child.name {
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:187:44: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
185 | var informationalUpdateVersions = SUAppcastItem.InformationalUpdateType()
186 |
187 | if let children = node.children {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
188 | for child in children {
189 | if child.name == SUAppcastElement.Version {
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:207:47: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
205 | else {
206 | // add all other values as strings
207 | if let stringValue = node.stringValue?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
208 | dict[name] = stringValue
209 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:238:17: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'uri'
236 | // XML namespace prefix is semantically meaningless, so compare namespace URI
237 | // NS URI isn't used to fetch anything, and must match exactly, so we look for http:// not https://
238 | if node.uri == "http://www.andymatuschak.org/xml-namespaces/sparkle" {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'uri'
239 | guard let localName = node.localName else {
240 | return nil
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:239:40: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'localName'
237 | // NS URI isn't used to fetch anything, and must match exactly, so we look for http:// not https://
238 | if node.uri == "http://www.andymatuschak.org/xml-namespaces/sparkle" {
239 | guard let localName = node.localName else {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'localName'
240 | return nil
241 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:247:21: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'name'
245 |
246 | // Backwards compatibility
247 | return node.name
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'name'
248 | }
249 |
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:263:38: warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
261 | var languages = [String]()
262 | for node in nodes {
263 | guard let element = node as? XMLElement else {
| `- warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
264 | continue
265 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:263:42: error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
261 | var languages = [String]()
262 | for node in nodes {
263 | guard let element = node as? XMLElement else {
| `- error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
264 | continue
265 | }
Foundation.XMLElement:2:18: note: 'XMLElement' 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 XMLElement = AnyObject
| `- note: 'XMLElement' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:267:40: error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attribute'
265 | }
266 |
267 | let nodeLanguage = element.attribute(forName: SUAppcast.SUXMLLanguage)?.stringValue ?? ""
| `- error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attribute'
268 | let language = nodeLanguage.isEmpty ? "en" : nodeLanguage
269 | languages.append(language)
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:290:34: warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
288 | var dictionary = [String: String]()
289 |
290 | guard let element = node as? XMLElement else {
| `- warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
291 | return dictionary
292 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:290:38: error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
288 | var dictionary = [String: String]()
289 |
290 | guard let element = node as? XMLElement else {
| `- error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
291 | return dictionary
292 | }
Foundation.XMLElement:2:18: note: 'XMLElement' 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 XMLElement = AnyObject
| `- note: 'XMLElement' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:294:40: error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attributes'
292 | }
293 |
294 | guard let attributes = element.attributes else {
| `- error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attributes'
295 | return dictionary
296 | }
[7/16] Compiling Appcast SUAppcast.swift
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:235:41: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
233 | }
234 |
235 | func sparkleNamespacedName(of node: XMLNode) -> String? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
236 | // XML namespace prefix is semantically meaningless, so compare namespace URI
237 | // NS URI isn't used to fetch anything, and must match exactly, so we look for http:// not https://
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:252:30: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
250 | static let SUXMLLanguage = "xml:lang"
251 |
252 | func bestNode(in nodes: [XMLNode], name: String) -> XMLNode? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
253 | // We use this method to pick out the localized version of a node when one's available.
254 | if nodes.count == 1 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:252:57: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
250 | static let SUXMLLanguage = "xml:lang"
251 |
252 | func bestNode(in nodes: [XMLNode], name: String) -> XMLNode? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
253 | // We use this method to pick out the localized version of a node when one's available.
254 | if nodes.count == 1 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:287:30: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
285 | typealias AttributesDictionary = [String: String]
286 |
287 | func attributes(of node: XMLNode) -> AttributesDictionary {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
288 | var dictionary = [String: String]()
289 |
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:62:28: error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
60 | self.signingValidationStatus = signingValidationStatus
61 |
62 | let document = try XMLDocument(data: appcastData, options: .nodeLoadExternalEntitiesNever)
| `- error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
63 | let xmlItems = try document.nodes(forXPath: "/rss/channel/item")
64 |
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:62:69: error: cannot infer contextual base in reference to member 'nodeLoadExternalEntitiesNever'
60 | self.signingValidationStatus = signingValidationStatus
61 |
62 | let document = try XMLDocument(data: appcastData, options: .nodeLoadExternalEntitiesNever)
| `- error: cannot infer contextual base in reference to member 'nodeLoadExternalEntitiesNever'
63 | let xmlItems = try document.nodes(forXPath: "/rss/channel/item")
64 |
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:83:39: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
81 | for item in xmlItems {
82 | var dict = SUAppcastItemProperties()
83 | var nodesDict = [String: [XMLNode]]()
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
84 |
85 | if item.childCount > 0 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:131:46: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
129 | // that's a risk we can avoid. We don't use the date anywhere other
130 | // than it being accessible from SUAppcastItem
131 | if let dateString = node.stringValue {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
132 | dict[name] = dateString
133 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:136:47: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
134 | }
135 | else if name == SURSSElement.Description {
136 | if let description = node.stringValue {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
137 | let attributes = self.attributes(of: node)
138 | let descriptionFormat = attributes[SUAppcastAttribute.Format]
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:148:52: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
146 | }
147 | else if name == SUAppcastElement.ReleaseNotesLink {
148 | if let releaseNotesLink = node.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines) {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
149 | let attributes = self.attributes(of: node)
150 | var linkDictionary = AttributesDictionary()
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:148:89: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
146 | }
147 | else if name == SUAppcastElement.ReleaseNotesLink {
148 | if let releaseNotesLink = node.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines) {
| `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
149 | let attributes = self.attributes(of: node)
150 | var linkDictionary = AttributesDictionary()
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:160:44: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
158 | var deltas = [[String: String]]()
159 |
160 | if let children = node.children {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
161 | for child in children {
162 | if child.name == SURSSElement.Enclosure {
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:174:44: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
172 | var tags = [String]()
173 |
174 | if let children = node.children {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
175 | for child in children {
176 | if let childName = child.name {
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:187:44: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
185 | var informationalUpdateVersions = SUAppcastItem.InformationalUpdateType()
186 |
187 | if let children = node.children {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'children'
188 | for child in children {
189 | if child.name == SUAppcastElement.Version {
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:207:47: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
205 | else {
206 | // add all other values as strings
207 | if let stringValue = node.stringValue?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'stringValue'
208 | dict[name] = stringValue
209 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:238:17: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'uri'
236 | // XML namespace prefix is semantically meaningless, so compare namespace URI
237 | // NS URI isn't used to fetch anything, and must match exactly, so we look for http:// not https://
238 | if node.uri == "http://www.andymatuschak.org/xml-namespaces/sparkle" {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'uri'
239 | guard let localName = node.localName else {
240 | return nil
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:239:40: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'localName'
237 | // NS URI isn't used to fetch anything, and must match exactly, so we look for http:// not https://
238 | if node.uri == "http://www.andymatuschak.org/xml-namespaces/sparkle" {
239 | guard let localName = node.localName else {
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'localName'
240 | return nil
241 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:247:21: error: value of type 'XMLNode' (aka 'AnyObject') has no member 'name'
245 |
246 | // Backwards compatibility
247 | return node.name
| `- error: value of type 'XMLNode' (aka 'AnyObject') has no member 'name'
248 | }
249 |
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:263:38: warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
261 | var languages = [String]()
262 | for node in nodes {
263 | guard let element = node as? XMLElement else {
| `- warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
264 | continue
265 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:263:42: error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
261 | var languages = [String]()
262 | for node in nodes {
263 | guard let element = node as? XMLElement else {
| `- error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
264 | continue
265 | }
Foundation.XMLElement:2:18: note: 'XMLElement' 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 XMLElement = AnyObject
| `- note: 'XMLElement' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:267:40: error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attribute'
265 | }
266 |
267 | let nodeLanguage = element.attribute(forName: SUAppcast.SUXMLLanguage)?.stringValue ?? ""
| `- error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attribute'
268 | let language = nodeLanguage.isEmpty ? "en" : nodeLanguage
269 | languages.append(language)
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:290:34: warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
288 | var dictionary = [String: String]()
289 |
290 | guard let element = node as? XMLElement else {
| `- warning: conditional cast from 'XMLNode' (aka 'AnyObject') to 'XMLElement' (aka 'AnyObject') always succeeds
291 | return dictionary
292 | }
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:290:38: error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
288 | var dictionary = [String: String]()
289 |
290 | guard let element = node as? XMLElement else {
| `- error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
291 | return dictionary
292 | }
Foundation.XMLElement:2:18: note: 'XMLElement' 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 XMLElement = AnyObject
| `- note: 'XMLElement' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:294:40: error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attributes'
292 | }
293 |
294 | guard let attributes = element.attributes else {
| `- error: value of type 'XMLElement' (aka 'AnyObject') has no member 'attributes'
295 | return dictionary
296 | }
[8/16] Compiling Appcast SUAppcastDriver.swift
[9/16] Compiling Appcast SUAppcastItem.swift
[10/17] Compiling Appcast SUOperatingSystem.swift
[11/17] Compiling Appcast SUSignatures.swift
[12/17] Compiling Appcast SUVersionComparison.swift
[13/17] Compiling Appcast SPUAppcastItemState.swift
[14/17] Compiling Appcast SPUAppcastItemStateResolver.swift
[15/17] Compiling Appcast Appcast.swift
[16/17] Compiling Appcast Constants.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[17/17] Emitting module Appcast
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:235:41: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
233 | }
234 |
235 | func sparkleNamespacedName(of node: XMLNode) -> String? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
236 | // XML namespace prefix is semantically meaningless, so compare namespace URI
237 | // NS URI isn't used to fetch anything, and must match exactly, so we look for http:// not https://
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:252:30: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
250 | static let SUXMLLanguage = "xml:lang"
251 |
252 | func bestNode(in nodes: [XMLNode], name: String) -> XMLNode? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
253 | // We use this method to pick out the localized version of a node when one's available.
254 | if nodes.count == 1 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:252:57: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
250 | static let SUXMLLanguage = "xml:lang"
251 |
252 | func bestNode(in nodes: [XMLNode], name: String) -> XMLNode? {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
253 | // We use this method to pick out the localized version of a node when one's available.
254 | if nodes.count == 1 {
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Appcast/SUAppcast.swift:287:30: error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
285 | typealias AttributesDictionary = [String: String]
286 |
287 | func attributes(of node: XMLNode) -> AttributesDictionary {
| `- error: 'XMLNode' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
288 | var dictionary = [String: String]()
289 |
Foundation.XMLNode:2:18: note: 'XMLNode' 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 XMLNode = AnyObject
| `- note: 'XMLNode' has been explicitly marked unavailable here
BUILD FAILURE 6.3 linux