Merge pull request #558 from KhaosT/fix-embed-watch-target

Fix Carthage dependencies for watchOS target
This commit is contained in:
Yonas Kolb
2019-04-09 21:47:45 +10:00
committed by GitHub
3 changed files with 28 additions and 19 deletions
+10 -2
View File
@@ -420,7 +420,9 @@ public class PBXProjGenerator {
let targetDependencies = (target.transitivelyLinkDependencies ?? project.options.transitivelyLinkDependencies) ?
getAllDependenciesPlusTransitiveNeedingEmbedding(target: target) : target.dependencies
let directlyEmbedCarthage = target.directlyEmbedCarthageDependencies ?? !(target.platform.requiresSimulatorStripping && target.type.isApp)
let targetSupportsDirectEmbed = !(target.platform.requiresSimulatorStripping &&
(target.type.isApp || target.type == .watch2Extension))
let directlyEmbedCarthage = target.directlyEmbedCarthageDependencies ?? targetSupportsDirectEmbed
func getEmbedSettings(dependency: Dependency, codeSign: Bool) -> [String: Any] {
var embedAttributes: [String] = []
@@ -612,7 +614,7 @@ public class PBXProjGenerator {
for dependency in carthageDependencies {
guard target.type != .staticLibrary else { break }
let embed = dependency.embed ?? target.shouldEmbedDependencies
let embed = dependency.embed ?? target.shouldEmbedCarthageDependencies
var platformPath = Path(carthageResolver.buildPath(for: target.platform))
var frameworkPath = platformPath + dependency.reference
@@ -1004,6 +1006,12 @@ extension Target {
var shouldEmbedDependencies: Bool {
return type.isApp || type.isTest
}
var shouldEmbedCarthageDependencies: Bool {
return (type.isApp && platform != .watchOS)
|| type == .watch2Extension
|| type.isTest
}
}
extension Platform {