diff options
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.java | 27 |
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); |