The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftText, reference 2.4.0 (15e176), with Swift 6.3 for Linux on 12 Oct 2026 10:44:12 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886768-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Cocoanetics/SwiftText.git
Reference: 2.4.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/Cocoanetics/SwiftText
 * tag               2.4.0      -> FETCH_HEAD
HEAD is now at 15e176a Pages: keep a box's top padding when it opens a page (#117)
Cloned https://github.com/Cocoanetics/SwiftText.git
Revision (git rev-parse @):
15e176a1910ece26c87468e151714f6253a6b385
SUCCESS checkout https://github.com/Cocoanetics/SwiftText.git at 2.4.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/Cocoanetics/SwiftText.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886768-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:3ca70b9b8664d81efdd98fa96053b1e7cad14580e7715018d5ab4380e807ba72
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest
Fetching https://github.com/marcprux/swift-archive.git
Fetching https://github.com/Cocoanetics/XMLKit.git
Fetching https://github.com/swiftlang/swift-markdown.git
Fetching https://github.com/apple/swift-argument-parser
[1/160] Fetching xmlkit
[105/45097] Fetching xmlkit, swift-archive
Fetched https://github.com/Cocoanetics/XMLKit.git from cache (0.37s)
[450/44937] Fetching swift-archive
[8989/52704] Fetching swift-archive, swift-markdown
[13011/71816] Fetching swift-archive, swift-markdown, swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.29s)
Fetched https://github.com/swiftlang/swift-markdown.git from cache (1.75s)
Fetched https://github.com/marcprux/swift-archive.git from cache (1.76s)
Computing version for https://github.com/marcprux/swift-archive.git
Computed https://github.com/marcprux/swift-archive.git at 3.8.9 (1.93s)
Computing version for https://github.com/Cocoanetics/XMLKit.git
Computed https://github.com/Cocoanetics/XMLKit.git at 1.0.1 (0.14s)
Computing version for https://github.com/swiftlang/swift-markdown.git
Computed https://github.com/swiftlang/swift-markdown.git at 0.9.0 (0.19s)
Fetching https://github.com/swiftlang/swift-cmark.git
[1/18633] Fetching swift-cmark
Fetched https://github.com/swiftlang/swift-cmark.git from cache (0.94s)
Computing version for https://github.com/swiftlang/swift-cmark.git
Computed https://github.com/swiftlang/swift-cmark.git at 0.9.0 (1.82s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.14s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/swiftlang/swift-cmark.git
Working copy of https://github.com/swiftlang/swift-cmark.git resolved at 0.9.0
Creating working copy for https://github.com/marcprux/swift-archive.git
Working copy of https://github.com/marcprux/swift-archive.git resolved at 3.8.9
Creating working copy for https://github.com/swiftlang/swift-markdown.git
Working copy of https://github.com/swiftlang/swift-markdown.git resolved at 0.9.0
Creating working copy for https://github.com/Cocoanetics/XMLKit.git
Working copy of https://github.com/Cocoanetics/XMLKit.git resolved at 1.0.1
[1/1] Compiling plugin VersionGeneratorPlugin
[2/2] Compiling plugin GenerateManual
[3/3] Compiling plugin GenerateDoccReference
Building for debugging...
[3/216] Write sources
[10/216] Compiling cmark-gfm-extensions tagfilter.c
[11/216] Compiling cmark-gfm-extensions tasklist.c
[12/216] Compiling cmark-gfm-extensions ext_scanners.c
[13/216] Compiling cmark-gfm-extensions strikethrough.c
[14/216] Compiling cmark-gfm-extensions core-extensions.c
[14/216] Compiling cmark-gfm-extensions autolink.c
[16/216] Write swift-version-24593BA9C3E375BF.txt
[17/216] Compiling cmark-gfm-extensions table.c
[18/216] Compiling cmark-gfm syntax_extension.c
[19/216] Compiling cmark-gfm xml.c
[20/216] Compiling cmark-gfm registry.c
[20/216] Compiling cmark-gfm render.c
[22/216] Compiling cmark-gfm references.c
[23/216] Compiling cmark-gfm plugin.c
[24/227] Compiling cmark-gfm map.c
[25/228] Compiling cmark-gfm plaintext.c
[26/228] Compiling cmark-gfm node.c
[27/228] Compiling cmark-gfm linked_list.c
[28/228] Compiling cmark-gfm utf8.c
[29/228] Compiling cmark-gfm man.c
[29/228] Compiling cmark-gfm iterator.c
[31/228] Compiling cmark-gfm latex.c
[32/228] Compiling cmark-gfm houdini_html_e.c
[33/228] Compiling cmark-gfm html.c
[34/228] Compiling cmark-gfm houdini_href_e.c
[35/228] Compiling cmark-gfm footnotes.c
[36/228] Compiling cmark-gfm inlines.c
[37/228] Compiling cmark-gfm scanners.c
[38/228] Compiling cmark-gfm houdini_html_u.c
[39/228] Compiling cmark-gfm cmark_ctype.c
[40/228] Write sources
[42/228] Compiling cmark-gfm cmark.c
[43/228] Write sources
[44/228] Compiling cmark-gfm commonmark.c
[45/228] Write sources
[49/228] Compiling cmark-gfm buffer.c
[50/228] Write sources
[52/228] Compiling cmark-gfm arena.c
[53/228] Write sources
[56/228] Compiling CAtomic CAtomic.c
[57/228] Compiling CArchive xxhash.c
[58/228] Compiling CArchive filter_fork_windows.c
[59/240] Compiling CArchive filter_fork_posix.c
[60/240] Compiling cmark-gfm blocks.c
[61/240] Compiling CArchive archive_write_set_passphrase.c
[62/240] Compiling CArchive archive_write_set_options.c
[63/240] Compiling CHTMLParser HTMLParserBridge.c
[64/249] Compiling CArchive archive_write_set_format_warc.c
[65/281] Compiling CArchive archive_write_set_format_xar.c
[66/308] Compiling CArchive archive_write_set_format_v7tar.c
[67/308] Compiling CArchive archive_write_set_format_zip.c
[68/308] Compiling CArchive archive_write_set_format_ustar.c
[69/308] Compiling CArchive archive_write_set_format_shar.c
[70/308] Compiling CArchive archive_write_set_format_raw.c
[71/308] Compiling CArchive archive_write_set_format_pax.c
[72/308] Compiling CArchive archive_write_set_format_mtree.c
[73/308] Compiling CArchive archive_write_set_format_gnutar.c
[74/308] Compiling CArchive archive_write_set_format_filter_by_ext.c
[75/308] Compiling CArchive archive_write_set_format_iso9660.c
[76/308] Compiling CArchive archive_write_set_format_cpio_odc.c
[77/308] Compiling CArchive archive_write_set_format_cpio_newc.c
[78/308] Compiling CArchive archive_write_set_format_cpio.c
[79/308] Compiling CArchive archive_write_set_format_cpio_binary.c
[80/308] Compiling CArchive archive_write_set_format_by_name.c
[81/308] Compiling CArchive archive_write_set_format_ar.c
[82/308] Compiling CArchive archive_write_set_format.c
[83/308] Compiling CArchive archive_write_set_format_7zip.c
[84/308] Compiling CArchive archive_write_open_memory.c
[85/308] Compiling CArchive archive_write_open_filename.c
[86/308] Compiling CArchive archive_write_open_file.c
[87/308] Compiling CArchive archive_write_disk_windows.c
[88/308] Compiling CArchive archive_write_open_fd.c
[89/308] Compiling CArchive archive_write_disk_set_standard_lookup.c
[90/308] Compiling CArchive archive_write_disk_posix.c
[91/308] Compiling CArchive archive_write_add_filter_zstd.c
[92/308] Compiling CArchive archive_write_add_filter_xz.c
[93/308] Compiling CArchive archive_write_add_filter_uuencode.c
[94/308] Compiling CArchive archive_write_add_filter_none.c
[95/308] Compiling CArchive archive_write_add_filter_program.c
[96/308] Compiling CArchive archive_write_add_filter_lzop.c
[97/308] Compiling CArchive archive_write_add_filter_lz4.c
[98/308] Compiling CArchive archive_write_add_filter_lrzip.c
[99/308] Compiling CArchive archive_write_add_filter_gzip.c
[100/308] Compiling CArchive archive_write_add_filter_grzip.c
[101/308] Compiling CArchive archive_write_add_filter_compress.c
[102/308] Compiling CArchive archive_write_add_filter_bzip2.c
[103/308] Compiling CArchive archive_write_add_filter_by_name.c
[104/308] Compiling CArchive archive_write_add_filter_b64encode.c
[105/308] Compiling CArchive archive_write_add_filter.c
[106/308] Compiling CArchive archive_windows.c
[107/308] Compiling CArchive archive_write.c
[108/308] Compiling CArchive archive_virtual.c
[109/308] Compiling CArchive archive_version_details.c
[110/308] Compiling CArchive archive_time.c
[111/308] Compiling CArchive archive_util.c
[112/308] Compiling CArchive archive_string_sprintf.c
[113/308] Compiling CArchive archive_read_support_format_zip.c
[114/308] Compiling CArchive archive_read_support_format_xar.c
[115/308] Compiling CArchive archive_read_support_format_warc.c
[116/308] Compiling CArchive archive_read_support_format_tar.c
[117/308] Compiling CArchive archive_string.c
[118/308] Compiling CArchive archive_read_support_format_raw.c
[119/308] Compiling CArchive archive_read_support_format_rar5.c
[120/308] Compiling CArchive archive_read_support_format_rar.c
[121/308] Compiling CArchive archive_read_support_format_mtree.c
[122/308] Compiling CArchive archive_read_support_format_lha.c
[123/308] Compiling CArchive archive_read_support_format_empty.c
[124/308] Compiling CArchive archive_read_support_format_iso9660.c
[126/308] Emitting module Markdown
[126/316] Compiling CArchive archive_read_support_format_cpio.c
[127/316] Compiling CArchive archive_read_support_format_cab.c
[128/316] Compiling CArchive archive_read_support_format_ar.c
[129/316] Compiling CArchive archive_read_support_format_by_code.c
[130/316] Compiling CArchive archive_read_support_format_all.c
[131/316] Compiling CArchive archive_read_support_filter_zstd.c
[132/316] Compiling CArchive archive_read_support_filter_xz.c
[133/316] Compiling CArchive archive_read_support_format_7zip.c
[134/316] Compiling CArchive archive_read_support_filter_uu.c
[135/316] Compiling CArchive archive_read_support_filter_rpm.c
[136/316] Compiling CArchive archive_read_support_filter_none.c
[137/316] Compiling CArchive archive_read_support_filter_program.c
[138/316] Compiling CArchive archive_read_support_filter_lzop.c
[139/316] Compiling CArchive archive_read_support_filter_lz4.c
[140/316] Compiling CArchive archive_read_support_filter_lrzip.c
[141/316] Compiling CArchive archive_read_support_filter_gzip.c
[142/316] Compiling CArchive archive_read_support_filter_grzip.c
[143/316] Compiling CArchive archive_read_support_filter_compress.c
[144/316] Compiling CArchive archive_read_support_filter_by_code.c
[145/316] Compiling CArchive archive_read_support_filter_bzip2.c
[146/316] Compiling CArchive archive_read_support_filter_all.c
[147/316] Compiling CArchive archive_read_set_options.c
[148/316] Compiling CArchive archive_read_set_format.c
[149/316] Compiling CArchive archive_read_open_memory.c
[150/316] Compiling CArchive archive_read_open_file.c
[151/316] Compiling CArchive archive_read_open_filename.c
[152/316] Compiling CArchive archive_read_open_fd.c
[153/316] Compiling CArchive archive_read_extract2.c
[154/316] Compiling CArchive archive_read_disk_windows.c
[155/316] Compiling CArchive archive_read_extract.c
[156/316] Compiling CArchive archive_read_disk_set_standard_lookup.c
[157/316] Compiling CArchive archive_read_disk_entry_from_file.c
[158/316] Compiling CArchive archive_read_data_into_fd.c
[159/316] Compiling CArchive archive_read_disk_posix.c
[160/316] Compiling CArchive archive_read_add_passphrase.c
[161/316] Compiling CArchive archive_read_append_filter.c
[162/316] Compiling CArchive archive_rb.c
[163/316] Compiling CArchive archive_read.c
[164/316] Compiling CArchive archive_random.c
[165/316] Compiling CArchive archive_ppmd8.c
[166/316] Compiling CArchive archive_ppmd7.c
[167/316] Compiling CArchive archive_pathmatch.c
[168/316] Compiling CArchive archive_pack_dev.c
[169/316] Compiling CArchive archive_parse_date.c
[170/316] Compiling CArchive archive_options.c
[171/316] Compiling CArchive archive_match.c
[172/316] Compiling CArchive archive_entry_xattr.c
[173/316] Compiling CArchive archive_hmac.c
[174/316] Compiling CArchive archive_entry_strmode.c
[175/316] Compiling CArchive archive_entry_stat.c
[176/316] Compiling CArchive archive_entry_sparse.c
[177/316] Compiling CArchive archive_entry_copy_stat.c
[178/316] Compiling CArchive archive_entry_link_resolver.c
[179/316] Compiling CArchive archive_entry_copy_bhfi.c
[180/316] Compiling CArchive archive_disk_acl_sunos.c
[181/316] Compiling CArchive archive_disk_acl_linux.c
[182/316] Compiling CArchive archive_disk_acl_freebsd.c
[183/316] Compiling CArchive archive_disk_acl_darwin.c
[184/316] Compiling CArchive archive_entry.c
[185/316] Compiling CArchive archive_digest.c
[186/316] Compiling CArchive archive_cmdline.c
[187/316] Compiling CArchive archive_cryptor.c
[188/316] Compiling CArchive archive_blake2sp_ref.c
[189/316] Compiling CArchive archive_check_magic.c
[190/316] Compiling CArchive archive_acl.c
[191/316] Write sources
[192/316] Compiling CArchive archive_blake2s_ref.c
[193/316] Write sources
[196/321] Compiling Markdown Link.swift
[197/321] Compiling Markdown Strikethrough.swift
[198/321] Compiling Markdown Strong.swift
[199/321] Compiling Markdown CustomInline.swift
[200/321] Compiling Markdown InlineCode.swift
[201/321] Compiling Markdown InlineHTML.swift
[202/321] Compiling Markdown LineBreak.swift
[203/321] Compiling Markdown SoftBreak.swift
[204/321] Compiling Markdown SymbolLink.swift
[205/327] Compiling Markdown OrderedList.swift
[206/327] Compiling Markdown UnorderedList.swift
[207/327] Compiling Markdown Paragraph.swift
[208/327] Compiling Markdown CodeBlock.swift
[209/327] Compiling Markdown HTMLBlock.swift
[210/327] Compiling Markdown Heading.swift
[211/327] Compiling Markdown ThematicBreak.swift
[212/327] Compiling Markdown Table.swift
[213/327] Compiling Markdown TableBody.swift
[214/327] Compiling Markdown BasicBlockContainer.swift
[215/327] Compiling Markdown BasicInlineContainer.swift
[216/327] Compiling Markdown BlockContainer.swift
[217/327] Compiling Markdown BlockMarkup.swift
[218/327] Compiling Markdown InlineContainer.swift
[219/327] Compiling Markdown InlineMarkup.swift
[220/327] Compiling Markdown ListItemContainer.swift
[221/327] Compiling Markdown AtomicCounter.swift
[222/327] Compiling Archive ArchiveFormat.swift
[223/328] Compiling Archive ArchiveFilter.swift
[224/328] Compiling Archive ArchiveExtractOptions.swift
[225/328] Emitting module ArgumentParserToolInfo
[226/328] Compiling ArgumentParserToolInfo ToolInfo.swift
[228/376] Emitting module Archive
[229/376] Compiling Archive ArchiveError.swift
[230/376] Compiling ArgumentParser BashCompletionsGenerator.swift
[231/376] Compiling ArgumentParser CompletionsGenerator.swift
[232/376] Compiling Archive Data+Archive.swift
[233/376] Compiling SwiftTextPDFWriter PDFValue.swift
[234/376] Compiling Markdown TableCell.swift
[235/376] Compiling Markdown TableCellContainer.swift
[236/376] Compiling Markdown TableHead.swift
[237/376] Compiling Markdown TableRow.swift
[238/376] Compiling Markdown Replacement.swift
[239/376] Compiling Markdown SourceLocation.swift
[240/376] Compiling Markdown Emphasis.swift
[241/376] Compiling Markdown Image.swift
[242/376] Compiling Markdown InlineAttributes.swift
[243/376] Compiling SwiftTextCSS SelectorParser.swift
[244/377] Compiling Archive ArchiveWriter.swift
[245/377] Compiling Archive ArchiveReader.swift
[246/378] Compiling SwiftTextCore ImageDimensions.swift
[247/378] Compiling SwiftTextCore UnicodeAbuseSanitizer.swift
[248/378] Emitting module SwiftTextCore
[249/379] Compiling SwiftTextCSS UserAgentStylesheet.swift
[251/379] Compiling Markdown CharacterExtensions.swift
[252/379] Compiling Markdown CollectionExtensions.swift
[253/379] Compiling Markdown StringExtensions.swift
[254/379] Compiling Markdown MarkupVisitor.swift
[255/379] Compiling Markdown MarkupWalker.swift
[256/379] Compiling Markdown HTMLFormatter.swift
[257/379] Compiling Markdown MarkupFormatter.swift
[258/379] Compiling Markdown MarkupTreeDumper.swift
[259/379] Compiling HTMLParser HTMLParserDelegate.swift
[260/379] Compiling HTMLParser HTMLParserEvent.swift
[261/379] Compiling HTMLParser HTMLParserDelegateAdapter.swift
[263/379] Compiling ArgumentParser Foundation.swift
[264/379] Compiling ArgumentParser Mutex.swift
[265/379] Compiling ArgumentParser Platform.swift
[266/379] Compiling ArgumentParser SequenceExtensions.swift
[267/379] Compiling ArgumentParser StringExtensions.swift
[268/379] Compiling ArgumentParser SwiftExtensions.swift
[269/379] Compiling ArgumentParser Tree.swift
[270/379] Compiling ArgumentParser ParsableCommand.swift
[271/379] Compiling ArgumentParser ArgumentDecoder.swift
[271/379] Wrapping AST for ArgumentParserToolInfo for debugging
[273/379] Compiling SwiftTextOpenType Cmap.swift
[274/379] Compiling SwiftTextOpenType TrueTypeSubset.swift
[277/379] Compiling SwiftTextPDFWriter Deflate.swift
[278/379] Emitting module SwiftTextPDFWriter
[279/379] Compiling SwiftTextPDFWriter PDF.swift
[279/379] Wrapping AST for SwiftTextCore for debugging
[281/379] Compiling SwiftTextOpenType FontBytes.swift
[282/379] Compiling SwiftTextOpenType OpenTypeFont.swift
[283/381] Compiling SwiftTextPDFWriter PDFObjects.swift
[284/381] Compiling SwiftTextPDFWriter PDFStream.swift
[287/390] Compiling ArgumentParser FishCompletionsGenerator.swift
[288/390] Compiling ArgumentParser ZshCompletionsGenerator.swift
[289/390] Compiling ArgumentParser Argument.swift
[290/390] Compiling ArgumentParser ArgumentDiscussion.swift
[291/390] Compiling ArgumentParser ArgumentHelp.swift
[292/390] Compiling ArgumentParser ArgumentVisibility.swift
[293/390] Compiling ArgumentParser CompletionKind.swift
[294/390] Compiling ArgumentParser SplitArguments.swift
[295/390] Compiling ArgumentParser DumpHelpGenerator.swift
[296/390] Compiling Markdown BlockDirectiveParser.swift
[297/390] Compiling Markdown CommonMarkConverter.swift
[298/390] Compiling Markdown LazySplitLines.swift
[299/390] Compiling Markdown ParseOptions.swift
[300/390] Compiling Markdown RangeAdjuster.swift
[301/390] Compiling Markdown RangerTracker.swift
[302/390] Compiling Markdown MarkupRewriter.swift
[303/390] Compiling SwiftTextCSS Selector.swift
[304/391] Wrapping AST for Archive for debugging
[307/391] Emitting module ArgumentParser
[307/397] Wrapping AST for SwiftTextPDFWriter for debugging
[309/397] Emitting module HTMLParser
[310/397] Compiling HTMLParser HTMLParser.swift
[311/398] Compiling SwiftTextCSS Tokenizer.swift
[312/398] Compiling SwiftTextCSS ComputedStyle.swift
[313/398] Compiling SwiftTextCSS StyleResolver.swift
[314/398] Compiling SwiftTextCSS ComponentValue.swift
[315/398] Emitting module SwiftTextCSS
[316/399] Wrapping AST for Markdown for debugging
[319/399] Compiling SwiftTextOpenType CFFSubset.swift
[320/400] Emitting module SwiftTextOpenType
[320/405] Wrapping AST for HTMLParser for debugging
[321/407] Wrapping AST for SwiftTextCSS for debugging
[323/407] Wrapping AST for SwiftTextOpenType for debugging
[325/407] Compiling SwiftTextIWA IWAContainer.swift
/host/spi-builder-workspace/Sources/SwiftTextIWA/IWAContainer.swift:41:23: warning: result of call to 'fileExists(atPath:isDirectory:)' is unused [#no-usage]
 39 | 	public static func isDirectory(_ url: URL) -> Bool {
 40 | 		var isDirectory: ObjCBool = false
 41 | 		FileManager.default.fileExists(atPath: url.path, isDirectory: &isDirectory)
    |                       `- warning: result of call to 'fileExists(atPath:isDirectory:)' is unused [#no-usage]
 42 | 		return isDirectory.boolValue
 43 | 	}
[326/407] Emitting module SwiftTextZip
[327/407] Compiling SwiftTextZip ZipContainerWriter.swift
[329/408] Compiling SwiftTextMarkdown PlainTextExtraction.swift
[329/408] Wrapping AST for SwiftTextZip for debugging
[331/408] Compiling SwiftTextIWA IWALegacyTableReader.swift
[332/408] Compiling SwiftTextIWA Protobuf.swift
[333/408] Compiling ArgumentParser AsyncCompletionsValidator.swift
[334/408] Compiling ArgumentParser CodingKeyValidator.swift
[335/408] Compiling ArgumentParser NonsenseFlagsValidator.swift
[336/408] Compiling ArgumentParser ParsableArgumentsValidation.swift
[337/408] Compiling ArgumentParser PositionalArgumentsValidator.swift
[338/408] Compiling ArgumentParser UniqueNamesValidator.swift
[339/408] Compiling ArgumentParser ParentCommand.swift
[340/408] Compiling ArgumentParser AsyncParsableCommand.swift
[341/408] Compiling ArgumentParser CommandConfiguration.swift
[342/408] Compiling ArgumentParser CommandGroup.swift
[343/408] Compiling ArgumentParser EnumerableFlag.swift
[344/408] Compiling ArgumentParser ExpressibleByArgument.swift
[345/408] Compiling ArgumentParser ParsableArguments.swift
[352/408] Compiling SwiftTextMarkdown MarkdownFootnoteRenderer.swift
[353/408] Emitting module SwiftTextMarkdown
[354/408] Compiling SwiftTextMarkdown SwiftMarkdownHTMLRenderer.swift
[355/408] Emitting module SwiftTextIWA
[356/408] Compiling SwiftTextIWA IWAArchive.swift
[357/408] Compiling SwiftTextMarkdown MarkdownFootnoteParsing.swift
[358/408] Compiling SwiftTextMarkdown MarkdownAlertBlock.swift
[359/408] Compiling SwiftTextMarkdown MarkdownAlertColors.swift
[361/409] Compiling ArgumentParser Name.swift
[362/409] Compiling ArgumentParser Parsed.swift
[363/409] Compiling ArgumentParser ParsedValues.swift
[364/409] Compiling ArgumentParser ParserError.swift
[366/409] Wrapping AST for SwiftTextMarkdown for debugging
[368/444] Compiling ArgumentParser HelpCommand.swift
[369/444] Compiling ArgumentParser HelpGenerator.swift
[370/444] Compiling ArgumentParser MessageInfo.swift
[371/444] Compiling ArgumentParser UsageGenerator.swift
[372/444] Compiling ArgumentParser CollectionExtensions.swift
[374/444] Compiling SwiftTextIWA IWAReferenceScanner.swift
[375/444] Compiling SwiftTextIWA Snappy.swift
[376/444] Compiling SwiftTextIWA TSTTableReader.swift
[378/445] Compiling SwiftTextHTML Exports.swift
[379/445] Compiling SwiftTextHTML HTMLDocument+WebKit.swift
[380/445] Compiling SwiftTextHTML HTMLDocument.swift
[381/445] Compiling SwiftTextHTML HTMLToMarkdown.swift
[382/445] Compiling SwiftTextHTML MainContentExtractor.swift
[383/445] Compiling SwiftTextHTML MarkdownToHTML.swift
[384/445] Compiling SwiftTextHTML String+Charset.swift
[385/445] Compiling SwiftTextDOCX MarkdownToDocx.swift
[386/445] Emitting module SwiftTextEPUB
[387/447] Compiling SwiftTextEPUB DefaultStylesheet.swift
[388/447] Compiling SwiftTextEPUB EpubArchiveWriter.swift
[389/448] Compiling SwiftTextHTML DOMElement.swift
[390/448] Compiling SwiftTextHTML DOMFootnoteIndex.swift
[391/448] Compiling SwiftTextHTML DOMMarkupConverter.swift
[392/448] Compiling SwiftTextHTML DOMNode.swift
[393/448] Compiling SwiftTextHTML DOMRawText.swift
[394/448] Compiling SwiftTextHTML DOMText.swift
[395/448] Compiling SwiftTextHTML DomBuilder.swift
[396/456] Compiling SwiftTextEPUB ChapterSplitter.swift
[397/479] Compiling SwiftTextEPUB MarkdownToEpub.swift
[398/490] Emitting module SwiftTextNumbers
[399/490] Compiling SwiftTextDOCX ZipUtilities.swift
[400/490] Compiling SwiftTextEPUB CoverImage.swift
[401/490] Compiling SwiftTextPages PagesImageBuilder.swift
[402/490] Compiling SwiftTextPages PagesImageCatalog.swift
[403/492] Compiling SwiftTextEPUB XMLEscaping.swift
[404/492] Compiling SwiftTextPages TNArchives.gen.swift
[405/492] Compiling SwiftTextPages TSTStylePropertyArchiving.gen.swift
[406/492] Compiling SwiftTextDOCX DocxWriter+Callouts.swift
[407/492] Compiling SwiftTextDOCX MarkdownDocxBuilder.swift
[408/492] Compiling SwiftTextHTML String+Markdown.swift
[409/492] Compiling SwiftTextHTML WebKitBrowser.swift
[410/492] Compiling SwiftTextEPUB EpubPackage.swift
[411/492] Compiling SwiftTextEPUB EpubMetadata.swift
[413/493] Compiling SwiftTextKeynote KeynoteFile.swift
[414/493] Compiling SwiftTextKeynote KeynoteDocument.swift
[415/493] Emitting module SwiftTextKeynote
[416/493] Compiling SwiftTextKeynote KeynoteParser.swift
[417/494] Compiling SwiftTextNumbers NumbersParser.swift
[418/494] Compiling SwiftTextNumbers NumbersFile.swift
[420/494] Compiling SwiftTextNumbers NumbersDocument.swift
[421/494] Compiling SwiftTextPages PagesFile.swift
[422/494] Compiling SwiftTextPages PagesFootnoteBuilder.swift
[423/494] Compiling SwiftTextPages IWAObjectGraph.swift
[424/494] Compiling SwiftTextPages IWAPackage.swift
[425/494] Compiling SwiftTextPages TSWPArchives.gen.swift
[426/494] Compiling SwiftTextPages PagesTableTemplate.swift
[426/495] Wrapping AST for SwiftTextIWA for debugging
[428/495] Wrapping AST for SwiftTextEPUB for debugging
[429/495] Wrapping AST for SwiftTextKeynote for debugging
[430/495] Wrapping AST for SwiftTextNumbers for debugging
[432/495] Emitting module SwiftTextAttributedString
[433/495] Compiling SwiftTextAttributedString MarkdownAttributedStringRenderer.swift
[434/495] Compiling SwiftTextAttributedString MarkdownAttributes.swift
[435/496] Compiling SwiftTextDOCX DocxParser.swift
[437/496] Compiling SwiftTextPages PagesTableBuilder.swift
[439/496] Compiling ArgumentParser ArgumentDefinition.swift
[440/496] Compiling ArgumentParser ArgumentSet.swift
[441/496] Compiling ArgumentParser CommandParser.swift
[442/496] Compiling ArgumentParser InputKey.swift
[443/496] Compiling ArgumentParser InputOrigin.swift
[444/497] Emitting module SwiftTextHTML
[446/497] Emitting module SwiftTextDOCX
[447/497] Compiling SwiftTextPages BlankPagesTemplate.swift
[448/497] Compiling SwiftTextPages IWACatalog.gen.swift
[449/497] Compiling SwiftTextDOCX DocxFile.swift
[450/497] Compiling SwiftTextDOCX DocxWriter.swift
[451/498] Wrapping AST for ArgumentParser for debugging
[452/498] Wrapping AST for SwiftTextDOCX for debugging
[456/498] Compiling SwiftTextPages IWATypeRegistry.swift
[457/498] Compiling SwiftTextPages IWAWire.swift
[458/499] Wrapping AST for SwiftTextHTML for debugging
[460/514] Compiling SwiftTextRender Layout.swift
[461/514] Compiling SwiftTextRender LineBreaks.swift
[462/514] Compiling SwiftTextRender PageMarginBoxes.swift
[463/514] Compiling SwiftTextRender Painter.swift
[465/514] Compiling SwiftTextRender ArabicShaper.swift
[466/514] Compiling SwiftTextRender ArabicShapingTables.swift
[469/520] Emitting module SwiftTextRender
[470/520] Compiling SwiftTextRender BoxTreeBuilder.swift
[471/520] Compiling SwiftTextRender Font.swift
[474/520] Compiling SwiftTextRender ImageDecoder.swift
[475/520] Compiling SwiftTextRender InlineLayout.swift
[476/520] Compiling SwiftTextRender Bidi.swift
[477/520] Compiling SwiftTextRender Box.swift
[478/520] Compiling SwiftTextRender FontResources.swift
[479/520] Compiling SwiftTextRender HTMLRenderer.swift
[480/520] Compiling SwiftTextRender StyledElement.swift
[481/520] Compiling SwiftTextRender TableColumnWidths.swift
[482/521] Wrapping AST for SwiftTextRender for debugging
[489/521] Compiling SwiftTextPages PagesMarkdownAST.swift
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:195:7: warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 193 | 	/// A `TSP.Color` in the RGB "model 1" form Pages uses for fills and strokes.
 194 | 	static func tspColor(_ c: PagesColor) -> TSP_Color {
 195 | 		var tsp = TSP_Color(); tsp.model = 1
     |       `- warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 196 | 		tsp.r = c.red; tsp.g = c.green; tsp.b = c.blue; tsp.a = c.alpha
 197 | 		return tsp
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:202:7: warning: variable 's' was never mutated; consider changing to 'let' constant
 200 | 	/// Pages renders nothing.
 201 | 	static func strokeArchive(_ border: PagesCellBorder) -> TSD_StrokeArchive {
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
     |       `- warning: variable 's' was never mutated; consider changing to 'let' constant
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:204:7: warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
     |       `- warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 205 | 		pattern.type = 1                               // TSDSolidPattern
 206 | 		pattern.phase = 0; pattern.count = 0
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:216:7: warning: variable 'sup' was never mutated; consider changing to 'let' constant
 214 | 	/// here — Pages paints cell borders from the table stroke sidecar (see `strokeSidecar`).
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
     |       `- warning: variable 'sup' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:217:7: warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
     |       `- warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:219:7: warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
     |       `- warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:221:7: warning: variable 'props' was never mutated; consider changing to 'let' constant
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
     |       `- warning: variable 'props' was never mutated; consider changing to 'let' constant
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:222:39: warning: variable 'f' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
     |                                       `- warning: variable 'f' was never mutated; consider changing to 'let' constant
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:226:7: warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
 225 |
 226 | 		var cellStyle = TST_CellStyleArchive()
     |       `- warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 227 | 		cellStyle.super = sup
 228 | 		cellStyle.overrideCount = 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:273:9: warning: variable 'layer' was never mutated; consider changing to 'let' constant
 271 | 			var ids = [UInt64]()
 272 | 			for (lineIndex, runs) in map.sorted(by: { $0.key < $1.key }) {
 273 | 				var layer = TST_StrokeLayerArchive()
     |         `- warning: variable 'layer' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:276:10: warning: variable 'run' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
 276 | 					var run = TST_StrokeLayerArchive_StrokeRunArchive()
     |          `- warning: variable 'run' was never mutated; consider changing to 'let' constant
 277 | 					run.origin = Int32(origin); run.length = 1
 278 | 					run.stroke = strokeArchive(border); run.order = order; order += 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:289:65: warning: variable 'r' was never mutated; consider changing to 'let' constant
 287 | 		let leftIDs = buildLayers(left), rightIDs = buildLayers(right)
 288 | 		let topIDs = buildLayers(top), bottomIDs = buildLayers(bottom)
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
     |                                                                 `- warning: variable 'r' was never mutated; consider changing to 'let' constant
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:291:7: warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
     |       `- warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 292 | 		sidecar.maxOrder = order
 293 | 		sidecar.columnCount = UInt32(table.columns)
[490/521] Compiling SwiftTextPages PagesParser.swift
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:195:7: warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 193 | 	/// A `TSP.Color` in the RGB "model 1" form Pages uses for fills and strokes.
 194 | 	static func tspColor(_ c: PagesColor) -> TSP_Color {
 195 | 		var tsp = TSP_Color(); tsp.model = 1
     |       `- warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 196 | 		tsp.r = c.red; tsp.g = c.green; tsp.b = c.blue; tsp.a = c.alpha
 197 | 		return tsp
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:202:7: warning: variable 's' was never mutated; consider changing to 'let' constant
 200 | 	/// Pages renders nothing.
 201 | 	static func strokeArchive(_ border: PagesCellBorder) -> TSD_StrokeArchive {
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
     |       `- warning: variable 's' was never mutated; consider changing to 'let' constant
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:204:7: warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
     |       `- warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 205 | 		pattern.type = 1                               // TSDSolidPattern
 206 | 		pattern.phase = 0; pattern.count = 0
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:216:7: warning: variable 'sup' was never mutated; consider changing to 'let' constant
 214 | 	/// here — Pages paints cell borders from the table stroke sidecar (see `strokeSidecar`).
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
     |       `- warning: variable 'sup' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:217:7: warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
     |       `- warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:219:7: warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
     |       `- warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:221:7: warning: variable 'props' was never mutated; consider changing to 'let' constant
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
     |       `- warning: variable 'props' was never mutated; consider changing to 'let' constant
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:222:39: warning: variable 'f' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
     |                                       `- warning: variable 'f' was never mutated; consider changing to 'let' constant
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:226:7: warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
 225 |
 226 | 		var cellStyle = TST_CellStyleArchive()
     |       `- warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 227 | 		cellStyle.super = sup
 228 | 		cellStyle.overrideCount = 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:273:9: warning: variable 'layer' was never mutated; consider changing to 'let' constant
 271 | 			var ids = [UInt64]()
 272 | 			for (lineIndex, runs) in map.sorted(by: { $0.key < $1.key }) {
 273 | 				var layer = TST_StrokeLayerArchive()
     |         `- warning: variable 'layer' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:276:10: warning: variable 'run' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
 276 | 					var run = TST_StrokeLayerArchive_StrokeRunArchive()
     |          `- warning: variable 'run' was never mutated; consider changing to 'let' constant
 277 | 					run.origin = Int32(origin); run.length = 1
 278 | 					run.stroke = strokeArchive(border); run.order = order; order += 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:289:65: warning: variable 'r' was never mutated; consider changing to 'let' constant
 287 | 		let leftIDs = buildLayers(left), rightIDs = buildLayers(right)
 288 | 		let topIDs = buildLayers(top), bottomIDs = buildLayers(bottom)
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
     |                                                                 `- warning: variable 'r' was never mutated; consider changing to 'let' constant
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:291:7: warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
     |       `- warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 292 | 		sidecar.maxOrder = order
 293 | 		sidecar.columnCount = UInt32(table.columns)
[491/521] Compiling SwiftTextPages PagesSynthesizer.swift
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:195:7: warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 193 | 	/// A `TSP.Color` in the RGB "model 1" form Pages uses for fills and strokes.
 194 | 	static func tspColor(_ c: PagesColor) -> TSP_Color {
 195 | 		var tsp = TSP_Color(); tsp.model = 1
     |       `- warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 196 | 		tsp.r = c.red; tsp.g = c.green; tsp.b = c.blue; tsp.a = c.alpha
 197 | 		return tsp
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:202:7: warning: variable 's' was never mutated; consider changing to 'let' constant
 200 | 	/// Pages renders nothing.
 201 | 	static func strokeArchive(_ border: PagesCellBorder) -> TSD_StrokeArchive {
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
     |       `- warning: variable 's' was never mutated; consider changing to 'let' constant
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:204:7: warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
     |       `- warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 205 | 		pattern.type = 1                               // TSDSolidPattern
 206 | 		pattern.phase = 0; pattern.count = 0
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:216:7: warning: variable 'sup' was never mutated; consider changing to 'let' constant
 214 | 	/// here — Pages paints cell borders from the table stroke sidecar (see `strokeSidecar`).
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
     |       `- warning: variable 'sup' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:217:7: warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
     |       `- warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:219:7: warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
     |       `- warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:221:7: warning: variable 'props' was never mutated; consider changing to 'let' constant
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
     |       `- warning: variable 'props' was never mutated; consider changing to 'let' constant
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:222:39: warning: variable 'f' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
     |                                       `- warning: variable 'f' was never mutated; consider changing to 'let' constant
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:226:7: warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
 225 |
 226 | 		var cellStyle = TST_CellStyleArchive()
     |       `- warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 227 | 		cellStyle.super = sup
 228 | 		cellStyle.overrideCount = 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:273:9: warning: variable 'layer' was never mutated; consider changing to 'let' constant
 271 | 			var ids = [UInt64]()
 272 | 			for (lineIndex, runs) in map.sorted(by: { $0.key < $1.key }) {
 273 | 				var layer = TST_StrokeLayerArchive()
     |         `- warning: variable 'layer' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:276:10: warning: variable 'run' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
 276 | 					var run = TST_StrokeLayerArchive_StrokeRunArchive()
     |          `- warning: variable 'run' was never mutated; consider changing to 'let' constant
 277 | 					run.origin = Int32(origin); run.length = 1
 278 | 					run.stroke = strokeArchive(border); run.order = order; order += 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:289:65: warning: variable 'r' was never mutated; consider changing to 'let' constant
 287 | 		let leftIDs = buildLayers(left), rightIDs = buildLayers(right)
 288 | 		let topIDs = buildLayers(top), bottomIDs = buildLayers(bottom)
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
     |                                                                 `- warning: variable 'r' was never mutated; consider changing to 'let' constant
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:291:7: warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
     |       `- warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 292 | 		sidecar.maxOrder = order
 293 | 		sidecar.columnCount = UInt32(table.columns)
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:195:7: warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 193 | 	/// A `TSP.Color` in the RGB "model 1" form Pages uses for fills and strokes.
 194 | 	static func tspColor(_ c: PagesColor) -> TSP_Color {
 195 | 		var tsp = TSP_Color(); tsp.model = 1
     |       `- warning: variable 'tsp' was never mutated; consider changing to 'let' constant
 196 | 		tsp.r = c.red; tsp.g = c.green; tsp.b = c.blue; tsp.a = c.alpha
 197 | 		return tsp
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:202:7: warning: variable 's' was never mutated; consider changing to 'let' constant
 200 | 	/// Pages renders nothing.
 201 | 	static func strokeArchive(_ border: PagesCellBorder) -> TSD_StrokeArchive {
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
     |       `- warning: variable 's' was never mutated; consider changing to 'let' constant
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:204:7: warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 202 | 		var s = TSD_StrokeArchive(); s.color = tspColor(border.color); s.width = border.width
 203 | 		s.cap = 0; s.join = 0                          // butt cap, miter join
 204 | 		var pattern = TSD_StrokePatternArchive()
     |       `- warning: variable 'pattern' was never mutated; consider changing to 'let' constant
 205 | 		pattern.type = 1                               // TSDSolidPattern
 206 | 		pattern.phase = 0; pattern.count = 0
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:216:7: warning: variable 'sup' was never mutated; consider changing to 'let' constant
 214 | 	/// here — Pages paints cell borders from the table stroke sidecar (see `strokeSidecar`).
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
     |       `- warning: variable 'sup' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:217:7: warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 215 | 	static func cellStyleArchive(_ appearance: PagesCellAppearance, parent: UInt64) -> [UInt8] {
 216 | 		var sup = TSS_StyleArchive()
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
     |       `- warning: variable 'parentRef' was never mutated; consider changing to 'let' constant
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:219:7: warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 217 | 		var parentRef = TSP_Reference(); parentRef.identifier = parent; sup.parent = parentRef
 218 | 		sup.isVariation = true
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
     |       `- warning: variable 'sheetRef' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:221:7: warning: variable 'props' was never mutated; consider changing to 'let' constant
 219 | 		var sheetRef = TSP_Reference(); sheetRef.identifier = stylesheetID; sup.stylesheet = sheetRef
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
     |       `- warning: variable 'props' was never mutated; consider changing to 'let' constant
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:222:39: warning: variable 'f' was never mutated; consider changing to 'let' constant
 220 |
 221 | 		var props = TST_CellStylePropertiesArchive()
 222 | 		if let fill = appearance.fill { var f = TSD_FillArchive(); f.color = tspColor(fill); props.cellFill = f }
     |                                       `- warning: variable 'f' was never mutated; consider changing to 'let' constant
 223 | 		if let valign = appearance.verticalAlignment { props.verticalAlignment = valign.rawValue }
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:226:7: warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 224 | 		if let wrap = appearance.textWrap { props.textWrap = wrap }
 225 |
 226 | 		var cellStyle = TST_CellStyleArchive()
     |       `- warning: variable 'cellStyle' was never mutated; consider changing to 'let' constant
 227 | 		cellStyle.super = sup
 228 | 		cellStyle.overrideCount = 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:273:9: warning: variable 'layer' was never mutated; consider changing to 'let' constant
 271 | 			var ids = [UInt64]()
 272 | 			for (lineIndex, runs) in map.sorted(by: { $0.key < $1.key }) {
 273 | 				var layer = TST_StrokeLayerArchive()
     |         `- warning: variable 'layer' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:276:10: warning: variable 'run' was never mutated; consider changing to 'let' constant
 274 | 				layer.rowColumnIndex = UInt32(lineIndex)
 275 | 				for (origin, border) in runs.sorted(by: { $0.0 < $1.0 }) {
 276 | 					var run = TST_StrokeLayerArchive_StrokeRunArchive()
     |          `- warning: variable 'run' was never mutated; consider changing to 'let' constant
 277 | 					run.origin = Int32(origin); run.length = 1
 278 | 					run.stroke = strokeArchive(border); run.order = order; order += 1
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:289:65: warning: variable 'r' was never mutated; consider changing to 'let' constant
 287 | 		let leftIDs = buildLayers(left), rightIDs = buildLayers(right)
 288 | 		let topIDs = buildLayers(top), bottomIDs = buildLayers(bottom)
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
     |                                                                 `- warning: variable 'r' was never mutated; consider changing to 'let' constant
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:291:7: warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 289 | 		func refs(_ ids: [UInt64]) -> [TSP_Reference] { ids.map { var r = TSP_Reference(); r.identifier = $0; return r } }
 290 |
 291 | 		var sidecar = TST_StrokeSidecarArchive()
     |       `- warning: variable 'sidecar' was never mutated; consider changing to 'let' constant
 292 | 		sidecar.maxOrder = order
 293 | 		sidecar.columnCount = UInt32(table.columns)
[493/521] Compiling SwiftTextPages PagesTableStyle.swift
[494/521] Compiling SwiftTextPages PagesTemplate.swift
[495/521] Compiling SwiftTextPages PagesWriter.swift
[496/521] Compiling SwiftTextPages StoredZipWriter.swift
[497/521] Emitting module SwiftTextPages
[504/521] Compiling SwiftTextPages TSPArchiveMessages.gen.swift
[505/521] Compiling SwiftTextPages TSPMessages.gen.swift
[506/521] Compiling SwiftTextPages TSSArchives.gen.swift
[507/521] Compiling SwiftTextPages TSTArchives.gen.swift
[508/521] Compiling SwiftTextPages TPArchives.gen.swift
[509/521] Compiling SwiftTextPages TSAArchives.gen.swift
[510/521] Compiling SwiftTextPages TSCEArchives.gen.swift
[511/521] Compiling SwiftTextPages TSCKArchives.gen.swift
[512/521] Compiling SwiftTextPages TSDArchives.gen.swift
[513/521] Compiling SwiftTextPages IWATypeBinder.swift
[514/521] Compiling SwiftTextPages MarkdownToPages.swift
[515/521] Compiling SwiftTextPages PagesBodyBuilder.swift
[516/521] Compiling SwiftTextPages PagesBoxLayout.swift
[517/521] Compiling SwiftTextPages PagesDocument.swift
[518/525] Wrapping AST for SwiftTextPages for debugging
[520/530] Emitting module SwiftText
[521/530] Compiling SwiftText SwiftText.swift
[522/530] Compiling SwiftTextCLI GeneratedVersion.swift
[524/531] Compiling SwiftTextCLI RenderCommand.swift
[525/531] Compiling SwiftTextCLI PDFCommand.swift
[526/531] Compiling SwiftTextCLI OverlayRenderer.swift
[527/531] Emitting module SwiftTextCLI
[528/531] Compiling SwiftTextCLI SwiftTextCLI.swift
[529/532] Wrapping AST for SwiftTextCLI for debugging
[530/532] Write Objects.LinkFileList
[531/532] Linking swifttext
Build complete! (32.17s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swift-archive",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.8.9",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/marcprux/swift-archive.git"
    },
    {
      "identity" : "swift-markdown",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.8.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-markdown.git"
    },
    {
      "identity" : "xmlkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Cocoanetics/XMLKit.git"
    }
  ],
  "manifest_display_name" : "SwiftText",
  "name" : "SwiftText",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftText",
      "targets" : [
        "SwiftText"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextCore",
      "targets" : [
        "SwiftTextCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextDOCX",
      "targets" : [
        "SwiftTextDOCX"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextEPUB",
      "targets" : [
        "SwiftTextEPUB"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextPages",
      "targets" : [
        "SwiftTextPages"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextIWA",
      "targets" : [
        "SwiftTextIWA"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextNumbers",
      "targets" : [
        "SwiftTextNumbers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextKeynote",
      "targets" : [
        "SwiftTextKeynote"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextPDFWriter",
      "targets" : [
        "SwiftTextPDFWriter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextOpenType",
      "targets" : [
        "SwiftTextOpenType"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextCSS",
      "targets" : [
        "SwiftTextCSS"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextRender",
      "targets" : [
        "SwiftTextRender"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextHTML",
      "targets" : [
        "SwiftTextHTML"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextMarkdown",
      "targets" : [
        "SwiftTextMarkdown"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftTextAttributedString",
      "targets" : [
        "SwiftTextAttributedString"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "swifttext",
      "targets" : [
        "SwiftTextCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "VersionGeneratorPlugin",
      "module_type" : "PluginTarget",
      "name" : "VersionGeneratorPlugin",
      "path" : "Plugins/VersionGeneratorPlugin",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "swifttext"
      ],
      "sources" : [
        "VersionGeneratorPlugin.swift"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "SwiftTextZip",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextZip",
      "path" : "Sources/SwiftTextZip",
      "product_dependencies" : [
        "Archive"
      ],
      "product_memberships" : [
        "SwiftText",
        "SwiftTextDOCX",
        "SwiftTextEPUB",
        "swifttext"
      ],
      "sources" : [
        "ZipContainerWriter.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextRenderTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextRenderTests",
      "path" : "Tests/SwiftTextRenderTests",
      "sources" : [
        "ArabicShaperTests.swift",
        "BidiTests.swift",
        "BoxModelTests.swift",
        "BoxTreeTests.swift",
        "FallbackEmbeddingTests.swift",
        "FontFallbackTests.swift",
        "InlineWhitespaceTests.swift",
        "PageBreakTests.swift",
        "PreservedWhitespaceTests.swift",
        "RenderPDFTests.swift",
        "TableColumnWidthsTests.swift",
        "TableIntrinsicSizingTests.swift",
        "TextDecorationTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextRender",
        "SwiftTextHTML",
        "SwiftTextCSS"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextRender",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextRender",
      "path" : "Sources/SwiftTextRender",
      "product_memberships" : [
        "SwiftTextRender",
        "swifttext"
      ],
      "sources" : [
        "ArabicShaper.swift",
        "ArabicShapingTables.swift",
        "Bidi.swift",
        "Box.swift",
        "BoxTreeBuilder.swift",
        "Font.swift",
        "FontResources.swift",
        "HTMLRenderer.swift",
        "ImageDecoder.swift",
        "InlineLayout.swift",
        "Layout.swift",
        "LineBreaks.swift",
        "PageMarginBoxes.swift",
        "Painter.swift",
        "StyledElement.swift",
        "TableColumnWidths.swift"
      ],
      "target_dependencies" : [
        "SwiftTextHTML",
        "SwiftTextCSS",
        "SwiftTextOpenType",
        "SwiftTextPDFWriter"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextPagesTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextPagesTests",
      "path" : "Tests/SwiftTextPagesTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftTextPagesTests/Resources/Sample.pages",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "IWAGeneratedModelTests.swift",
        "IWAObjectGraphTests.swift",
        "IWAPackageTests.swift",
        "IWATestSupport.swift",
        "IWATypeBinderTests.swift",
        "IWAWriteTests.swift",
        "MarkdownToPagesTests.swift",
        "PagesCalloutTests.swift",
        "PagesCellValueTests.swift",
        "PagesDocumentTests.swift",
        "PagesFileTests.swift",
        "PagesFootnoteTests.swift",
        "PagesFormattingTests.swift",
        "PagesImageTests.swift",
        "PagesLegacyTests.swift",
        "PagesSynthesizerTests.swift",
        "PagesTableStyleTests.swift",
        "PagesWriterTests.swift",
        "ProtobufTests.swift",
        "SnappyTests.swift",
        "StylesheetTests.swift",
        "ZipParityTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextPages",
        "SwiftTextIWA"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextPages",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextPages",
      "path" : "Sources/SwiftTextPages",
      "product_dependencies" : [
        "Markdown"
      ],
      "product_memberships" : [
        "SwiftText",
        "SwiftTextPages",
        "swifttext"
      ],
      "sources" : [
        "Generated/BlankPagesTemplate.swift",
        "Generated/IWA/IWACatalog.gen.swift",
        "Generated/IWA/IWATypeRegistry.swift",
        "Generated/IWA/IWAWire.swift",
        "Generated/IWA/TNArchives.gen.swift",
        "Generated/IWA/TPArchives.gen.swift",
        "Generated/IWA/TSAArchives.gen.swift",
        "Generated/IWA/TSCEArchives.gen.swift",
        "Generated/IWA/TSCKArchives.gen.swift",
        "Generated/IWA/TSDArchives.gen.swift",
        "Generated/IWA/TSKArchives.gen.swift",
        "Generated/IWA/TSPArchiveMessages.gen.swift",
        "Generated/IWA/TSPMessages.gen.swift",
        "Generated/IWA/TSSArchives.gen.swift",
        "Generated/IWA/TSTArchives.gen.swift",
        "Generated/IWA/TSTStylePropertyArchiving.gen.swift",
        "Generated/IWA/TSWPArchives.gen.swift",
        "Generated/PagesTableTemplate.swift",
        "IWAObjectGraph.swift",
        "IWAPackage.swift",
        "IWATypeBinder.swift",
        "MarkdownToPages.swift",
        "PagesBodyBuilder.swift",
        "PagesBoxLayout.swift",
        "PagesDocument.swift",
        "PagesFile.swift",
        "PagesFootnoteBuilder.swift",
        "PagesImageBuilder.swift",
        "PagesImageCatalog.swift",
        "PagesLegacyParser.swift",
        "PagesMarkdownAST.swift",
        "PagesParser.swift",
        "PagesSynthesizer.swift",
        "PagesTableBuilder.swift",
        "PagesTableStyle.swift",
        "PagesTemplate.swift",
        "PagesWriter.swift",
        "StoredZipWriter.swift"
      ],
      "target_dependencies" : [
        "SwiftTextIWA",
        "SwiftTextMarkdown",
        "SwiftTextCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextPDFWriterTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextPDFWriterTests",
      "path" : "Tests/SwiftTextPDFWriterTests",
      "sources" : [
        "PDFWriterTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextPDFWriter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextPDFWriter",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextPDFWriter",
      "path" : "Sources/SwiftTextPDFWriter",
      "product_memberships" : [
        "SwiftTextPDFWriter",
        "SwiftTextRender",
        "swifttext"
      ],
      "sources" : [
        "Deflate.swift",
        "PDF.swift",
        "PDFObjects.swift",
        "PDFStream.swift",
        "PDFValue.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextOpenTypeTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextOpenTypeTests",
      "path" : "Tests/SwiftTextOpenTypeTests",
      "sources" : [
        "CFFSubsetTests.swift",
        "OpenTypeTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextOpenType"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextOpenType",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextOpenType",
      "path" : "Sources/SwiftTextOpenType",
      "product_memberships" : [
        "SwiftTextOpenType",
        "SwiftTextRender",
        "swifttext"
      ],
      "sources" : [
        "CFFSubset.swift",
        "Cmap.swift",
        "FontBytes.swift",
        "OpenTypeFont.swift",
        "TrueTypeSubset.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextNumbersTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextNumbersTests",
      "path" : "Tests/SwiftTextNumbersTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftTextNumbersTests/Resources/LegacySample.numbers",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftTextNumbersTests/Resources/MultiTile.numbers",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftTextNumbersTests/Resources/Sample.numbers",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "NumbersFileTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextNumbers",
        "SwiftTextIWA"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextNumbers",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextNumbers",
      "path" : "Sources/SwiftTextNumbers",
      "product_memberships" : [
        "SwiftTextNumbers",
        "swifttext"
      ],
      "sources" : [
        "NumbersDocument.swift",
        "NumbersFile.swift",
        "NumbersParser.swift"
      ],
      "target_dependencies" : [
        "SwiftTextIWA"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextMarkdownTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextMarkdownTests",
      "path" : "Tests/SwiftTextMarkdownTests",
      "sources" : [
        "MarkdownAlertBlockTests.swift",
        "MarkdownAlertColorsTests.swift",
        "MarkdownFootnoteRendererTests.swift",
        "SwiftMarkdownHTMLRendererTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextMarkdown"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextMarkdown",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextMarkdown",
      "path" : "Sources/SwiftTextMarkdown",
      "product_dependencies" : [
        "Markdown"
      ],
      "product_memberships" : [
        "SwiftText",
        "SwiftTextDOCX",
        "SwiftTextEPUB",
        "SwiftTextPages",
        "SwiftTextRender",
        "SwiftTextHTML",
        "SwiftTextMarkdown",
        "SwiftTextAttributedString",
        "swifttext"
      ],
      "sources" : [
        "MarkdownAlertBlock.swift",
        "MarkdownAlertColors.swift",
        "MarkdownFootnoteParsing.swift",
        "MarkdownFootnoteRenderer.swift",
        "PlainTextExtraction.swift",
        "SwiftMarkdownHTMLRenderer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextKeynoteTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextKeynoteTests",
      "path" : "Tests/SwiftTextKeynoteTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftTextKeynoteTests/Resources/Sample.key",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "KeynoteFileTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextKeynote",
        "SwiftTextIWA"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextKeynote",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextKeynote",
      "path" : "Sources/SwiftTextKeynote",
      "product_memberships" : [
        "SwiftTextKeynote",
        "swifttext"
      ],
      "sources" : [
        "KeynoteDocument.swift",
        "KeynoteFile.swift",
        "KeynoteParser.swift"
      ],
      "target_dependencies" : [
        "SwiftTextIWA"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextIWA",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextIWA",
      "path" : "Sources/SwiftTextIWA",
      "product_dependencies" : [
        "Archive"
      ],
      "product_memberships" : [
        "SwiftText",
        "SwiftTextPages",
        "SwiftTextIWA",
        "SwiftTextNumbers",
        "SwiftTextKeynote",
        "swifttext"
      ],
      "sources" : [
        "IWAArchive.swift",
        "IWAContainer.swift",
        "IWALegacyTableReader.swift",
        "IWAReferenceScanner.swift",
        "Protobuf.swift",
        "Snappy.swift",
        "TSTTableReader.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextHTMLTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextHTMLTests",
      "path" : "Tests/SwiftTextHTMLTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftTextHTMLTests/Resources/wordpress-blog-post.html",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "DomStyleContentTests.swift",
        "HTMLAlertTests.swift",
        "HTMLBlockquoteConversionTests.swift",
        "HTMLCoreElementConversionTests.swift",
        "HTMLDeepWrapperTests.swift",
        "HTMLDocumentTests.swift",
        "HTMLFootnoteConversionTests.swift",
        "HTMLListConversionTests.swift",
        "HTMLMalformedTrailingContentTests.swift",
        "HTMLParserEventStreamTests.swift",
        "HTMLRoundTripTests.swift",
        "HTMLTableConversionTests.swift",
        "ImageAltTextTests.swift",
        "MainContentExtractionTests.swift",
        "MarkdownGFMExtensionsTests.swift",
        "MarkdownToHTMLParityTests.swift",
        "MarkdownToHTMLTests.swift",
        "TextWhitespaceTests.swift",
        "WebKitPaginatedPDFTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextHTML",
        "SwiftTextMarkdown",
        "SwiftTextCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextHTML",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextHTML",
      "path" : "Sources/SwiftTextHTML",
      "product_dependencies" : [
        "HTMLParser",
        "Markdown"
      ],
      "product_memberships" : [
        "SwiftText",
        "SwiftTextRender",
        "SwiftTextHTML",
        "swifttext"
      ],
      "sources" : [
        "DOMElement.swift",
        "DOMFootnoteIndex.swift",
        "DOMMarkupConverter.swift",
        "DOMNode.swift",
        "DOMRawText.swift",
        "DOMText.swift",
        "DomBuilder.swift",
        "Exports.swift",
        "HTMLDocument+WebKit.swift",
        "HTMLDocument.swift",
        "HTMLToMarkdown.swift",
        "MainContentExtractor.swift",
        "MarkdownToHTML.swift",
        "String+Charset.swift",
        "String+Markdown.swift",
        "WebKitBrowser.swift"
      ],
      "target_dependencies" : [
        "SwiftTextMarkdown"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextEPUBTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextEPUBTests",
      "path" : "Tests/SwiftTextEPUBTests",
      "sources" : [
        "EpubTestSupport.swift",
        "EpubTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextEPUB",
        "SwiftTextMarkdown"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextEPUB",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextEPUB",
      "path" : "Sources/SwiftTextEPUB",
      "product_dependencies" : [
        "Markdown"
      ],
      "product_memberships" : [
        "SwiftTextEPUB",
        "swifttext"
      ],
      "sources" : [
        "ChapterSplitter.swift",
        "CoverImage.swift",
        "DefaultStylesheet.swift",
        "EpubArchiveWriter.swift",
        "EpubMetadata.swift",
        "EpubPackage.swift",
        "MarkdownToEpub.swift",
        "XMLEscaping.swift"
      ],
      "target_dependencies" : [
        "SwiftTextMarkdown",
        "SwiftTextZip",
        "SwiftTextCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextDOCXTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextDOCXTests",
      "path" : "Tests/SwiftTextDOCXTests",
      "product_dependencies" : [
        "Archive"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftTextDOCXTests/Resources/Styles.docx",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "DocxAlertTests.swift",
        "DocxArchiveTestSupport.swift",
        "DocxFootnoteTests.swift",
        "DocxFootnoteWriterTests.swift",
        "DocxImageTests.swift",
        "DocxParsingTests.swift",
        "DocxQuoteCodeTests.swift",
        "DocxStrikethroughTests.swift",
        "DocxWriterTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextDOCX",
        "SwiftTextZip"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextDOCX",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextDOCX",
      "path" : "Sources/SwiftTextDOCX",
      "product_dependencies" : [
        "Archive"
      ],
      "product_memberships" : [
        "SwiftText",
        "SwiftTextDOCX",
        "swifttext"
      ],
      "sources" : [
        "DocxBoxLayout.swift",
        "DocxDocument.swift",
        "DocxFile.swift",
        "DocxParser.swift",
        "DocxWriter+Callouts.swift",
        "DocxWriter.swift",
        "MarkdownDocxBuilder.swift",
        "MarkdownToDocx.swift",
        "ZipUtilities.swift"
      ],
      "target_dependencies" : [
        "SwiftTextMarkdown",
        "SwiftTextZip",
        "SwiftTextCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextCoreTests",
      "path" : "Tests/SwiftTextCoreTests",
      "sources" : [
        "ImageDimensionsTests.swift",
        "UnicodeAbuseSanitizerTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextCore",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextCore",
      "path" : "Sources/SwiftTextCore",
      "product_memberships" : [
        "SwiftText",
        "SwiftTextCore",
        "SwiftTextDOCX",
        "SwiftTextEPUB",
        "SwiftTextPages",
        "swifttext"
      ],
      "sources" : [
        "ImageDimensions.swift",
        "UnicodeAbuseSanitizer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextCSSTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextCSSTests",
      "path" : "Tests/SwiftTextCSSTests",
      "sources" : [
        "CSSColorTests.swift",
        "CSSTests.swift",
        "CascadeTests.swift",
        "SelectorTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextCSS"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextCSS",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextCSS",
      "path" : "Sources/SwiftTextCSS",
      "product_memberships" : [
        "SwiftTextCSS",
        "SwiftTextRender",
        "swifttext"
      ],
      "sources" : [
        "CSSColor.swift",
        "CSSParser.swift",
        "ComponentValue.swift",
        "ComputedStyle.swift",
        "Selector.swift",
        "SelectorParser.swift",
        "StyleResolver.swift",
        "Tokenizer.swift",
        "UserAgentStylesheet.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftTextCLI",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextCLI",
      "path" : "Sources/SwiftTextCLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "swifttext"
      ],
      "sources" : [
        "OverlayRenderer.swift",
        "PDFCommand.swift",
        "RenderCommand.swift",
        "SwiftTextCLI.swift"
      ],
      "target_dependencies" : [
        "SwiftTextHTML",
        "SwiftTextDOCX",
        "SwiftTextEPUB",
        "SwiftTextMarkdown",
        "SwiftTextPages",
        "SwiftTextNumbers",
        "SwiftTextKeynote",
        "SwiftTextRender",
        "VersionGeneratorPlugin"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SwiftTextAttributedStringTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextAttributedStringTests",
      "path" : "Tests/SwiftTextAttributedStringTests",
      "sources" : [
        "MarkdownAttributedStringRendererTests.swift",
        "NativeIntentBridgeTests.swift"
      ],
      "target_dependencies" : [
        "SwiftTextAttributedString"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTextAttributedString",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTextAttributedString",
      "path" : "Sources/SwiftTextAttributedString",
      "product_dependencies" : [
        "Markdown"
      ],
      "product_memberships" : [
        "SwiftText",
        "SwiftTextAttributedString"
      ],
      "sources" : [
        "MarkdownAttributedStringRenderer.swift",
        "MarkdownAttributes.swift"
      ],
      "target_dependencies" : [
        "SwiftTextMarkdown"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftText",
      "module_type" : "SwiftTarget",
      "name" : "SwiftText",
      "path" : "Sources/SwiftText",
      "product_memberships" : [
        "SwiftText"
      ],
      "sources" : [
        "SwiftText.swift"
      ],
      "target_dependencies" : [
        "SwiftTextDOCX",
        "SwiftTextPages",
        "SwiftTextAttributedString",
        "SwiftTextHTML"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.3"
}
basic-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:3ca70b9b8664d81efdd98fa96053b1e7cad14580e7715018d5ab4380e807ba72
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest
Done.