97 lines
3.0 KiB
Bash
97 lines
3.0 KiB
Bash
#/bin/bash
|
||
# ---------------------------------------------------------
|
||
# 配置数据生成工具
|
||
# @author whjing2011@gmail.com
|
||
# ---------------------------------------------------------
|
||
|
||
if [ "" == "$ROOT" ]; then
|
||
if [ -f ../dev.sh ]; then
|
||
../dev.sh $@
|
||
exit 0
|
||
else
|
||
echo -e "\e[91m>>\e[0;0m 此脚本必须通过tools/dev.sh调用才能正常工作"
|
||
exit 1
|
||
fi
|
||
fi
|
||
|
||
if [ -f $ROOT/tools/temp_gen_data/gen_data.sh ]; then
|
||
source $ROOT/tool/temp_gen_data/gen_data.sh
|
||
fi
|
||
|
||
DOC[gen_data]="生成目标数据配置文件"
|
||
fun_gen_data(){
|
||
cd ${ROOT}/tools/gen_data/
|
||
fun_option $@
|
||
echo "输入信息===>$1, $option"
|
||
$ERL -noshell -pa "${ROOT}/tools/ebin" -pa "./ebin" -eval "make:all(),gen_data:gen($1,$option)" -s c q
|
||
}
|
||
|
||
DOC[gen_xml]="生成数据文件 XML"
|
||
fun_gen_xml(){
|
||
cd ${ROOT}/tools/gen_data/
|
||
mkdir -p template
|
||
fun_option $@
|
||
$ERL -noshell -pa "${ROOT}/tools/ebin" -pa "${ROOT}/tools/gen_data/ebin" -eval "make:all(), gen_xml:gen($1,$option)" -s c q
|
||
}
|
||
|
||
DOC[gen_data_cfg]="生成新数据文件gen_data/cfg/*.erl"
|
||
fun_gen_data_cfg(){
|
||
cd ${ROOT}/tools/gen_data/
|
||
if [ "$1" = "" ]; then
|
||
[[ ! -f ./env_cfg.erl ]] && cp -f tpl/env_cfg.erl . || echo "env_cfg.erl配置数据已生成"
|
||
fun_option $@
|
||
$ERL -noshell -pa "${ROOT}/tools/gen_data/ebin" -eval "make:all(), gen_data_file:gen_cfg($1,$option)" -s c q
|
||
|
||
else
|
||
fun_option $@
|
||
$ERL -noshell -pa "${ROOT}/tools/gen_data/ebin" -eval "make:all(), gen_data_file:gen_cfg($1,$option)" -s c q
|
||
fi
|
||
}
|
||
|
||
## 长参数处理
|
||
## --lang=cn --encoding=unicode --srv_path=xxx --cli_path=xxx --php_path=xxx --data_dir=xxx --proc_num=1 --mod=all
|
||
## -l cn -e unicode -s xxx -c xxx -p xxx -d xxx -n1 -mall
|
||
fun_option(){
|
||
mkdir -p ebin out
|
||
TEMP=`getopt -o l:e:d:s:c:p:n:m: --long lang:,encoding:,data_dir:,srv_path:,cli_path:,php_path:,proc_num:,mod: -- "$@" 2>/dev/null`
|
||
eval set -- "$TEMP"
|
||
option="[{author,<<\"$AUTHOR\">>}"
|
||
while true :
|
||
do
|
||
[ -z "$1" ] && break;
|
||
arg=$1
|
||
shift
|
||
echo "option===>$arg"
|
||
case "$arg" in
|
||
-l|--lang)
|
||
option=$option",{lang,$1}"
|
||
shift;;
|
||
-e|--encoding)
|
||
option=$option",{encoding,$1}"
|
||
shift;;
|
||
-m|--mod)
|
||
option=$option",{mod,$1}"
|
||
shift;;
|
||
-n|--proc_num)
|
||
option=$option",{proc_num,$1}"
|
||
shift;;
|
||
-d|--data_dir)
|
||
option=$option",{data_dir,\"$1\"}"
|
||
shift;;
|
||
-s|--srv_path)
|
||
option=$option",{srv_path,\"$1\"}"
|
||
shift;;
|
||
-c|--cli_path)
|
||
option=$option",{cli_path,\"$1\"}"
|
||
shift;;
|
||
-p|--php_path)
|
||
option=$option",{php_path,\"$1\"}"
|
||
shift;;
|
||
*)
|
||
;;
|
||
esac
|
||
done
|
||
option=$option"]"
|
||
echo "参数信息===>$option"
|
||
}
|