code-sync.sh 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. #!/bin/bash
  2. cd ~
  3. WORKSPACE=$(pwd)
  4. echo ${WORKSPACE}
  5. # 41A、51M、41/51 三分代码 是否需要重新下载;
  6. RD_41A=$1
  7. RD_51M=$2
  8. RD_4151=$3
  9. # 换服务器编译时,这里的PATH要以新服务器的环境变量重新配置
  10. export PATH=/opt/git-repo:/usr/lib/jvm/java-8-openjdk-amd64/bin:/home/wangjianfeng/.vscode-server/bin/d2e414d9e4239a252d1ab117bd7067f125afd80a/bin:/opt/git-repo:/usr/lib/jvm/java-8-openjdk-amd64/bin:/home/wangjianfeng/.vscode-server/bin/d2e414d9e4239a252d1ab117bd7067f125afd80a/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
  11. # 更新完后,等待gerrit释放;
  12. function WaitGerritFree()
  13. {
  14. sleep 600
  15. }
  16. # ---------------------更新41A代码---------------------;
  17. function sync_41A()
  18. {
  19. cd ${WORKSPACE}
  20. if [ $RD_41A == true ]; then
  21. if [ -d "${WORKSPACE}/dailybuildA" ]; then
  22. echo "rm -rf ${WORKSPACE}/dailybuildA begin "$(date +"%Y-%m-%d %T")
  23. rm -rf $WORKSPACE/dailybuildA
  24. echo "rm -rf ${WORKSPACE}/dailybuildA finished "$(date +"%Y-%m-%d %T")
  25. fi
  26. # 创建目录;
  27. mkdir ${WORKSPACE}/dailybuildA
  28. echo "mkdir dailybuildA finished "$(date +"%Y-%m-%d %T")
  29. else
  30. # 路径是否存在;
  31. if [ ! -d $WORKSPACE/dailybuildA ]; then
  32. RD_41A=true
  33. # 创建目录;
  34. mkdir ${WORKSPACE}/dailybuildA
  35. echo "RD_41A: "${RD_41A}
  36. fi
  37. fi
  38. cd ${WORKSPACE}/dailybuildA/
  39. echo "路径:"${WORKSPACE}/dailybuildA/
  40. if [ $RD_41A == true ]; then
  41. echo "更新开始: "`pwd`
  42. repo init -u ssh://10.126.16.60:29418/rt41A_manifest -m odin-gms.xml -b realtek/mac7p/android-11/scbc
  43. sleep 120
  44. else
  45. echo "无须重新下载: "${RD_41A}
  46. fi
  47. # 更新失败;
  48. echo "repo init dailybuildA finished "$(date +"%Y-%m-%d %T")
  49. repo sync -j8
  50. echo "repo sync dailybuildA finished "$(date +"%Y-%m-%d %T")
  51. echo -e "##############################################################################################\n\n\n"
  52. WaitGerritFree
  53. }
  54. # ---------------------更新51M代码---------------------;
  55. function sync_51M()
  56. {
  57. cd ${WORKSPACE}
  58. if [ $RD_51M == true ]; then
  59. if [ -d "${WORKSPACE}/dailybuildM" ]; then
  60. echo "rm -rf ${WORKSPACE}/dailybuildM begin "$(date +"%Y-%m-%d %T")
  61. rm -rf $WORKSPACE/dailybuildM
  62. echo "rm -rf ${WORKSPACE}/dailybuildM finished "$(date +"%Y-%m-%d %T")
  63. fi
  64. # 创建目录;
  65. mkdir ${WORKSPACE}/dailybuildM
  66. echo "mkdir dailybuildM finished "$(date +"%Y-%m-%d %T")
  67. else
  68. # 路径是否存在;
  69. if [ ! -d $WORKSPACE/dailybuildM ]; then
  70. RD_51M=true
  71. # 创建目录;
  72. mkdir ${WORKSPACE}/dailybuildM
  73. echo "RD_51M: "${RD_51M}
  74. fi
  75. fi
  76. cd ${WORKSPACE}/dailybuildM/
  77. echo "路径:"${WORKSPACE}/dailybuildM/
  78. if [ $RD_51M == true ]; then
  79. echo "更新开始: "`pwd`
  80. repo init -u ssh://10.126.16.60:29418/rt51M_manifest -m odin-gms.xml -b realtek/merlin5/android-11/scbc
  81. sleep 120
  82. else
  83. echo "无须重新下载: "${RD_51M}
  84. fi
  85. # 更新失败;
  86. echo "repo init dailybuildM finished "$(date +"%Y-%m-%d %T")
  87. repo sync -j8
  88. echo "repo sync dailybuildM finished "$(date +"%Y-%m-%d %T")
  89. echo -e "##############################################################################################\n\n\n"
  90. WaitGerritFree
  91. }
  92. # ---------------------更新4151代码---------------------;
  93. function sync_4151()
  94. {
  95. cd ${WORKSPACE}
  96. if [ $RD_4151 == true ]; then
  97. if [ -d "${WORKSPACE}/dailybuild" ]; then
  98. echo "rm -rf ${WORKSPACE}/dailybuild begin "$(date +"%Y-%m-%d %T")
  99. rm -rf $WORKSPACE/dailybuild
  100. echo "rm -rf ${WORKSPACE}/dailybuild finished "$(date +"%Y-%m-%d %T")
  101. fi
  102. # 创建目录;
  103. mkdir ${WORKSPACE}/dailybuild
  104. echo "mkdir dailybuild finished "$(date +"%Y-%m-%d %T")
  105. else
  106. # 路径是否存在;
  107. if [ ! -d $WORKSPACE/dailybuild ]; then
  108. RD_4151=true
  109. # 创建目录;
  110. mkdir ${WORKSPACE}/dailybuild
  111. echo "RD_4151: "${RD_4151}
  112. fi
  113. fi
  114. cd ${WORKSPACE}/dailybuild/
  115. echo "路径:"${WORKSPACE}/dailybuild/
  116. if [ $RD_4151 == true ]; then
  117. echo "更新开始: "`pwd`
  118. repo init -u ssh://10.126.16.60:29418/rt2841_manifest -m odin-gms.xml -b master
  119. sleep 120
  120. else
  121. echo "无须重新下载: "${RD_4151}
  122. fi
  123. # 更新失败;
  124. echo "repo init dailybuild finished "$(date +"%Y-%m-%d %T")
  125. repo sync -j8
  126. echo "repo sync dailybuild finished "$(date +"%Y-%m-%d %T")
  127. echo -e "##############################################################################################\n\n\n"
  128. WaitGerritFree
  129. }
  130. function main()
  131. {
  132. # 如果参数没有被传入参数,默认为false
  133. if [ ! $RD_41A ]; then
  134. RD_41A=false
  135. fi
  136. if [ ! $RD_51M ]; then
  137. RD_51M=false
  138. fi
  139. if [ ! $RD_4151 ]; then
  140. RD_4151=false
  141. fi
  142. echo "RD_41A=${RD_41A}, RD_51M=${RD_51M}, RD_4151=${RD_4151}"
  143. sync_41A
  144. sync_51M
  145. sync_4151
  146. echo "all sync finished"
  147. }
  148. main