| 
					
				 | 
			
			
				@@ -42,8 +42,12 @@ APK_DEBUG_DIR='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 APK_RELEASE_DIR='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # APK的版本号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 APK_VER_CODE='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 中间件源码路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 中间件服务APK<https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/TVMidware/debug/TVMidwareService>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 APK_DIR_TVMidware="/home/data/ApkAutoCompile/cacheAPK/TVMidware" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 日期; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+CURR_TIME=$(date +"%Y-%m-%d %T") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 仓库类型:SVN或GIT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+REPO_TYPE='SVN' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 日志文件; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [ ! -d '/home/data/ApkAutoCompile/shell/log' ];then 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57,6 +61,8 @@ SwitchIntranet() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     echo -e "\r\r---切换到内网---" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     route add default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     route add default gw 10.201.40.1 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -68,6 +74,71 @@ SwitchExternal() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+debug_apk_svn_commit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "func-> debug_apk_svn_commit\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SVN_DEBUG_APK_PATH=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -d ${SVN_DEBUG_APK_PATH} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        local count=0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cd ${SVN_DEBUG_APK_PATH} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 查找未提交或变更的文件; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filelist=$(svn status) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 以"? "分组字符串; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filearray=(${filelist//? /}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for File in ${filearray[@]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let count+=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # 如果是文件; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if [ -f ${File} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                msg=$(svn add ${File} 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "svn add file = ${File}, result=${msg}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            elif [ -d ${File} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                msg=$(svn add ${File} 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "svn add dir = ${File}, result=${msg}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 提交; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "变化文件数量 =  ${count}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [ $count -gt 0 ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cd ${SVN_DEBUG_APK_PATH} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # 判断源码路径类型; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if [ x${REPO_TYPE} == x'GIT'  ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo "源码路径为git" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                # 获取源码版本; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                shortId=$(git rev-parse --short HEAD 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lastChangedRev="Last Changed Rev: ${shortId}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cd ${SVN_DEBUG_APK_PATH} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                # 获取源码版本; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo "源码路径为svn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lastChangedRev=$(svn info ${APK_SRC_DIR}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            msg=$(svn commit -m "upgrade ${APK_NAME}.${APK_VER_CODE}. ${lastChangedRev}" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "svn commit result=${msg}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if [[ $msg != *"Committed revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "svn_commit:连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "提交svn成功\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "无文件变化,不需要提交svn\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "目录<${SVN_DEBUG_APK_PATH}>不存在,无法提交.\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 commitAPK(){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,65 +153,51 @@ commitAPK(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cd ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rm * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        svn_result=$(svn up) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if [[ $svn_result != *"At revision"* ]] || [[ $svn_result != *"is already under version control"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            echo -e "\tsvn up:连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn_result=$(svn up 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [[ $svn_result != *"Updated to revision"* ]] && [[ $svn_result != *"At revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "svn up:连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cp ${APK_BUILD_DIR} ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo "APK_DIR_TVMidware PWD:$(pwd)"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        svn add . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        svn add * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        svn_result=$(svn commit -m "upgrade ${APK_NAME}.${APK_VER_CODE}. ${svn_lastChangedRev}" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if [[ $svn_result != *"At revision"* ]] || [[ $svn_result != *"is already under version control"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            echo -e "\t连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo "After apk copy,P_APK_DIR:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        debug_apk_svn_commit ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ls -l ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # copy apk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if [ -d ${APK_DEBUG_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cd ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            echo -e "\tBefore apk copy,APK_DEBUG_DIR=${APK_DEBUG_DIR}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "APK_DEBUG_DIR=${APK_DEBUG_DIR}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ls -l ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rm * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             svn_result=$(svn up 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            echo -e "\r\nsvn up结果="${svn_result} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "commitAPK:svn up结果=${svn_result}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if [[ $svn_result != *"Updated to revision"* ]] && [[ $svn_result != *"At revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                echo -e "\r\n连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "commitAPK:连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            mkdir -p ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cd ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mkdir -p ${APK_DEBUG_DIR}             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cd ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         svn_lastChangedDate=$(svn info ${APK_SRC_DIR}|grep Date 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         svn_lastChangedRev=$(svn info ${APK_SRC_DIR}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cp ${APK_BUILD_DIR} ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\tAPK_DEBUG_DIR PWD:$(pwd)"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        svn add . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        svn add * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        svn_result=$(svn commit -m "upgrade ${APK_NAME}.${APK_VER_CODE}. ${svn_lastChangedRev}" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\r\nsvn commit结果="${svn_result} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if [[ $svn_result != *"Committed revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            echo -e "\t连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\tAfter apk copy,APK_DEBUG_DIR:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        debug_apk_svn_commit ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "After apk copy, APK_DEBUG_DIR:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ls -l ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #ensure under shell folder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cd ${WORK_HOME}/shell 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo -e "\tWORK_HOME PWD:$(pwd)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "WORK_HOME PWD:$(pwd)\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     python3 -c "import builder;builder.updateProjectRev('$APK_SRC_DIR','$svn_lastChangedRev','$svn_lastChangedDate')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-compileGeneralApp(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+compileGeneralApp() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     echo "enter compileGeneralApp" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 需要单独处理两APK:FastCastTV、FastScreenV3.0的版本号获取问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ x${APK_NAME} == "xFastCastTV" ];then 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -203,7 +260,9 @@ compileGeneralApp(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # P_APK_DIR="${APK_DIR_general}/${tmp1#*TIF_}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         APK_DEBUG_DIR="${APK_DEBUG_ROOT_DIR}/${tmp1}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         echo -e "\t==========APK_DEBUG_DIR=" ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mkdir ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [ ! -d ${APK_DEBUG_DIR} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mkdir ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         commitAPK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -219,11 +278,11 @@ compileCustomApp(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 返回:0表示不需要更新本地svn目录, 1表示需要更新; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 IsUpdateSVN() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     echo -e "\n\n==========执行函数:IsUpdate==========" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 如果目录不存在,直接返回需要更新; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ ! -d ${APK_SRC_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\t目录[${APK_SRC_DIR}]不存在,需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "目录[${APK_SRC_DIR}]不存在,需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -236,33 +295,33 @@ IsUpdateSVN() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 查找服务器的地址; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     APK_SRC_URL=$(svn info|grep "URL:" |grep -v "Relative URL:" 2>&1)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo -e "\t${APK_SRC_URL}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "${APK_SRC_URL}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     APK_SRC_URL=${APK_SRC_URL#*URL:} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cd - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 获取服务器的最新提交版本;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     svn_server_lcr=$(svn info ${APK_SRC_URL}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [[ $svn_server_lcr == *"svn: E170013: Unable to connect to a repository at URL"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\t连接SVN服务器失败, 网络异常=${svn_server_lcr}!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "连接SVN服务器失败, 网络异常=${svn_server_lcr}!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     svn_server_lcr=${svn_server_lcr#*Last Changed Rev: } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo -e "\tServer SVN Last Changed Revision=${svn_server_lcr}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "Server SVN Last Changed Revision=${svn_server_lcr}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 比较版本号或日期; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ ${svn_server_lcr} -gt ${svn_local_lcr} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\t服务器版本大于本地目录版本号,需要更新" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "服务器版本大于本地目录版本号,需要更新" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ x${REBUILD} == "x1" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\t手动编译标记位" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "手动编译标记位" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo -e "\t本地版本与服务器版本相同 ,不需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "本地版本与服务器版本相同 ,不需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -315,13 +374,13 @@ IsUpdateGIT() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-UpdateCode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+UpdateSVNCode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     echo -e "\n\n==========执行函数:UpdateCode==========" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 本地APK SVN目录是否存在,存在则删除; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ -d ${APK_SRC_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\t目录不为空,删除未提交的文件;\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "目录不为空,删除未提交的文件;\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #rm -rf ${APK_SRC_DIR} # 删除操作太危险; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         svn cleanup ${APK_SRC_DIR}    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         filelist=$(svn status ${APK_SRC_DIR} 2>&1) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -330,27 +389,30 @@ UpdateCode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         filearray=(${filelist//? /}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for File in ${filearray[@]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            echo -e "\t 即将删除File="$File 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # 文件是否存在; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if [ -f ${File} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 rm -f ${File} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "已删除文件=${File}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            elif [ -d ${File} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rm -rf ${File} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "已删除路径=${File}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ x"${APK_SRC_URL}" = x ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\tAPK URL空\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "APK URL空\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #echo -e "\t开始Check代码;\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #svn co --force ${APK_SRC_URL} ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo -e "\t开始更新代码\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "开始更新代码\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     svn_result=$(svn up ${APK_SRC_DIR} 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo -e "\r\nsvn up结果="${svn_result} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if [[ $svn_result != *"At revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\t连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "UpdateCode: svn up结果=${svn_result}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ $svn_result != *"At revision"* ]] && [[ $svn_result != *"Updated to revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -358,7 +420,44 @@ UpdateCode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 判断文件是否存在; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ -f "update_modules.sh" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo -e "\n\tupdate_modules.sh 文件存在,更新复用库\n\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\nupdate_modules.sh 文件存在,更新复用库\n\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        chmod 777 update_modules.sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ./update_modules.sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+UpdateGITCode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\n\n==========执行函数:UpdateCode==========" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 本地APK SVN目录是否存在,存在则删除; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -d ${APK_SRC_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "目录不为空,删除未提交的文件;\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        git clean -xfd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ x"${APK_SRC_URL}" = x ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "APK URL空\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #echo -e "\t开始Check代码;\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #svn co --force ${APK_SRC_URL} ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "开始更新代码\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    git_result=$(git pull 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "UpdateCode: git pull结果=${git_result}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ $git_result != *"files changed,"* ]] && [[ $git_result != *"Already up to date."* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "连接GIT服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 判断文件是否存在; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -f "update_modules.sh" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\nupdate_modules.sh 文件存在,更新复用库\n\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         chmod 777 update_modules.sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ./update_modules.sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -366,13 +465,24 @@ UpdateCode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 compile() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo ${CURR_TIME} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     echo "shell_log===>Compile start---------" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 判断工作副本是否需要更新; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    IsUpdateSVN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ x${REPO_TYPE} == 'xSVN' ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        IsUpdateSVN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        IsUpdateGIT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ $? == 1 ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        echo "需要更新本地SVN" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        UpdateCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "需要更新代码" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [ x${REPO_TYPE} == 'xSVN' ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            UpdateSVNCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            UpdateGITCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cd ${WORK_HOME}/shell 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # 读取ini配置文件中的信息; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         releaseType=$(python3 -c 'import builder;print(builder.getReleaseName("'$APK_SRC_DIR'"))') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -394,7 +504,7 @@ compile() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 main() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ $# -eq 1 ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        REBUILD=0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        REBUILD=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         APK_SRC_DIR=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     elif [ $# -eq 2 ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         APK_SRC_DIR=$1 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -422,7 +532,7 @@ main() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         svn co ${APK_DEBUG_ROOT_URL} ${APK_DEBUG_ROOT_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 检出中间件源码; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 检出中间件服务APK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if [ ! -d ${APK_DIR_TVMidware} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         echo -e 'svn co TVMidware Apk' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         svn co https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/TVMidware/debug/TVMidwareService ${APK_DIR_TVMidware} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -439,7 +549,22 @@ main() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     APK_NAME=${APK_SRC_DIR##*/} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     echo -e "APK_SRC_DIR=${APK_SRC_DIR}\r\nAPK_NAME=${APK_NAME}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 重新定义log文件; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    LOG_FILE="/home/data/ApkAutoCompile/shell/log/gradlew-${APK_NAME}.log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ! -d /home/data/ApkAutoCompile/shell/log/gradlew/ ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msg=$(mkdir /home/data/ApkAutoCompile/shell/log/gradlew/last) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    LOG_FILE="/home/data/ApkAutoCompile/shell/log/gradlew/${APK_NAME}.log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -f ${LOG_FILE} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mkdir -p /home/data/ApkAutoCompile/shell/log/gradlew/last 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mv ${LOG_FILE} /home/data/ApkAutoCompile/shell/log/gradlew/last/${APK_NAME}.log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -d ${APK_SRC_DIR}/.git ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        REPO_TYPE='GIT' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "-------仓库类型为GIT-------" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        REPO_TYPE='SVN' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "-------仓库类型为SVN-------" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     compile 2>&1 | tee ${LOG_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     echo -e "########################################################编译结束########################################################\n" 
			 |