Allow the EventHandler returned by ActionExecutionContext to be different from the global one in BlazeExecutor. Instead, it can be one from SkyframeActionExecutor that suppresses ProgressLike messages. This allows an action that was rewound to execute without emitting any progress-like events. Deprecate ActionExecutionContext#getEventBus: posts should go over the handler, allowing them to be easily filtered. Also do this for ActionCachedContext, although I suspect that most (not all) of the uses of ActionCachedContext could be dealt with by using Skyframe-level caching, rather than a NotifyOnActionCacheHit action. PiperOrigin-RevId: 225861266
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java b/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java index 411506a..8bf6e34 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java
@@ -29,7 +29,6 @@ import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.Root; -import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyFunction.Environment; import com.google.devtools.common.options.OptionsProvider; import java.io.Closeable; @@ -61,6 +60,7 @@ private final ActionKeyContext actionKeyContext; private final MetadataHandler metadataHandler; private final FileOutErr fileOutErr; + private final ExtendedEventHandler eventHandler; private final ImmutableMap<String, String> clientEnv; private final ImmutableMap<Artifact, ImmutableList<FilesetOutputSymlink>> topLevelFilesets; @Nullable private final ArtifactExpander artifactExpander; @@ -80,10 +80,11 @@ ActionKeyContext actionKeyContext, MetadataHandler metadataHandler, FileOutErr fileOutErr, + ExtendedEventHandler eventHandler, Map<String, String> clientEnv, ImmutableMap<Artifact, ImmutableList<FilesetOutputSymlink>> topLevelFilesets, @Nullable ArtifactExpander artifactExpander, - @Nullable SkyFunction.Environment env, + @Nullable Environment env, @Nullable FileSystem actionFileSystem, @Nullable Object skyframeDepsResult) { this.actionInputFileCache = actionInputFileCache; @@ -91,6 +92,7 @@ this.actionKeyContext = actionKeyContext; this.metadataHandler = metadataHandler; this.fileOutErr = fileOutErr; + this.eventHandler = eventHandler; this.clientEnv = ImmutableMap.copyOf(clientEnv); this.topLevelFilesets = topLevelFilesets; this.executor = executor; @@ -110,6 +112,7 @@ ActionKeyContext actionKeyContext, MetadataHandler metadataHandler, FileOutErr fileOutErr, + ExtendedEventHandler eventHandler, Map<String, String> clientEnv, ImmutableMap<Artifact, ImmutableList<FilesetOutputSymlink>> topLevelFilesets, ArtifactExpander artifactExpander, @@ -122,6 +125,7 @@ actionKeyContext, metadataHandler, fileOutErr, + eventHandler, clientEnv, topLevelFilesets, artifactExpander, @@ -137,6 +141,7 @@ ActionKeyContext actionKeyContext, MetadataHandler metadataHandler, FileOutErr fileOutErr, + ExtendedEventHandler eventHandler, Map<String, String> clientEnv, Environment env, @Nullable FileSystem actionFileSystem) { @@ -147,6 +152,7 @@ actionKeyContext, metadataHandler, fileOutErr, + eventHandler, clientEnv, ImmutableMap.of(), /*artifactExpander=*/ null, @@ -219,12 +225,13 @@ return executor.getClock(); } + @Deprecated // Use #getEventHandler()#post(Postable) instead. public EventBus getEventBus() { return executor.getEventBus(); } public ExtendedEventHandler getEventHandler() { - return executor.getEventHandler(); + return eventHandler; } public ImmutableMap<Artifact, ImmutableList<FilesetOutputSymlink>> getTopLevelFilesets() { @@ -323,6 +330,7 @@ actionKeyContext, metadataHandler, fileOutErr, + eventHandler, clientEnv, topLevelFilesets, artifactExpander,
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionStatusMessage.java b/src/main/java/com/google/devtools/build/lib/actions/ActionStatusMessage.java index f9a2654..1f98df9 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionStatusMessage.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionStatusMessage.java
@@ -15,13 +15,14 @@ package com.google.devtools.build.lib.actions; import com.google.common.base.Preconditions; +import com.google.devtools.build.lib.events.ExtendedEventHandler; /** * A message used to update in-flight action status. An action's status may change low down in the * execution stack (for instance, from running remotely to running locally), so this message can be * used to notify any interested parties. */ -public class ActionStatusMessage { +public class ActionStatusMessage implements ExtendedEventHandler.ProgressLike { private final ActionExecutionMetadata action; private final String message; private final String strategy;
diff --git a/src/main/java/com/google/devtools/build/lib/actions/NotifyOnActionCacheHit.java b/src/main/java/com/google/devtools/build/lib/actions/NotifyOnActionCacheHit.java index da12e3c..0b186ee 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/NotifyOnActionCacheHit.java +++ b/src/main/java/com/google/devtools/build/lib/actions/NotifyOnActionCacheHit.java
@@ -15,8 +15,7 @@ package com.google.devtools.build.lib.actions; import com.google.common.eventbus.EventBus; -import com.google.devtools.build.lib.events.EventHandler; -import com.google.devtools.build.lib.vfs.FileSystem; +import com.google.devtools.build.lib.events.ExtendedEventHandler; import com.google.devtools.build.lib.vfs.Path; /** @@ -28,17 +27,15 @@ /** A custom interface similar to {@link ActionExecutionContext}, but specific to cache hits. */ interface ActionCachedContext { /** - * An event listener to report messages to. Errors that signal a action failure should - * use ActionExecutionException. + * An event listener to report messages to. Errors that signal an action failure should use + * ActionExecutionException. */ - EventHandler getEventHandler(); + ExtendedEventHandler getEventHandler(); /** The EventBus for the current build. */ + @Deprecated // Use #getEventHandler()#post(Postable) instead. EventBus getEventBus(); - /** Returns the file system of the execution root */ - FileSystem getFileSystem(); - /** * Returns the execution root. This is the directory underneath which Blaze builds its entire * output working tree, including the source symlink forest. All build actions are executed
diff --git a/src/main/java/com/google/devtools/build/lib/actions/SpawnExecutedEvent.java b/src/main/java/com/google/devtools/build/lib/actions/SpawnExecutedEvent.java index 112034d..0ba2be0 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/SpawnExecutedEvent.java +++ b/src/main/java/com/google/devtools/build/lib/actions/SpawnExecutedEvent.java
@@ -14,8 +14,10 @@ package com.google.devtools.build.lib.actions; +import com.google.devtools.build.lib.events.ExtendedEventHandler; + /** This event is fired during the build, when a subprocess is executed. */ -public class SpawnExecutedEvent { +public class SpawnExecutedEvent implements ExtendedEventHandler.ProgressLike { private final Spawn spawn; private final SpawnResult result;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java index 845d239..8e484ec 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
@@ -586,7 +586,14 @@ } state.discoveredInputs = skyframeActionExecutor.discoverInputs( - action, metadataHandler, metadataHandler, env, state.actionFileSystem); + action, + metadataHandler, + metadataHandler, + skyframeActionExecutor.probeCompletedAndReset(action) + ? SkyframeActionExecutor.ProgressEventBehavior.SUPPRESS + : SkyframeActionExecutor.ProgressEventBehavior.EMIT, + env, + state.actionFileSystem); Preconditions.checkState( env.valuesMissing() == (state.discoveredInputs == null), "discoverInputs() must return null iff requesting more dependencies."); @@ -649,6 +656,9 @@ skyframeActionExecutor.getContext( metadataHandler, metadataHandler, + skyframeActionExecutor.probeCompletedAndReset(action) + ? SkyframeActionExecutor.ProgressEventBehavior.SUPPRESS + : SkyframeActionExecutor.ProgressEventBehavior.EMIT, Collections.unmodifiableMap(state.expandedArtifacts), expandedFilesets, topLevelFilesets,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ProgressEventSuppressingEnvironment.java b/src/main/java/com/google/devtools/build/lib/skyframe/ProgressEventSuppressingEnvironment.java index 8bc291d..c14d091 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ProgressEventSuppressingEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ProgressEventSuppressingEnvironment.java
@@ -14,7 +14,6 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.annotations.VisibleForTesting; -import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.ExtendedEventHandler; import com.google.devtools.build.lib.util.GroupedList; import com.google.devtools.build.skyframe.SkyFunction; @@ -218,29 +217,4 @@ return delegate.inErrorBubblingForTesting(); } - /** - * Suppresses {@link #post} when the provided {@link Postable} is a {@link - * ExtendedEventHandler.ProgressLike}, but otherwise delegates calls to its wrapped {@link - * ExtendedEventHandler}. - */ - private static class ProgressSuppressingEventHandler implements ExtendedEventHandler { - private final ExtendedEventHandler delegate; - - private ProgressSuppressingEventHandler(ExtendedEventHandler listener) { - this.delegate = listener; - } - - @Override - public void post(Postable obj) { - if (obj instanceof ExtendedEventHandler.ProgressLike) { - return; - } - delegate.post(obj); - } - - @Override - public void handle(Event event) { - delegate.handle(event); - } - } }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ProgressSuppressingEventHandler.java b/src/main/java/com/google/devtools/build/lib/skyframe/ProgressSuppressingEventHandler.java new file mode 100644 index 0000000..de92277 --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ProgressSuppressingEventHandler.java
@@ -0,0 +1,43 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.lib.skyframe; + +import com.google.devtools.build.lib.events.Event; +import com.google.devtools.build.lib.events.ExtendedEventHandler; + +/** + * Suppresses {@link #post} when the provided {@link ExtendedEventHandler.Postable} is a {@link + * ProgressLike}, but otherwise delegates calls to its wrapped {@link ExtendedEventHandler}. + */ +class ProgressSuppressingEventHandler implements ExtendedEventHandler { + private final ExtendedEventHandler delegate; + + ProgressSuppressingEventHandler(ExtendedEventHandler listener) { + this.delegate = listener; + } + + @Override + public void post(Postable obj) { + if (obj instanceof ProgressLike) { + return; + } + delegate.post(obj); + } + + @Override + public void handle(Event event) { + delegate.handle(event); + } +}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java index 77dd971..d89af3e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java
@@ -76,7 +76,6 @@ import com.google.devtools.build.lib.concurrent.Sharder; import com.google.devtools.build.lib.concurrent.ThrowableRecordingRunnableWrapper; import com.google.devtools.build.lib.events.Event; -import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.events.ExtendedEventHandler; import com.google.devtools.build.lib.events.Reporter; import com.google.devtools.build.lib.profiler.Profiler; @@ -123,6 +122,11 @@ * all output artifacts were created, error reporting, etc. */ public final class SkyframeActionExecutor { + enum ProgressEventBehavior { + EMIT, + SUPPRESS + } + private static final Logger logger = Logger.getLogger(SkyframeActionExecutor.class.getName()); // Used to prevent check-then-act races in #createOutputDirectories. See the comment there for @@ -133,6 +137,7 @@ private Reporter reporter; private Map<String, String> clientEnv = ImmutableMap.of(); private Executor executorEngine; + private ExtendedEventHandler progressSuppressingEventHandler; private ActionLogBufferPathGenerator actionLogBufferPathGenerator; private ActionCacheChecker actionCacheChecker; private final Profiler profiler = Profiler.instance(); @@ -381,6 +386,8 @@ OutputService outputService) { this.reporter = Preconditions.checkNotNull(reporter); this.executorEngine = Preconditions.checkNotNull(executor); + this.progressSuppressingEventHandler = + new ProgressSuppressingEventHandler(this.executorEngine.getEventHandler()); // Start with a new map each build so there's no issue with internal resizing. this.buildActionMap = Maps.newConcurrentMap(); @@ -443,6 +450,7 @@ this.reporter = null; this.options = null; this.executorEngine = null; + this.progressSuppressingEventHandler = null; this.outputService = null; this.buildActionMap = null; this.completedAndResetActions = null; @@ -565,6 +573,7 @@ public ActionExecutionContext getContext( MetadataProvider perActionFileCache, MetadataHandler metadataHandler, + ProgressEventBehavior progressEventBehavior, Map<Artifact, Collection<Artifact>> expandedInputs, Map<Artifact, ImmutableList<FilesetOutputSymlink>> expandedFilesets, ImmutableMap<Artifact, ImmutableList<FilesetOutputSymlink>> topLevelFilesets, @@ -579,6 +588,9 @@ actionKeyContext, metadataHandler, fileOutErr, + progressEventBehavior.equals(ProgressEventBehavior.EMIT) + ? executorEngine.getEventHandler() + : progressSuppressingEventHandler, clientEnv, topLevelFilesets, new ArtifactExpanderImpl(expandedInputs, expandedFilesets), @@ -621,11 +633,15 @@ if (action instanceof NotifyOnActionCacheHit) { NotifyOnActionCacheHit notify = (NotifyOnActionCacheHit) action; + ExtendedEventHandler contextEventHandler = + probeCompletedAndReset(action) + ? progressSuppressingEventHandler + : executorEngine.getEventHandler(); ActionCachedContext context = new ActionCachedContext() { @Override - public EventHandler getEventHandler() { - return executorEngine.getEventHandler(); + public ExtendedEventHandler getEventHandler() { + return contextEventHandler; } @Override @@ -634,11 +650,6 @@ } @Override - public FileSystem getFileSystem() { - return executorEngine.getFileSystem(); - } - - @Override public Path getExecRoot() { return executorEngine.getExecRoot(); } @@ -699,6 +710,7 @@ Action action, MetadataProvider perActionFileCache, MetadataHandler metadataHandler, + ProgressEventBehavior progressEventBehavior, Environment env, @Nullable FileSystem actionFileSystem) throws ActionExecutionException, InterruptedException { @@ -709,8 +721,12 @@ actionInputPrefetcher, actionKeyContext, metadataHandler, - actionLogBufferPathGenerator.generate(ArtifactPathResolver.createPathResolver( - actionFileSystem, executorEngine.getExecRoot())), + actionLogBufferPathGenerator.generate( + ArtifactPathResolver.createPathResolver( + actionFileSystem, executorEngine.getExecRoot())), + progressEventBehavior.equals(ProgressEventBehavior.EMIT) + ? executorEngine.getEventHandler() + : progressSuppressingEventHandler, clientEnv, env, actionFileSystem);
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java index 2238942..9fa6ae3 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
@@ -63,6 +63,7 @@ actionKeyContext, null, outErr, + executor.getEventHandler(), ImmutableMap.<String, String>of(), ImmutableMap.of(), null,
diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java index 41e90a9..7054d57b 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java +++ b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
@@ -144,6 +144,7 @@ actionKeyContext, metadataHandler, fileOutErr, + executor != null ? executor.getEventHandler() : null, ImmutableMap.copyOf(clientEnv), ImmutableMap.of(), actionGraph == null @@ -160,6 +161,7 @@ Path execRoot, MetadataHandler metadataHandler, BuildDriver buildDriver) { + ExtendedEventHandler eventHandler = executor != null ? executor.getEventHandler() : null; return ActionExecutionContext.forInputDiscovery( executor, new SingleBuildFileCache(execRoot.getPathString(), execRoot.getFileSystem()), @@ -167,9 +169,9 @@ actionKeyContext, metadataHandler, fileOutErr, + eventHandler, ImmutableMap.of(), - new BlockingSkyFunctionEnvironment( - buildDriver, executor == null ? null : executor.getEventHandler()), + new BlockingSkyFunctionEnvironment(buildDriver, eventHandler), /*actionFileSystem=*/ null); } @@ -182,6 +184,7 @@ new ActionKeyContext(), null, null, + eventHandler, ImmutableMap.of(), ImmutableMap.of(), createDummyArtifactExpander(),
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java index e22ed44..32f6fa1 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java
@@ -68,6 +68,7 @@ actionKeyContext, null, new FileOutErr(), + executor.getEventHandler(), ImmutableMap.<String, String>of(), ImmutableMap.of(), null,
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java index b736576..7625475 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
@@ -200,6 +200,7 @@ actionKeyContext, null, new FileOutErr(), + executor.getEventHandler(), ImmutableMap.<String, String>of(), ImmutableMap.of(), artifactExpander,
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java index e901936..2068150 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java
@@ -86,6 +86,7 @@ actionKeyContext, null, null, + executor.getEventHandler(), ImmutableMap.<String, String>of(), ImmutableMap.of(), null,
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java index b7fc6c7..3495ad1 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java
@@ -189,7 +189,8 @@ actionKeyContext, null, new FileOutErr(), - ImmutableMap.<String, String>of(), + executor.getEventHandler(), + ImmutableMap.of(), ImmutableMap.of(), null, /*actionFileSystem=*/ null,
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index 74245b9..fe61a5c 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -2209,6 +2209,7 @@ actionKeyContext, /*metadataHandler=*/ null, actionLogBufferPathGenerator.generate(ArtifactPathResolver.IDENTITY), + reporter, clientEnv, ImmutableMap.of(), artifactExpander,
diff --git a/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java b/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java index e643331..b499f26 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java
@@ -93,6 +93,7 @@ new ActionKeyContext(), /* metadataHandler= */ null, fileOutErr, + /*eventHandler=*/ null, /* clientEnv= */ ImmutableMap.of(), /* topLevelFilesets= */ ImmutableMap.of(), /* artifactExpander= */ null,
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java index e84c832..04768d3 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java
@@ -116,7 +116,17 @@ private ActionExecutionContext makeDummyContext() { DummyExecutor executor = new DummyExecutor(fileSystem, rootDirectory); return new ActionExecutionContext( - executor, null, null, null, null, null, ImmutableMap.of(), ImmutableMap.of(), null, null, + executor, + null, + null, + null, + null, + null, + executor.getEventHandler(), + ImmutableMap.of(), + ImmutableMap.of(), + null, + null, null); }
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java index 6b57a30..eddcc43 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java
@@ -87,6 +87,7 @@ actionKeyContext, null, new FileOutErr(), + executor.getEventHandler(), ImmutableMap.<String, String>of(), ImmutableMap.of(), null,
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java index c74e140..9e3abc0 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java
@@ -791,6 +791,7 @@ actionKeyContext, null, null, + null, ImmutableMap.<String, String>of(), ImmutableMap.of(), DUMMY_ARTIFACT_EXPANDER, @@ -843,7 +844,8 @@ actionKeyContext, null, null, - ImmutableMap.<String, String>of(), + null, + ImmutableMap.of(), ImmutableMap.of(), DUMMY_ARTIFACT_EXPANDER, null,
diff --git a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java index db31a40..8272493 100644 --- a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java +++ b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
@@ -192,6 +192,7 @@ new ActionKeyContext(), null, outErr, + executor.getEventHandler(), ImmutableMap.<String, String>of(), ImmutableMap.of(), SIMPLE_ARTIFACT_EXPANDER,