From edae44557ad406babd8b97d8554341156ca337ba Mon Sep 17 00:00:00 2001 From: huanghaiquan Date: Mon, 23 Dec 2019 23:23:44 +0800 Subject: [PATCH] Completed the building shell scripts; --- build/build.sh | 18 ++++++++++++++++ build/env.sh | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ build/pack.sh | 32 ++++++++++++++++++++++++++++ build/test.sh | 21 +++++++++++++++++++ build/update.sh | 27 ++++++++++++++++++++++++ pom.xml | 2 +- 6 files changed, 155 insertions(+), 1 deletion(-) create mode 100755 build/build.sh create mode 100755 build/env.sh create mode 100755 build/pack.sh create mode 100755 build/test.sh create mode 100755 build/update.sh diff --git a/build/build.sh b/build/build.sh new file mode 100755 index 00000000..63527549 --- /dev/null +++ b/build/build.sh @@ -0,0 +1,18 @@ + + +#调用当前脚本目录下 env.sh 脚本,设置环境变量,处理当前传入参数; +source `dirname $0`/env.sh "$*" + +echo "主目录:$BASE_DIR" + +#判断是否忽略测试; +if [ $SKIP_TESTS == 1 ] +then + echo "略过测试。。。" +else + #执行测试; + source $TEST_SHELL +fi + +#执行打包构建; +source $PACK_SHELL diff --git a/build/env.sh b/build/env.sh new file mode 100755 index 00000000..7e70072b --- /dev/null +++ b/build/env.sh @@ -0,0 +1,56 @@ + + +if [ $ENV_SHELL ] +then + #如果已经设置过环境变量,则不再重复执行; + echo "略过初始化环境变量。。。" + return +fi + +echo "---------------- 初始化环境变量 ----------------" + +#主代码库的根目录 +BASE_DIR=$(cd `dirname $0`/..; pwd) + +#标记环境变量脚本; +ENV_SHELL=$BASE_DIR/build/env.sh + +#执行代码库更新的脚本; +UPDATE_SHELL=$BASE_DIR/build/update.sh + +#执行测试的脚本; +TEST_SHELL=$BASE_DIR/build/test.sh + +#执行构建打包产品的脚本; +PACK_SHELL=$BASE_DIR/build/pack.sh + +#框架工程的Git仓库的根目录 +FRAMEWORK_DIR=$BASE_DIR/framework + +#核心实现工程的Git仓库的根目录 +CORE_DIR=$BASE_DIR/core + +#打包工程的Git仓库的根目录 +DEPLOY_DIR=$BASE_DIR/deploy + +#测试工程的Git仓库的根目录 +TEST_DIR=$BASE_DIR/test + +#初始化参数:是否略过测试步骤; +SKIP_TESTS=0 + +#检查输入参数 +for i in $*; do + case $i in + "--skipTests") + #忽略测试; + echo "收到参数 --skipTests 指示略过测试环节。。。" + + SKIP_TESTS=1 + ;; + esac +done + +echo "---------------- 完成环境变量初始化 ----------------" + + diff --git a/build/pack.sh b/build/pack.sh new file mode 100755 index 00000000..a7d9c432 --- /dev/null +++ b/build/pack.sh @@ -0,0 +1,32 @@ + + +#调用当前脚本目录下 env.sh 脚本,设置环境变量,处理当前传入参数; +if [ ! $ENV_SHELL ] +then + source `dirname $0`/env.sh "$*" +fi + +# 更新代码库; +source $UPDATE_SHELL + +echo "--------------- 开始编译打包产品 ---------------" + +cd $DEPLOY_DIR +echo "当前目录:`pwd`" + +#初始化变量 SKIP_TESTS; +if [ ! $SKIP_TESTS ] +then + SKIP_TESTS=0 +fi + +if [ $SKIP_TESTS == 1 ] +then + echo "执行命令:mvn clean package -DskipTests=true" + mvn clean package -DskipTests=true +else + echo "执行命令:mvn clean package" + mvn clean package +fi + +echo "--------------- 完成编译打包产品 ---------------" diff --git a/build/test.sh b/build/test.sh new file mode 100755 index 00000000..81c56246 --- /dev/null +++ b/build/test.sh @@ -0,0 +1,21 @@ + + +#调用当前脚本目录下 env.sh 脚本,设置环境变量,处理当前传入参数; +if [ ! $ENV_SHELL ] +then + source `dirname $0`/env.sh "$*" +fi + +# 更新代码库; +source $UPDATE_SHELL + + +echo "---------------- 开始集成测试 ----------------" + +cd $TEST_DIR +echo "当前目录:`pwd`" + +echo "执行命令:mvn clean package" +mvn clean package + +echo "---------------- 完成集成测试 ----------------" \ No newline at end of file diff --git a/build/update.sh b/build/update.sh new file mode 100755 index 00000000..1eeb4b98 --- /dev/null +++ b/build/update.sh @@ -0,0 +1,27 @@ + +#调用当前脚本目录下 env.sh 脚本,设置环境变量,处理当前传入参数; +if [ ! $ENV_SHELL ] +then + source `dirname $0`/env.sh "$*" +fi + +#初始化变量 SUBMODULES_UPDATED +if [ ! $SUBMODULES_UPDATED ] +then + SUBMODULES_UPDATED=0 +fi + +if [ $SUBMODULES_UPDATED == 1 ] +then + echo "代码库已经最新,略过更新操作。。。" +else + + echo "---------------- 更新代码库 ----------------" + cd $BASE_DIR + git submodule update --init --recursive + + #标记代码已经更新; + SUBMODULES_UPDATED=1 + + echo "---------------- 完成代码库更新 ----------------" +fi \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0db59375..c5db0b84 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ core deploy test - sample + samples