Merge branch 'master' into ks/link-dependencies

This commit is contained in:
Yonas Kolb
2017-10-19 00:13:43 +02:00
committed by GitHub
3 changed files with 13 additions and 9 deletions
+11 -8
View File
@@ -229,7 +229,8 @@ public class PBXProjGenerator {
var dependencies: [String] = []
var targetFrameworkBuildFiles: [String] = []
var copyFiles: [String] = []
var copyFrameworksReferences: [String] = []
var copyResourcesReferences: [String] = []
var copyWatchReferences: [String] = []
var extensions: [String] = []
@@ -265,10 +266,12 @@ public class PBXProjGenerator {
if dependencyTarget.type.isExtension {
// embed app extension
extensions.append(embedFile.reference)
} else if dependencyTarget.type.isFramework {
copyFrameworksReferences.append(embedFile.reference)
} else if dependencyTarget.type.isApp && dependencyTarget.platform == .watchOS {
copyWatchReferences.append(embedFile.reference)
} else {
copyFiles.append(embedFile.reference)
copyResourcesReferences.append(embedFile.reference)
}
}
@@ -287,7 +290,7 @@ public class PBXProjGenerator {
if embed {
let embedFile = PBXBuildFile(reference: generateUUID(PBXBuildFile.self, fileReference + target.name), fileRef: fileReference, settings: dependency.buildSettings)
addObject(embedFile)
copyFiles.append(embedFile.reference)
copyFrameworksReferences.append(embedFile.reference)
}
case .carthage:
if carthageFrameworksByPlatform[target.platform.carthageDirectoryName] == nil {
@@ -308,7 +311,7 @@ public class PBXProjGenerator {
if target.platform == .macOS && target.type.isApp {
let embedFile = PBXBuildFile(reference: generateUUID(PBXBuildFile.self, fileReference + target.name), fileRef: fileReference, settings: dependency.buildSettings)
addObject(embedFile)
copyFiles.append(embedFile.reference)
copyFrameworksReferences.append(embedFile.reference)
}
}
}
@@ -352,7 +355,7 @@ public class PBXProjGenerator {
addObject(sourcesBuildPhase)
buildPhases.append(sourcesBuildPhase.reference)
let resourcesBuildPhase = PBXResourcesBuildPhase(reference: generateUUID(PBXResourcesBuildPhase.self, target.name), files: getBuildFilesForPhase(.resources))
let resourcesBuildPhase = PBXResourcesBuildPhase(reference: generateUUID(PBXResourcesBuildPhase.self, target.name), files: getBuildFilesForPhase(.resources) + copyResourcesReferences)
addObject(resourcesBuildPhase)
buildPhases.append(resourcesBuildPhase.reference)
@@ -383,13 +386,13 @@ public class PBXProjGenerator {
buildPhases.append(copyFilesPhase.reference)
}
if !copyFiles.isEmpty {
if !copyFrameworksReferences.isEmpty {
let copyFilesPhase = PBXCopyFilesBuildPhase(
reference: generateUUID(PBXCopyFilesBuildPhase.self, "embed frameworks" + target.name),
dstPath: "",
dstSubfolderSpec: .frameworks,
files: copyFiles)
files: copyFrameworksReferences)
addObject(copyFilesPhase)
buildPhases.append(copyFilesPhase.reference)
@@ -469,7 +472,7 @@ public class PBXProjGenerator {
switch fileExtension {
case "swift", "m", "cpp": return .sources
case "h", "hh", "hpp", "ipp", "tpp", "hxx", "def": return .headers
case "xcconfig": return nil
case "xcconfig", "entitlements", "gpx", "lproj", "apns": return nil
default: return .resources
}
}