From e007e025662f44d8fad18a599f47c14895834987 Mon Sep 17 00:00:00 2001 From: Ulf Adams Date: Thu, 6 Aug 2020 14:13:04 +0200 Subject: [PATCH] Add a TODO Change-Id: I92bce9649f9cb91474a835b2ea937b4a740e2bfe --- .../com/google/devtools/build/lib/remote/RemoteModule.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java index 15cb34f8d2af06..9c54c884af79c7 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java +++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java @@ -548,6 +548,13 @@ public void afterAnalysis( } } + // This is a short-term fix for top-level outputs that are symlinks. Unfortunately, we cannot + // reliably tell after analysis whether actions will create symlinks (the RE protocol allows any + // action to generate and return symlinks), but at least we can handle basic C++ rules with this + // change. + // TODO(ulfjack): I think we should separate downloading files from action execution. That would + // also resolve issues around action invalidation - we currently invalidate actions to trigger + // downloads of top-level outputs when the top-level targets change. private static void fetchSymlinkDependenciesRecursively( ActionGraph actionGraph, Set builder, List inputs) { for (Artifact input : inputs) {