Aya Shimizu (ashimizu@usc.edu)
$ mkdir ashimizu_warble
$ cd ashimizu_warble
$ git clone https://github.com/ashimizu24/csci499_ashimizu24.git
$ vagrant init hashicorp-vagrant/ubuntu-16.04
config.vm.box = "hashicorp-vagrant/ubuntu-16.04"
Uncomment config.vm.synced_folder
in Vagrantfile
Add /vagrant_data as shared folder name
config.vm.synced_folder ".", "/vagrant_data"
$ vagrant box add hashicorp-vagrant/ubuntu-16.04
$ vagrant up
$ vagrant ssh
$ sudo apt-get -y update
$ sudo apt-get -y install build-essential autoconf libtool pkg-config
$ curl -SL http://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz | tar -xJC .
$ sudo apt-get -y install make
$ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
$ cd grpc
$ git submodule update --init
$ make && sudo make install
$ cd third_party/protobuf
$ make && sudo make install
$ sudo apt-get -y install libgflags-dev
$ sudo apt-get -y install libgoogle-glog-dev
$ sudo apt-get -y install libgtest-dev
$ sudo apt-get install cmake
$ cd /usr/src/gtest
$ sudo cmake CMakeLists.txt
$ sudo make sudo
$ cp *.a /usr/lib
### Get into shared folder directory ------ ###### Make sure you're still SSHed into vagrant still ```$ cd ```
```$ cd /vagrant_data/ashimizu_warble/warble/kvstore```
### Run Project ------ ##### Compile Project ```$ make``` ###### 3 terminal windows need to be open to run warble ###### Run vagrant up and vagrant ssh and cd into the above directory for each terminal window ##### Run Key Value Store Server ```$ ./kvstore_server``` ##### Run Func Server ```$ ./func_server```
### Warble Commands ------ ###### *Main quits after every command is run* ##### Hook functions ###### This must be run first before any warble commands are run ```$ ./main -hook```
$ ./main -unhook
$ ./main -registeruser <username>
$ ./main -user <username> -warble "<text>"
$ ./main -user <username> -warble "<text>" -reply <id>
$ ./main -user <username> -read <id>
$ ./main -user <username> -follow <username>
$ ./main -user <username> -profile
$ ./kvstore_db_test
$ ./warble_test