Move QueryFunctions and InfoItems to ServerBuilder.
Initialize these from BlazeModule.serverInit instead of on-the-fly.
--
MOS_MIGRATED_REVID=131564738
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 8087596..d8a07d2 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
@@ -17,6 +17,7 @@
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.eventbus.SubscriberExceptionContext;
import com.google.common.eventbus.SubscriberExceptionHandler;
@@ -43,9 +44,11 @@
import com.google.devtools.build.lib.profiler.ProfilerTask;
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.rules.test.CoverageReportActionFactory;
import com.google.devtools.build.lib.runtime.BlazeCommandDispatcher.LockingMode;
+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.server.AfUnixServer;
import com.google.devtools.build.lib.server.RPCServer;
@@ -121,6 +124,11 @@
private final PackageFactory packageFactory;
private final ConfigurationFactory configurationFactory;
private final ConfiguredRuleClassProvider ruleClassProvider;
+ // For bazel info.
+ private final ImmutableMap<String, InfoItem> infoItems;
+ // For bazel query.
+ private final QueryEnvironmentFactory queryEnvironmentFactory;
+ private final ImmutableList<QueryFunction> queryFunctions;
private final AtomicInteger storedExitCode = new AtomicInteger();
@@ -131,7 +139,6 @@
@Nullable
private final InvocationPolicy invocationPolicy;
private final String defaultsPackageContent;
- private final QueryEnvironmentFactory queryEnvironmentFactory;
private final SubscriberExceptionHandler eventBusExceptionHandler;
private final String productName;
@@ -140,12 +147,18 @@
private BlazeRuntime(
QueryEnvironmentFactory queryEnvironmentFactory,
- PackageFactory pkgFactory, ConfiguredRuleClassProvider ruleClassProvider,
- ConfigurationFactory configurationFactory, Clock clock,
- OptionsProvider startupOptionsProvider, Iterable<BlazeModule> blazeModules,
+ ImmutableList<QueryFunction> queryFunctions,
+ PackageFactory pkgFactory,
+ ConfiguredRuleClassProvider ruleClassProvider,
+ ConfigurationFactory configurationFactory,
+ ImmutableMap<String, InfoItem> infoItems,
+ Clock clock,
+ OptionsProvider startupOptionsProvider,
+ Iterable<BlazeModule> blazeModules,
SubscriberExceptionHandler eventBusExceptionHandler,
ProjectFile.Provider projectFileProvider,
- InvocationPolicy invocationPolicy, Iterable<BlazeCommand> commands,
+ InvocationPolicy invocationPolicy,
+ Iterable<BlazeCommand> commands,
String productName) {
// Server state
this.blazeModules = blazeModules;
@@ -157,9 +170,11 @@
this.ruleClassProvider = ruleClassProvider;
this.configurationFactory = configurationFactory;
+ this.infoItems = infoItems;
this.clock = clock;
this.startupOptionsProvider = startupOptionsProvider;
this.queryEnvironmentFactory = queryEnvironmentFactory;
+ this.queryFunctions = queryFunctions;
this.eventBusExceptionHandler = eventBusExceptionHandler;
this.defaultsPackageContent =
@@ -280,6 +295,10 @@
return queryEnvironmentFactory;
}
+ public ImmutableList<QueryFunction> getQueryFunctions() {
+ return queryFunctions;
+ }
+
/**
* Returns the package factory.
*/
@@ -304,6 +323,10 @@
return ruleClassProvider;
}
+ public ImmutableMap<String, InfoItem> getInfoItems() {
+ return infoItems;
+ }
+
public Iterable<BlazeModule> getBlazeModules() {
return blazeModules;
}
@@ -1100,9 +1123,11 @@
return new BlazeRuntime(
serverBuilder.getQueryEnvironmentFactory(),
+ serverBuilder.getQueryFunctions(),
packageFactory,
ruleClassProvider,
configurationFactory,
+ serverBuilder.getInfoItems(),
clock,
startupOptionsProvider,
ImmutableList.copyOf(blazeModules),