Build Information
Successful build of SwiftSheets, reference 1.1.1 (1148d9), with Swift 6.3 for macOS (SPM) on 29 Sep 2026 08:15:15 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nanbu/SwiftSheets.git
Reference: 1.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nanbu/SwiftSheets
* tag 1.1.1 -> FETCH_HEAD
HEAD is now at 1148d95 fix: preserve table filters and local names in 1.1.1
Cloned https://github.com/nanbu/SwiftSheets.git
Revision (git rev-parse @):
1148d95ab09be268bff1d382be467cf14d1ac395
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/nanbu/SwiftSheets.git at 1.1.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "swiftsheets",
"name": "SwiftSheets",
"url": "https://github.com/nanbu/SwiftSheets.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftSheets",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/nanbu/SwiftSheets.git
[1/5605] Fetching swiftsheets
Fetched https://github.com/nanbu/SwiftSheets.git from cache (2.61s)
Creating working copy for https://github.com/nanbu/SwiftSheets.git
Working copy of https://github.com/nanbu/SwiftSheets.git resolved at 1.1.1 (1148d95)
warning: '.resolve-product-dependencies': dependency 'swiftsheets' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/nanbu/SwiftSheets.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64
Building for debugging...
[0/15] Copying fonts.json
[1/15] Write sources
[1/15] Copying functions.json
[1/15] Copying constants.json
[1/15] Copying empty.numbers
[6/15] Write sources
[8/15] Copying registry.json
[9/15] Copying schema.json
[9/15] Write sources
[14/15] Write swift-version-69A768CDF2A0BEE1.txt
[16/67] Compiling SheetCore StreamingWriter.swift
[17/67] Compiling SheetCore ByteSource.swift
[18/67] Compiling SheetCore CRC32.swift
[19/67] Compiling SheetCore Deflate.swift
[20/67] Compiling SheetCore Zip.swift
[21/67] Compiling SheetCore ZipInspection.swift
[22/67] Compiling SheetCore StructuredTable.swift
[23/67] Compiling SheetCore Table.swift
[24/67] Compiling SheetCore Workbook.swift
[25/67] Compiling SheetCore DifferentialStyle.swift
[26/67] Compiling SheetCore Fill.swift
[27/72] Emitting module SheetCore
[28/72] Compiling SheetCore CSVOptions.swift
[29/72] Compiling SheetCore CellBudget.swift
[30/72] Compiling SheetCore Codec.swift
[31/72] Compiling SheetCore CodecSet.swift
[32/72] Compiling SheetCore EncryptedInput.swift
[33/72] Compiling SheetCore Inspection.swift
[34/72] Compiling SheetCore Shape.swift
[35/72] Compiling SheetCore Sheet.swift
[36/72] Compiling SheetCore SheetContentState.swift
[37/72] Compiling SheetCore SheetImage.swift
[38/72] Compiling SheetCore Sparkline.swift
[39/72] Compiling SheetCore PreservationStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Codec/PreservationStore.swift:132:42: warning: 'where' only applies to the second pattern match in this 'case'
130 | case _ where path.hasPrefix("xl/theme/"): return themeRead ? nil : .theme
131 | case _ where path.hasPrefix("xl/slicers/") || path.hasPrefix("xl/slicerCaches/"): return .slicer
132 | case "xl/connections.xml", _ where path.hasPrefix("xl/queryTables/") || path.hasPrefix("xl/model/"): return .dataConnection
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
133 | case _ where path.hasPrefix("xl/threadedComments/") || path.hasPrefix("xl/persons/"): return nil // the threads are the model's (B.80)
134 | case _ where path.hasPrefix("xl/comments"): return nil // the notes are the model's
[40/72] Compiling SheetCore PreservationSummary.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Codec/PreservationStore.swift:132:42: warning: 'where' only applies to the second pattern match in this 'case'
130 | case _ where path.hasPrefix("xl/theme/"): return themeRead ? nil : .theme
131 | case _ where path.hasPrefix("xl/slicers/") || path.hasPrefix("xl/slicerCaches/"): return .slicer
132 | case "xl/connections.xml", _ where path.hasPrefix("xl/queryTables/") || path.hasPrefix("xl/model/"): return .dataConnection
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
133 | case _ where path.hasPrefix("xl/threadedComments/") || path.hasPrefix("xl/persons/"): return nil // the threads are the model's (B.80)
134 | case _ where path.hasPrefix("xl/comments"): return nil // the notes are the model's
[41/72] Compiling SheetCore SheetError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Codec/PreservationStore.swift:132:42: warning: 'where' only applies to the second pattern match in this 'case'
130 | case _ where path.hasPrefix("xl/theme/"): return themeRead ? nil : .theme
131 | case _ where path.hasPrefix("xl/slicers/") || path.hasPrefix("xl/slicerCaches/"): return .slicer
132 | case "xl/connections.xml", _ where path.hasPrefix("xl/queryTables/") || path.hasPrefix("xl/model/"): return .dataConnection
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
133 | case _ where path.hasPrefix("xl/threadedComments/") || path.hasPrefix("xl/persons/"): return nil // the threads are the model's (B.80)
134 | case _ where path.hasPrefix("xl/comments"): return nil // the notes are the model's
[42/72] Compiling SheetCore SheetFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Codec/PreservationStore.swift:132:42: warning: 'where' only applies to the second pattern match in this 'case'
130 | case _ where path.hasPrefix("xl/theme/"): return themeRead ? nil : .theme
131 | case _ where path.hasPrefix("xl/slicers/") || path.hasPrefix("xl/slicerCaches/"): return .slicer
132 | case "xl/connections.xml", _ where path.hasPrefix("xl/queryTables/") || path.hasPrefix("xl/model/"): return .dataConnection
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
133 | case _ where path.hasPrefix("xl/threadedComments/") || path.hasPrefix("xl/persons/"): return nil // the threads are the model's (B.80)
134 | case _ where path.hasPrefix("xl/comments"): return nil // the notes are the model's
[43/72] Compiling SheetCore StreamingReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Codec/PreservationStore.swift:132:42: warning: 'where' only applies to the second pattern match in this 'case'
130 | case _ where path.hasPrefix("xl/theme/"): return themeRead ? nil : .theme
131 | case _ where path.hasPrefix("xl/slicers/") || path.hasPrefix("xl/slicerCaches/"): return .slicer
132 | case "xl/connections.xml", _ where path.hasPrefix("xl/queryTables/") || path.hasPrefix("xl/model/"): return .dataConnection
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
133 | case _ where path.hasPrefix("xl/threadedComments/") || path.hasPrefix("xl/persons/"): return nil // the threads are the model's (B.80)
134 | case _ where path.hasPrefix("xl/comments"): return nil // the notes are the model's
[44/72] Compiling SheetCore StreamingRows.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Codec/PreservationStore.swift:132:42: warning: 'where' only applies to the second pattern match in this 'case'
130 | case _ where path.hasPrefix("xl/theme/"): return themeRead ? nil : .theme
131 | case _ where path.hasPrefix("xl/slicers/") || path.hasPrefix("xl/slicerCaches/"): return .slicer
132 | case "xl/connections.xml", _ where path.hasPrefix("xl/queryTables/") || path.hasPrefix("xl/model/"): return .dataConnection
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
133 | case _ where path.hasPrefix("xl/threadedComments/") || path.hasPrefix("xl/persons/"): return nil // the threads are the model's (B.80)
134 | case _ where path.hasPrefix("xl/comments"): return nil // the notes are the model's
[45/72] Compiling SheetCore ZipWriter.swift
[46/72] Compiling SheetCore Primitives.swift
[47/72] Compiling SheetCore FormulaExpr.swift
[48/72] Compiling SheetCore FormulaFunctionNames.swift
[49/72] Compiling SheetCore FormulaParser.swift
[50/72] Compiling SheetCore Autofit.swift
[51/72] Compiling SheetCore Styles.swift
[52/72] Compiling SheetCore Theme.swift
[53/72] Compiling SheetCore SwiftSheetsInfo.swift
[54/72] Compiling SheetCore AtomicFileTarget.swift
[55/72] Compiling SheetCore CivilDate.swift
[56/72] Compiling SheetCore Cell.swift
[57/72] Compiling SheetCore CellRef.swift
[58/72] Compiling SheetCore CellValue.swift
[59/72] Compiling SheetCore Chart.swift
[60/72] Compiling SheetCore ConditionalFormatting.swift
[61/72] Compiling SheetCore CustomProperties.swift
[62/72] Compiling SheetCore DataValidation.swift
[63/72] Compiling SheetCore ExternalLink.swift
[64/72] Compiling SheetCore ODFFeatures.swift
[65/72] Compiling SheetCore PivotTable.swift
[66/72] Compiling SheetCore Protection.swift
[67/72] Compiling SheetCore RangeView.swift
[68/72] Compiling SheetCore SHA512.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Utils/XMLScanner.swift:58:13: warning: variable 'keepFrom' was written to, but never read
56 | var textHasSpecial = false // the run holds an entity or a carriage return
57 | /// Where the next piece has to start: the earliest byte still needed.
58 | var keepFrom = -1
| `- warning: variable 'keepFrom' was written to, but never read
59 | func stopHere(_ at: Int) -> Int {
60 | keepFrom = at
[69/72] Compiling SheetCore TextSpill.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Utils/XMLScanner.swift:58:13: warning: variable 'keepFrom' was written to, but never read
56 | var textHasSpecial = false // the run holds an entity or a carriage return
57 | /// Where the next piece has to start: the earliest byte still needed.
58 | var keepFrom = -1
| `- warning: variable 'keepFrom' was written to, but never read
59 | func stopHere(_ at: Int) -> Int {
60 | keepFrom = at
[70/72] Compiling SheetCore Units.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Utils/XMLScanner.swift:58:13: warning: variable 'keepFrom' was written to, but never read
56 | var textHasSpecial = false // the run holds an entity or a carriage return
57 | /// Where the next piece has to start: the earliest byte still needed.
58 | var keepFrom = -1
| `- warning: variable 'keepFrom' was written to, but never read
59 | func stopHere(_ at: Int) -> Int {
60 | keepFrom = at
[71/72] Compiling SheetCore XML.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Utils/XMLScanner.swift:58:13: warning: variable 'keepFrom' was written to, but never read
56 | var textHasSpecial = false // the run holds an entity or a carriage return
57 | /// Where the next piece has to start: the earliest byte still needed.
58 | var keepFrom = -1
| `- warning: variable 'keepFrom' was written to, but never read
59 | func stopHere(_ at: Int) -> Int {
60 | keepFrom = at
[72/72] Compiling SheetCore XMLScanner.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetCore/Utils/XMLScanner.swift:58:13: warning: variable 'keepFrom' was written to, but never read
56 | var textHasSpecial = false // the run holds an entity or a carriage return
57 | /// Where the next piece has to start: the earliest byte still needed.
58 | var keepFrom = -1
| `- warning: variable 'keepFrom' was written to, but never read
59 | func stopHere(_ at: Int) -> Int {
60 | keepFrom = at
[73/136] Compiling SheetCSV Codec+CSV.swift
[74/136] Compiling SheetXLSX X14ConditionalParts.swift
[75/137] Emitting module SheetNumbers
[76/139] Compiling SheetXLSX XLSXCodec.swift
[77/139] Compiling SheetCSV CSVStreaming.swift
[78/139] Compiling SheetCSV CSVCodec.swift
[79/139] Emitting module SheetCSV
[80/139] Compiling SheetNumbers NumbersReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetODS/ODSStyles.swift:263:29: warning: immutable value 'raw' was never used; consider replacing with '_' or removing it [#no-usage]
261 | /// A named style as a *difference*: only what the style itself states, which is what a conditional format paints.
262 | func differentialStyle(named name: String?) -> DifferentialStyle? {
263 | guard let name, let raw = styles[name] else { return nil }
| `- warning: immutable value 'raw' was never used; consider replacing with '_' or removing it [#no-usage]
264 | var d = DifferentialStyle()
265 | var font = DifferentialFont()
[81/139] Compiling SheetNumbers NumbersResources.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetODS/ODSStyles.swift:263:29: warning: immutable value 'raw' was never used; consider replacing with '_' or removing it [#no-usage]
261 | /// A named style as a *difference*: only what the style itself states, which is what a conditional format paints.
262 | func differentialStyle(named name: String?) -> DifferentialStyle? {
263 | guard let name, let raw = styles[name] else { return nil }
| `- warning: immutable value 'raw' was never used; consider replacing with '_' or removing it [#no-usage]
264 | var d = DifferentialStyle()
265 | var font = DifferentialFont()
[82/139] Compiling SheetODS ODSValidation.swift
[83/140] Compiling SheetNumbers NumbersCodec.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/NumbersDocument.swift:324:13: warning: variable 'zip' was never mutated; consider changing to 'let' constant
322 |
323 | func encoded() -> Data {
324 | var zip = ZipWriter()
| `- warning: variable 'zip' was never mutated; consider changing to 'let' constant
325 | for name in order {
326 | switch files[name] {
[84/140] Compiling SheetNumbers NumbersConditional.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/NumbersDocument.swift:324:13: warning: variable 'zip' was never mutated; consider changing to 'let' constant
322 |
323 | func encoded() -> Data {
324 | var zip = ZipWriter()
| `- warning: variable 'zip' was never mutated; consider changing to 'let' constant
325 | for name in order {
326 | switch files[name] {
[85/140] Compiling SheetNumbers NumbersDocument.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/NumbersDocument.swift:324:13: warning: variable 'zip' was never mutated; consider changing to 'let' constant
322 |
323 | func encoded() -> Data {
324 | var zip = ZipWriter()
| `- warning: variable 'zip' was never mutated; consider changing to 'let' constant
325 | for name in order {
326 | switch files[name] {
[86/140] Compiling SheetNumbers Snappy.swift
[87/140] Compiling SheetNumbers resource_bundle_accessor.swift
[88/140] Compiling SheetNumbers NumbersCanvas.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/NumbersChart.swift:219:38: warning: left side of nil coalescing operator '??' has non-optional type 'String', so the right side is never used
217 | let categoryTexts = categoryCells.map { ref -> String in
218 | guard let v = categories?.table.cells[ref]?.value else { return "" }
219 | return v.stringValue ?? String(describing: v)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'String', so the right side is never used
220 | }
221 |
[89/140] Compiling SheetNumbers NumbersCells.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/NumbersChart.swift:219:38: warning: left side of nil coalescing operator '??' has non-optional type 'String', so the right side is never used
217 | let categoryTexts = categoryCells.map { ref -> String in
218 | guard let v = categories?.table.cells[ref]?.value else { return "" }
219 | return v.stringValue ?? String(describing: v)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'String', so the right side is never used
220 | }
221 |
[90/140] Compiling SheetNumbers NumbersChart.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/NumbersChart.swift:219:38: warning: left side of nil coalescing operator '??' has non-optional type 'String', so the right side is never used
217 | let categoryTexts = categoryCells.map { ref -> String in
218 | guard let v = categories?.table.cells[ref]?.value else { return "" }
219 | return v.stringValue ?? String(describing: v)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'String', so the right side is never used
220 | }
221 |
[91/140] Compiling SheetNumbers CellStorage.swift
[92/140] Compiling SheetNumbers Codec+Numbers.swift
[93/140] Compiling SheetNumbers IWA.swift
[94/140] Compiling SheetNumbers NumbersInspector.swift
[95/140] Compiling SheetNumbers NumbersObjectStore.swift
[97/140] Compiling SheetNumbers NumbersFormula.swift
[104/140] Emitting module SheetODS
[107/140] Compiling SheetNumbers NumbersPivot.swift
[108/140] Compiling SheetNumbers NumbersPrint.swift
[115/140] Compiling SheetODS ODSWriter.swift
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:59: warning: 'where' only applies to the second pattern match in this 'case'
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:14: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:22: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:31: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:38: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:59: warning: 'where' only applies to the second pattern match in this 'case'
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| | | `- warning: 'where' only applies to the second pattern match in this 'case'
| | `- note: disambiguate by adding a line break between them if this is desired
| `- note: duplicate the 'where' on both patterns to check both patterns
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:14: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:22: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:31: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Reader/Parsers.swift:475:38: warning: literal value is already handled by previous pattern; consider removing it
471 | case "patternFill": inPatternFill = false
472 | case "stop": gradientStop = nil
473 | case "left", "right", "top", "bottom", "diagonal": side = ""
| `- note: first occurrence of identical literal pattern is here
474 | case "border" where section == "borders" && depth == 2: borders.append(border)
475 | case "left", "right", "top", "bottom", "diagonal" where section == "dxfs": side = ""
| `- warning: literal value is already handled by previous pattern; consider removing it
476 | case "xf" where section == "cellXfs": if let xf { cellXfs.append(xf) }; xf = nil
477 | case "font" where section == "dxfs": dxf?.font = dxfFont; dxfFont = nil
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Writer/WorkbookWriter.swift:81:13: warning: variable 'archive' was never mutated; consider changing to 'let' constant
79 | guard !wb.sheets.isEmpty else { throw SheetError.invalidWorkbook("a workbook needs at least one sheet") }
80 | let sink = WarningSink()
81 | var archive = ZipWriter()
| `- warning: variable 'archive' was never mutated; consider changing to 'let' constant
82 | let preserved = wb.preserved
83 | let sameFamily = preserved.sourceFormat == .xlsx || preserved.sourceFormat == .xlsm
/Users/admin/builder/spi-builder-workspace/Sources/SheetXLSX/Writer/WorkbookWriter.swift:81:13: warning: variable 'archive' was never mutated; consider changing to 'let' constant
79 | guard !wb.sheets.isEmpty else { throw SheetError.invalidWorkbook("a workbook needs at least one sheet") }
80 | let sink = WarningSink()
81 | var archive = ZipWriter()
| `- warning: variable 'archive' was never mutated; consider changing to 'let' constant
82 | let preserved = wb.preserved
83 | let sameFamily = preserved.sourceFormat == .xlsx || preserved.sourceFormat == .xlsm
[132/140] Emitting module SheetXLSX
[133/140] Compiling SheetNumbers NumbersStyles.swift
[134/140] Compiling SheetNumbers NumbersUUID.swift
[136/140] Compiling SheetNumbers NumbersRichText.swift
[137/140] Compiling SheetNumbers NumbersStreaming.swift
[138/140] Compiling SheetNumbers NumbersStreamingWriter.swift
[139/140] Compiling SheetNumbers NumbersWriter.swift
[140/140] Compiling SheetNumbers Protobuf.swift
[141/144] Compiling SwiftSheets Streaming.swift
[142/144] Compiling SwiftSheets Facade.swift
[143/144] Compiling SwiftSheets StreamingWriter.swift
[144/144] Emitting module SwiftSheets
[145/150] Compiling SheetDecrypt ODSEncryption.swift
[146/150] Compiling SheetDecrypt OOXMLEncryption.swift
[147/150] Compiling SheetDecrypt Decrypt.swift
[148/150] Compiling SheetDecrypt CompoundFile.swift
[149/150] Emitting module SheetDecrypt
[150/150] Compiling SheetDecrypt AES.swift
[151/156] Compiling SheetEncrypt OOXMLEncryption+Encrypt.swift
[152/156] Compiling SheetEncrypt ODSEncryption+Encrypt.swift
[153/156] Compiling SheetEncrypt Encrypt.swift
[154/156] Compiling SheetEncrypt CompoundFile+Write.swift
[155/156] Emitting module SheetEncrypt
[156/156] Compiling SheetEncrypt AES+Encrypt.swift
Build complete! (20.24s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftSheets",
"name" : "SwiftSheets",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "ios",
"version" : "17.0"
}
],
"products" : [
{
"name" : "SheetCore",
"targets" : [
"SheetCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SheetXLSX",
"targets" : [
"SheetXLSX"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SheetCSV",
"targets" : [
"SheetCSV"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SheetODS",
"targets" : [
"SheetODS"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SheetNumbers",
"targets" : [
"SheetNumbers"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwiftSheets",
"targets" : [
"SwiftSheets"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SheetDecrypt",
"targets" : [
"SheetDecrypt"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SheetEncrypt",
"targets" : [
"SheetEncrypt"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftSheetsTests",
"module_type" : "SwiftTarget",
"name" : "SwiftSheetsTests",
"path" : "Tests/SwiftSheetsTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftSheetsTests/Fixtures",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"APIContractTests.swift",
"AutofitTests.swift",
"CSVCodecTests.swift",
"CellLimitTests.swift",
"ChartSheetTests.swift",
"ChartTests.swift",
"CivilDateSerialTests.swift",
"CodecSetTests.swift",
"CommentTests.swift",
"CompressionTests.swift",
"ConditionalExtensionTests.swift",
"ConditionalFormattingTests.swift",
"CoordinateStringTests.swift",
"CrossFormatConversionTests.swift",
"CryptoTests.swift",
"DataValidationChoicesTests.swift",
"DetectionTests.swift",
"DrawingReadTests.swift",
"EncryptedInputTests.swift",
"ErrorClassificationTests.swift",
"ExcelGroundTruthTests.swift",
"ExternalLinkTests.swift",
"FacadeTests.swift",
"FormatSupportTests.swift",
"FormulaCellReadingTests.swift",
"FormulaTests.swift",
"FuriganaTests.swift",
"FuzzTests.swift",
"HotPathEquivalenceTests.swift",
"ImageTests.swift",
"InspectionTests.swift",
"KitchenSinkRepairTests.swift",
"MalformedInputTests.swift",
"ModelTests.swift",
"NamedStyleTests.swift",
"NumberFormatVocabularyTests.swift",
"NumbersArrayFormulaTests.swift",
"NumbersCanvasTests.swift",
"NumbersCategoryFilterTests.swift",
"NumbersChartTests.swift",
"NumbersConditionalTests.swift",
"NumbersControlTests.swift",
"NumbersCrossingTests.swift",
"NumbersFormTests.swift",
"NumbersIWATests.swift",
"NumbersLayoutTests.swift",
"NumbersPivotShapeTests.swift",
"NumbersPopUpMenuTests.swift",
"NumbersPrintTests.swift",
"NumbersProbeTests.swift",
"NumbersReaderTests.swift",
"NumbersRichTextTests.swift",
"NumbersSilentLossTests.swift",
"NumbersStockTests.swift",
"NumbersValuelessCellTests.swift",
"NumbersWriterTests.swift",
"ODFOnlyFeatureTests.swift",
"ODSCodecTests.swift",
"ODSDrawingTests.swift",
"ODSImageTests.swift",
"OpenpyxlInteropTests.swift",
"ParallelReadTests.swift",
"Parity/CellParityTests.swift",
"Parity/OpenpyxlLetters.swift",
"Parity/ReaderParityTests.swift",
"Parity/StylesParityTests.swift",
"Parity/UtilsParityTests.swift",
"Parity/WorkbookParityTests.swift",
"Parity/WorksheetParityTests.swift",
"Parity/WorksheetPartsParityTests.swift",
"Parity/WriterParityTests.swift",
"PivotSpikeTests.swift",
"PivotTableTests.swift",
"PreservationAPITests.swift",
"PreservationInventoryTests.swift",
"PreservationTests.swift",
"PropertyTests.swift",
"ProtectionTests.swift",
"ReaderTests.swift",
"ReservedEnumTests.swift",
"RunHyperlinkTests.swift",
"SchemaClosedValuesTests.swift",
"ShapeTests.swift",
"SharedSpecGapsTests.swift",
"SheetViewTests.swift",
"SnappyFuzzTests.swift",
"SparklineTests.swift",
"StreamingAPITests.swift",
"StreamingFileFormatTests.swift",
"StreamingFormatsTests.swift",
"StreamingSaveTests.swift",
"StreamingTests.swift",
"StreamingWriteFormatsTests.swift",
"StructuredTableTests.swift",
"SurfaceReviewTests.swift",
"TextSpillTests.swift",
"ThemeTests.swift",
"ThreadedCommentTests.swift",
"VerificationSamplesTests.swift",
"WorksheetPartsTests.swift",
"WriterTests.swift",
"XMLScannerTests.swift",
"ZeroCoordinateReadTests.swift",
"ZipTests.swift"
],
"target_dependencies" : [
"SwiftSheets"
],
"type" : "test"
},
{
"c99name" : "SwiftSheets",
"module_type" : "SwiftTarget",
"name" : "SwiftSheets",
"path" : "Sources/SwiftSheets",
"product_memberships" : [
"SwiftSheets",
"SheetDecrypt",
"SheetEncrypt"
],
"sources" : [
"Facade.swift",
"Streaming.swift",
"StreamingWriter.swift"
],
"target_dependencies" : [
"SheetCore",
"SheetXLSX",
"SheetCSV",
"SheetODS",
"SheetNumbers"
],
"type" : "library"
},
{
"c99name" : "SheetXLSX",
"module_type" : "SwiftTarget",
"name" : "SheetXLSX",
"path" : "Sources/SheetXLSX",
"product_memberships" : [
"SheetXLSX",
"SwiftSheets",
"SheetDecrypt",
"SheetEncrypt"
],
"sources" : [
"ChartParts.swift",
"Codec+XLSX.swift",
"CommentParts.swift",
"DrawingParts.swift",
"ExtensionList.swift",
"PivotParts.swift",
"Reader/DrawingReader.swift",
"Reader/Parsers.swift",
"Reader/WorkbookReader.swift",
"Reader/XLSXInspector.swift",
"SparklineParts.swift",
"Streaming.swift",
"ThreadedCommentParts.swift",
"Writer/StylesWriter.swift",
"Writer/Theme.swift",
"Writer/WorkbookWriter.swift",
"X14ConditionalParts.swift",
"XLSXCodec.swift"
],
"target_dependencies" : [
"SheetCore"
],
"type" : "library"
},
{
"c99name" : "SheetODS",
"module_type" : "SwiftTarget",
"name" : "SheetODS",
"path" : "Sources/SheetODS",
"product_memberships" : [
"SheetODS",
"SwiftSheets",
"SheetDecrypt",
"SheetEncrypt"
],
"sources" : [
"Codec+ODS.swift",
"ODSCellText.swift",
"ODSCodec.swift",
"ODSConditionalFormat.swift",
"ODSDataStyle.swift",
"ODSDrawing.swift",
"ODSFeatures.swift",
"ODSInspector.swift",
"ODSLength.swift",
"ODSPageStyles.swift",
"ODSPicture.swift",
"ODSPivot.swift",
"ODSReader.swift",
"ODSStreaming.swift",
"ODSStreamingWriter.swift",
"ODSStyles.swift",
"ODSValidation.swift",
"ODSWriter.swift"
],
"target_dependencies" : [
"SheetCore"
],
"type" : "library"
},
{
"c99name" : "SheetNumbers",
"module_type" : "SwiftTarget",
"name" : "SheetNumbers",
"path" : "Sources/SheetNumbers",
"product_memberships" : [
"SheetNumbers",
"SwiftSheets",
"SheetDecrypt",
"SheetEncrypt"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/Resources/constants.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/Resources/empty.numbers",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/Resources/fonts.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/Resources/functions.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/Resources/registry.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SheetNumbers/Resources/schema.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"CellStorage.swift",
"Codec+Numbers.swift",
"IWA.swift",
"NumbersCanvas.swift",
"NumbersCells.swift",
"NumbersChart.swift",
"NumbersCodec.swift",
"NumbersConditional.swift",
"NumbersDocument.swift",
"NumbersFormula.swift",
"NumbersInspector.swift",
"NumbersObjectStore.swift",
"NumbersPivot.swift",
"NumbersPrint.swift",
"NumbersReader.swift",
"NumbersResources.swift",
"NumbersRichText.swift",
"NumbersStreaming.swift",
"NumbersStreamingWriter.swift",
"NumbersStyles.swift",
"NumbersUUID.swift",
"NumbersWriter.swift",
"Protobuf.swift",
"Snappy.swift"
],
"target_dependencies" : [
"SheetCore"
],
"type" : "library"
},
{
"c99name" : "SheetEncryptTests",
"module_type" : "SwiftTarget",
"name" : "SheetEncryptTests",
"path" : "Tests/SheetEncryptTests",
"sources" : [
"AESTests.swift",
"EncryptionTests.swift"
],
"target_dependencies" : [
"SheetEncrypt"
],
"type" : "test"
},
{
"c99name" : "SheetEncrypt",
"module_type" : "SwiftTarget",
"name" : "SheetEncrypt",
"path" : "Sources/SheetEncrypt",
"product_memberships" : [
"SheetEncrypt"
],
"sources" : [
"AES+Encrypt.swift",
"CompoundFile+Write.swift",
"Encrypt.swift",
"ODSEncryption+Encrypt.swift",
"OOXMLEncryption+Encrypt.swift"
],
"target_dependencies" : [
"SheetDecrypt"
],
"type" : "library"
},
{
"c99name" : "SheetDecryptTests",
"module_type" : "SwiftTarget",
"name" : "SheetDecryptTests",
"path" : "Tests/SheetDecryptTests",
"sources" : [
"DecryptTests.swift"
],
"target_dependencies" : [
"SheetDecrypt"
],
"type" : "test"
},
{
"c99name" : "SheetDecrypt",
"module_type" : "SwiftTarget",
"name" : "SheetDecrypt",
"path" : "Sources/SheetDecrypt",
"product_memberships" : [
"SheetDecrypt",
"SheetEncrypt"
],
"sources" : [
"AES.swift",
"CompoundFile.swift",
"Decrypt.swift",
"ODSEncryption.swift",
"OOXMLEncryption.swift"
],
"target_dependencies" : [
"SwiftSheets"
],
"type" : "library"
},
{
"c99name" : "SheetCore",
"module_type" : "SwiftTarget",
"name" : "SheetCore",
"path" : "Sources/SheetCore",
"product_memberships" : [
"SheetCore",
"SheetXLSX",
"SheetCSV",
"SheetODS",
"SheetNumbers",
"SwiftSheets",
"SheetDecrypt",
"SheetEncrypt"
],
"sources" : [
"Codec/CSVOptions.swift",
"Codec/CellBudget.swift",
"Codec/Codec.swift",
"Codec/CodecSet.swift",
"Codec/EncryptedInput.swift",
"Codec/Inspection.swift",
"Codec/PreservationStore.swift",
"Codec/PreservationSummary.swift",
"Codec/SheetError.swift",
"Codec/SheetFormat.swift",
"Codec/StreamingReader.swift",
"Codec/StreamingRows.swift",
"Codec/StreamingWriter.swift",
"Container/ByteSource.swift",
"Container/CRC32.swift",
"Container/Deflate.swift",
"Container/Zip.swift",
"Container/ZipInspection.swift",
"Container/ZipWriter.swift",
"Crypto/Primitives.swift",
"Formula/FormulaExpr.swift",
"Formula/FormulaFunctionNames.swift",
"Formula/FormulaParser.swift",
"Model/Autofit.swift",
"Model/Cell.swift",
"Model/CellRef.swift",
"Model/CellValue.swift",
"Model/Chart.swift",
"Model/ConditionalFormatting.swift",
"Model/CustomProperties.swift",
"Model/DataValidation.swift",
"Model/ExternalLink.swift",
"Model/ODFFeatures.swift",
"Model/PivotTable.swift",
"Model/Protection.swift",
"Model/RangeView.swift",
"Model/Shape.swift",
"Model/Sheet.swift",
"Model/SheetContentState.swift",
"Model/SheetImage.swift",
"Model/Sparkline.swift",
"Model/StructuredTable.swift",
"Model/Table.swift",
"Model/Workbook.swift",
"Styles/DifferentialStyle.swift",
"Styles/Fill.swift",
"Styles/Styles.swift",
"Styles/Theme.swift",
"SwiftSheetsInfo.swift",
"Utils/AtomicFileTarget.swift",
"Utils/CivilDate.swift",
"Utils/SHA512.swift",
"Utils/TextSpill.swift",
"Utils/Units.swift",
"Utils/XML.swift",
"Utils/XMLScanner.swift"
],
"target_dependencies" : [
"CZlib"
],
"type" : "library"
},
{
"c99name" : "SheetCSV",
"module_type" : "SwiftTarget",
"name" : "SheetCSV",
"path" : "Sources/SheetCSV",
"product_memberships" : [
"SheetCSV",
"SwiftSheets",
"SheetDecrypt",
"SheetEncrypt"
],
"sources" : [
"CSVCodec.swift",
"CSVStreaming.swift",
"Codec+CSV.swift"
],
"target_dependencies" : [
"SheetCore"
],
"type" : "library"
},
{
"c99name" : "PartialLinkTests",
"module_type" : "SwiftTarget",
"name" : "PartialLinkTests",
"path" : "Tests/PartialLinkTests",
"sources" : [
"PartialLinkTests.swift"
],
"target_dependencies" : [
"SheetCore",
"SheetXLSX",
"SheetODS",
"SheetNumbers"
],
"type" : "test"
},
{
"c99name" : "CZlib",
"module_type" : "SystemLibraryTarget",
"name" : "CZlib",
"path" : "Sources/CZlib",
"product_memberships" : [
"SheetCore",
"SheetXLSX",
"SheetCSV",
"SheetODS",
"SheetNumbers",
"SwiftSheets",
"SheetDecrypt",
"SheetEncrypt"
],
"sources" : [
],
"type" : "system-target"
}
],
"tools_version" : "6.2"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/nanbu/swiftsheets/1.1.1
Repository: nanbu/SwiftSheets
Swift version used: 6.3
Target: SwiftSheets
Extracting symbol information for 'SwiftSheets'...
Finished extracting symbol information for 'SwiftSheets'. (28.11s)
Building documentation for 'SwiftSheets'...
warning: 'Workbook' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:43:5-43:13
41 | ### Opening and saving
42 |
43 + - ``Workbook``
44 | - ``ReadOptions``
45 | - ``ReadResult``
warning: 'ReadOptions' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:44:5-44:16
42 |
43 | - ``Workbook``
44 + - ``ReadOptions``
45 | - ``ReadResult``
46 | - ``WriteOptions``
warning: 'ReadResult' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:45:5-45:15
43 | - ``Workbook``
44 | - ``ReadOptions``
45 + - ``ReadResult``
46 | - ``WriteOptions``
47 | - ``WriteResult``
warning: 'WriteOptions' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:46:5-46:17
44 | - ``ReadOptions``
45 | - ``ReadResult``
46 + - ``WriteOptions``
47 | - ``WriteResult``
48 | - ``SheetFormat``
warning: 'WriteResult' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:47:5-47:16
45 | - ``ReadResult``
46 | - ``WriteOptions``
47 + - ``WriteResult``
48 | - ``SheetFormat``
49 | - ``SheetError``
warning: 'SheetFormat' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:48:5-48:16
46 | - ``WriteOptions``
47 | - ``WriteResult``
48 + - ``SheetFormat``
| ╰─suggestion: Replace 'SheetFormat' with 'SheetCore'
49 | - ``SheetError``
50 | - ``ConversionWarning``
warning: 'SheetError' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:49:5-49:15
47 | - ``WriteResult``
48 | - ``SheetFormat``
49 + - ``SheetError``
| ╰─suggestion: Replace 'SheetError' with 'SheetCore'
50 | - ``ConversionWarning``
51 |
warning: 'ConversionWarning' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:50:5-50:22
48 | - ``SheetFormat``
49 | - ``SheetError``
50 + - ``ConversionWarning``
51 |
52 | ### The model
warning: 'Sheet' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:54:5-54:10
52 | ### The model
53 |
54 + - ``Sheet``
| ╰─suggestion: Replace 'Sheet' with 'SheetCore'
55 | - ``Table``
56 | - ``Cell``
warning: 'Table' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:55:5-55:10
53 |
54 | - ``Sheet``
55 + - ``Table``
56 | - ``Cell``
57 | - ``CellValue``
warning: 'Cell' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:56:5-56:9
54 | - ``Sheet``
55 | - ``Table``
56 + - ``Cell``
57 | - ``CellValue``
58 | - ``CellRef``
warning: 'CellValue' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:57:5-57:14
55 | - ``Table``
56 | - ``Cell``
57 + - ``CellValue``
58 | - ``CellRef``
59 | - ``CellRange``
warning: 'CellRef' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:58:5-58:12
56 | - ``Cell``
57 | - ``CellValue``
58 + - ``CellRef``
59 | - ``CellRange``
60 | - ``CellStyle``
warning: 'CellRange' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:59:5-59:14
57 | - ``CellValue``
58 | - ``CellRef``
59 + - ``CellRange``
60 | - ``CellStyle``
61 |
warning: 'CellStyle' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:60:5-60:14
58 | - ``CellRef``
59 | - ``CellRange``
60 + - ``CellStyle``
61 |
62 | ### Row by row
warning: 'StreamingReader' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:64:5-64:20
62 | ### Row by row
63 |
64 + - ``StreamingReader``
65 | - ``StreamingWriter``
66 | - ``CodecSet``
warning: 'StreamingWriter' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:65:5-65:20
63 |
64 | - ``StreamingReader``
65 + - ``StreamingWriter``
66 | - ``CodecSet``
warning: 'CodecSet' doesn't exist at '/SwiftSheets'
--> SwiftSheets.md:66:5-66:13
64 | - ``StreamingReader``
65 | - ``StreamingWriter``
66 + - ``CodecSet``
Finished building documentation for 'SwiftSheets' (0.46s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/nanbu/swiftsheets/1.1.1
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.39s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (3.56s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3832] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.39s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.10s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-69A768CDF2A0BEE1.txt
[6/54] Emitting module SymbolKit
[7/58] Compiling Snippets Snippet.swift
[8/58] Compiling Snippets SnippetLanguage.swift
[9/58] Compiling Snippets SnippetParser.swift
[10/58] Emitting module Snippets
[11/58] Compiling SymbolKit Names.swift
[12/58] Compiling SymbolKit SPI.swift
[13/58] Compiling SymbolKit Snippet.swift
[14/58] Compiling SymbolKit Extension.swift
[15/58] Compiling SymbolKit Identifier.swift
[16/58] Compiling SymbolKit KindIdentifier.swift
[17/58] Compiling SymbolKit Location.swift
[18/58] Compiling SymbolKit Mutability.swift
[19/58] Compiling SymbolKit SourceRange.swift
[20/58] Compiling SymbolKit Metadata.swift
[21/58] Compiling SymbolKit Module.swift
[22/58] Compiling SymbolKit OperatingSystem.swift
[23/58] Compiling SymbolKit Platform.swift
[24/58] Compiling SymbolKit GenericConstraint.swift
[25/58] Compiling SymbolKit GenericParameter.swift
[26/58] Compiling SymbolKit Generics.swift
[27/58] Compiling SymbolKit Namespace.swift
[28/58] Compiling SymbolKit Mixin+Equals.swift
[29/58] Compiling SymbolKit Mixin+Hash.swift
[30/58] Compiling SymbolKit Mixin.swift
[31/58] Compiling SymbolKit LineList.swift
[32/58] Compiling SymbolKit Position.swift
[33/58] Compiling SymbolKit Relationship.swift
[34/58] Compiling SymbolKit RelationshipKind.swift
[35/58] Compiling SymbolKit SourceOrigin.swift
[36/58] Compiling SymbolKit GenericConstraints.swift
[37/58] Compiling SymbolKit Swift.swift
[38/58] Compiling SymbolKit DeclarationFragments.swift
[39/58] Compiling SymbolKit Fragment.swift
[40/58] Compiling SymbolKit FragmentKind.swift
[41/58] Compiling SymbolKit FunctionParameter.swift
[42/58] Compiling SymbolKit FunctionSignature.swift
[43/58] Compiling SymbolKit Symbol.swift
[44/58] Compiling SymbolKit SymbolKind.swift
[45/58] Compiling SymbolKit SymbolGraph.swift
[46/58] Compiling SymbolKit GraphCollector.swift
[47/58] Compiling SymbolKit SemanticVersion.swift
[48/58] Compiling SymbolKit AccessControl.swift
[49/58] Compiling SymbolKit Availability.swift
[50/58] Compiling SymbolKit AvailabilityItem.swift
[51/58] Compiling SymbolKit Domain.swift
[52/58] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[53/58] Compiling SymbolKit UnifiedSymbol.swift
[54/58] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[55/58] Compiling SymbolKit UnifiedSymbolGraph.swift
[56/62] Compiling snippet_extract URL+Status.swift
[57/62] Compiling snippet_extract SnippetBuildCommand.swift
[58/62] Compiling snippet_extract SymbolGraph+Snippet.swift
[59/62] Emitting module snippet_extract
[59/62] Write Objects.LinkFileList
[60/62] Linking snippet-extract-tool
[61/62] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.78s)
Building for debugging...
[0/1] Write swift-version-69A768CDF2A0BEE1.txt
Build of target: 'SwiftSheets' complete! (0.32s)
92
2 /Users/admin/builder/spi-builder-workspace/.docs/nanbu/swiftsheets/1.1.1
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/nanbu/swiftsheets/1.1.1
File count: 92
Doc size: 2.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -nanbu-swiftsheets-1.1.1-b98f5a4b.zip to presigned URL
Starting upload of 398920 bytes...
Upload completed successfully
Done.