The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftText, reference main (15e176), with Swift 6.4 for Linux on 5 Oct 2026 08:21:36 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/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.4-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: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/Cocoanetics/SwiftText
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
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 main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.4
Building package at path:  $PWD
https://github.com/Cocoanetics/SwiftText.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/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.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/Cocoanetics/XMLKit.git
Fetching https://github.com/swiftlang/swift-markdown.git
[1/160] Fetching xmlkit
Fetched https://github.com/Cocoanetics/XMLKit.git (0.44s)
[1/7763] Fetching swift-markdown
[1865/26815] Fetching swift-markdown, swift-argument-parser
Fetched https://github.com/swiftlang/swift-markdown.git (0.94s)
Fetching https://github.com/marcprux/swift-archive.git
[1/44937] Fetching swift-archive
Fetched https://github.com/apple/swift-argument-parser (2.84s)
Fetched https://github.com/marcprux/swift-archive.git (1.81s)
Computing version for https://github.com/marcprux/swift-archive.git
Computed https://github.com/marcprux/swift-archive.git at 3.8.9 (3.13s)
Computing version for https://github.com/Cocoanetics/XMLKit.git
Computed https://github.com/Cocoanetics/XMLKit.git at 1.0.1 (0.19s)
Computing version for https://github.com/swiftlang/swift-markdown.git
Computed https://github.com/swiftlang/swift-markdown.git at 0.9.0 (0.23s)
Fetching https://github.com/swiftlang/swift-cmark.git
[1/18613] Fetching swift-cmark
Fetched https://github.com/swiftlang/swift-cmark.git (0.91s)
Computing version for https://github.com/swiftlang/swift-cmark.git
Computed https://github.com/swiftlang/swift-cmark.git at 0.9.0 (2.16s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.23s)
Creating working copy for https://github.com/Cocoanetics/XMLKit.git
Working copy of https://github.com/Cocoanetics/XMLKit.git resolved at 1.0.1
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/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/marcprux/swift-archive.git
Working copy of https://github.com/marcprux/swift-archive.git resolved at 3.8.9
warning: 'swift-archive': you may be able to install libzstd using your system-packager:
    apt-get install libzstd-dev
warning: 'swift-archive': you may be able to install liblzma using your system-packager:
    apt-get install liblzma-dev
Building for debugging...
[Computing dependencies]
[Provisioning 8 / 56]
[Pre-planning 1 / 1411]
[Planning 879 / 1411]
[Planning deferred tasks]
[Constructing 2557 / 2947]
[165 / 532] ArgumentParser
[195 / 532] cmark-gfm
[203 / 532] cmark-gfm
[210 / 532] cmark-gfm
[220 / 532] SwiftText_SwiftTextHTMLTests
[234 / 542] Archive
[238 / 578] cmark-gfm
[239 / 587] cmark-gfm
[241 / 587] HTMLParser
[244 / 587] SwiftTextOpenType
[255 / 589] Archive
[258 / 589] SwiftTextPDFWriter
[274 / 589] CArchive
[279 / 589] CArchive
[281 / 589] Archive
[282 / 589] SwiftTextCSS
[296 / 589] CArchive
[299 / 589] CArchive
[301 / 589] CArchive
[305 / 589] CArchive
[310 / 589] CArchive
[313 / 589] CArchive
[318 / 589] CArchive
[324 / 589] CArchive
[329 / 589] CArchive
[334 / 589] CArchive
[344 / 589] CArchive
[346 / 589] CArchive
[349 / 589] CArchive
[352 / 589] CArchive
[358 / 589] CArchive
[363 / 589] CArchive
[368 / 589] CArchive
[376 / 589] CArchive
[382 / 589] CArchive
[390 / 589] CArchive
[394 / 589] CArchive
[398 / 589] CArchive
[402 / 589] CArchive
[409 / 589] CArchive
[417 / 589] CArchive
[422 / 589] SwiftTextPDFWriter
[425 / 589] CArchive
[426 / 589] SwiftTextCore
[428 / 589] SwiftTextOpenType
[429 / 589] SwiftTextOpenType
[431 / 589] SwiftTextOpenType-product
[432 / 590] SwiftTextCore-product
[435 / 591] SwiftTextCore
[439 / 591] SwiftTextCSS
[440 / 591] SwiftTextCSS
[441 / 591] SwiftTextCSS
[442 / 591] Markdown
[443 / 591] Markdown-product
[445 / 591] SwiftTextMarkdown
[448 / 591] Markdown
[449 / 592] SwiftTextCSS
[451 / 593] SwiftTextCSS
[453 / 593] SwiftTextOpenType
[455 / 593] HTMLParser
[456 / 593] HTMLParser
[458 / 593] HTMLParser
[461 / 593] Archive
[462 / 593] Archive
[464 / 593] Archive-product
[465 / 593] SwiftTextZip
[466 / 593] SwiftTextZip
[472 / 594] SwiftTextOpenType
[485 / 614] cmark-gfm-extensions
[489 / 615] SwiftTextZip
[493 / 616] SwiftTextZip
[505 / 616] SwiftTextMarkdown-product
[506 / 616] SwiftTextMarkdown-product
[509 / 617] SwiftTextZip
[511 / 617] SwiftTextIWA
[514 / 617] SwiftTextPages
[518 / 617] ArgumentParserToolInfo
[521 / 618] SwiftTextMarkdown
[524 / 628] SwiftTextMarkdown
[527 / 628] ArgumentParser
/host/spi-builder-workspace/Sources/SwiftTextIWA/IWAContainer.swift:41:23: warning: result of call to 'fileExists(atPath:isDirectory:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 42 | 		return isDirectory.boolValue
 43 | 	}
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
[528 / 628] ArgumentParser
[529 / 629] Markdown
[533 / 629] Markdown
[535 / 630] SwiftTextIWA
[538 / 630] ArgumentParser
[543 / 631] SwiftTextPages
[547 / 645] SwiftTextNumbers
[548 / 645] SwiftTextPages
[549 / 645] SwiftTextNumbers
[551 / 645] SwiftTextNumbers
[556 / 645] SwiftTextPages
[557 / 645] SwiftTextPages
[558 / 645] SwiftTextPages
[559 / 645] SwiftTextPages
[560 / 645] SwiftTextNumbers
[561 / 646] SwiftTextNumbers
[562 / 646] SwiftTextNumbers
[565 / 647]
[569 / 655] SwiftTextKeynote
[570 / 664] SwiftTextHTML
[571 / 664] SwiftTextKeynote
[579 / 673] SwiftTextHTML
[585 / 682] SwiftTextDOCX
[586 / 682] SwiftTextKeynote
[587 / 682] SwiftTextEPUB
[589 / 682] SwiftTextEPUB
[598 / 682] SwiftTextKeynote-product
[599 / 682] SwiftTextKeynote-product
[601 / 683] SwiftTextKeynote
[602 / 683] SwiftTextRender
[604 / 683] SwiftTextRender
[607 / 683] SwiftTextHTML
[608 / 683] SwiftTextEPUB
[611 / 683] SwiftTextPages
[616 / 683] SwiftTextPages-product
[617 / 683] SwiftTextPages-product
[620 / 683] SwiftTextEPUB
[621 / 684] SwiftTextHTML
/host/spi-builder-workspace/Sources/SwiftTextPages/PagesTableBuilder.swift:195:7: warning: variable 'tsp' was never mutated; consider changing to 'let' constant [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
 292 | 		sidecar.maxOrder = order
 293 | 		sidecar.columnCount = UInt32(table.columns)
[#VariableNeverMutated]: <https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated>
[625 / 684] SwiftTextDOCX
[626 / 684] SwiftTextDOCX-product
[628 / 685] SwiftTextEPUB
[630 / 685] SwiftTextEPUB
[632 / 685] SwiftTextDOCX
[634 / 685]
[637 / 696] SwiftTextAttributedString
[639 / 699] SwiftTextAttributedString
[640 / 699] SwiftTextRender
[641 / 699] SwiftTextRender
[642 / 699] SwiftTextAttributedString
[644 / 699] SwiftTextRender
[650 / 699] SwiftTextRender
[654 / 699] SwiftTextRender
[655 / 699] swifttext-product
[656 / 700] swifttext-product
[660 / 700] SwiftTextDOCX
[662 / 700] HTMLParser
[664 / 701]
[667 / 707] swifttext-product
[669 / 707] swifttext-product
[670 / 708] swifttext-product
[672 / 709] swifttext-product
[677 / 712] SwiftText
[684 / 713] SwiftText
[686 / 713] SwiftTextMarkdown
[690 / 713] SwiftTextAttributedString
[694 / 713]
[698 / 713] SwiftTextEPUB
[705 / 713] SwiftTextEPUB-product
[705 / 713] swifttext-product
[708 / 714] SwiftTextPages
[711 / 715] SwiftTextPages
[715 / 715] SwiftText-product
[715 / 715] swifttext-product
Build complete! (60.54 secs)
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.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.