From 54eeac5033fdca1b8b12a7191603e658929c5cda Mon Sep 17 00:00:00 2001 From: Ulf Adams Date: Mon, 29 Aug 2016 09:07:35 +0000 Subject: Move the query output formatters to ServerBuilder. -- MOS_MIGRATED_REVID=131569674 --- .../devtools/build/lib/runtime/BlazeModule.java | 10 ---------- .../devtools/build/lib/runtime/BlazeRuntime.java | 19 +++++++++---------- .../devtools/build/lib/runtime/ServerBuilder.java | 17 +++++++++++++++++ 3 files changed, 26 insertions(+), 20 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/runtime') 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; @@ -129,15 +128,6 @@ public abstract class BlazeModule { public void initializeRuleClasses(ConfiguredRuleClassProvider.Builder builder) { } - /** - * Returns the list of query output formatters this module provides. - * - *

This method will be called during Blaze startup (after #blazeStartup). - */ - public Iterable 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 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 queryFunctions; + private final ImmutableList queryOutputFormatters; private final AtomicInteger storedExitCode = new AtomicInteger(); @@ -148,6 +149,7 @@ public final class BlazeRuntime { private BlazeRuntime( QueryEnvironmentFactory queryEnvironmentFactory, ImmutableList queryFunctions, + ImmutableList 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 getQueryOutputFormatters() { + return queryOutputFormatters; + } + /** * Returns the package factory. */ @@ -306,16 +313,6 @@ public final class BlazeRuntime { return packageFactory; } - public ImmutableList getQueryOutputFormatters() { - ImmutableList.Builder 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 commands = ImmutableList.builder(); private final ImmutableMap.Builder infoItems = ImmutableMap.builder(); private final ImmutableList.Builder queryFunctions = ImmutableList.builder(); + private final ImmutableList.Builder queryOutputFormatters = + ImmutableList.builder(); @VisibleForTesting public ServerBuilder() {} @@ -65,6 +68,10 @@ public final class ServerBuilder { return queryFunctions.build(); } + ImmutableList getQueryOutputFormatters() { + return queryOutputFormatters.build(); + } + @VisibleForTesting public ImmutableList 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 formatters) { + this.queryOutputFormatters.addAll(formatters); + return this; + } } -- cgit v1.2.3