diff options
author | Ulf Adams <ulfjack@google.com> | 2016-08-29 09:07:35 +0000 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2016-08-29 09:42:55 +0000 |
commit | 54eeac5033fdca1b8b12a7191603e658929c5cda (patch) | |
tree | ceabb8a46285ff28d5ae8da2902e855f797c998f /src | |
parent | 15c09dd1b5dbd7e76fe42d193a79dab8bfc24abc (diff) |
Move the query output formatters to ServerBuilder.
--
MOS_MIGRATED_REVID=131569674
Diffstat (limited to 'src')
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; + } } |