Skip to content

Commit b285345

Browse files
committed
fix: don't include untracked children in cache
1 parent 71f8e57 commit b285345

2 files changed

Lines changed: 20 additions & 4 deletions

File tree

Sources/ProjectSpec/CacheFile.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class CacheFile {
1010

1111
guard #available(OSX 10.13, *) else { return nil }
1212

13-
let files = Set(project.allFiles)
13+
let files = Set(project.allTrackedFiles)
1414
.map { ((try? $0.relativePath(from: project.basePath)) ?? $0).string }
1515
.sorted { $0.localizedStandardCompare($1) == .orderedAscending }
1616
.joined(separator: "\n")

Sources/ProjectSpec/Project.swift

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ extension Project: PathContainer {
252252

253253
extension Project {
254254

255-
public var allFiles: [Path] {
255+
public var allTrackedFiles: [Path] {
256256
var files: [Path] = []
257257
files.append(contentsOf: configFilePaths)
258258
for fileGroup in fileGroups {
@@ -270,15 +270,31 @@ extension Project {
270270
files.append(contentsOf: target.configFilePaths)
271271
for source in target.sources {
272272
let sourcePath = basePath + source.path
273-
let sourceChildren = (try? sourcePath.recursiveChildren()) ?? []
274-
files.append(contentsOf: sourceChildren)
273+
274+
let type = source.type ?? options.defaultSourceDirectoryType ?? .group
275+
if type.projectTracksChildren {
276+
let sourceChildren = (try? sourcePath.recursiveChildren()) ?? []
277+
files.append(contentsOf: sourceChildren)
278+
}
275279
files.append(sourcePath)
276280
}
277281
}
278282
return files
279283
}
280284
}
281285

286+
extension SourceType {
287+
288+
var projectTracksChildren: Bool {
289+
switch self {
290+
case .file: false
291+
case .folder: false
292+
case .group: true
293+
case .syncedFolder: false
294+
}
295+
}
296+
}
297+
282298
extension BuildSettingsContainer {
283299

284300
fileprivate var configFilePaths: [Path] {

0 commit comments

Comments
 (0)