diff --git a/services/lib/scripts/build.sh b/services/lib/scripts/build.sh new file mode 100755 --- /dev/null +++ b/services/lib/scripts/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +NPROC=0 + +NPROC=$(nproc 2> /dev/null || echo 1) +if [[ $NPROC -eq 1 ]]; then + NPROC=$(sysctl -n hw.physicalcpu 2> /dev/null || echo 1) +fi + +echo "building the server (nproc=$NPROC)..." + +pushd cmake/build +cmake ../.. +make -j $NPROC + +popd + +echo "success - server built" diff --git a/services/lib/scripts/build_server.sh b/services/lib/scripts/build_server.sh new file mode 100755 --- /dev/null +++ b/services/lib/scripts/build_server.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +# folly hack - https://github.com/facebook/folly/pull/1231 +sed -i 's/#if __has_include()/#if __has_include()/g' /usr/lib/folly/folly/detail/Demangle.h + +rm -rf lib +mkdir lib +pushd lib +ln -s /usr/lib/folly +ln -s /usr/lib/glog +ln -s /usr/lib/double-conversion +popd # lib + +rm -rf _generated +mkdir _generated + +rm -rf cmake/build +mkdir -p cmake/build + +scripts/generate.sh +scripts/build.sh diff --git a/services/lib/scripts/generate.sh b/services/lib/scripts/generate.sh new file mode 100755 --- /dev/null +++ b/services/lib/scripts/generate.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +echo "generating files from protos..." + +for PROTO_FILE in $(ls ./protos); do + protoc -I=./protos --cpp_out=_generated --grpc_out=_generated --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ./protos/$PROTO_FILE +done + +echo "success - code generated from protos" diff --git a/services/lib/scripts/run_server.sh b/services/lib/scripts/run_server.sh new file mode 100755 --- /dev/null +++ b/services/lib/scripts/run_server.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +EXE_PATH="./cmake/build/bin" + +EXE=`ls $EXE_PATH` +EXES=`ls $EXE_PATH | wc -l` + +if [[ $EXES -ne 1 ]]; then + echo "there should be exactly one executable of a service, $EXES found"; + exit 1; +fi + +$EXE_PATH/$EXE diff --git a/services/lib/scripts/run_tests.sh b/services/lib/scripts/run_tests.sh new file mode 100755 --- /dev/null +++ b/services/lib/scripts/run_tests.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -e + +pushd cmake/build +make test ARGS="-V" +popd # cmake/build