123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #!/bin/sh
- #svn log -r 6126 https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/src/Eshow
- #svn info https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/src/Eshow
- # 参数1:apk名称,源于源码路径,需要对带 _General 的删除后缀。
- APK_NAME=$1
- # 参数2:debug apk的svn版本号;
- APK_DEBUG_SVN_REVISION=$2
- # APK的Debug日志;
- APK_DEBUG_LOG=$3
- # Debug Apk 地址;
- APK_DEBUG_URL='https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/apk/01debug/general'
- # Release Apk 地址;
- APK_RELEASE_URL='https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/apk/02release/general'
- # Apk源码地址;
- APK_SRC_URL='https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/src'
- # Debug Apk 路径;
- APK_DEBUG_DIR='/home/data/ApkAutoCompile/cacheAPK/general/Debug'
- # Release Apk 路径;
- APK_RELEASE_DIR='/home/data/ApkAutoCompile/cacheAPK/general/Release'
- function main()
- {
- # 1、参数校验;
- if [ "${APK_NAME}" == "" ]; then
- echo "==> 错误:参数-APK名称为空"
- return
- fi
- if [ "${APK_DEBUG_SVN_REVISION}" == "" ]; then
- echo "==> 错误:参数-Debug Apk SVN版本号为空"
- return
- fi
- if [ "${APK_DEBUG_SVN_REVISION}" -gt 0 ] 2>/dev/null; then
- echo ""
- else
- echo "==> 错误:参数-Debug Apk SVN版本号不为数字"
- return
- fi
- if [ "${APK_DEBUG_LOG}" == "" ]; then
- echo "==> 错误:参数-Debug Apk Log日志为空"
- return
- fi
- # 过滤掉APK名称中的 _General 后缀
- # 注:此方法会过滤掉包含 _General 往后的所有字符,所以APK名称不能在中间包含 _General ;
- APK_NAME=${APK_NAME%_General*}
- echo "==> APK名称=${APK_NAME}, DebugApk SVN 版本号=${APK_DEBUG_SVN_REVISION}"
- # 生成目标变量;
- DEBUG_APK_URL="${APK_DEBUG_URL}/${APK_NAME}"
- RELEASE_APK_URL="${APK_RELEASE_URL}/${APK_NAME}"
- LOG=`svn log -r ${APK_DEBUG_SVN_REVISION} ${DEBUG_APK_URL}`
- if [ "${LOG}" == "" ];then
- echo "==> 错误:log空"
- return
- fi
- echo "=====================================================================================================>"
- echo -e "nApk-DebugUrl=\t${DEBUG_APK_URL}\r\nApk-ReleaseUrl=\t${RELEASE_APK_URL}\r\nApk-Log=${LOG}"
- echo "<====================================================================================================="
- # 创建debug根目录;
- if [ ! -d ${APK_DEBUG_DIR} ];then
- mkdir ${APK_DEBUG_DIR}
- fi
- # 创建release根目录;
- if [ ! -d ${APK_RELEASE_DIR} ];then
- mkdir ${APK_RELEASE_DIR}
- fi
- echo "==> 导出Debug Apk"
- DEBUG_APK_DIR="${APK_DEBUG_DIR}/${APK_NAME}"
- if [ -d ${DEBUG_APK_DIR} ]; then
- # 删除所有文件;
- rm -rf ${DEBUG_APK_DIR}
- fi
- #重新export
- svn 'export' ${DEBUG_APK_URL} ${DEBUG_APK_DIR}
- echo "==> 检出Release Apk"
- RELEASE_APK_DIR="${APK_RELEASE_DIR}/${APK_NAME}"
- if [ -d ${RELEASE_APK_DIR} ]; then
- # 删除所有文件;
- rm -rf ${RELEASE_APK_DIR}
- fi
- # 重新checkout出来;
- svn co ${RELEASE_APK_URL} ${RELEASE_APK_DIR}
- # 将debug的apk复制到release目录中,再提交;
- cp ${DEBUG_APK_DIR}/* ${RELEASE_APK_DIR}
- # 是否复制成功
- Status=`svn status ${RELEASE_APK_DIR}`
- echo ${Status}
- if [ "${Status}" == "" ];then
- echo "==> 错误:Apk-Release目录下SVN无状态改变"
- return
- fi
- # 提交修改;
- svn add ${RELEASE_APK_DIR}
- svn commit -m ${APK_DEBUG_LOG} ${RELEASE_APK_DIR}
- }
- main
|