diff options
author | Luis Fernando Pino Duque <lpino@google.com> | 2016-02-25 14:25:19 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2016-02-25 17:31:19 +0000 |
commit | b1b28b68d88aa1d36e2252cab7437aac7993dbc8 (patch) | |
tree | c2b5b98f149df137e27faaa623ea3f42402ac14e /src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java | |
parent | 3d207d03e49ca22ffba93567b616d1d36c96294e (diff) |
Update ANDROID_DEFAULT_CROSSTOOL to default to //external:android/crosstool. Remove the constant.
--
MOS_MIGRATED_REVID=115555161
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java | 37 |
1 files changed, 35 insertions, 2 deletions
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 9cd7a56edc..d33baeb7f7 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 @@ -71,6 +71,7 @@ import com.google.devtools.build.lib.runtime.commands.RunCommand; import com.google.devtools.build.lib.runtime.commands.ShutdownCommand; import com.google.devtools.build.lib.runtime.commands.TestCommand; import com.google.devtools.build.lib.runtime.commands.VersionCommand; +import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; import com.google.devtools.build.lib.server.RPCServer; import com.google.devtools.build.lib.server.ServerCommand; import com.google.devtools.build.lib.server.signal.InterruptSignalHandler; @@ -168,6 +169,8 @@ public final class BlazeRuntime { private final BinTools binTools; private final WorkspaceStatusAction.Factory workspaceStatusActionFactory; private final ProjectFile.Provider projectFileProvider; + @Nullable + private final InvocationPolicy invocationPolicy; // Workspace state (currently exactly one workspace per server) private final BlazeDirectories directories; @@ -187,7 +190,7 @@ public final class BlazeRuntime { TimestampGranularityMonitor timestampGranularityMonitor, SubscriberExceptionHandler eventBusExceptionHandler, BinTools binTools, ProjectFile.Provider projectFileProvider, - Iterable<BlazeCommand> commands) { + InvocationPolicy invocationPolicy, Iterable<BlazeCommand> commands) { // Server state this.blazeModules = blazeModules; overrideCommands(commands); @@ -196,6 +199,7 @@ public final class BlazeRuntime { this.packageFactory = pkgFactory; this.binTools = binTools; this.projectFileProvider = projectFileProvider; + this.invocationPolicy = invocationPolicy; this.ruleClassProvider = ruleClassProvider; this.configurationFactory = configurationFactory; @@ -215,6 +219,21 @@ public final class BlazeRuntime { setupExecRoot(); } + private static InvocationPolicy createInvocationPolicyFromModules( + InvocationPolicy initialInvocationPolicy, + Iterable<BlazeModule> modules) { + InvocationPolicy.Builder builder = InvocationPolicy.newBuilder(); + builder.mergeFrom(initialInvocationPolicy); + // Merge the policies from the modules + for (BlazeModule module : modules) { + InvocationPolicy modulePolicy = module.getInvocationPolicy(); + if (modulePolicy != null) { + builder.mergeFrom(module.getInvocationPolicy()); + } + } + return builder.build(); + } + @Nullable CoverageReportActionFactory getCoverageReportActionFactory() { CoverageReportActionFactory firstFactory = null; for (BlazeModule module : blazeModules) { @@ -266,6 +285,11 @@ public final class BlazeRuntime { skyframeExecutor.setEventBus(null); } + @Nullable + public InvocationPolicy getInvocationPolicy() { + return invocationPolicy; + } + /** * Conditionally enable profiling. */ @@ -1305,6 +1329,7 @@ public final class BlazeRuntime { private BinTools binTools; private UUID instanceId; private final List<BlazeCommand> commands = new ArrayList<>(); + private InvocationPolicy invocationPolicy = InvocationPolicy.getDefaultInstance(); public BlazeRuntime build() throws AbruptExitException { Preconditions.checkNotNull(directories); @@ -1453,10 +1478,13 @@ public final class BlazeRuntime { } } + invocationPolicy = createInvocationPolicyFromModules(invocationPolicy, blazeModules); + return new BlazeRuntime(directories, workspaceStatusActionFactory, skyframeExecutor, pkgFactory, ruleClassProvider, configurationFactory, clock, startupOptionsProvider, ImmutableList.copyOf(blazeModules), - timestampMonitor, eventBusExceptionHandler, binTools, projectFileProvider, commands); + timestampMonitor, eventBusExceptionHandler, binTools, projectFileProvider, + invocationPolicy, commands); } public Builder setBinTools(BinTools binTools) { @@ -1464,6 +1492,11 @@ public final class BlazeRuntime { return this; } + public Builder setInvocationPolicy(InvocationPolicy invocationPolicy) { + this.invocationPolicy = invocationPolicy; + return this; + } + public Builder setDirectories(BlazeDirectories directories) { this.directories = directories; return this; |