# How to run a standalone Hazelcast server for testing distributed cache. - First you need to run a standalone Hazelcast server with default configuration. If you already have a separate Hazelcast cluster you can skip this step. ``` java -cp third_party/hazelcast/hazelcast-3.6.4.jar \ com.hazelcast.core.server.StartServer ``` - Then you run Bazel pointing to the Hazelcast server. ``` bazel --host_jvm_args=-Dbazel.DigestFunction=SHA1 build \ --hazelcast_node=localhost:5701 --spawn_strategy=remote \ src/tools/generate_workspace:all ``` Above command will build generate_workspace with remote spawn strategy that uses Hazelcast as the distributed caching backend. # How to run a remote worker for testing remote execution. - First run the remote worker. This will start a standalone Hazelcast server with default configuration. ``` bazel-bin/src/tools/remote_worker/remote_worker \ --work_path=/tmp/remote --listen_port 8080 ``` - Then run Bazel pointing to the Hazelcast server and remote worker. ``` bazel --host_jvm_args=-Dbazel.DigestFunction=SHA1 build \ --hazelcast_node=localhost:5701 \ --remote_worker=localhost:8080 \ --spawn_strategy=remote src/tools/generate_workspace:all ``` # How to run a remote worker with a remote cache server. - First you need to run a standalone Hazelcast server with default configuration. If you already have a separate Hazelcast cluster you can skip this step. ``` java -cp third_party/hazelcast/hazelcast-3.6.4.jar \ com.hazelcast.core.server.StartServer ``` - Then run the remote cache server: ``` bazel-bin/src/tools/remote_worker/remote_cache --listen_port 8081 ``` - The run the remote worker: ``` bazel-bin/src/tools/remote_worker/remote_worker \ --work_path=/tmp/remote --listen_port 8080 ``` - Then run Bazel pointing to the cache server and remote worker. ``` bazel --host_jvm_args=-Dbazel.DigestFunction=SHA1 build \ --hazelcast_node=localhost:5701 \ --remote_worker=localhost:8080 \ --remote_cache=localhost:8081 \ --spawn_strategy=remote src/tools/generate_workspace:all ```