|
|
|
# Determine the architecture and version
|
|
|
|
architecture=$(uname -m)
|
|
|
|
version=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
|
|
|
|
|
|
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
|
|
|
|
|
|
|
# Define the supported architectures and corresponding bin directories
|
|
|
|
declare -A supported_architectures=(
|
|
|
|
["linux-amd64"]="_output/bin/platforms/linux/amd64"
|
|
|
|
["linux-arm64"]="_output/bin/platforms/linux/arm64"
|
|
|
|
["linux-mips64"]="_output/bin/platforms/linux/mips64"
|
|
|
|
["linux-mips64le"]="_output/bin/platforms/linux/mips64le"
|
|
|
|
["linux-ppc64le"]="_output/bin/platforms/linux/ppc64le"
|
|
|
|
["linux-s390x"]="_output/bin/platforms/linux/s390x"
|
|
|
|
["darwin-amd64"]="_output/bin/platforms/darwin/amd64"
|
|
|
|
["windows-amd64"]="_output/bin/platforms/windows/amd64"
|
|
|
|
["linux-x86_64"]="_output/bin/platforms/linux/amd64" # Alias for linux-amd64
|
|
|
|
["darwin-x86_64"]="_output/bin/platforms/darwin/amd64" # Alias for darwin-amd64
|
|
|
|
)
|
|
|
|
|
|
|
|
# Check if the architecture and version are supported
|
|
|
|
if [[ -z ${supported_architectures["$version-$architecture"]} ]]; then
|
|
|
|
echo "================> Unsupported architecture: $architecture or version: $version"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
Server Start Time
|
|
|
|
echo "================> Architecture: $architecture"
|
|
|
|
|
|
|
|
# Set the BIN_DIR based on the architecture and version
|
|
|
|
BIN_DIR=${supported_architectures["$version-$architecture"]}
|
|
|
|
|
|
|
|
echo "================> BIN_DIR: $OPENIM_ROOT/$BIN_DIR"
|
|
|
|
|
|
|
|
|
|
|
|
# Don't put the space between "="
|
|
|
|
openim_msggateway="openim-msggateway"
|
|
|
|
msg_gateway_binary_root= $OPENIM_ROOT/$BIN_DIR/
|
|
|
|
msg_gateway_source_root="../cmd/msggateway/"
|
|
|
|
|
|
|
|
msg_name="openim-rpc-msg"
|
|
|
|
msg_binary_root=$OPENIM_ROOT/$BIN_DIR
|
|
|
|
msg_source_root="../cmd/rpc/msg/"
|
|
|
|
|
|
|
|
push_name="openim-push"
|
|
|
|
push_binary_root=$OPENIM_ROOT/$BIN_DIR
|
|
|
|
push_source_root="../cmd/push/"
|
|
|
|
|
|
|
|
openim_msgtransfer="openim-rpc-msg_transfer"
|
|
|
|
msg_transfer_binary_root=$OPENIM_ROOT/$BIN_DIR
|
|
|
|
msg_transfer_source_root="../cmd/msgtransfer/"
|
|
|
|
msg_transfer_service_num=4
|
|
|
|
|
|
|
|
cron_task_name="openim-crontask"
|
|
|
|
cron_task_binary_root=$OPENIM_ROOT/$BIN_DIR
|
|
|
|
cron_task_source_root="../cmd/crontask/"
|
|
|
|
|
|
|
|
|
|
|
|
cmd_utils_name="openim_cmd_utils"
|
|
|
|
cmd_utils_binary_root=$OPENIM_ROOT/$BIN_DIR
|
|
|
|
cmd_utils_source_root="../cmd/cmduitls/"
|
|
|
|
|
|
|
|
# Global configuration file default dir
|
|
|
|
config_path="../config/config.yaml"
|
|
|
|
|
|
|
|
# servicefile dir path
|
|
|
|
service_source_root=(
|
|
|
|
# api service file
|
|
|
|
"../cmd/api/"
|
|
|
|
# rpc service file
|
|
|
|
"../cmd/rpc/user/"
|
|
|
|
"../cmd/rpc/friend/"
|
|
|
|
"../cmd/rpc/group/"
|
|
|
|
"../cmd/rpc/auth/"
|
|
|
|
"../cmd/rpc/conversation/"
|
|
|
|
"../cmd/rpc/third/"
|
|
|
|
"../cmd/crontask"
|
|
|
|
"${msg_gateway_source_root}"
|
|
|
|
"${msg_transfer_source_root}"
|
|
|
|
"${msg_source_root}"
|
|
|
|
"${push_source_root}"
|
|
|
|
# "${sdk_server_source_root}"
|
|
|
|
)
|
|
|
|
|
|
|
|
# service filename
|
|
|
|
service_names=(
|
|
|
|
# api service filename
|
|
|
|
"openim-api"
|
|
|
|
# rpc service filename
|
|
|
|
"openim-rpc-user"
|
|
|
|
"openim-rpc-friend"
|
|
|
|
"openim-rpc-group"
|
|
|
|
"openim-rpc-auth"
|
|
|
|
"openim-rpc-conversation"
|
|
|
|
"openim-rpc-third"
|
|
|
|
"openim-crontask"
|
|
|
|
"${openim_msggateway}"
|
|
|
|
"${openim_msgtransfer}"
|
|
|
|
"${msg_name}"
|
|
|
|
"${push_name}"
|
|
|
|
# "${sdk_server_name}"
|
|
|
|
)
|