put local packages into a Packages group and add options.localPackagesGroup

This commit is contained in:
yonaskolb
2019-09-27 22:49:05 +10:00
parent 0300e7f35e
commit 8e48c7b07f
8 changed files with 67 additions and 7 deletions
+10 -2
View File
@@ -16,6 +16,7 @@ class SourceGenerator {
private var fileReferencesByPath: [String: PBXFileElement] = [:]
private var groupsByPath: [Path: PBXGroup] = [:]
private var variantGroupsByPath: [Path: PBXVariantGroup] = [:]
private var localPackageGroup: PBXGroup?
private let project: Project
let pbxProj: PBXProj
@@ -42,15 +43,22 @@ class SourceGenerator {
}
func createLocalPackage(path: Path) throws {
if localPackageGroup == nil {
let groupName = project.options.localPackagesGroup ?? "Packages"
localPackageGroup = addObject(PBXGroup(sourceTree: .sourceRoot, name: groupName))
rootGroups.insert(localPackageGroup!)
}
let fileReference = addObject(
PBXFileReference(
sourceTree: .group,
sourceTree: .sourceRoot,
name: path.lastComponent,
lastKnownFileType: "folder",
path: try path.relativePath(from: project.basePath).string
)
)
rootGroups.insert(fileReference)
localPackageGroup!.children.append(fileReference)
}
func getAllSourceFiles(targetType: PBXProductType, sources: [TargetSource]) throws -> [SourceFile] {