mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2026-03-18 20:02:25 +00:00
Merge pull request #465 from raptorxcz/bugfix/carthage
Bug carthage dependencies with different platform
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
- Fixed `--project` argument not taking effect [#487](https://github.com/yonaskolb/XcodeGen/pull/487) @monowerker
|
||||
- Fixed Sticker Packs from generating an empty Source file phase which caused in error in the new build system [#492](https://github.com/yonaskolb/XcodeGen/pull/492) @rpassis
|
||||
- Fixed generated schemes for tool targets not setting the executable [#496](https://github.com/yonaskolb/XcodeGen/pull/496) @yonaskolb
|
||||
- Fixed resolving Carthage dependencies for iOS app with watchOS target. [465](https://github.com/yonaskolb/XcodeGen/pull/465) @raptorxcz
|
||||
|
||||
## 2.1.0
|
||||
|
||||
|
||||
@@ -967,7 +967,13 @@ public class PBXProjGenerator {
|
||||
frameworks[dependency.reference] = dependency
|
||||
case .target:
|
||||
if let projectTarget = project.getProjectTarget(dependency.reference) {
|
||||
queue.append(projectTarget)
|
||||
if let dependencyTarget = projectTarget as? Target {
|
||||
if topLevelTarget.platform == dependencyTarget.platform {
|
||||
queue.append(projectTarget)
|
||||
}
|
||||
} else {
|
||||
queue.append(projectTarget)
|
||||
}
|
||||
}
|
||||
default:
|
||||
break
|
||||
|
||||
@@ -517,6 +517,23 @@ class SourceGeneratorTests: XCTestCase {
|
||||
try expect(sourcesBuildPhase.files.count) == 1
|
||||
}
|
||||
|
||||
$0.it("add only carthage dependencies with same platform") {
|
||||
let directories = """
|
||||
A:
|
||||
- file.swift
|
||||
"""
|
||||
try createDirectories(directories)
|
||||
|
||||
let watchTarget = Target(name: "Watch", type: .watch2App, platform: .watchOS, sources: ["A"], dependencies: [Dependency(type: .carthage, reference: "Alamofire_watch")])
|
||||
let watchDependency = Dependency(type: .target, reference: "Watch")
|
||||
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A"], dependencies: [Dependency(type: .carthage, reference: "Alamofire"), watchDependency])
|
||||
let project = Project(basePath: directoryPath, name: "Test", targets: [target, watchTarget])
|
||||
|
||||
let pbxProj = try project.generatePbxProj()
|
||||
let carthagePhase = pbxProj.nativeTargets.first(where: { $0.name == "Test" })?.buildPhases.first(where: { $0 is PBXShellScriptBuildPhase }) as? PBXShellScriptBuildPhase
|
||||
try expect(carthagePhase?.inputPaths) == ["$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework"]
|
||||
}
|
||||
|
||||
$0.it("derived directories are sorted last") {
|
||||
let directories = """
|
||||
A:
|
||||
|
||||
Reference in New Issue
Block a user