Simplify MiddlemanAction interface
All creation goes through the static factory method.
PiperOrigin-RevId: 284178928
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java b/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java
index d03b769..8861ed9 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java
@@ -24,6 +24,7 @@
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata.MiddlemanType;
import com.google.devtools.build.lib.actions.Artifact.SourceArtifact;
import com.google.devtools.build.lib.actions.ArtifactResolver.ArtifactResolverSupplier;
+import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
import com.google.devtools.build.lib.actions.util.LabelArtifactOwner;
import com.google.devtools.build.lib.cmdline.Label;
@@ -156,9 +157,29 @@
ArtifactRoot middleRoot =
ArtifactRoot.middlemanRoot(scratch.dir("/foo"), scratch.dir("/foo/out"));
Artifact middleman = ActionsTestUtil.createArtifact(middleRoot, "middleman");
- actionGraph.registerAction(new MiddlemanAction(ActionsTestUtil.NULL_ACTION_OWNER,
- ImmutableList.of(aHeader1, aHeader2, aHeader3), middleman, "desc",
- MiddlemanType.AGGREGATING_MIDDLEMAN));
+ MiddlemanAction.create(
+ new ActionRegistry() {
+ @Override
+ public void registerAction(ActionAnalysisMetadata... actions) {
+ for (ActionAnalysisMetadata action : actions) {
+ try {
+ actionGraph.registerAction(action);
+ } catch (ActionConflictException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+ }
+
+ @Override
+ public ActionLookupValue.ActionLookupKey getOwner() {
+ throw new UnsupportedOperationException();
+ }
+ },
+ ActionsTestUtil.NULL_ACTION_OWNER,
+ ImmutableList.of(aHeader1, aHeader2, aHeader3),
+ middleman,
+ "desc",
+ MiddlemanType.AGGREGATING_MIDDLEMAN);
return collapsedList ? Lists.newArrayList(aHeader1, middleman) :
Lists.newArrayList(aHeader1, aHeader2, middleman);
}