Skip to content

Commit a1ea487

Browse files
irengrigcopybara-github
authored andcommitted
Do not pre-cache changed files under managed directories
Closes #8337. PiperOrigin-RevId: 248530274
1 parent 62261bf commit a1ea487

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/main/java/com/google/devtools/build/lib/skyframe/DirtinessCheckerUtils.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,8 @@ public SkyValueDirtinessChecker.DirtyResult check(
144144
return SkyValueDirtinessChecker.DirtyResult.notDirty(oldValue);
145145
}
146146
FileType fileType = externalFilesHelper.getAndNoteFileType((RootedPath) skyKey.argument());
147-
if (fileType == FileType.EXTERNAL_REPO) {
147+
if (fileType == FileType.EXTERNAL_REPO
148+
|| fileType == FileType.EXTERNAL_IN_MANAGED_DIRECTORY) {
148149
// Files under output_base/external have a dependency on the WORKSPACE file, so we don't add
149150
// a new SkyValue to the graph yet because it might change once the WORKSPACE file has been
150151
// parsed.

src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -490,9 +490,15 @@ private void handleDiffsWithMissingDiffInformation(
490490
ExternalFilesHelper tmpExternalFilesHelper =
491491
externalFilesHelper.cloneWithFreshExternalFilesKnowledge();
492492
// See the comment for FileType.OUTPUT for why we need to consider output files here.
493-
EnumSet<FileType> fileTypesToCheck = checkOutputFiles
494-
? EnumSet.of(FileType.EXTERNAL, FileType.EXTERNAL_REPO, FileType.OUTPUT)
495-
: EnumSet.of(FileType.EXTERNAL, FileType.EXTERNAL_REPO);
493+
EnumSet<FileType> fileTypesToCheck =
494+
checkOutputFiles
495+
? EnumSet.of(
496+
FileType.EXTERNAL,
497+
FileType.EXTERNAL_REPO,
498+
FileType.EXTERNAL_IN_MANAGED_DIRECTORY,
499+
FileType.OUTPUT)
500+
: EnumSet.of(
501+
FileType.EXTERNAL, FileType.EXTERNAL_REPO, FileType.EXTERNAL_IN_MANAGED_DIRECTORY);
496502
logger.info(
497503
"About to scan skyframe graph checking for filesystem nodes of types "
498504
+ Iterables.toString(fileTypesToCheck));

0 commit comments

Comments
 (0)