aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/actions/Action.java
diff options
context:
space:
mode:
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.java6
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.