#!/bin/bash

# Copyright: 2016-2021 www.corvin.cn
# Description: 用来更新panda代码,保持代码与服务器上最新代码同步.
#  首先将本地所做修改给还原,然后更新代码后,直接编译所有代码.
# Author: corvin
# History:
#  20200717:init this code.
#  20200724:在命令执行完后增加判断命令执行是否成功.
#  20210518:在更新服务器代码前,先将本地修改撤销.

#定义各种终端中字符使用的颜色
green="\e[32;1m"
red="\e[31m"
normal="\e[0m"

echo -e "\n"
echo -e "${green}>>> 1: 开始从服务器更新代码${normal}"
git reset --hard origin/master
git pull origin master
if [ $? -eq 0 ];then
    echo -e "${green}更新代码完成,准备编译代码...${normal}"
else
    echo -e "${red}从服务器更新代码时,发生错误,检查网络连接${normal}"
    exit -1
fi
echo -e "\n"

sleep 3
echo -e "${green}>>> 2: 开始编译代码${normal}"
catkin_make
if [ $? -eq 0 ];then
    echo -e "${green}编译代码完成,现在可以启动代码...${normal}"
else
    echo -e "${red}编译代码发生错误,请检查代码${normal}"
    exit -2
fi
echo -e "\n"

source devel/setup.bash

echo -e "${green}>>> 3: 输入以下命令启动小车${normal}"
echo -e "\n"
echo -e "${green}roslaunch robot_bringup robot_bringup.launch${normal}"
echo -e "\n"

exit 0