mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2024-10-27 06:21:28 +03:00
fix scheme buildable reference
This commit is contained in:
parent
920767be1f
commit
52c7316ce7
@ -41,12 +41,12 @@ public class ProjectGenerator {
|
||||
func getBuildEntry(_ buildTarget: Scheme.BuildTarget) -> XCScheme.BuildAction.Entry {
|
||||
|
||||
let targetReference = pbxProject.objects.targets(named: buildTarget.target).first!
|
||||
|
||||
let target = spec.getTarget(buildTarget.target)!
|
||||
let buildableReference = XCScheme.BuildableReference(
|
||||
referencedContainer: "container:\(spec.name).xcodeproj",
|
||||
blueprintIdentifier: targetReference.reference,
|
||||
buildableName: buildTarget.target + (targetReference.object.productType?.fileExtension.map { ".\($0)" } ?? ""),
|
||||
blueprintName: scheme.name
|
||||
buildableName: target.filename,
|
||||
blueprintName: buildTarget.target
|
||||
)
|
||||
|
||||
return XCScheme.BuildAction.Entry(buildableReference: buildableReference, buildFor: buildTarget.buildTypes)
|
||||
@ -65,7 +65,7 @@ public class ProjectGenerator {
|
||||
// ExecutionActions can require the use of build settings. Xcode allows the settings to come from a build or test target.
|
||||
let environmentBuildable = action.settingsTarget.flatMap { settingsTarget in
|
||||
return (buildActionEntries + testBuildTargetEntries)
|
||||
.first { settingsTarget == ($0.buildableReference.buildableName as NSString).deletingPathExtension }?
|
||||
.first { settingsTarget == $0.buildableReference.blueprintName }?
|
||||
.buildableReference
|
||||
}
|
||||
return XCScheme.ExecutionAction(scriptText: action.script, title: action.name, environmentBuildable: environmentBuildable)
|
||||
|
@ -36,7 +36,7 @@
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "NT_783122899910"
|
||||
BuildableName = "App_iOS_Tests.xctest"
|
||||
BlueprintName = "App_iOS"
|
||||
BlueprintName = "App_iOS_Tests"
|
||||
ReferencedContainer = "container:Project.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
@ -46,7 +46,7 @@
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "NT_123503999387"
|
||||
BuildableName = "App_iOS_UITests.xctest"
|
||||
BlueprintName = "App_iOS"
|
||||
BlueprintName = "App_iOS_UITests"
|
||||
ReferencedContainer = "container:Project.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
|
@ -15,8 +15,8 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "NT_472296042419"
|
||||
BuildableName = "Framework_iOS.framework"
|
||||
BlueprintName = "Framework"
|
||||
BuildableName = "Framework.framework"
|
||||
BlueprintName = "Framework_iOS"
|
||||
ReferencedContainer = "container:Project.xcodeproj">
|
||||
</BuildableReference>
|
||||
</EnvironmentBuildable>
|
||||
@ -33,8 +33,8 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "NT_472296042419"
|
||||
BuildableName = "Framework_iOS.framework"
|
||||
BlueprintName = "Framework"
|
||||
BuildableName = "Framework.framework"
|
||||
BlueprintName = "Framework_iOS"
|
||||
ReferencedContainer = "container:Project.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
@ -52,8 +52,8 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "NT_472296042419"
|
||||
BuildableName = "Framework_iOS.framework"
|
||||
BlueprintName = "Framework"
|
||||
BuildableName = "Framework.framework"
|
||||
BlueprintName = "Framework_iOS"
|
||||
ReferencedContainer = "container:Project.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
@ -76,8 +76,8 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "NT_472296042419"
|
||||
BuildableName = "Framework_iOS.framework"
|
||||
BlueprintName = "Framework"
|
||||
BuildableName = "Framework.framework"
|
||||
BlueprintName = "Framework_iOS"
|
||||
ReferencedContainer = "container:Project.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
@ -95,8 +95,8 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "NT_472296042419"
|
||||
BuildableName = "Framework_iOS.framework"
|
||||
BlueprintName = "Framework"
|
||||
BuildableName = "Framework.framework"
|
||||
BlueprintName = "Framework_iOS"
|
||||
ReferencedContainer = "container:Project.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
|
@ -66,8 +66,8 @@ func fixtureTests() {
|
||||
let frameworkScheme = project.sharedData?.schemes.first { $0.name == "Framework" }
|
||||
try expect(frameworkScheme?.buildAction?.preActions.first?.scriptText) == "echo Starting Framework Build"
|
||||
try expect(frameworkScheme?.buildAction?.preActions.first?.title) == "Run Script"
|
||||
try expect(frameworkScheme?.buildAction?.preActions.first?.environmentBuildable?.blueprintName) == "Framework"
|
||||
try expect(frameworkScheme?.buildAction?.preActions.first?.environmentBuildable?.buildableName) == "Framework_iOS.framework"
|
||||
try expect(frameworkScheme?.buildAction?.preActions.first?.environmentBuildable?.blueprintName) == "Framework_iOS"
|
||||
try expect(frameworkScheme?.buildAction?.preActions.first?.environmentBuildable?.buildableName) == "Framework.framework"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -324,7 +324,7 @@ func projectGeneratorTests() {
|
||||
try expect(xcscheme.buildAction?.preActions.first?.title) == "Script"
|
||||
try expect(xcscheme.buildAction?.preActions.first?.scriptText) == "echo Starting"
|
||||
try expect(xcscheme.buildAction?.preActions.first?.environmentBuildable?.buildableName) == "MyApp.app"
|
||||
try expect(xcscheme.buildAction?.preActions.first?.environmentBuildable?.blueprintName) == "MyScheme"
|
||||
try expect(xcscheme.buildAction?.preActions.first?.environmentBuildable?.blueprintName) == "MyApp"
|
||||
guard let buildActionEntry = xcscheme.buildAction?.buildActionEntries.first else {
|
||||
throw failure("Build Action entry not found")
|
||||
}
|
||||
@ -339,7 +339,7 @@ func projectGeneratorTests() {
|
||||
|
||||
for buildableReference in buildableReferences {
|
||||
try expect(buildableReference.blueprintIdentifier) == target.reference
|
||||
try expect(buildableReference.blueprintName) == scheme.name
|
||||
try expect(buildableReference.blueprintName) == target.object.name
|
||||
try expect(buildableReference.buildableName) == "\(target.object.name).\(target.object.productType!.fileExtension!)"
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user