#! /bin/sh ARG_CODE_URL='' ARG_CODE_REVISION='' ARG_CODE_WORK_PATH='' #LOG_FILE=/home/data/ApkAutoCompile/shell/log/download_$(date '+%d-%H%M%S').log LOG_FILE=/home/data/ApkAutoCompile/shell/log/download.log svn_download() { echo "shell_log===>Download start---------" echo "AndroidSvnPath=${ARG_CODE_URL}" echo "AndroidSvnRevision=${ARG_CODE_REVISION}" echo "AndroidCachePath=${ARG_CODE_WORK_PATH}" if [ -d ${ARG_CODE_WORK_PATH} ] || [ -f ${ARG_CODE_WORK_PATH} ];then echo -e "删除已有路径[${ARG_CODE_WORK_PATH}]代码" rm -rf ${ARG_CODE_WORK_PATH} sleep 5s fi if [ ${ARG_CODE_REVISION} != "" -a ${ARG_CODE_REVISION} != "0" ];then echo "download the specified version!" svn co -r ${ARG_CODE_REVISION} --force ${ARG_CODE_URL} ${ARG_CODE_WORK_PATH} else echo "download the latest version!" svn co --force ${ARG_CODE_URL} ${ARG_CODE_WORK_PATH} fi if [ ! -d ${ARG_CODE_WORK_PATH} ];then echo -e "下载代码[${ARG_CODE_URL}]失败" else cd ${ARG_CODE_WORK_PATH} # 判断文件是否存在; if [ -f "update_modules.sh" ];then echo "current dir:"${pwd} echo -e "\n\tupdate_modules.sh 文件存在,更新复用库\n\n" chmod 777 update_modules.sh ./update_modules.sh fi fi echo "shell_log===>Download end------------" } git_download() { echo "shell_log===>Download start---------" echo "AndroidSvnPath=${ARG_CODE_URL}" echo "AndroidSvnRevision=${ARG_CODE_REVISION}" echo "AndroidCachePath=${ARG_CODE_WORK_PATH}" if [ -d ${ARG_CODE_WORK_PATH} ] || [ -f ${ARG_CODE_WORK_PATH} ];then echo -e "删除已有路径[${ARG_CODE_WORK_PATH}]代码" rm -rf ${ARG_CODE_WORK_PATH} sleep 5s fi # 下载代码; msg=$(git clone ${ARG_CODE_URL} ${ARG_CODE_WORK_PATH} 2>&1) echo "-------------->"$msg if [[ $msg != *"Total "* ]]; then echo -e "1.下载代码[${ARG_CODE_URL}]失败" fi if [ ${ARG_CODE_REVISION} != "" -a ${ARG_CODE_REVISION} != "0" ];then echo "download the specified version!" # 切换到指定commit id; git checkout -b master ${ARG_CODE_REVISION} else echo "download the latest version!" fi if [ ! -d ${ARG_CODE_WORK_PATH} ];then echo -e "2.下载代码[${ARG_CODE_URL}]失败" else cd ${ARG_CODE_WORK_PATH} # 判断文件是否存在; if [ -f "update_modules.sh" ];then echo "current dir:"${pwd} echo -e "\n\tupdate_modules.sh 文件存在,更新复用库\n\n" chmod 777 update_modules.sh ./update_modules.sh fi fi echo "shell_log===>Download end------------" } main() { ARG_CODE_URL=$1 ARG_CODE_REVISION=$2 ARG_CODE_WORK_PATH=$3 svn_download 2>&1 | tee ${LOG_FILE} #git_download 2>&1 | tee ${LOG_FILE} } main $@