#!/bin/bash repo_url='https\:\/\/github\.com\/openframeworks\/openFrameworks\/blob\/master\/' EMAILMESSAGE="/tmp/emailmessage.txt" #EMAIL="of-dev@dev.openframeworks.cc" EMAIL="arturo@openframeworks.cc" SUBJECT="errors building OF" FROM="ofadmin@ci.openframeworks.cc" errors=0 function generateLog { error=0 grep error ofbuild.log > /dev/null if [ $? -eq 0 ]; then echo '' >> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html grep error ofbuild.log | sed "s/^\(${4}\(.*\)\:\([0-9]*\)\:.*$\)//g" | sed "s/^\(${2}\(.*\)\:\([0-9]*\)\: error\:.*$\)/\\\1\<\/a\>\<\/p\>/g" >> /var/www/ofbuild.html grep error ofbuild.log | sed "s/^\(${2}\(.*\)\:\([0-9]*\)\:.*$\)//g" | sed "s/^\(${4}\(.*\)\:\([0-9]*\)\: error\:.*$\)/\\\1\<\/a\>\<\/p\>/g" >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html echo $6 >> $EMAILMESSAGE grep error ofbuild.log | sed "s/^\(${4}\(.*\)\:\([0-9]*\)\:.*$\)//g" | sed "s/^\(${2}\(.*\)\:\([0-9]*\)\: error\:.*$\)/\n \1\n ${repo_url}${3}\2#L\3/g" >> $EMAILMESSAGE grep error ofbuild.log | sed "s/^\(${2}\(.*\)\:\([0-9]*\)\:.*$\)//g" | sed "s/^\(${4}\(.*\)\:\([0-9]*\)\: error\:.*$\)/\n \1\n ${repo_url}${5}\2#L\3/g" >> $EMAILMESSAGE echo >> $EMAILMESSAGE echo >> $EMAILMESSAGE error=1 errors=1 fi warning=0 grep warning ofbuild.log > /dev/null if [ $? -eq 0 ]; then echo '' >> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html grep warning ofbuild.log | sed "s/^\(${4}\(.*\)\:\([0-9]*\)\:.*$\)//g" | sed "s/^\(${2}\(.*\)\:\([0-9]*\)\: warning\:.*$\)/\\\1\<\/a\>\<\/p\>/g" >> /var/www/ofbuild.html grep warning ofbuild.log | sed "s/^\(${2}\(.*\)\:\([0-9]*\)\:.*$\)//g" | sed "s/^\(${4}\(.*\)\:\([0-9]*\)\: warning\:.*$\)/\\\1\<\/a\>\<\/p\>/g" >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html warning=1 fi if [ $error -eq 0 ] && [ $warning -eq 0 ]; then echo '' >> /var/www/ofbuild.html fi echo '

' >> /var/www/ofbuild.html } echo "To: ${EMAIL}" >> $EMAILMESSAGE echo "Subject: ${SUBJECT}" >> $EMAILMESSAGE echo "The following errors were found while compiling the master branch of openFrameworks" >> $EMAILMESSAGE echo "." >> $EMAILMESSAGE echo >> $EMAILMESSAGE cd $(cat ~/.ofprojectgenerator/config) git pull upstreamhttps master make -C libs/openFrameworksCompiled/project/linux64 clean echo ''> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html cat scripts/dev/head.template >> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html cat scripts/dev/header_development.template >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html cat scripts/dev/ci.template >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html make -C libs/openFrameworksCompiled/project/linux64 2> ofbuild.log echo '

OF core

' >> /var/www/ofbuild.html generateLog OF '\.\.\/\.\.\/\.\.\/' 'libs\/' 'src' 'src' 'OF core' for category in $(ls * -d | grep -v ios | grep -v android); do for example in *; do rm ${category}/${example}/Makefile rm ${category}/${example}/config.make done done projectGenerator --allexamples cd $(cat ~/.ofprojectgenerator/config) cd examples for category in $(ls * -d | grep -v ios | grep -v android); do cd $category echo '

'${category}'


' >> /var/www/ofbuild.html for example in *; do cd $example make clean > /dev/null make 2> ofbuild.log echo '

'${example}'

' >> /var/www/ofbuild.html generateLog ${example} '\.\.\/\.\.\/\.\.\/' '' 'src' examples'\/'${category}'\/'${example}'\/'src ${category}'/'${example} cd .. done cd .. done echo '
' >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html echo '
' >> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html echo '' >> /var/www/ofbuild.html if [ $errors -eq 1 ]; then /usr/sbin/sendmail ${EMAIL} -f${FROM} < $EMAILMESSAGE fi rm $EMAILMESSAGE