#!/bin/bash

######################
#rename compile log
######################

find $1 -name "*.html" > $1/compile.log

awk -F "/" '{print "cp " $0 " "$1 FS $2 FS $3 FS $4 FS $5 FS $6 FS $7 FS $8 FS $9 FS $10 FS $11 FS"_compilelog.html"  }' $1/compile.log >  $1/plugins.rename
chmod +x $1/plugins.rename
$1/plugins.rename



echo $1
find $1 -name "*.html" -exec grep "ERROR&nbsp;in" -c {} \; -print > $1/error.plugins

awk ' /\/org/ {print $1}' $1/error.plugins > $1/error.plugins.tmp
mv $1/error.plugins.tmp  $1/error.plugins

######################################
#Get compile error plugins total count
######################################

wc -l $1/error.plugins > $1/error.plugins.count
count=`awk '{print $1}' $1/error.plugins.count`

#############################################
#found compile error, generate notify list
#############################################

if [ $count -gt 0 ] ; then
        echo "#Compile has error in $1" >> /home/adb/releng.dtp/org.eclipse.datatools.releng.builder/monitor.properties
        awk -F "/" '{print "cp " $0 " "$1 FS $2 FS $3 FS $4 FS $5 FS $6 FS $7 FS $8 FS $9 FS $10 FS $11"_compilelog.html"  }' $1/error.plugins >  $1/error.plugins.rename
        chmod +x $1/error.plugins.rename
        $1/error.plugins.rename

        #set error plugins or notification
        awk -F "/" '{print $11}' $1/error.plugins  > $1/notify.list
        awk -F "_" '{print " "$1"\\n\\"}' $1/notify.list > $1/notify.list.tmp
        mv $1/notify.list.tmp $1/notify.list

        echo "compileHasError=true" >> /home/adb/releng.dtp/org.eclipse.datatools.releng.builder/monitor.properties
        echo "error.plugin.list=\\" >> /home/adb/releng.dtp/org.eclipse.datatools.releng.builder/monitor.properties
        cat $1/notify.list >> /home/adb/releng.dtp/org.eclipse.datatools.releng.builder/monitor.properties
        echo " "  >> /home/adb/releng.dtp/org.eclipse.datatools.releng.builder/monitor.properties
else
        echo "#No compile error in $1" >> /home/adb/releng.dtp/org.eclipse.datatools.releng.builder/monitor.properties
        echo "compileHasError=false" >> /home/adb/releng.dtp/org.eclipse.datatools.releng.builder/monitor.properties
fi
