Build Information
Successful build of Csv2Img, reference main (7263de), with Swift 6.4 for macOS (SPM) on 22 Sep 2026 20:48:54 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fummicc1/csv2img.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fummicc1/csv2img
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 7263de6 ci: Post the coupling report as a PR comment
Cloned https://github.com/fummicc1/csv2img.git
Revision (git rev-parse @):
7263de60b676fe5c3feafd256107c219ffbc2506
SUCCESS checkout https://github.com/fummicc1/csv2img.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/fummicc1/csv2img.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 330]
[Planning deferred tasks]
[38 / 140] SwiftParser
[67 / 140]
[71 / 144] ArgumentParserToolInfo
[79 / 152] SwiftSyntax510
[99 / 154] SwiftSyntax510
[109 / 179]
[113 / 208]
[118 / 208]
[120 / 218] Csv2ImgCore
[126 / 249]
[127 / 249]
[137 / 249] SwiftSyntax
[141 / 249] SwiftSyntax
[143 / 249]
[146 / 249]
[147 / 249]
[149 / 249]
[154 / 249]
[157 / 249]
[159 / 249]
[160 / 249]
[164 / 249]
[166 / 249]
[169 / 249]
[171 / 249]
[180 / 249] ArgumentParser
[181 / 249] ArgumentParser
[182 / 249]
[183 / 249] ArgumentParser
[185 / 249]
[186 / 249] ArgumentParser
[189 / 249] SwiftSyntax
[196 / 249] ArgumentParser
[197 / 249] ArgumentParser
[198 / 249] ArgumentParser
[199 / 249]
[200 / 250]
[205 / 261]
[207 / 261] SwiftParser
[210 / 261] SwiftParser
[214 / 261] Csv2ImgCore
[223 / 261] SwiftParser
[225 / 261] SwiftParser
[231 / 261] SwiftParser-product
[236 / 261] Csv2ImgCore
[236 / 261] Csv2ImgCmd-product
[241 / 262]
[242 / 263]
[247 / 273] Csv2ImgCmd-product
[250 / 273] CsvBuilder
[258 / 273] CsvBuilder
[260 / 273] Csv2ImgCore
[262 / 273] Csv2ImgCore
[264 / 273] Csv2ImgCmd-product
[266 / 273] Csv2ImgCmd-product
[268 / 273] SwiftSyntax
[270 / 273] SwiftSyntax
[273 / 273] CsvBuilder-product
Build complete! (16.00 sec)
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/swiftlang/swift-syntax
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
[236/21263] Fetching swift-docc-plugin, swift-argument-parser
[21264/101273] Fetching swift-docc-plugin, swift-argument-parser, swift-syntax
Fetched https://github.com/apple/swift-argument-parser (1.94s)
Fetched https://github.com/swiftlang/swift-docc-plugin (1.94s)
[801/80010] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax (6.03s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 510.0.3 (8.84s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (0.65s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3829] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.37s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.10s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.1.4 (0.66s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.1.4
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 510.0.3
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/ImageMaker.swift:48:9: [1;33mwarning: [1;39mstored property 'maximumRowCount' of 'Sendable'-conforming class 'ImageMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m46 |[0;0m }
[0;36m47 |[0;0m
[0;36m48 |[0;0m var maximumRowCount: Int?
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'maximumRowCount' of 'Sendable'-conforming class 'ImageMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m49 |[0;0m
[0;36m50 |[0;0m var fontSize: Double
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/PdfMaker.swift:44:22: [1;33mwarning: [1;39mstored property 'fontSize' of 'Sendable'-conforming class 'PdfMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m42 |[0;0m
[0;36m43 |[0;0m let maximumRowCount: Int?
[0;36m44 |[0;0m private(set) var fontSize: Double
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'fontSize' of 'Sendable'-conforming class 'PdfMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m45 |[0;0m var metadata: PDFMetadata
[0;36m46 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/TypeConvertible.swift:25:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'PDFDocument' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'PDFKit' introduce this conformance in the future[0;0m
[0;36m23 |[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m extension PDFDocument: @unchecked Sendable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'PDFDocument' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'PDFKit' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m26 |[0;0m }
[0;36m27 |[0;0m extension PDFDocument: CsvExportable {
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/CsvColumnStyle+Ex.swift:25:16: [1;33mwarning: [1;39mexpression implicitly coerced from 'NSColor?' to 'Any'[0;0m
[0;36m23 |[0;0m return normalColor()
[0;36m24 |[0;0m }
[0;36m25 |[0;0m return [4;39mColor([0;0m
[0;36m|[0;0m |- [1;33mwarning: [1;39mexpression implicitly coerced from 'NSColor?' to 'Any'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39mprovide a default value to avoid this warning[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39mforce-unwrap the value to avoid this warning[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly cast to 'Any' with 'as Any' to silence this warning[0;0m
[0;36m26 |[0;0m cgColor: color
[0;36m27 |[0;0m )
/Users/admin/builder/spi-builder-workspace/Sources/CsvBuilder/NewCsvComposition.swift:23:9: [1;33mwarning: [1;39m'@dynamicMemberLookup' requires 'subscript(dynamicMember:)' to be as accessible as its enclosing type; this will be an error in a future Swift language mode[0;0m
[0;36m21 |[0;0m var value: Value = [:]
[0;36m22 |[0;0m
[0;36m23 |[0;0m subscript(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'@dynamicMemberLookup' requires 'subscript(dynamicMember:)' to be as accessible as its enclosing type; this will be an error in a future Swift language mode[0;0m
[0;36m24 |[0;0m dynamicMember keyPath: KeyPath<
[0;36m25 |[0;0m Rows,
/Users/admin/builder/spi-builder-workspace/Sources/CsvBuilder/NewCsvComposition.swift:23:9: [1;33mwarning: [1;39m'@dynamicMemberLookup' requires 'subscript(dynamicMember:)' to be as accessible as its enclosing type; this will be an error in a future Swift language mode[0;0m
[0;36m21 |[0;0m var value: Value = [:]
[0;36m22 |[0;0m
[0;36m23 |[0;0m subscript(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'@dynamicMemberLookup' requires 'subscript(dynamicMember:)' to be as accessible as its enclosing type; this will be an error in a future Swift language mode[0;0m
[0;36m24 |[0;0m dynamicMember keyPath: KeyPath<
[0;36m25 |[0;0m Rows,
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/ImageMaker.swift:48:9: [1;33mwarning: [1;39mstored property 'maximumRowCount' of 'Sendable'-conforming class 'ImageMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m46 |[0;0m }
[0;36m47 |[0;0m
[0;36m48 |[0;0m var maximumRowCount: Int?
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'maximumRowCount' of 'Sendable'-conforming class 'ImageMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m49 |[0;0m
[0;36m50 |[0;0m var fontSize: Double
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/ImageMaker.swift:175:21: [1;33mwarning: [1;39mimmutable value 'item' was never used; consider replacing with '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m173 |[0;0m for (i, row) in rows.enumerated() {
[0;36m174 |[0;0m var rowFrames: [CGRect] = []
[0;36m175 |[0;0m for (j, item) in row.values.enumerated() {
[0;36m|[0;0m `- [1;33mwarning: [1;39mimmutable value 'item' was never used; consider replacing with '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m176 |[0;0m if columns.count <= j { continue }
[0;36m177 |[0;0m let xOffset = columnWidths[0..<j].reduce(0, +) + (j + 1) * horizontalSpace
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/TypeConvertible.swift:25:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'PDFDocument' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'PDFKit' introduce this conformance in the future[0;0m
[0;36m23 |[0;0m
[0;36m24 |[0;0m }
[0;36m25 |[0;0m extension PDFDocument: @unchecked Sendable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'PDFDocument' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'PDFKit' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m26 |[0;0m }
[0;36m27 |[0;0m extension PDFDocument: CsvExportable {
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/Csv.swift:87:9: [1;33mwarning: [1;39mactor-isolated property 'isLoadingSubject' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode[0;0m
[0;36m85 |[0;0m >
[0;36m86 |[0;0m {
[0;36m87 |[0;0m isLoadingSubject.eraseToAnyPublisher()
[0;36m|[0;0m `- [1;33mwarning: [1;39mactor-isolated property 'isLoadingSubject' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode[0;0m
[0;36m88 |[0;0m }
[0;36m89 |[0;0m
[0;36m90 |[0;0m /// `CurrentValueSubject` to store ``isLoading``.
[0;36m91 |[0;0m private let isLoadingSubject:
[0;36m|[0;0m `- [1;39mnote: [1;39mproperty declared here[0;0m
[0;36m92 |[0;0m CurrentValueSubject<
[0;36m93 |[0;0m Bool,
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/Csv.swift:112:9: [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode[0;0m
[0;36m110 |[0;0m >
[0;36m111 |[0;0m {
[0;36m112 |[0;0m progressSubject.eraseToAnyPublisher()
[0;36m|[0;0m `- [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode[0;0m
[0;36m113 |[0;0m }
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// `CurrentValueSubject` to store ``progress``.
[0;36m116 |[0;0m private let progressSubject:
[0;36m|[0;0m `- [1;39mnote: [1;39mproperty declared here[0;0m
[0;36m117 |[0;0m CurrentValueSubject<
[0;36m118 |[0;0m Double,
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/Csv.swift:521:38: [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be mutated from a nonisolated context[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// `CurrentValueSubject` to store ``progress``.
[0;36m116 |[0;0m private let progressSubject:
[0;36m|[0;0m `- [1;39mnote: [1;39mmutation of this property is only permitted within the actor[0;0m
[0;36m117 |[0;0m CurrentValueSubject<
[0;36m118 |[0;0m Double,
[0;36m:[0;0m
[0;36m519 |[0;0m rows: await self.rows
[0;36m520 |[0;0m ) { progress in
[0;36m521 |[0;0m self.progressSubject.value = progress
[0;36m|[0;0m `- [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be mutated from a nonisolated context[0;0m
[0;36m522 |[0;0m }
[0;36m523 |[0;0m continuation.resume(returning: image)
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/Csv.swift:560:42: [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be mutated from a nonisolated context[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// `CurrentValueSubject` to store ``progress``.
[0;36m116 |[0;0m private let progressSubject:
[0;36m|[0;0m `- [1;39mnote: [1;39mmutation of this property is only permitted within the actor[0;0m
[0;36m117 |[0;0m CurrentValueSubject<
[0;36m118 |[0;0m Double,
[0;36m:[0;0m
[0;36m558 |[0;0m rows: await self.rows
[0;36m559 |[0;0m ) { progress in
[0;36m560 |[0;0m self.progressSubject.value = progress
[0;36m|[0;0m `- [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be mutated from a nonisolated context[0;0m
[0;36m561 |[0;0m }
[0;36m562 |[0;0m } else {
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/Csv.swift:567:42: [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be mutated from a nonisolated context[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// `CurrentValueSubject` to store ``progress``.
[0;36m116 |[0;0m private let progressSubject:
[0;36m|[0;0m `- [1;39mnote: [1;39mmutation of this property is only permitted within the actor[0;0m
[0;36m117 |[0;0m CurrentValueSubject<
[0;36m118 |[0;0m Double,
[0;36m:[0;0m
[0;36m565 |[0;0m rows: await self.rows
[0;36m566 |[0;0m ) { progress in
[0;36m567 |[0;0m self.progressSubject.value = progress
[0;36m|[0;0m `- [1;33mwarning: [1;39mactor-isolated property 'progressSubject' can not be mutated from a nonisolated context[0;0m
[0;36m568 |[0;0m }
[0;36m569 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/PdfMaker.swift:44:22: [1;33mwarning: [1;39mstored property 'fontSize' of 'Sendable'-conforming class 'PdfMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m42 |[0;0m
[0;36m43 |[0;0m let maximumRowCount: Int?
[0;36m44 |[0;0m private(set) var fontSize: Double
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'fontSize' of 'Sendable'-conforming class 'PdfMaker' is mutable; this is an error in the Swift 6 language mode[0;0m
[0;36m45 |[0;0m var metadata: PDFMetadata
[0;36m46 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/PdfMaker.swift:214:53: [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m212 |[0;0m let coreInfo =
[0;36m213 |[0;0m [
[0;36m214 |[0;0m kCGPDFContextTitle as CFString: [4;39mmetadata.title[0;0m,
[0;36m|[0;0m | |- [1;39mnote: [1;39mprovide a default value to avoid this warning[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mforce-unwrap the value to avoid this warning[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39mexplicitly cast to 'Any' with 'as Any' to silence this warning[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m215 |[0;0m kCGPDFContextAuthor as CFString: metadata.author,
[0;36m216 |[0;0m kCGPDFContextMediaBox: mediaBoxPerPage,
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/PdfMaker.swift:215:54: [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m213 |[0;0m [
[0;36m214 |[0;0m kCGPDFContextTitle as CFString: metadata.title,
[0;36m215 |[0;0m kCGPDFContextAuthor as CFString: [4;39mmetadata.author[0;0m,
[0;36m|[0;0m | |- [1;39mnote: [1;39mprovide a default value to avoid this warning[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mforce-unwrap the value to avoid this warning[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39mexplicitly cast to 'Any' with 'as Any' to silence this warning[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m216 |[0;0m kCGPDFContextMediaBox: mediaBoxPerPage,
[0;36m217 |[0;0m ] as [CFString: Any]
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/PdfMaker.swift:418:53: [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m416 |[0;0m let coreInfo =
[0;36m417 |[0;0m [
[0;36m418 |[0;0m kCGPDFContextTitle as CFString: [4;39mmetadata.title[0;0m,
[0;36m|[0;0m | |- [1;39mnote: [1;39mprovide a default value to avoid this warning[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mforce-unwrap the value to avoid this warning[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39mexplicitly cast to 'Any' with 'as Any' to silence this warning[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m419 |[0;0m kCGPDFContextAuthor as CFString: metadata.author,
[0;36m420 |[0;0m kCGPDFContextMediaBox: mediaBoxPerPage,
/Users/admin/builder/spi-builder-workspace/Sources/Csv2ImgCore/PdfMaker.swift:419:54: [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m417 |[0;0m [
[0;36m418 |[0;0m kCGPDFContextTitle as CFString: metadata.title,
[0;36m419 |[0;0m kCGPDFContextAuthor as CFString: [4;39mmetadata.author[0;0m,
[0;36m|[0;0m | |- [1;39mnote: [1;39mprovide a default value to avoid this warning[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mforce-unwrap the value to avoid this warning[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39mexplicitly cast to 'Any' with 'as Any' to silence this warning[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39mexpression implicitly coerced from 'String?' to 'Any'[0;0m
[0;36m420 |[0;0m kCGPDFContextMediaBox: mediaBoxPerPage,
[0;36m421 |[0;0m ] as [CFString: Any]
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "1.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
},
{
"identity" : "swift-syntax",
"requirement" : {
"range" : [
{
"lower_bound" : "510.0.0",
"upper_bound" : "511.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-syntax"
}
],
"manifest_display_name" : "Csv2Img",
"name" : "Csv2Img",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "14.0"
}
],
"products" : [
{
"name" : "Csv2ImgCore",
"targets" : [
"Csv2ImgCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CsvBuilder",
"targets" : [
"CsvBuilder"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Csv2ImgCmd",
"targets" : [
"Csv2ImgCmd"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "CsvBuilderTests",
"module_type" : "SwiftTarget",
"name" : "CsvBuilderTests",
"path" : "Tests/CsvBuilderTests",
"sources" : [
"CsvBuilderTests.swift"
],
"target_dependencies" : [
"CsvBuilder"
],
"type" : "test"
},
{
"c99name" : "CsvBuilder",
"module_type" : "SwiftTarget",
"name" : "CsvBuilder",
"path" : "Sources/CsvBuilder",
"product_dependencies" : [
"SwiftSyntax",
"SwiftParser"
],
"product_memberships" : [
"CsvBuilder"
],
"sources" : [
"CsvBuilder.swift",
"CsvComposition.swift",
"CsvCompositionElement.swift",
"CsvCompositionParser.swift",
"Example.swift",
"NewCsvComposition.swift",
"RowWrapper.swift"
],
"target_dependencies" : [
"Csv2ImgCore"
],
"type" : "library"
},
{
"c99name" : "Csv2ImgCoreTests",
"module_type" : "SwiftTarget",
"name" : "Csv2ImgCoreTests",
"path" : "Tests/Csv2ImgCoreTests",
"sources" : [
"CsvTests.swift",
"ImageMakerTests.swift",
"PdfMakerTests.swift",
"String+ExTests.swift",
"Util.swift"
],
"target_dependencies" : [
"Csv2ImgCore"
],
"type" : "test"
},
{
"c99name" : "Csv2ImgCore",
"module_type" : "SwiftTarget",
"name" : "Csv2ImgCore",
"path" : "Sources/Csv2ImgCore",
"product_memberships" : [
"Csv2ImgCore",
"CsvBuilder",
"Csv2ImgCmd"
],
"sources" : [
"Csv.swift",
"CsvColumn.swift",
"CsvColumnStyle+Ex.swift",
"CsvError.swift",
"CsvImageRepresentation.swift",
"CsvRow.swift",
"Image+Data.swift",
"ImageMaker.swift",
"ImageRenderer.swift",
"Maker.swift",
"PDFMetadata.swift",
"Pdf+Data.swift",
"PdfMaker.swift",
"PdfSize.swift",
"String+Ex.swift",
"TypeConvertible.swift"
],
"type" : "library"
},
{
"c99name" : "Csv2ImgCmd",
"module_type" : "SwiftTarget",
"name" : "Csv2ImgCmd",
"path" : "Sources/Csv2ImgCmd",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"Csv2ImgCmd"
],
"sources" : [
"command.swift"
],
"target_dependencies" : [
"Csv2ImgCore"
],
"type" : "executable"
}
],
"tools_version" : "5.10"
}
Done.