aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/standalone
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2016-10-31 16:52:48 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2016-11-02 08:25:42 +0000
commita0e3af46ca41f55163188d4beef10534c006aaca (patch)
treed9cc68a79c856f7d536244d17267e7c7ea0e2c87 /src/main/java/com/google/devtools/build/lib/standalone
parent03afc7d463149860df6e7c7aa04a6325bb9391e3 (diff)
Refactor the module API to use the builder pattern for executor creation.
This significantly simplifies several of our modules. -- MOS_MIGRATED_REVID=137713119
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/standalone')
-rw-r--r--src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java40
1 files changed, 4 insertions, 36 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
index 58145b0ad3..bde53f0a5e 100644
--- a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
+++ b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
@@ -13,50 +13,18 @@
// limitations under the License.
package com.google.devtools.build.lib.standalone;
-import com.google.common.collect.ImmutableList;
-import com.google.common.eventbus.Subscribe;
-import com.google.devtools.build.lib.actions.ActionContextConsumer;
-import com.google.devtools.build.lib.actions.ActionContextProvider;
+import com.google.devtools.build.lib.actions.ExecutorBuilder;
import com.google.devtools.build.lib.buildtool.BuildRequest;
-import com.google.devtools.build.lib.buildtool.buildevent.BuildStartingEvent;
import com.google.devtools.build.lib.runtime.BlazeModule;
-import com.google.devtools.build.lib.runtime.Command;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
-import com.google.devtools.build.lib.util.Preconditions;
/**
* StandaloneModule provides pluggable functionality for blaze.
*/
public class StandaloneModule extends BlazeModule {
- private CommandEnvironment env;
- private BuildRequest buildRequest;
-
- @Override
- public Iterable<ActionContextConsumer> getActionContextConsumers() {
- Preconditions.checkNotNull(env);
- return ImmutableList.<ActionContextConsumer>of(new StandaloneActionContextConsumer());
- }
-
- @Override
- public Iterable<ActionContextProvider> getActionContextProviders() {
- return ImmutableList.<ActionContextProvider>of(
- new StandaloneActionContextProvider(env, buildRequest));
- }
-
- @Override
- public void beforeCommand(Command command, CommandEnvironment env) {
- this.env = env;
- env.getEventBus().register(this);
- }
-
@Override
- public void afterCommand() {
- this.env = null;
- this.buildRequest = null;
- }
-
- @Subscribe
- public void buildStarting(BuildStartingEvent event) {
- buildRequest = event.getRequest();
+ public void executorInit(CommandEnvironment env, BuildRequest request, ExecutorBuilder builder) {
+ builder.addActionContextProvider(new StandaloneActionContextProvider(env, request));
+ builder.addActionContextConsumer(new StandaloneActionContextConsumer());
}
}