code-build.sh 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #!/bin/bash
  2. cd ~
  3. WORKSPACE=$(pwd)
  4. echo ${WORKSPACE}
  5. BuildType=$1
  6. # 换服务器编译时,这里的PATH要以新服务器的环境变量重新配置
  7. 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
  8. # 完成一次编译后,等待服务器释放;
  9. function WaitBuildFree()
  10. {
  11. sleep 300
  12. }
  13. # ---------------------编译41A代码---------------------;
  14. function build_41A()
  15. {
  16. cd ${WORKSPACE}/dailybuildA/
  17. echo "路径:"${WORKSPACE}/dailybuildA/
  18. # 编译2841A主干代码;
  19. echo "Start: Daily build for RT2841A master branch "$(date +"%Y-%m-%d %T")
  20. #此代码不能使用以下命令,否则会报错;
  21. #repo forall -c "pwd && git clean -xfd && git checkout -- ."
  22. rm -rf $WORKSPACE/dailybuildA/kernel/android/R/out
  23. #./kernel/android/R/device/tv051/R3/scbc_build.sh true
  24. ./scbc_build.sh true
  25. echo "End: Daily build for RT2841A master branch "$(date +"%Y-%m-%d %T")
  26. echo -e "##############################################################################################\n\n\n"
  27. WaitBuildFree
  28. }
  29. # ---------------------编译51M代码---------------------;
  30. function build_51M()
  31. {
  32. cd ${WORKSPACE}/dailybuildM/
  33. echo "路径:"${WORKSPACE}/dailybuildM/
  34. # 编译2851M主干代码;
  35. echo "Start: Daily build for RT2841M master branch "$(date +"%Y-%m-%d %T")
  36. #此代码不能使用以下命令,否则会报错;
  37. #repo forall -c "pwd && git clean -xfd && git checkout -- ."
  38. rm -rf $WORKSPACE/dailybuildM/kernel/android/R/out
  39. #./kernel/android/R/device/tv051/R3/scbc_build.sh true
  40. ./scbc_build_51m.sh true
  41. echo "End: Daily build for RT2841M master branch "$(date +"%Y-%m-%d %T")
  42. echo -e "##############################################################################################\n\n\n"
  43. WaitBuildFree
  44. }
  45. # ---------------------编译4151代码---------------------;
  46. function build_4151()
  47. {
  48. # 编译2841主干代码;
  49. echo "Start: Daily build for RT2841 master branch "$(date +"%Y-%m-%d %T")
  50. cd $WORKSPACE/dailybuild/
  51. repo forall -c "pwd && git clean -xfd && git checkout -- ."
  52. rm -rf $WORKSPACE/dailybuild/kernel/android/pie/out
  53. ./SCBC_build.sh true
  54. echo "End: Daily build for RT2841 master branch "$(date +"%Y-%m-%d %T")
  55. var_md=$(date '+%m%d')
  56. if [ ! -d /home/exchange/Dailybuild/DailyBuild_RT2841_$var_md ]; then
  57. # 判断是否有编译成功的文件夹存在(100服务器脚本copy失败);
  58. if [ -d $WORKSPACE/dailybuild/DailyBuild_RT2841_$var_md ]; then
  59. echo "开始复制rt2841"
  60. cp -r $WORKSPACE/dailybuild/DailyBuild_RT2841_$var_md /home/exchange/Dailybuild/
  61. else
  62. echo "没有生成rt2841编译的img"
  63. fi
  64. fi
  65. echo -e "##############################################################################################\n\n\n"
  66. WaitBuildFree
  67. # 编译2851主干代码;
  68. echo "Start: Daily build for RT2851 master branch "$(date +"%Y-%m-%d %T")
  69. cd $WORKSPACE/dailybuild/
  70. repo forall -c "pwd && git clean -xfd && git checkout -- ."
  71. rm -rf $WORKSPACE/dailybuild/kernel/android/pie/out
  72. ./SCBC_build_4K_2851.sh true
  73. echo "End: Daily build for RT2851 master branch "$(date +"%Y-%m-%d %T")
  74. if [ ! -d /home/exchange/Dailybuild/DailyBuild_RT2851_$var_md ]; then
  75. # 判断是否有编译成功的文件夹存在(100服务器脚本copy失败);
  76. if [ -d $WORKSPACE/dailybuild/DailyBuild_RT2851_$var_md ]; then
  77. echo "开始复制rt2851"
  78. cp -r $WORKSPACE/dailybuild/DailyBuild_RT2851_$var_md /home/exchange/Dailybuild/
  79. else
  80. echo "没有生成rt2851编译的img"
  81. fi
  82. fi
  83. echo -e "##############################################################################################\n\n\n"
  84. WaitBuildFree
  85. }
  86. function main()
  87. {
  88. if [ ! $BuildType ]; then
  89. BuildType=2
  90. fi
  91. if [ $BuildType == 1 ]; then
  92. build_41A
  93. elif [ $BuildType == 2 ]; then
  94. build_51M
  95. elif [ $BuildType == 3 ]; then
  96. build_4151
  97. fi
  98. echo "Code build finished"
  99. }
  100. main