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 ComicInfo, reference main (81b7a3), with Swift 6.2 for Wasm on 12 Nov 2025 06:58:34 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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/veganstraightedge/ComicInfo.swift.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/veganstraightedge/ComicInfo.swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 81b7a31 Prepare 1.0.1 release
Cloned https://github.com/veganstraightedge/ComicInfo.swift.git
Revision (git rev-parse @):
81b7a31f82aafce3646612a0ce2e3127d17fee83
SUCCESS checkout https://github.com/veganstraightedge/ComicInfo.swift.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/veganstraightedge/ComicInfo.swift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module ComicInfo
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1412:51: error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
1410 |
1411 |     /// Parse Pages element from XML root and return array of Page objects.
1412 |     private static func parsePagesElement(_ root: XMLElement) throws -> [Page] {
     |                                                   `- error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
1413 |       guard let pagesElement = root.elements(forName: "Pages").first else {
1414 |         return []
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
[4/4] Compiling ComicInfo ComicInfo.swift
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1412:51: error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
1410 |
1411 |     /// Parse Pages element from XML root and return array of Page objects.
1412 |     private static func parsePagesElement(_ root: XMLElement) throws -> [Page] {
     |                                                   `- error: 'XMLElement' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
1413 |       guard let pagesElement = root.elements(forName: "Pages").first else {
1414 |         return []
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/ComicInfo/ComicInfo.swift:540:44: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 538 |   public static func load(from url: URL) async throws -> Issue {
 539 |     do {
 540 |       let (data, _) = try await URLSession.shared.data(from: url)
     |                                            `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 541 |       guard let xmlContent = String(data: data, encoding: .utf8) else {
 542 |         throw ComicInfoError.parseError("Could not decode data from URL '\(url)' as UTF-8")
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1041:22: error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1039 |     /// - Throws: ComicInfoError.parseError if XML generation fails
1040 |     public func toXMLString() throws -> String {
1041 |       let document = XMLDocument(kind: .document)
     |                      `- error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1042 |       document.version = "1.0"
1043 |       document.characterEncoding = "utf-8"
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1041:41: error: cannot infer contextual base in reference to member 'document'
1039 |     /// - Throws: ComicInfoError.parseError if XML generation fails
1040 |     public func toXMLString() throws -> String {
1041 |       let document = XMLDocument(kind: .document)
     |                                         `- error: cannot infer contextual base in reference to member 'document'
1042 |       document.version = "1.0"
1043 |       document.characterEncoding = "utf-8"
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1045:18: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1043 |       document.characterEncoding = "utf-8"
1044 |
1045 |       let root = XMLElement(name: "ComicInfo")
     |                  `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1046 |       document.setRootElement(root)
1047 |
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1050:17: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1048 |       // Add schema attributes
1049 |       root.addAttribute(
1050 |         XMLNode.attribute(withName: "xmlns:xsi", stringValue: "http://www.w3.org/2001/XMLSchema-instance") as! XMLNode)
     |                 `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1051 |       root.addAttribute(
1052 |         XMLNode.attribute(withName: "xmlns:xsd", stringValue: "http://www.w3.org/2001/XMLSchema") as! XMLNode)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1052:17: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1050 |         XMLNode.attribute(withName: "xmlns:xsi", stringValue: "http://www.w3.org/2001/XMLSchema-instance") as! XMLNode)
1051 |       root.addAttribute(
1052 |         XMLNode.attribute(withName: "xmlns:xsd", stringValue: "http://www.w3.org/2001/XMLSchema") as! XMLNode)
     |                 `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1053 |
1054 |       // Add all properties in alphabetical order (matching ComicInfo standard)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1056:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1054 |       // Add all properties in alphabetical order (matching ComicInfo standard)
1055 |       if let ageRating = self.ageRating {
1056 |         root.addChild(XMLElement(name: "AgeRating", stringValue: ageRating.stringValue))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1057 |       }
1058 |       if let alternateCount = self.alternateCount {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1059:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1057 |       }
1058 |       if let alternateCount = self.alternateCount {
1059 |         root.addChild(XMLElement(name: "AlternateCount", stringValue: String(alternateCount)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1060 |       }
1061 |       if let alternateNumber = self.alternateNumber {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1062:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1060 |       }
1061 |       if let alternateNumber = self.alternateNumber {
1062 |         root.addChild(XMLElement(name: "AlternateNumber", stringValue: alternateNumber))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1063 |       }
1064 |       if let alternateSeries = self.alternateSeries {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1065:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1063 |       }
1064 |       if let alternateSeries = self.alternateSeries {
1065 |         root.addChild(XMLElement(name: "AlternateSeries", stringValue: alternateSeries))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1066 |       }
1067 |       if let blackAndWhite = self.blackAndWhite {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1068:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1066 |       }
1067 |       if let blackAndWhite = self.blackAndWhite {
1068 |         root.addChild(XMLElement(name: "BlackAndWhite", stringValue: blackAndWhite.stringValue))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1069 |       }
1070 |       if let charactersRawData = self.charactersRawData {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1071:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1069 |       }
1070 |       if let charactersRawData = self.charactersRawData {
1071 |         root.addChild(XMLElement(name: "Characters", stringValue: charactersRawData))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1072 |       }
1073 |       if let colorist = self.colorist {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1074:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1072 |       }
1073 |       if let colorist = self.colorist {
1074 |         root.addChild(XMLElement(name: "Colorist", stringValue: colorist))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1075 |       }
1076 |       if let communityRating = self.communityRating {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1077:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1075 |       }
1076 |       if let communityRating = self.communityRating {
1077 |         root.addChild(XMLElement(name: "CommunityRating", stringValue: String(communityRating)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1078 |       }
1079 |       if let count = self.count {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1080:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1078 |       }
1079 |       if let count = self.count {
1080 |         root.addChild(XMLElement(name: "Count", stringValue: String(count)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1081 |       }
1082 |       if let coverArtist = self.coverArtist {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1083:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1081 |       }
1082 |       if let coverArtist = self.coverArtist {
1083 |         root.addChild(XMLElement(name: "CoverArtist", stringValue: coverArtist))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1084 |       }
1085 |       if let day = self.day {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1086:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1084 |       }
1085 |       if let day = self.day {
1086 |         root.addChild(XMLElement(name: "Day", stringValue: String(day)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1087 |       }
1088 |       if let editor = self.editor {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1089:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1087 |       }
1088 |       if let editor = self.editor {
1089 |         root.addChild(XMLElement(name: "Editor", stringValue: editor))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1090 |       }
1091 |       if let format = self.format {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1092:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1090 |       }
1091 |       if let format = self.format {
1092 |         root.addChild(XMLElement(name: "Format", stringValue: format))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1093 |       }
1094 |       if let genreRawData = self.genreRawData {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1095:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1093 |       }
1094 |       if let genreRawData = self.genreRawData {
1095 |         root.addChild(XMLElement(name: "Genre", stringValue: genreRawData))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1096 |       }
1097 |       if let imprint = self.imprint {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1098:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1096 |       }
1097 |       if let imprint = self.imprint {
1098 |         root.addChild(XMLElement(name: "Imprint", stringValue: imprint))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1099 |       }
1100 |       if let inker = self.inker {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1101:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1099 |       }
1100 |       if let inker = self.inker {
1101 |         root.addChild(XMLElement(name: "Inker", stringValue: inker))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1102 |       }
1103 |       if let languageISO = self.languageISO {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1104:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1102 |       }
1103 |       if let languageISO = self.languageISO {
1104 |         root.addChild(XMLElement(name: "LanguageISO", stringValue: languageISO))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1105 |       }
1106 |       if let letterer = self.letterer {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1107:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1105 |       }
1106 |       if let letterer = self.letterer {
1107 |         root.addChild(XMLElement(name: "Letterer", stringValue: letterer))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1108 |       }
1109 |       if let locationsRawData = self.locationsRawData {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1110:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1108 |       }
1109 |       if let locationsRawData = self.locationsRawData {
1110 |         root.addChild(XMLElement(name: "Locations", stringValue: locationsRawData))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1111 |       }
1112 |       if let mainCharacterOrTeam = self.mainCharacterOrTeam {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1113:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1111 |       }
1112 |       if let mainCharacterOrTeam = self.mainCharacterOrTeam {
1113 |         root.addChild(XMLElement(name: "MainCharacterOrTeam", stringValue: mainCharacterOrTeam))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1114 |       }
1115 |       if let manga = self.manga {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1116:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1114 |       }
1115 |       if let manga = self.manga {
1116 |         root.addChild(XMLElement(name: "Manga", stringValue: manga.stringValue))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1117 |       }
1118 |       if let month = self.month {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1119:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1117 |       }
1118 |       if let month = self.month {
1119 |         root.addChild(XMLElement(name: "Month", stringValue: String(month)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1120 |       }
1121 |       if let notes = self.notes {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1122:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1120 |       }
1121 |       if let notes = self.notes {
1122 |         root.addChild(XMLElement(name: "Notes", stringValue: notes))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1123 |       }
1124 |       if let number = self.number {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1125:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1123 |       }
1124 |       if let number = self.number {
1125 |         root.addChild(XMLElement(name: "Number", stringValue: number))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1126 |       }
1127 |       if let pageCount = self.pageCount {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1128:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1126 |       }
1127 |       if let pageCount = self.pageCount {
1128 |         root.addChild(XMLElement(name: "PageCount", stringValue: String(pageCount)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1129 |       }
1130 |       if let penciller = self.penciller {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1131:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1129 |       }
1130 |       if let penciller = self.penciller {
1131 |         root.addChild(XMLElement(name: "Penciller", stringValue: penciller))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1132 |       }
1133 |       if let publisher = self.publisher {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1134:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1132 |       }
1133 |       if let publisher = self.publisher {
1134 |         root.addChild(XMLElement(name: "Publisher", stringValue: publisher))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1135 |       }
1136 |       if let review = self.review {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1137:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1135 |       }
1136 |       if let review = self.review {
1137 |         root.addChild(XMLElement(name: "Review", stringValue: review))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1138 |       }
1139 |       if let scanInformation = self.scanInformation {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1140:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1138 |       }
1139 |       if let scanInformation = self.scanInformation {
1140 |         root.addChild(XMLElement(name: "ScanInformation", stringValue: scanInformation))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1141 |       }
1142 |       if let series = self.series {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1143:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1141 |       }
1142 |       if let series = self.series {
1143 |         root.addChild(XMLElement(name: "Series", stringValue: series))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1144 |       }
1145 |       if let seriesGroup = self.seriesGroup {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1146:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1144 |       }
1145 |       if let seriesGroup = self.seriesGroup {
1146 |         root.addChild(XMLElement(name: "SeriesGroup", stringValue: seriesGroup))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1147 |       }
1148 |       if let storyArc = self.storyArc {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1149:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1147 |       }
1148 |       if let storyArc = self.storyArc {
1149 |         root.addChild(XMLElement(name: "StoryArc", stringValue: storyArc))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1150 |       }
1151 |       if let storyArcNumber = self.storyArcNumber {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1152:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1150 |       }
1151 |       if let storyArcNumber = self.storyArcNumber {
1152 |         root.addChild(XMLElement(name: "StoryArcNumber", stringValue: storyArcNumber))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1153 |       }
1154 |       if let summary = self.summary {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1155:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1153 |       }
1154 |       if let summary = self.summary {
1155 |         root.addChild(XMLElement(name: "Summary", stringValue: summary))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1156 |       }
1157 |       if let teamsRawData = self.teamsRawData {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1158:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1156 |       }
1157 |       if let teamsRawData = self.teamsRawData {
1158 |         root.addChild(XMLElement(name: "Teams", stringValue: teamsRawData))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1159 |       }
1160 |       if let title = self.title {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1161:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1159 |       }
1160 |       if let title = self.title {
1161 |         root.addChild(XMLElement(name: "Title", stringValue: title))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1162 |       }
1163 |       if let translator = self.translator {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1164:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1162 |       }
1163 |       if let translator = self.translator {
1164 |         root.addChild(XMLElement(name: "Translator", stringValue: translator))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1165 |       }
1166 |       if let volume = self.volume {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1167:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1165 |       }
1166 |       if let volume = self.volume {
1167 |         root.addChild(XMLElement(name: "Volume", stringValue: String(volume)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1168 |       }
1169 |       if let webRawData = self.webRawData {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1170:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1168 |       }
1169 |       if let webRawData = self.webRawData {
1170 |         root.addChild(XMLElement(name: "Web", stringValue: webRawData))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1171 |       }
1172 |       if let writer = self.writer {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1173:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1171 |       }
1172 |       if let writer = self.writer {
1173 |         root.addChild(XMLElement(name: "Writer", stringValue: writer))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1174 |       }
1175 |       if let year = self.year {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1176:23: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1174 |       }
1175 |       if let year = self.year {
1176 |         root.addChild(XMLElement(name: "Year", stringValue: String(year)))
     |                       `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1177 |       }
1178 |
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1181:28: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1179 |       // Add Pages element if there are any pages
1180 |       if !pages.isEmpty {
1181 |         let pagesElement = XMLElement(name: "Pages")
     |                            `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1182 |         for page in pages {
1183 |           let pageElement = XMLElement(name: "Page")
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1183:29: error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1181 |         let pagesElement = XMLElement(name: "Pages")
1182 |         for page in pages {
1183 |           let pageElement = XMLElement(name: "Page")
     |                             `- error: 'XMLElement' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1184 |
1185 |           pageElement.addAttribute(XMLNode.attribute(withName: "Image", stringValue: String(page.image)) as! XMLNode)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1185:44: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1183 |           let pageElement = XMLElement(name: "Page")
1184 |
1185 |           pageElement.addAttribute(XMLNode.attribute(withName: "Image", stringValue: String(page.image)) as! XMLNode)
     |                                            `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1186 |           pageElement.addAttribute(XMLNode.attribute(withName: "Type", stringValue: page.type.stringValue) as! XMLNode)
1187 |
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1186:44: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1184 |
1185 |           pageElement.addAttribute(XMLNode.attribute(withName: "Image", stringValue: String(page.image)) as! XMLNode)
1186 |           pageElement.addAttribute(XMLNode.attribute(withName: "Type", stringValue: page.type.stringValue) as! XMLNode)
     |                                            `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1187 |
1188 |           if page.doublePage {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1189:46: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1187 |
1188 |           if page.doublePage {
1189 |             pageElement.addAttribute(XMLNode.attribute(withName: "DoublePage", stringValue: "true") as! XMLNode)
     |                                              `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1190 |           }
1191 |           if page.imageSize != 0 {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1193:23: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1191 |           if page.imageSize != 0 {
1192 |             pageElement.addAttribute(
1193 |               XMLNode.attribute(withName: "ImageSize", stringValue: String(page.imageSize)) as! XMLNode)
     |                       `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1194 |           }
1195 |           if !page.key.isEmpty {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1196:46: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1194 |           }
1195 |           if !page.key.isEmpty {
1196 |             pageElement.addAttribute(XMLNode.attribute(withName: "Key", stringValue: page.key) as! XMLNode)
     |                                              `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1197 |           }
1198 |           if !page.bookmark.isEmpty {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1199:46: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1197 |           }
1198 |           if !page.bookmark.isEmpty {
1199 |             pageElement.addAttribute(XMLNode.attribute(withName: "Bookmark", stringValue: page.bookmark) as! XMLNode)
     |                                              `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1200 |           }
1201 |           if page.imageWidth != -1 {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1203:23: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1201 |           if page.imageWidth != -1 {
1202 |             pageElement.addAttribute(
1203 |               XMLNode.attribute(withName: "ImageWidth", stringValue: String(page.imageWidth)) as! XMLNode)
     |                       `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1204 |           }
1205 |           if page.imageHeight != -1 {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1207:23: error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1205 |           if page.imageHeight != -1 {
1206 |             pageElement.addAttribute(
1207 |               XMLNode.attribute(withName: "ImageHeight", stringValue: String(page.imageHeight)) as! XMLNode)
     |                       `- error: type 'XMLNode' (aka 'AnyObject') has no member 'attribute'
1208 |           }
1209 |
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1215:49: error: reference to member 'nodePrettyPrint' cannot be resolved without a contextual type
1213 |       }
1214 |
1215 |       let xmlData = document.xmlData(options: [.nodePrettyPrint])
     |                                                 `- error: reference to member 'nodePrettyPrint' cannot be resolved without a contextual type
1216 |       guard let xmlString = String(data: xmlData, encoding: .utf8) else {
1217 |         throw ComicInfoError.parseError("Failed to convert XML data to string")
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1241:21: error: 'XMLDocument' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
1239 |       }
1240 |
1241 |       let document: XMLDocument
     |                     `- error: 'XMLDocument' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
1242 |       do {
1243 |         document = try XMLDocument(data: data, options: [])
Foundation.XMLDocument:2:18: note: 'XMLDocument' 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 XMLDocument = AnyObject
  |                  `- note: 'XMLDocument' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1243:24: error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1241 |       let document: XMLDocument
1242 |       do {
1243 |         document = try XMLDocument(data: data, options: [])
     |                        `- error: 'XMLDocument' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
1244 |       } catch {
1245 |         throw ComicInfoError.parseError("Invalid XML syntax: \(error.localizedDescription)")
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1248:33: error: value of type 'XMLDocument' (aka 'AnyObject') has no member 'rootElement'
1246 |       }
1247 |
1248 |       guard let root = document.rootElement() else {
     |                                 `- error: value of type 'XMLDocument' (aka 'AnyObject') has no member 'rootElement'
1249 |         throw ComicInfoError.parseError("No root element found")
1250 |       }
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1261:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1259 |       let alternateCount = root.elements(forName: "AlternateCount").first?.stringValue.flatMap { Int($0) }
1260 |       let alternateNumber = root.elements(forName: "AlternateNumber").first?.stringValue?.trimmingCharacters(
1261 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1262 |       ).nilIfEmpty
1263 |       let alternateSeries = root.elements(forName: "AlternateSeries").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1264:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1262 |       ).nilIfEmpty
1263 |       let alternateSeries = root.elements(forName: "AlternateSeries").first?.stringValue?.trimmingCharacters(
1264 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1265 |       ).nilIfEmpty
1266 |       let blackAndWhite = try root.elements(forName: "BlackAndWhite").first?.stringValue.map {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1270:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1268 |       }
1269 |       let charactersRawData = root.elements(forName: "Characters").first?.stringValue?.trimmingCharacters(
1270 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1271 |       ).nilIfEmpty
1272 |       let colorist = root.elements(forName: "Colorist").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1272:101: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1270 |         in: .whitespacesAndNewlines
1271 |       ).nilIfEmpty
1272 |       let colorist = root.elements(forName: "Colorist").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                     `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1273 |         .nilIfEmpty
1274 |       let communityRating = try root.elements(forName: "CommunityRating").first?.stringValue.map {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1278:36: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1276 |       }
1277 |       let count = root.elements(forName: "Count").first?.stringValue.map {
1278 |         $0.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                    `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1279 |       }.flatMap { trimmed in
1280 |         trimmed.isEmpty ? nil : Int(trimmed)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1283:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1281 |       }
1282 |       let coverArtist = root.elements(forName: "CoverArtist").first?.stringValue?.trimmingCharacters(
1283 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1284 |       ).nilIfEmpty
1285 |       let day = try root.elements(forName: "Day").first?.stringValue.map {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1289:97: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1287 |         return result == 0 ? nil : result
1288 |       }.flatMap { $0 }
1289 |       let editor = root.elements(forName: "Editor").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1290 |         .nilIfEmpty
1291 |       let format = root.elements(forName: "Format").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1291:97: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1289 |       let editor = root.elements(forName: "Editor").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1290 |         .nilIfEmpty
1291 |       let format = root.elements(forName: "Format").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1292 |         .nilIfEmpty
1293 |       let genreRawData = root.elements(forName: "Genre").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1293:102: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1291 |       let format = root.elements(forName: "Format").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1292 |         .nilIfEmpty
1293 |       let genreRawData = root.elements(forName: "Genre").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                      `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1294 |         .nilIfEmpty
1295 |       let imprint = root.elements(forName: "Imprint").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1295:99: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1293 |       let genreRawData = root.elements(forName: "Genre").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1294 |         .nilIfEmpty
1295 |       let imprint = root.elements(forName: "Imprint").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                   `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1296 |         .nilIfEmpty
1297 |       let inker = root.elements(forName: "Inker").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1297:95: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1295 |       let imprint = root.elements(forName: "Imprint").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1296 |         .nilIfEmpty
1297 |       let inker = root.elements(forName: "Inker").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                               `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1298 |         .nilIfEmpty
1299 |       let languageISO = root.elements(forName: "LanguageISO").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1300:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1298 |         .nilIfEmpty
1299 |       let languageISO = root.elements(forName: "LanguageISO").first?.stringValue?.trimmingCharacters(
1300 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1301 |       ).nilIfEmpty
1302 |       let letterer = root.elements(forName: "Letterer").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1302:101: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1300 |         in: .whitespacesAndNewlines
1301 |       ).nilIfEmpty
1302 |       let letterer = root.elements(forName: "Letterer").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                     `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1303 |         .nilIfEmpty
1304 |       let locationsRawData = root.elements(forName: "Locations").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1305:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1303 |         .nilIfEmpty
1304 |       let locationsRawData = root.elements(forName: "Locations").first?.stringValue?.trimmingCharacters(
1305 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1306 |       ).nilIfEmpty
1307 |       let mainCharacterOrTeam = root.elements(forName: "MainCharacterOrTeam").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1308:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1306 |       ).nilIfEmpty
1307 |       let mainCharacterOrTeam = root.elements(forName: "MainCharacterOrTeam").first?.stringValue?.trimmingCharacters(
1308 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1309 |       ).nilIfEmpty
1310 |       let manga = try root.elements(forName: "Manga").first?.stringValue.map {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1317:95: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1315 |         return result == 0 ? nil : result
1316 |       }.flatMap { $0 }
1317 |       let notes = root.elements(forName: "Notes").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                               `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1318 |         .nilIfEmpty
1319 |       let number = root.elements(forName: "Number").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1319:97: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1317 |       let notes = root.elements(forName: "Notes").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1318 |         .nilIfEmpty
1319 |       let number = root.elements(forName: "Number").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1320 |         .nilIfEmpty
1321 |       let pageCount = root.elements(forName: "PageCount").first?.stringValue.flatMap { Int($0) }
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1322:103: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1320 |         .nilIfEmpty
1321 |       let pageCount = root.elements(forName: "PageCount").first?.stringValue.flatMap { Int($0) }
1322 |       let penciller = root.elements(forName: "Penciller").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                       `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1323 |         .nilIfEmpty
1324 |       let publisher = root.elements(forName: "Publisher").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1324:103: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1322 |       let penciller = root.elements(forName: "Penciller").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1323 |         .nilIfEmpty
1324 |       let publisher = root.elements(forName: "Publisher").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                       `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1325 |         .nilIfEmpty
1326 |       let review = root.elements(forName: "Review").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1326:97: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1324 |       let publisher = root.elements(forName: "Publisher").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1325 |         .nilIfEmpty
1326 |       let review = root.elements(forName: "Review").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1327 |         .nilIfEmpty
1328 |       let scanInformation = root.elements(forName: "ScanInformation").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1329:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1327 |         .nilIfEmpty
1328 |       let scanInformation = root.elements(forName: "ScanInformation").first?.stringValue?.trimmingCharacters(
1329 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1330 |       ).nilIfEmpty
1331 |       let series = root.elements(forName: "Series").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1331:97: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1329 |         in: .whitespacesAndNewlines
1330 |       ).nilIfEmpty
1331 |       let series = root.elements(forName: "Series").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1332 |         .nilIfEmpty
1333 |       let seriesGroup = root.elements(forName: "SeriesGroup").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1334:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1332 |         .nilIfEmpty
1333 |       let seriesGroup = root.elements(forName: "SeriesGroup").first?.stringValue?.trimmingCharacters(
1334 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1335 |       ).nilIfEmpty
1336 |       let storyArc = root.elements(forName: "StoryArc").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1336:101: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1334 |         in: .whitespacesAndNewlines
1335 |       ).nilIfEmpty
1336 |       let storyArc = root.elements(forName: "StoryArc").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                     `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1337 |         .nilIfEmpty
1338 |       let storyArcNumber = root.elements(forName: "StoryArcNumber").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1339:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1337 |         .nilIfEmpty
1338 |       let storyArcNumber = root.elements(forName: "StoryArcNumber").first?.stringValue?.trimmingCharacters(
1339 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1340 |       ).nilIfEmpty
1341 |       let summary = root.elements(forName: "Summary").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1341:99: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1339 |         in: .whitespacesAndNewlines
1340 |       ).nilIfEmpty
1341 |       let summary = root.elements(forName: "Summary").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                   `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1342 |         .nilIfEmpty
1343 |       let teamsRawData = root.elements(forName: "Teams").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1343:102: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1341 |       let summary = root.elements(forName: "Summary").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1342 |         .nilIfEmpty
1343 |       let teamsRawData = root.elements(forName: "Teams").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                      `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1344 |         .nilIfEmpty
1345 |       let title = root.elements(forName: "Title").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1345:95: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1343 |       let teamsRawData = root.elements(forName: "Teams").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1344 |         .nilIfEmpty
1345 |       let title = root.elements(forName: "Title").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                               `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1346 |         .nilIfEmpty
1347 |       let translator = root.elements(forName: "Translator").first?.stringValue?.trimmingCharacters(
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1348:14: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1346 |         .nilIfEmpty
1347 |       let translator = root.elements(forName: "Translator").first?.stringValue?.trimmingCharacters(
1348 |         in: .whitespacesAndNewlines
     |              `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1349 |       ).nilIfEmpty
1350 |       let volume = root.elements(forName: "Volume").first?.stringValue.map {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1351:36: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1349 |       ).nilIfEmpty
1350 |       let volume = root.elements(forName: "Volume").first?.stringValue.map {
1351 |         $0.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                    `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1352 |       }.flatMap { trimmed in
1353 |         trimmed.isEmpty ? nil : Int(trimmed)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1355:98: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1353 |         trimmed.isEmpty ? nil : Int(trimmed)
1354 |       }
1355 |       let webRawData = root.elements(forName: "Web").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                  `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1356 |         .nilIfEmpty
1357 |       let writer = root.elements(forName: "Writer").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1357:97: error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1355 |       let webRawData = root.elements(forName: "Web").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
1356 |         .nilIfEmpty
1357 |       let writer = root.elements(forName: "Writer").first?.stringValue?.trimmingCharacters(in: .whitespacesAndNewlines)
     |                                                                                                 `- error: cannot infer contextual base in reference to member 'whitespacesAndNewlines'
1358 |         .nilIfEmpty
1359 |       let year = try root.elements(forName: "Year").first?.stringValue.map {
/host/spi-builder-workspace/Sources/ComicInfo/ComicInfo.swift:1413:37: error: value of type 'XMLElement' (aka 'AnyObject') has no member 'elements'
1411 |     /// Parse Pages element from XML root and return array of Page objects.
1412 |     private static func parsePagesElement(_ root: XMLElement) throws -> [Page] {
1413 |       guard let pagesElement = root.elements(forName: "Pages").first else {
     |                                     `- error: value of type 'XMLElement' (aka 'AnyObject') has no member 'elements'
1414 |         return []
1415 |       }
BUILD FAILURE 6.2 wasm