#!/bin/bash SCRIPT_PATH=$(dirname $(realpath "$0")) # getting the old and new incremented build numbers from the build file. BUILD_SCRIPT=$SCRIPT_PATH/build_number.sh IFS=" " read -r BUILD_NUMBER_OLD BUILD_NUMBER_CUR BUILD_NUMBER_NXT <<< $($BUILD_SCRIPT) CURRNET_DATE=$(date +%Y_%m_%d) CURRENT_GUSER="Behrouz NematiPour" CURRENT_GEMAIL="bNematiPour@diality.com" APPICATION_SOURCE=$HOME/Projects/application DIALIN_SOURCE=$HOME/Projects/dialin/dialin SIMULATOR_SOURCE=$HOME/Projects/simulator DENALI_SOURCE=$HOME/Projects/tmp/build/denali-Desktop_Qt_5_12_5_GCC_64bit-Release/denali # set the userr to the default, there were some scripts which were changing the git user. git config --global --replace-all user.name "$CURRENT_GUSER" git config --global --replace-all user.email "$CURRENT_GEMAIL" function zero_pad_2() { echo $(printf "%.2d" $1) } function current_branch() { repo_folder="$1" if [[ -z $repo_folder ]]; then echo "Not a repository." exit 1 fi echo $(git -C "$repo_folder" symbolic-ref --short HEAD) } function confirm() { repo_name="$1" repo_folder="$2" echo "current $1 branch is [" $(current_branch $repo_folder) "]" } function patch_sources() { PASS=$(pwgen -ABcsnv1 16) build_number="Build-"$(zero_pad_2 $BUILD_NUMBER_CUR) cd DEV_TEST_DIR=$HOME/Diality_Dev_Test_$CURRNET_DATE"_"$build_number rsync -Lr --exclude=".*" --exclude="*.log" --exclude="*.err" --exclude="*.swp" $APPICATION_SOURCE $DEV_TEST_DIR cd $DEV_TEST_DIR zip --password=$PASS -r $DEV_TEST_DIR.zip application $HOME/Projects/application/cr_objectives.sh "LTTS_"$(zero_pad_2 $BUILD_NUMBER_OLD) > $DEV_TEST_DIR.log #TODO: Add taging the source echo $PASS > $DEV_TEST_DIR.pas cd rm -frd $DEV_TEST_DIR } function update_outsource_dialin() { DIALIN_OUTSOURCE=$HOME/Projects/outsource/dialin/ COMMIT_MESSAGE=$CURRNET_DATE if [[ -n "$1" ]]; then COMMIT_MESSAGE="$1" fi echo " ---------- Updating the dialin outsource folder" rsync -Lr --exclude=".*" --exclude="*.log" --exclude="*.err" --exclude="*.swp" --exclude="__pychache__" $DIALIN_SOURCE/* $DIALIN_OUTSOURCE echo " ---------- push to the server [$COMMIT_MESSAGE]" cd $DIALIN_OUTSOURCE git add . git commit -m "$COMMIT_MESSAGE" git push -u origin master } function update_outsource_simulator() { SIMULATOR_OUTSOURCE=$HOME/Projects/outsource/simulator/ COMMIT_MESSAGE=$CURRNET_DATE if [[ -n "$1" ]]; then COMMIT_MESSAGE="$1" fi echo " ---------- Updating the simulator outsource folder" rsync -Lr --exclude=".*" --exclude="*.log" --exclude="*.err" --exclude="*.swp" --exclude="__pychache__" $SIMULATOR_SOURCE/* $SIMULATOR_OUTSOURCE echo " ---------- push to the server [$COMMIT_MESSAGE]" cd $SIMULATOR_OUTSOURCE git add . git commit -m "$COMMIT_MESSAGE" git push -u origin master } function update_outsource_denali() { DENALI_OUTSOURCE=$HOME/Projects/outsource/denali/ COMMIT_MESSAGE=$CURRNET_DATE if [[ -n "$1" ]]; then COMMIT_MESSAGE="$1" fi echo " ---------- Updating the denali outsource folder" cp $DENALI_SOURCE $DENALI_OUTSOURCE echo " ---------- push to the server [$COMMIT_MESSAGE]" cd $DENALI_OUTSOURCE git add . git commit -m "$COMMIT_MESSAGE" git push -u origin master } confirm "[ Application ]" $APPICATION_SOURCE confirm "[ Dialin ]" $DIALIN_SOURCE confirm "[ Simulator ]" $SIMULATOR_SOURCE echo "current [ DENALI ] version is [" $($DENALI_SOURCE -v) "]" read -p "Continue?(CTRL+C to cancel)" if [[ "$1" == "--reset" ]]; then $BUILD_SCRIPT -- $2 fi if [[ "$1" == "--source" ]]; then patch_sources fi if [[ "$1" == "--dialin" ]]; then update_outsource_dialin "$2" fi if [[ "$1" == "--simulator" ]]; then update_outsource_simulator "$2" fi if [[ "$1" == "--denali" ]]; then update_outsource_denali "$2" fi if [[ "$1" == "" ]]; then echo "Usage:" echo "./run.vend.patch