diff --git a/Sources/XcodeGraph/Models/BuildAction+Architectures.swift b/Sources/XcodeGraph/Models/BuildAction+Architectures.swift new file mode 100644 index 00000000..e3949047 --- /dev/null +++ b/Sources/XcodeGraph/Models/BuildAction+Architectures.swift @@ -0,0 +1,7 @@ +extension BuildAction { + public enum Architectures: Equatable, Codable, Sendable { + case matchRunDestination + case universal + case useTargetSettings + } +} diff --git a/Sources/XcodeGraph/Models/BuildAction.swift b/Sources/XcodeGraph/Models/BuildAction.swift index 16dd96fa..1a512c04 100644 --- a/Sources/XcodeGraph/Models/BuildAction.swift +++ b/Sources/XcodeGraph/Models/BuildAction.swift @@ -10,6 +10,7 @@ public struct BuildAction: Equatable, Codable, Sendable { public var parallelizeBuild: Bool public var runPostActionsOnFailure: Bool public var findImplicitDependencies: Bool + public var overrideArchitectures: Architectures // MARK: - Init @@ -19,7 +20,8 @@ public struct BuildAction: Equatable, Codable, Sendable { postActions: [ExecutionAction] = [], parallelizeBuild: Bool = true, runPostActionsOnFailure: Bool = false, - findImplicitDependencies: Bool = true + findImplicitDependencies: Bool = true, + overrideArchitectures: Architectures = .useTargetSettings ) { self.targets = targets self.preActions = preActions @@ -27,6 +29,7 @@ public struct BuildAction: Equatable, Codable, Sendable { self.parallelizeBuild = parallelizeBuild self.runPostActionsOnFailure = runPostActionsOnFailure self.findImplicitDependencies = findImplicitDependencies + self.overrideArchitectures = overrideArchitectures } } diff --git a/Tests/XcodeGraphTests/Models/BuildAction.ArchitecturesTests.swift b/Tests/XcodeGraphTests/Models/BuildAction.ArchitecturesTests.swift new file mode 100644 index 00000000..cd7487e4 --- /dev/null +++ b/Tests/XcodeGraphTests/Models/BuildAction.ArchitecturesTests.swift @@ -0,0 +1,14 @@ +import Foundation +import XCTest + +@testable import XcodeGraph + +final class BuildActionArchitecturesTests: XCTestCase { + func test_codable() { + // Given + let subject = BuildAction.Architectures.universal + + // Then + XCTAssertCodable(subject) + } +}