From 5f99d0c82d6c0155edc6becaaab369ce1bb0b6fd Mon Sep 17 00:00:00 2001 From: Yonas Kolb Date: Mon, 14 May 2018 10:38:43 +1000 Subject: [PATCH] always generate Sources build phase --- Sources/XcodeGenKit/PBXProjGenerator.swift | 6 ++---- .../Project.xcodeproj/project.pbxproj | 16 ++++++++++++++++ .../XcodeGenKitTests/ProjectGeneratorTests.swift | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Sources/XcodeGenKit/PBXProjGenerator.swift b/Sources/XcodeGenKit/PBXProjGenerator.swift index 06546976..08808384 100644 --- a/Sources/XcodeGenKit/PBXProjGenerator.swift +++ b/Sources/XcodeGenKit/PBXProjGenerator.swift @@ -549,10 +549,8 @@ public class PBXProjGenerator { try target.prebuildScripts.forEach(generateBuildScript) let sourcesBuildPhaseFiles = getBuildFilesForPhase(.sources) - if !sourcesBuildPhaseFiles.isEmpty { - let sourcesBuildPhase = createObject(id: target.name, PBXSourcesBuildPhase(files: sourcesBuildPhaseFiles)) - buildPhases.append(sourcesBuildPhase.reference) - } + let sourcesBuildPhase = createObject(id: target.name, PBXSourcesBuildPhase(files: sourcesBuildPhaseFiles)) + buildPhases.append(sourcesBuildPhase.reference) let resourcesBuildPhaseFiles = getBuildFilesForPhase(.resources) + copyResourcesReferences if !resourcesBuildPhaseFiles.isEmpty { diff --git a/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj b/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj index 3af4af5b..2aada73f 100644 --- a/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj +++ b/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj @@ -496,6 +496,7 @@ isa = PBXLegacyTarget; buildConfigurationList = CL_479264660374 /* Build configuration list for PBXLegacyTarget "Legacy" */; buildPhases = ( + SBP_47926466037 /* Sources */, ); buildToolPath = /usr/bin/true; dependencies = ( @@ -529,6 +530,7 @@ isa = PBXNativeTarget; buildConfigurationList = CL_324671077936 /* Build configuration list for PBXNativeTarget "App_watchOS" */; buildPhases = ( + SBP_32467107793 /* Sources */, RBP_32467107793 /* Resources */, CFBP_4684049960 /* CopyFiles */, SSBP_5954948530 /* Carthage */, @@ -911,6 +913,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + SBP_32467107793 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; SBP_43870453850 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -927,6 +936,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + SBP_47926466037 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; SBP_50702349225 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; diff --git a/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift b/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift index 77dc47bb..15742c7f 100644 --- a/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift +++ b/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift @@ -281,7 +281,7 @@ func projectGeneratorTests() { let pbxProject = try getPbxProj(scriptSpec) guard let nativeTarget = pbxProject.objects.nativeTargets.referenceValues - .first(where: { !$0.buildPhases.isEmpty }) else { + .first(where: { $0.buildPhases.count >= 2 }) else { throw failure("Target with build phases not found") } let buildPhases = nativeTarget.buildPhases