diff options
author | tomlu <tomlu@google.com> | 2018-08-03 11:21:29 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-03 11:23:10 -0700 |
commit | 880508ccf8bab7aa9d238210f8b2ee21d52600f9 (patch) | |
tree | 7a437bafc3dad084e2a92f4c128fdaa113ccc99f /src/main/java/com/google/devtools/build/lib/vfs/OutputService.java | |
parent | 172d36dfe19f4ddab275ef7116525aa67c3e9877 (diff) |
Add support to completion function to create a path resolver from its looked-up artifact values.
RELNOTES: None
PiperOrigin-RevId: 207295716
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/vfs/OutputService.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/vfs/OutputService.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/OutputService.java b/src/main/java/com/google/devtools/build/lib/vfs/OutputService.java index 9afa82fb53..03503bfed1 100644 --- a/src/main/java/com/google/devtools/build/lib/vfs/OutputService.java +++ b/src/main/java/com/google/devtools/build/lib/vfs/OutputService.java @@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionInputMap; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ArtifactPathResolver; import com.google.devtools.build.lib.actions.BuildFailedException; import com.google.devtools.build.lib.actions.EnvironmentalExecException; import com.google.devtools.build.lib.actions.ExecException; @@ -116,7 +117,7 @@ public interface OutputService { * com.google.devtools.build.lib.pkgcache.PathPackageLocator}) * @param inputArtifactData information about required inputs to the action * @param outputArtifacts required outputs of the action - * @return an action-scoped filesystem if {@link supportsActionFileSystem} is true + * @return an action-scoped filesystem if {@link #supportsActionFileSystem} is true */ @Nullable default FileSystem createActionFileSystem( @@ -130,12 +131,24 @@ public interface OutputService { } /** - * Updates the context used by the filesystem returned by {@link createActionFileSystem}. + * Updates the context used by the filesystem returned by {@link #createActionFileSystem}. * * <p>Should be called as context changes throughout action execution. * - * @param actionFileSystem must be a filesystem returned by {@link createActionFileSystem}. + * @param actionFileSystem must be a filesystem returned by {@link #createActionFileSystem}. */ default void updateActionFileSystemContext( FileSystem actionFileSystem, SkyFunction.Environment env, MetadataConsumer consumer) {} + + default boolean supportsPathResolverForArtifactValues() { + return false; + } + + default ArtifactPathResolver createPathResolverForArtifactValues( + PathFragment execRoot, + FileSystem fileSystem, + ImmutableList<Root> pathEntries, + ActionInputMap actionInputMap) { + throw new IllegalStateException("Path resolver not supported by this class"); + } } |