diff --git a/Tests/XcodeGenKitTests/ProjectSpecTests.swift b/Tests/XcodeGenKitTests/ProjectSpecTests.swift index 362a657e..19daf4d3 100644 --- a/Tests/XcodeGenKitTests/ProjectSpecTests.swift +++ b/Tests/XcodeGenKitTests/ProjectSpecTests.swift @@ -201,7 +201,7 @@ class ProjectSpecTests: XCTestCase { var project = baseProject project.schemes = [Scheme( name: "scheme1", - build: .init(targets: [.init(target: "invalidTarget")]), + build: .init(targets: [.init(target: .init(name: "invalidTarget", location: .local))]), run: .init(config: "debugInvalid"), archive: .init(config: "releaseInvalid") )] @@ -249,7 +249,7 @@ class ProjectSpecTests: XCTestCase { attributes: [:] ) project.aggregateTargets = [aggregatedTarget] - let buildTarget = Scheme.BuildTarget(target: "target1") + let buildTarget = Scheme.BuildTarget(target: .init(name: "target1")) let scheme = Scheme(name: "target1-Scheme", build: Scheme.Build(targets: [buildTarget])) project.schemes = [scheme] try project.validate() @@ -332,7 +332,7 @@ class ProjectSpecTests: XCTestCase { name: nil, outputFiles: ["bar"], outputFilesCompilerFlags: ["foo"])], - scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(name: "test target", + scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(targetReference: .init(name: "test target"), randomExecutionOrder: false, parallelizable: false)], configVariants: ["foo"], @@ -370,7 +370,7 @@ class ProjectSpecTests: XCTestCase { shell: "/bin/bash", runOnlyWhenInstalling: true, showEnvVars: false)], - scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(name: "test target", + scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(targetReference: .init(name: "test target"), randomExecutionOrder: false, parallelizable: false)], configVariants: ["foo"], @@ -398,7 +398,7 @@ class ProjectSpecTests: XCTestCase { groups: ["config-setting-group"])], groups: ["setting-group"])], schemes: [Scheme(name: "scheme", - build: Scheme.Build(targets: [Scheme.BuildTarget(target: "foo", + build: Scheme.Build(targets: [Scheme.BuildTarget(target: .init(name: "foo"), buildTypes: [.archiving, .analyzing])], parallelizeBuild: false, buildImplicitDependencies: false, @@ -425,7 +425,7 @@ class ProjectSpecTests: XCTestCase { randomExecutionOrder: false, parallelizable: false, commandLineArguments: ["foo": true], - targets: [Scheme.Test.TestTarget(name: "foo", + targets: [Scheme.Test.TestTarget(targetReference: .init(name: "foo"), randomExecutionOrder: false, parallelizable: false)], preActions: [Scheme.ExecutionAction(name: "preAction", diff --git a/Tests/XcodeGenKitTests/SchemeGeneratorTests.swift b/Tests/XcodeGenKitTests/SchemeGeneratorTests.swift index cf82460a..9d828fd4 100644 --- a/Tests/XcodeGenKitTests/SchemeGeneratorTests.swift +++ b/Tests/XcodeGenKitTests/SchemeGeneratorTests.swift @@ -37,7 +37,7 @@ class SchemeGeneratorTests: XCTestCase { func testSchemes() { describe { - let buildTarget = Scheme.BuildTarget(target: app.name) + let buildTarget = Scheme.BuildTarget(target: .init(name: app.name, location: .local)) $0.it("generates scheme") { let preAction = Scheme.ExecutionAction(name: "Script", script: "echo Starting", settingsTarget: app.name) let scheme = Scheme( @@ -209,8 +209,9 @@ class SchemeGeneratorTests: XCTestCase { try! writer.writeXcodeProject(xcodeProject) try! writer.writePlists() } - let externalProject = fixturePath + "scheme_test/TestProject.xcodeproj" - let target = Scheme.BuildTarget(target: "ExternalTarget", externalProject: externalProject.string) + let externalProjectPath = fixturePath + "scheme_test/TestProject.xcodeproj" + let externalProject = ExternalProject(name: "ExternalProject", path: externalProjectPath.string) + let target = Scheme.BuildTarget(target: .init(name: "ExternalTarget", location: .project("ExternalProject"))) let scheme = Scheme( name: "ExternalProjectScheme", build: Scheme.Build(targets: [target]) @@ -218,7 +219,8 @@ class SchemeGeneratorTests: XCTestCase { let project = Project( name: "test", targets: [], - schemes: [scheme] + schemes: [scheme], + externalProjects: [externalProject] ) let xcodeProject = try project.generateXcodeProject() guard let xcscheme = xcodeProject.sharedData?.schemes.first else { @@ -227,7 +229,7 @@ class SchemeGeneratorTests: XCTestCase { try expect(xcscheme.buildAction?.buildActionEntries.count) == 1 let buildableReference = xcscheme.buildAction?.buildActionEntries.first?.buildableReference try expect(buildableReference?.blueprintName) == "ExternalTarget" - try expect(buildableReference?.referencedContainer) == "container:\(externalProject.string)" + try expect(buildableReference?.referencedContainer) == "container:\(externalProjectPath.string)" } } diff --git a/Tests/XcodeGenKitTests/SpecLoadingTests.swift b/Tests/XcodeGenKitTests/SpecLoadingTests.swift index ed2f027a..011a5d44 100644 --- a/Tests/XcodeGenKitTests/SpecLoadingTests.swift +++ b/Tests/XcodeGenKitTests/SpecLoadingTests.swift @@ -748,10 +748,7 @@ class SpecLoadingTests: XCTestCase { "Target4": ["testing": true], "Target5": ["testing": false], "Target6": ["test", "analyze"], - "Target7": [ - "externalProject": "ExternalProject.xcodeproj", - "types": ["run"], - ], + "ExternalProject/Target7": ["run"], ], "preActions": [ [ @@ -766,8 +763,7 @@ class SpecLoadingTests: XCTestCase { "targets": [ "Target1", [ - "name": "Target2", - "externalProject": "ExternalProject.xcodeproj", + "name": "ExternalProject/Target2", "parallelizable": true, "randomExecutionOrder": true, "skippedTests": ["Test/testExample()"], @@ -779,13 +775,13 @@ class SpecLoadingTests: XCTestCase { ] let scheme = try Scheme(name: "Scheme", jsonDictionary: schemeDictionary) let expectedTargets: [Scheme.BuildTarget] = [ - Scheme.BuildTarget(target: "Target1", buildTypes: BuildType.all), - Scheme.BuildTarget(target: "Target2", buildTypes: [.testing, .analyzing]), - Scheme.BuildTarget(target: "Target3", buildTypes: []), - Scheme.BuildTarget(target: "Target4", buildTypes: [.testing]), - Scheme.BuildTarget(target: "Target5", buildTypes: []), - Scheme.BuildTarget(target: "Target6", buildTypes: [.testing, .analyzing]), - Scheme.BuildTarget(target: "Target7", externalProject: "ExternalProject.xcodeproj", buildTypes: [.running]), + Scheme.BuildTarget(target: .init(name: "Target1"), buildTypes: BuildType.all), + Scheme.BuildTarget(target: .init(name: "Target2"), buildTypes: [.testing, .analyzing]), + Scheme.BuildTarget(target: .init(name: "Target3"), buildTypes: []), + Scheme.BuildTarget(target: .init(name: "Target4"), buildTypes: [.testing]), + Scheme.BuildTarget(target: .init(name: "Target5"), buildTypes: []), + Scheme.BuildTarget(target: .init(name: "Target6"), buildTypes: [.testing, .analyzing]), + Scheme.BuildTarget(target: .init(name: "Target7", location: .project("ExternalProject")), buildTypes: [.running]), ] try expect(scheme.name) == "Scheme" try expect(scheme.build.targets) == expectedTargets @@ -803,8 +799,7 @@ class SpecLoadingTests: XCTestCase { targets: [ "Target1", Scheme.Test.TestTarget( - name: "Target2", - externalProject: "ExternalProject.xcodeproj", + targetReference: .init(name: "Target2", location: .project("ExternalProject")), randomExecutionOrder: true, parallelizable: true, skippedTests: ["Test/testExample()"]