aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
index 32e08615b9..c55a788720 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
@@ -24,7 +24,6 @@ import com.google.devtools.build.lib.runtime.BlazeModule;
import com.google.devtools.build.lib.runtime.Command;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
import com.google.devtools.common.options.OptionsBase;
-
import java.net.URI;
import java.net.URISyntaxException;
@@ -62,15 +61,27 @@ public final class RemoteModule extends BlazeModule {
buildRequest = event.getRequest();
RemoteOptions options = buildRequest.getOptions(RemoteOptions.class);
+ MemcacheActionCache cache = null;
+
// Don't provide the remote spawn unless at least action cache is initialized.
- if (actionCache == null
- && (options.hazelcastNode != null || options.hazelcastClientConfig != null)) {
- MemcacheActionCache cache =
- new MemcacheActionCache(
- this.env.getDirectories().getExecRoot(),
- options,
- HazelcastCacheFactory.create(options));
+ if (actionCache == null) {
+ if (options.hazelcastNode != null || options.hazelcastClientConfig != null) {
+ cache =
+ new MemcacheActionCache(
+ this.env.getDirectories().getExecRoot(),
+ options,
+ HazelcastCacheFactory.create(options));
+ } else if (options.restCacheUrl != null) {
+ cache =
+ new MemcacheActionCache(
+ this.env.getDirectories().getExecRoot(),
+ options,
+ RestUrlCacheFactory.create(options));
+ }
actionCache = cache;
+ }
+
+ if (cache != null) {
if (workExecutor == null && options.remoteWorker != null) {
try {
URI uri = new URI("dummy://" + options.remoteWorker);