diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/actions/Action.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/actions/Action.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Action.java b/src/main/java/com/google/devtools/build/lib/actions/Action.java index 217ce5d59d..54f562a332 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/Action.java +++ b/src/main/java/com/google/devtools/build/lib/actions/Action.java @@ -17,6 +17,9 @@ package com.google.devtools.build.lib.actions; import com.google.devtools.build.lib.actions.extra.ExtraActionInfo; import com.google.devtools.build.lib.concurrent.ThreadSafety.ConditionallyThreadCompatible; import com.google.devtools.build.lib.profiler.Describable; +import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Strategy; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.skyframe.SkyFunction; @@ -36,6 +39,7 @@ import javax.annotation.Nullable; * a new custom subclass. * * <p>These are the most important requirements for subclasses: + * * <ul> * <li>Actions must be generally immutable; we currently make an exception for C++, and that has * been a constant source of correctness issues; there are still ongoing incremental @@ -75,7 +79,9 @@ import javax.annotation.Nullable; * known set of fields is covered, not that all fields are covered), so carefully check all changes * to action subclasses. */ +@AutoCodec(strategy = Strategy.POLYMORPHIC) public interface Action extends ActionExecutionMetadata, Describable { + public static final ObjectCodec<Action> CODEC = new Action_AutoCodec(); /** * Prepares for executing this action; called by the Builder prior to executing the Action itself. |