aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2016-08-29 09:07:35 +0000
committerGravatar Klaus Aehlig <aehlig@google.com>2016-08-29 09:42:55 +0000
commit54eeac5033fdca1b8b12a7191603e658929c5cda (patch)
treeceabb8a46285ff28d5ae8da2902e855f797c998f /src
parent15c09dd1b5dbd7e76fe42d193a79dab8bfc24abc (diff)
Move the query output formatters to ServerBuilder.
-- MOS_MIGRATED_REVID=131569674
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java19
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/ServerBuilder.java17
3 files changed, 26 insertions, 20 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
index 7304a26c07..126c1274b1 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
@@ -28,7 +28,6 @@ import com.google.devtools.build.lib.packages.NoSuchThingException;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.packages.PackageFactory;
import com.google.devtools.build.lib.packages.RuleClassProvider;
-import com.google.devtools.build.lib.query2.output.OutputFormatter;
import com.google.devtools.build.lib.rules.test.CoverageReportActionFactory;
import com.google.devtools.build.lib.util.AbruptExitException;
import com.google.devtools.build.lib.util.Clock;
@@ -130,15 +129,6 @@ public abstract class BlazeModule {
}
/**
- * Returns the list of query output formatters this module provides.
- *
- * <p>This method will be called during Blaze startup (after #blazeStartup).
- */
- public Iterable<OutputFormatter> getQueryOutputFormatters() {
- return ImmutableList.of();
- }
-
- /**
* Called when Bazel initializes a new workspace; this is only called after {@link #serverInit},
* and only if the server initialization was successful. Modules can override this method to
* affect how the workspace is configured.
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
index d8a07d2421..597d4d064a 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
@@ -129,6 +129,7 @@ public final class BlazeRuntime {
// For bazel query.
private final QueryEnvironmentFactory queryEnvironmentFactory;
private final ImmutableList<QueryFunction> queryFunctions;
+ private final ImmutableList<OutputFormatter> queryOutputFormatters;
private final AtomicInteger storedExitCode = new AtomicInteger();
@@ -148,6 +149,7 @@ public final class BlazeRuntime {
private BlazeRuntime(
QueryEnvironmentFactory queryEnvironmentFactory,
ImmutableList<QueryFunction> queryFunctions,
+ ImmutableList<OutputFormatter> queryOutputFormatters,
PackageFactory pkgFactory,
ConfiguredRuleClassProvider ruleClassProvider,
ConfigurationFactory configurationFactory,
@@ -175,6 +177,7 @@ public final class BlazeRuntime {
this.startupOptionsProvider = startupOptionsProvider;
this.queryEnvironmentFactory = queryEnvironmentFactory;
this.queryFunctions = queryFunctions;
+ this.queryOutputFormatters = queryOutputFormatters;
this.eventBusExceptionHandler = eventBusExceptionHandler;
this.defaultsPackageContent =
@@ -299,6 +302,10 @@ public final class BlazeRuntime {
return queryFunctions;
}
+ public ImmutableList<OutputFormatter> getQueryOutputFormatters() {
+ return queryOutputFormatters;
+ }
+
/**
* Returns the package factory.
*/
@@ -306,16 +313,6 @@ public final class BlazeRuntime {
return packageFactory;
}
- public ImmutableList<OutputFormatter> getQueryOutputFormatters() {
- ImmutableList.Builder<OutputFormatter> result = ImmutableList.builder();
- result.addAll(OutputFormatter.getDefaultFormatters());
- for (BlazeModule module : blazeModules) {
- result.addAll(module.getQueryOutputFormatters());
- }
-
- return result.build();
- }
-
/**
* Returns the rule class provider.
*/
@@ -1066,6 +1063,7 @@ public final class BlazeRuntime {
BlazeVersionInfo.instance(), instanceId, serverDirectories, clock);
}
ServerBuilder serverBuilder = new ServerBuilder();
+ serverBuilder.addQueryOutputFormatters(OutputFormatter.getDefaultFormatters());
for (BlazeModule module : blazeModules) {
module.serverInit(startupOptionsProvider, serverBuilder);
}
@@ -1124,6 +1122,7 @@ public final class BlazeRuntime {
return new BlazeRuntime(
serverBuilder.getQueryEnvironmentFactory(),
serverBuilder.getQueryFunctions(),
+ serverBuilder.getQueryOutputFormatters(),
packageFactory,
ruleClassProvider,
configurationFactory,
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/ServerBuilder.java b/src/main/java/com/google/devtools/build/lib/runtime/ServerBuilder.java
index 13f56463d4..6b387f8afc 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/ServerBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/ServerBuilder.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.query2.AbstractBlazeQueryEnvironment;
import com.google.devtools.build.lib.query2.QueryEnvironmentFactory;
import com.google.devtools.build.lib.query2.engine.QueryEnvironment.QueryFunction;
+import com.google.devtools.build.lib.query2.output.OutputFormatter;
import com.google.devtools.build.lib.runtime.commands.InfoItem;
import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy;
import com.google.devtools.build.lib.util.Preconditions;
@@ -37,6 +38,8 @@ public final class ServerBuilder {
private final ImmutableList.Builder<BlazeCommand> commands = ImmutableList.builder();
private final ImmutableMap.Builder<String, InfoItem> infoItems = ImmutableMap.builder();
private final ImmutableList.Builder<QueryFunction> queryFunctions = ImmutableList.builder();
+ private final ImmutableList.Builder<OutputFormatter> queryOutputFormatters =
+ ImmutableList.builder();
@VisibleForTesting
public ServerBuilder() {}
@@ -65,6 +68,10 @@ public final class ServerBuilder {
return queryFunctions.build();
}
+ ImmutableList<OutputFormatter> getQueryOutputFormatters() {
+ return queryOutputFormatters.build();
+ }
+
@VisibleForTesting
public ImmutableList<BlazeCommand> getCommands() {
return commands.build();
@@ -141,4 +148,14 @@ public final class ServerBuilder {
this.queryFunctions.add(functions);
return this;
}
+
+ public ServerBuilder addQueryOutputFormatters(OutputFormatter... formatters) {
+ this.queryOutputFormatters.add(formatters);
+ return this;
+ }
+
+ public ServerBuilder addQueryOutputFormatters(Iterable<OutputFormatter> formatters) {
+ this.queryOutputFormatters.addAll(formatters);
+ return this;
+ }
}