Build Information
Successful build of tandha, reference main (535a71), with Swift 6.1 for macOS (SPM) on 4 Sep 2026 16:08:23 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 5.0.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iQbalADR/tandha.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iQbalADR/tandha
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 535a710 Keep roadmap out of code comments
Cloned https://github.com/iQbalADR/tandha.git
Revision (git rev-parse @):
535a710530ba5019726f1b7306f5de0b09fc3e2d
SUCCESS checkout https://github.com/iQbalADR/tandha.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/iQbalADR/tandha.git
https://github.com/iQbalADR/tandha.git
{
"dependencies" : [
],
"manifest_display_name" : "tandha",
"name" : "tandha",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "Tandha",
"targets" : [
"Tandha",
"TandhaCore",
"TandhaUIKit",
"TandhaSwiftUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TandhaXCUITest",
"targets" : [
"TandhaXCUITest"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TandhaTooling",
"targets" : [
"TandhaCodegen",
"TandhaExport",
"TandhaLint"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "tandha",
"targets" : [
"TandhaCLI"
],
"type" : {
"executable" : null
}
},
{
"name" : "TandhaCodegenPlugin",
"targets" : [
"TandhaCodegenPlugin"
],
"type" : {
"plugin" : null
}
}
],
"targets" : [
{
"c99name" : "TandhaXCUITest",
"module_type" : "SwiftTarget",
"name" : "TandhaXCUITest",
"path" : "Sources/TandhaXCUITest",
"product_memberships" : [
"TandhaXCUITest"
],
"sources" : [
"XCUITest+AutomationID.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaUIKit",
"module_type" : "SwiftTarget",
"name" : "TandhaUIKit",
"path" : "Sources/TandhaUIKit",
"product_memberships" : [
"Tandha"
],
"sources" : [
"UIView+AutomationID.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaSwiftUI",
"module_type" : "SwiftTarget",
"name" : "TandhaSwiftUI",
"path" : "Sources/TandhaSwiftUI",
"product_memberships" : [
"Tandha"
],
"sources" : [
"View+AutomationID.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaLintTests",
"module_type" : "SwiftTarget",
"name" : "TandhaLintTests",
"path" : "Tests/TandhaLintTests",
"sources" : [
"LintTests.swift"
],
"target_dependencies" : [
"TandhaLint",
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaLint",
"module_type" : "SwiftTarget",
"name" : "TandhaLint",
"path" : "Sources/TandhaLint",
"product_memberships" : [
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"LintFinding.swift",
"LintRule.swift",
"Linter.swift",
"Rules/DuplicateIdentifierRule.swift",
"Rules/MissingKeyRule.swift",
"Rules/NamingConventionRule.swift",
"Rules/UnusedKeyRule.swift",
"SourceScanner.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaExportTests",
"module_type" : "SwiftTarget",
"name" : "TandhaExportTests",
"path" : "Tests/TandhaExportTests",
"sources" : [
"ExporterTests.swift"
],
"target_dependencies" : [
"TandhaExport",
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaExport",
"module_type" : "SwiftTarget",
"name" : "TandhaExport",
"path" : "Sources/TandhaExport",
"product_memberships" : [
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"CSVExporter.swift",
"Exporter.swift",
"JSONExporter.swift",
"JavaPageObjectExporter.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaCoreTests",
"module_type" : "SwiftTarget",
"name" : "TandhaCoreTests",
"path" : "Tests/TandhaCoreTests",
"sources" : [
"AutomationModelTests.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaCore",
"module_type" : "SwiftTarget",
"name" : "TandhaCore",
"path" : "Sources/TandhaCore",
"product_memberships" : [
"Tandha",
"TandhaXCUITest",
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"AutomationIDEntry.swift",
"AutomationIDError.swift",
"AutomationModel.swift",
"AutomationRegistry.swift"
],
"type" : "library"
},
{
"c99name" : "TandhaCodegenTests",
"module_type" : "SwiftTarget",
"name" : "TandhaCodegenTests",
"path" : "Tests/TandhaCodegenTests",
"sources" : [
"SwiftEnumGeneratorTests.swift"
],
"target_dependencies" : [
"TandhaCodegen",
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaCodegenPlugin",
"module_type" : "PluginTarget",
"name" : "TandhaCodegenPlugin",
"path" : "Plugins/TandhaCodegenPlugin",
"plugin_capability" : {
"type" : "buildTool"
},
"product_memberships" : [
"TandhaCodegenPlugin"
],
"sources" : [
"plugin.swift"
],
"target_dependencies" : [
"TandhaCLI"
],
"type" : "plugin"
},
{
"c99name" : "TandhaCodegen",
"module_type" : "SwiftTarget",
"name" : "TandhaCodegen",
"path" : "Sources/TandhaCodegen",
"product_memberships" : [
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"SwiftEnumGenerator.swift",
"SwiftIdentifier.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaCLI",
"module_type" : "SwiftTarget",
"name" : "TandhaCLI",
"path" : "Sources/TandhaCLI",
"product_memberships" : [
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"Arguments.swift",
"ExportCommand.swift",
"GenerateCommand.swift",
"IO.swift",
"LintCommand.swift",
"main.swift"
],
"target_dependencies" : [
"TandhaCore",
"TandhaCodegen",
"TandhaExport",
"TandhaLint"
],
"type" : "executable"
},
{
"c99name" : "Tandha",
"module_type" : "SwiftTarget",
"name" : "Tandha",
"path" : "Sources/Tandha",
"product_memberships" : [
"Tandha"
],
"sources" : [
"Exports.swift"
],
"target_dependencies" : [
"TandhaCore",
"TandhaUIKit",
"TandhaSwiftUI"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin TandhaCodegenPlugin
Building for debugging...
[1/20] Write sources
[3/20] Write tandha-entitlement.plist
[3/20] Write sources
[16/20] Write swift-version-2F0A5646E1D333AE.txt
[18/30] Compiling TandhaCore AutomationRegistry.swift
/Users/admin/builder/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let lock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let lock = NSLock()
[20/30] Compiling TandhaCore AutomationIDError.swift
[21/30] Emitting module TandhaCore
/Users/admin/builder/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let lock = NSLock()
[22/30] Compiling TandhaCore AutomationIDEntry.swift
[23/30] Compiling TandhaCore AutomationModel.swift
[24/30] Compiling TandhaCore AutomationIDEntry.swift
[25/30] Emitting module TandhaCore
/Users/admin/builder/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | private let lock = NSLock()
[26/30] Compiling TandhaCore AutomationIDError.swift
[27/30] Compiling TandhaCore AutomationModel.swift
[28/70] Emitting module TandhaUIKit
[29/70] Compiling TandhaUIKit UIView+AutomationID.swift
[30/70] Compiling TandhaCodegen SwiftIdentifier.swift
[31/70] Emitting module TandhaCodegen
[32/70] Compiling TandhaCodegen SwiftEnumGenerator.swift
[33/70] Emitting module TandhaLint
[34/70] Emitting module TandhaExport
/Users/admin/builder/spi-builder-workspace/Sources/TandhaExport/Exporter.swift:18:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | ///
6 | /// Each format is a single self-contained type, registered in `Exporters.all`.
7 | public protocol Exporter {
| `- note: protocol 'Exporter' does not conform to the 'Sendable' protocol
8 | /// CLI-facing format name, e.g. `json`, `csv`, `java`.
9 | static var formatName: String { get }
:
16 | /// Registry of the built-in exporters, keyed by `formatName`.
17 | public enum Exporters {
18 | public static let all: [any Exporter] = [
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | JSONExporter(),
20 | CSVExporter(),
[35/70] Compiling TandhaLint LintFinding.swift
[36/70] Compiling TandhaLint LintRule.swift
[37/70] Compiling TandhaLint Linter.swift
[38/70] Compiling TandhaLint LintRule.swift
[39/70] Compiling TandhaLint DuplicateIdentifierRule.swift
[40/70] Compiling TandhaLint Linter.swift
[41/70] Compiling TandhaLint DuplicateIdentifierRule.swift
[42/70] Emitting module TandhaLint
[43/70] Compiling TandhaLint LintFinding.swift
[44/70] Compiling TandhaExport Exporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/TandhaExport/Exporter.swift:18:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | ///
6 | /// Each format is a single self-contained type, registered in `Exporters.all`.
7 | public protocol Exporter {
| `- note: protocol 'Exporter' does not conform to the 'Sendable' protocol
8 | /// CLI-facing format name, e.g. `json`, `csv`, `java`.
9 | static var formatName: String { get }
:
16 | /// Registry of the built-in exporters, keyed by `formatName`.
17 | public enum Exporters {
18 | public static let all: [any Exporter] = [
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | JSONExporter(),
20 | CSVExporter(),
[45/70] Compiling TandhaCodegen SwiftIdentifier.swift
[46/70] Compiling TandhaLint SourceScanner.swift
[48/70] Emitting module TandhaExport
/Users/admin/builder/spi-builder-workspace/Sources/TandhaExport/Exporter.swift:18:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | ///
6 | /// Each format is a single self-contained type, registered in `Exporters.all`.
7 | public protocol Exporter {
| `- note: protocol 'Exporter' does not conform to the 'Sendable' protocol
8 | /// CLI-facing format name, e.g. `json`, `csv`, `java`.
9 | static var formatName: String { get }
:
16 | /// Registry of the built-in exporters, keyed by `formatName`.
17 | public enum Exporters {
18 | public static let all: [any Exporter] = [
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | JSONExporter(),
20 | CSVExporter(),
[49/70] Compiling TandhaExport CSVExporter.swift
[51/70] Emitting module TandhaCodegen
[52/70] Compiling TandhaCodegen SwiftEnumGenerator.swift
[53/70] Compiling TandhaLint UnusedKeyRule.swift
[55/70] Compiling TandhaLint MissingKeyRule.swift
[56/70] Compiling TandhaLint NamingConventionRule.swift
[58/70] Compiling TandhaLint MissingKeyRule.swift
[59/70] Compiling TandhaExport JSONExporter.swift
[60/70] Compiling TandhaExport JavaPageObjectExporter.swift
[62/70] Compiling TandhaExport Exporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/TandhaExport/Exporter.swift:18:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | ///
6 | /// Each format is a single self-contained type, registered in `Exporters.all`.
7 | public protocol Exporter {
| `- note: protocol 'Exporter' does not conform to the 'Sendable' protocol
8 | /// CLI-facing format name, e.g. `json`, `csv`, `java`.
9 | static var formatName: String { get }
:
16 | /// Registry of the built-in exporters, keyed by `formatName`.
17 | public enum Exporters {
18 | public static let all: [any Exporter] = [
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | JSONExporter(),
20 | CSVExporter(),
[63/70] Compiling TandhaExport JSONExporter.swift
[64/84] Compiling TandhaCLI main.swift
[65/84] Emitting module TandhaCLI
[66/84] Compiling TandhaCLI Arguments.swift
[67/84] Compiling TandhaCLI ExportCommand.swift
[68/84] Emitting module TandhaCLI
[69/84] Compiling TandhaCLI GenerateCommand.swift
[70/84] Compiling TandhaCLI IO.swift
[71/84] Compiling TandhaCLI LintCommand.swift
[72/84] Compiling TandhaCLI Arguments.swift
[72/84] Write Objects.LinkFileList
[74/84] Compiling TandhaCLI IO.swift
[75/84] Compiling TandhaCLI main.swift
[76/84] Compiling TandhaCLI ExportCommand.swift
[77/84] Compiling TandhaCLI GenerateCommand.swift
[78/84] Compiling TandhaCLI LintCommand.swift
[78/84] Linking tandha
[79/84] Applying tandha
[81/84] Emitting module TandhaXCUITest
[82/84] Compiling TandhaXCUITest XCUITest+AutomationID.swift
[83/84] Emitting module TandhaSwiftUI
[84/84] Compiling TandhaSwiftUI View+AutomationID.swift
[85/86] Emitting module Tandha
[86/86] Compiling Tandha Exports.swift
Build complete! (16.05s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "tandha",
"name" : "tandha",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "Tandha",
"targets" : [
"Tandha",
"TandhaCore",
"TandhaUIKit",
"TandhaSwiftUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TandhaXCUITest",
"targets" : [
"TandhaXCUITest"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TandhaTooling",
"targets" : [
"TandhaCodegen",
"TandhaExport",
"TandhaLint"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "tandha",
"targets" : [
"TandhaCLI"
],
"type" : {
"executable" : null
}
},
{
"name" : "TandhaCodegenPlugin",
"targets" : [
"TandhaCodegenPlugin"
],
"type" : {
"plugin" : null
}
}
],
"targets" : [
{
"c99name" : "TandhaXCUITest",
"module_type" : "SwiftTarget",
"name" : "TandhaXCUITest",
"path" : "Sources/TandhaXCUITest",
"product_memberships" : [
"TandhaXCUITest"
],
"sources" : [
"XCUITest+AutomationID.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaUIKit",
"module_type" : "SwiftTarget",
"name" : "TandhaUIKit",
"path" : "Sources/TandhaUIKit",
"product_memberships" : [
"Tandha"
],
"sources" : [
"UIView+AutomationID.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaSwiftUI",
"module_type" : "SwiftTarget",
"name" : "TandhaSwiftUI",
"path" : "Sources/TandhaSwiftUI",
"product_memberships" : [
"Tandha"
],
"sources" : [
"View+AutomationID.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaLintTests",
"module_type" : "SwiftTarget",
"name" : "TandhaLintTests",
"path" : "Tests/TandhaLintTests",
"sources" : [
"LintTests.swift"
],
"target_dependencies" : [
"TandhaLint",
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaLint",
"module_type" : "SwiftTarget",
"name" : "TandhaLint",
"path" : "Sources/TandhaLint",
"product_memberships" : [
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"LintFinding.swift",
"LintRule.swift",
"Linter.swift",
"Rules/DuplicateIdentifierRule.swift",
"Rules/MissingKeyRule.swift",
"Rules/NamingConventionRule.swift",
"Rules/UnusedKeyRule.swift",
"SourceScanner.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaExportTests",
"module_type" : "SwiftTarget",
"name" : "TandhaExportTests",
"path" : "Tests/TandhaExportTests",
"sources" : [
"ExporterTests.swift"
],
"target_dependencies" : [
"TandhaExport",
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaExport",
"module_type" : "SwiftTarget",
"name" : "TandhaExport",
"path" : "Sources/TandhaExport",
"product_memberships" : [
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"CSVExporter.swift",
"Exporter.swift",
"JSONExporter.swift",
"JavaPageObjectExporter.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaCoreTests",
"module_type" : "SwiftTarget",
"name" : "TandhaCoreTests",
"path" : "Tests/TandhaCoreTests",
"sources" : [
"AutomationModelTests.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaCore",
"module_type" : "SwiftTarget",
"name" : "TandhaCore",
"path" : "Sources/TandhaCore",
"product_memberships" : [
"Tandha",
"TandhaXCUITest",
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"AutomationIDEntry.swift",
"AutomationIDError.swift",
"AutomationModel.swift",
"AutomationRegistry.swift"
],
"type" : "library"
},
{
"c99name" : "TandhaCodegenTests",
"module_type" : "SwiftTarget",
"name" : "TandhaCodegenTests",
"path" : "Tests/TandhaCodegenTests",
"sources" : [
"SwiftEnumGeneratorTests.swift"
],
"target_dependencies" : [
"TandhaCodegen",
"TandhaCore"
],
"type" : "test"
},
{
"c99name" : "TandhaCodegenPlugin",
"module_type" : "PluginTarget",
"name" : "TandhaCodegenPlugin",
"path" : "Plugins/TandhaCodegenPlugin",
"plugin_capability" : {
"type" : "buildTool"
},
"product_memberships" : [
"TandhaCodegenPlugin"
],
"sources" : [
"plugin.swift"
],
"target_dependencies" : [
"TandhaCLI"
],
"type" : "plugin"
},
{
"c99name" : "TandhaCodegen",
"module_type" : "SwiftTarget",
"name" : "TandhaCodegen",
"path" : "Sources/TandhaCodegen",
"product_memberships" : [
"TandhaTooling",
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"SwiftEnumGenerator.swift",
"SwiftIdentifier.swift"
],
"target_dependencies" : [
"TandhaCore"
],
"type" : "library"
},
{
"c99name" : "TandhaCLI",
"module_type" : "SwiftTarget",
"name" : "TandhaCLI",
"path" : "Sources/TandhaCLI",
"product_memberships" : [
"tandha",
"TandhaCodegenPlugin"
],
"sources" : [
"Arguments.swift",
"ExportCommand.swift",
"GenerateCommand.swift",
"IO.swift",
"LintCommand.swift",
"main.swift"
],
"target_dependencies" : [
"TandhaCore",
"TandhaCodegen",
"TandhaExport",
"TandhaLint"
],
"type" : "executable"
},
{
"c99name" : "Tandha",
"module_type" : "SwiftTarget",
"name" : "Tandha",
"path" : "Sources/Tandha",
"product_memberships" : [
"Tandha"
],
"sources" : [
"Exports.swift"
],
"target_dependencies" : [
"TandhaCore",
"TandhaUIKit",
"TandhaSwiftUI"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.