diff --git a/.gitignore b/.gitignore index 36564764..1e8378f1 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,7 @@ .clang_complete .ycm_extra_conf.py .ycm_extra_conf.pyc +coati.coatiproject compile_commands.json Makefile /__pycache__/ diff --git a/setup/Linux/deinstall.sh b/setup/Linux/deinstall.sh index de2e460e..8bc61618 100755 --- a/setup/Linux/deinstall.sh +++ b/setup/Linux/deinstall.sh @@ -9,7 +9,7 @@ case ${ans:=y} in [yY]*) ;; *) exit ;; esac echo "Run this script as root" -rm /usr/bin/Coati +rm /usr/bin/coati rm /usr/share/mime/packages/coati-mime.xml rm /usr/share/applications/coati.desktop rm /usr/share/icons/coati.png diff --git a/setup/Linux/install.sh b/setup/Linux/install.sh index ff7ec2a7..3dfa1518 100755 --- a/setup/Linux/install.sh +++ b/setup/Linux/install.sh @@ -1,6 +1,5 @@ - -MY_PATH=`dirname "$0"` -MY_PATH=../$MY_PATH +SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" +MY_PATH=$SCRIPT_DIR/.. cat ${MY_PATH}/EULA.txt echo "Agree to the EULA" diff --git a/setup/git/git_pre_commit_hook.sh b/setup/git/git_pre_commit_hook.sh index 505b5f5e..57a429b9 100755 --- a/setup/git/git_pre_commit_hook.sh +++ b/setup/git/git_pre_commit_hook.sh @@ -3,9 +3,84 @@ ABORT="\033[31mAbort:\033[00m" SUCCESS="\033[32mSuccess:\033[00m" INFO="\033[33mInfo:\033[00m" +FAIL="\033[31mFail:\033[00m" +PASS="\033[32mPass:\033[00m" BRANCH_NAME=$(git symbolic-ref -q --short HEAD) +ROOTDIR=$(pwd) + +# Determine current platform +PLATFORM='unknown' +if [ "$(uname)" == "Darwin" ]; then + PLATFORM='MacOS' +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + PLATFORM='Linux' +elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then + PLATFORM='Windows' +fi + +function build { + echo -e $INFO Building $1 \($2\) + cmake --build build/$2 --target $1 > /dev/null + #output to commandline for debugging + #cmake --build build/$2 --target $1 + if [ $? -eq 0 ] + then + echo -e $PASS Building $1 \($2\) passed + else + echo -e $FAIL Building $1 \($2\) failed + exit 1 + fi +} + +function build_type { + echo -e $INFO Starting with buildtype: $1 + if [ "$PLATFORM" == "Windows" ] + then + echo -e $INFO Builing the Coati VS Solution + cmake --build build --config $1 > /dev/null + if [ $? -ne 0 ] + then + echo -e $FAIL At least one build or test failed, no push to $branch + exit 1 + fi + else + build Coati $1 + build Coati_trial $1 + build Coati_test $1 + build Coati_license_generator $1 + run_tests $1 + fi +} + +function run_tests { + echo -e $INFO Run $1 Tests + + cd bin/test + echo $1/Coati_test + $1/Coati_test + if [ $? -eq 0 ] + then + echo -e $PASS $1 Tests passed + else + echo -e $FAIL $1 Tests failed + exit 1 + fi + cd $ROOTDIR +} + +#testing before commiting to a publish branch +if [[ $BRANCH_NAME =~ ^_publish_.*_$ ]] +then + echo Try to publish + echo Run builds and test + echo This will take a while + build_type Release + echo -e $PASS All builds and tests passed + exit 0 +fi + if [ -z $BRANCH_NAME ] then echo -e $ABORT "You are not on any branch." diff --git a/setup/git/git_pre_push_hook.sh b/setup/git/git_pre_push_hook.sh index c919054a..b5b8baaa 100755 --- a/setup/git/git_pre_push_hook.sh +++ b/setup/git/git_pre_push_hook.sh @@ -1,82 +1,11 @@ #!/bin/bash -# This hook enforces to run builds and test when pushed to the $protected_branch - -proteced_branches=("forced_tests" "master") - -#proteced_branch='master' current_branch=$(git symbolic-ref -q --short HEAD) -remote="$1" -url="$2" - FAIL="\033[31mFail:\033[00m" PASS="\033[32mPass:\033[00m" INFO="\033[33mInfo:\033[00m" -ROOTDIR=$(pwd) - -# Determine current platform -PLATFORM='unknown' -if [ "$(uname)" == "Darwin" ]; then - PLATFORM='MacOS' -elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then - PLATFORM='Linux' -elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then - PLATFORM='Windows' -fi - -function build { - echo -e $INFO Building $1 \($2\) - cmake --build build/$2 --target $1 > /dev/null - #output to commandline for debugging - #cmake --build build/$2 --target $1 - if [ $? -eq 0 ] - then - echo -e $PASS Building $1 \($2\) passed - else - echo -e $FAIL Building $1 \($2\) failed - exit 1 - fi -} - -function build_type { - echo -e $INFO Starting with buildtype: $1 - if [ "$PLATFORM" == "Windows" ] - then - echo -e $INFO Builing the Coati VS Solution - cmake --build build --config $1 > /dev/null - if [ $? -ne 0 ] - then - echo -e $FAIL At least one build or test failed, no push to $branch - exit 1 - fi - else - build Coati $1 - build Coati_trial $1 - build Coati_test $1 - build Coati_license_generator $1 - run_tests $1 - fi -} - -function run_tests { - echo -e $INFO Run $1 Tests - - cd bin/test - echo $1/Coati_test - $1/Coati_test - if [ $? -eq 0 ] - then - echo -e $PASS $1 Tests passed - else - echo -e $FAIL $1 Tests failed - exit 1 - fi - cd $ROOTDIR -} - - #handle delete remote branches while read local_ref lorem_sha remote_ref remote_sha do @@ -84,7 +13,7 @@ do then if [ "$remote_ref" == "refs/heads/master" ] then - echo "seriously dont delete the master" + echo -e $FAIL seriously dont delete the master exit 1 else echo "delete remote branch $remote_ref" @@ -93,28 +22,5 @@ do fi done -# handle push --tags -while read -d $'\0' arg ; do - if [[ "$arg" == '--tags' ]] ; then - echo "pushing tags" - exit 0 - fi -done < /proc/$PPID/cmdline - - -for branch in "${proteced_branches[@]}" -do - if [ $current_branch == $branch ] - then - echo Try to push to $branch - echo Run builds and test - echo This will take a while -# build_type Debug - build_type Release - echo -e $PASS All builds and tests passed pushing to $branch - exit 0 - fi -done - exit 0