[Libreoffice-commits] dev-tools.git: cppcheck/cppcheck-report.sh
Maarten Hoes
hoes.maarten at gmail.com
Sat Jan 24 12:42:48 PST 2015
cppcheck/cppcheck-report.sh | 75 ++++++++++++++++++++++++++------------------
1 file changed, 46 insertions(+), 29 deletions(-)
New commits:
commit 09c674747d7b8afff7963577787f01fc16fdd27b
Author: Maarten Hoes <hoes.maarten at gmail.com>
Date: Sat Jan 24 14:17:02 2015 +0100
Replace usage of 'mailx' with 'sendEmail'.
Change-Id: Ica557bf45de09688eaf5029ff6a883f994384ce7
Reviewed-on: https://gerrit.libreoffice.org/14152
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/cppcheck/cppcheck-report.sh b/cppcheck/cppcheck-report.sh
index f018770..05efb95 100755
--- a/cppcheck/cppcheck-report.sh
+++ b/cppcheck/cppcheck-report.sh
@@ -26,7 +26,7 @@ die()
[ "$DEBUG" ] && set -xv
MESSAGE="$@"
- echo "Error:" "${MESSAGE?}" >&2
+ echo "Error: ${MESSAGE?}" >&2
mail_failure "${MESSAGE?}"
exit -1;
}
@@ -35,7 +35,7 @@ run_cppcheck()
{
[ "$DEBUG" ] && set -xv
- pushd "${SRC_DIR?}" > /dev/null || die "Failed to change directory to ${SRC_DIR?}"
+ pushd "${LO_SRC_DIR?}" > /dev/null || die "Failed to change directory to ${LO_SRC_DIR?}"
echo "unusedFunction" > "${DATA_DIR?}"/cppcheck_supp.txt
@@ -45,7 +45,7 @@ run_cppcheck()
"${CPPCHECK_DIR?}"/htmlreport/cppcheck-htmlreport --file="${DATA_DIR?}"/err.xml --title="LibreOffice ${COMMIT_DATE_LO?} ${COMMIT_TIME_LO?} ${COMMIT_SHA1_LO?}, CppCheck ${COMMIT_DATE_CPPCHECK?} ${COMMIT_TIME_CPPCHECK?} ${COMMIT_SHA1_CPPCHECK?}" --report-dir="${HTML_DIR?}" --source-dir=. \
|| die "Failed to run cppcheck-htmlreport."
- popd > /dev/null || die "Failed to change directory out of ${SRC_DIR?}"
+ popd > /dev/null || die "Failed to change directory out of ${LO_SRC_DIR?}"
}
get_cppcheck_src()
@@ -69,15 +69,15 @@ get_lo_src()
{
[ "$DEBUG" ] && set -xv
- if [ ! -d "${SRC_DIR?}" ]; then
- git clone "${LO_GIT_URL?}" "${SRC_DIR?}" || die "Failed to git clone ${LO_GIT_URL?} in ${SRC_DIR?}"
+ if [ ! -d "${LO_SRC_DIR?}" ]; then
+ git clone "${LO_GIT_URL?}" "${LO_SRC_DIR?}" || die "Failed to git clone ${LO_GIT_URL?} in ${LO_SRC_DIR?}"
else
- if [ ! -d "${SRC_DIR?}"/.git ] ; then
- die "${SRC_DIR?} is not a git repository"
+ if [ ! -d "${LO_SRC_DIR?}"/.git ] ; then
+ die "${LO_SRC_DIR?} is not a git repository"
else
- pushd "${SRC_DIR?}" || die "Failed to change directory to ${SRC_DIR?}"
- git pull || die "Failed to update git repository ${SRC_DIR?}"
- popd > /dev/null || die "Failed to change directory out of ${SRC_DIR?}"
+ pushd "${LO_SRC_DIR?}" || die "Failed to change directory to ${LO_SRC_DIR?}"
+ git pull || die "Failed to update git repository ${LO_SRC_DIR?}"
+ popd > /dev/null || die "Failed to change directory out of ${LO_SRC_DIR?}"
fi
fi
}
@@ -95,13 +95,13 @@ get_commit_lo()
{
[ "$DEBUG" ] && set -xv
- pushd "${SRC_DIR?}" > /dev/null || die "Failed to change directory to ${SRC_DIR?}"
+ pushd "${LO_SRC_DIR?}" > /dev/null || die "Failed to change directory to ${LO_SRC_DIR?}"
COMMIT_SHA1_LO=$(git log --date=iso | head -3 | awk '/^commit/ {print $2}')
COMMIT_DATE_LO=$(git log --date=iso | head -3 | awk '/^Date/ {print $2}')
COMMIT_TIME_LO=$(git log --date=iso | head -3 | awk '/^Date/ {print $3}')
- popd > /dev/null || die "Failed to change directory out of ${SRC_DIR?}"
+ popd > /dev/null || die "Failed to change directory out of ${LO_SRC_DIR?}"
}
get_commit_cppcheck()
@@ -130,10 +130,7 @@ mail_success()
{
[ "$DEBUG" ] && set -xv
- which mailx >/dev/null 2>&1
- if [ "$?" = "0" ] ; then
-
-mailx -s "CppCheck Report update" "${MAILTO?}" <<EOF
+cat > "$EMAIL_BODY" <<EOF
A new cppcheck report is available at : http://dev-builds.libreoffice.org/cppcheck_reports/master/
@@ -141,7 +138,9 @@ This job was run at `date +%Y-%d-%m_%H:%M:%S` with user `whoami` at host `cat /e
EOF
- fi
+
+ "$SENDEMAIL" -o message-file="$EMAIL_BODY" -f "$MAILFROM" -t "$MAILTO" -o tls=yes -s smtp.gmail.com:587 -xu cppcheck.libreoffice at gmail.com -xp "$SMTP_PWD" -u "CppCheck Report Update"
+
}
mail_failure()
@@ -155,11 +154,7 @@ mail_failure()
gzip ~/cppcheck-report.log
fi
- which mailx >/dev/null 2>&1
- if [ "$?" = "0" ] ; then
-
-mailx -s "CppCheck Report: Failure" "${MAILTO?}" <<EOF
-`uuencode /home/buildslave/cppcheck-report.log.gz /home/buildslave/cppcheck-report.log.gz`
+cat > "$EMAIL_BODY" <<EOF
The cppcheck job failed with message: "${MESSAGE?}"
@@ -167,7 +162,8 @@ This job was run at `date +%Y-%d-%m_%H:%M:%S` with user `whoami` at host `cat /e
EOF
- fi
+ "$SENDEMAIL" -o message-file="$EMAIL_BODY" -f "$MAILFROM" -t "$MAILTO" -o tls=yes -s smtp.gmail.com:587 -xu cppcheck.libreoffice at gmail.com -xp "$SMTP_PWD" -u "CppCheck Report Failure" -a /home/buildslave/cppcheck-report.log.gz
+
}
usage()
@@ -192,21 +188,36 @@ if [ "$#" = "0" ] ; then
usage
fi
-SRC_DIR=
-HTML_DIR=
-CPPCHECK_DIR=
-DATA_DIR=/tmp
+# Set some sane defaults here
+LO_SRC_DIR=~/source/libo-core
+HTML_DIR=~/tmp/www
+CPPCHECK_DIR=~/source/libo-core
+DATA_DIR=~/tmp
CPPCHECK_GIT_URL="git://github.com/danmar/cppcheck.git"
LO_GIT_URL="git://anongit.freedesktop.org/libreoffice/core.git"
UPLOAD_DIR=/srv/www/dev-builds.libreoffice.org/cppcheck_reports/master
MAILTO=libreoffice at lists.freedesktop.org
-MY_NAME=`dirname $0`
+MAILFROM=cppcheck.libreoffice at gmail.com
+MY_NAME=`readlink -f $0`
MESSAGE=
+SENDEMAIL=~/source/buildbot/bin/sendEmail
+EMAIL_BODY=~/tmp/email_body
+# Dont forget to set SMTP_PWD in your ~/.cppcheckrc !
+SMTP_PWD=
+
+if [ -f ~/.cppcheckrc ]; then
+ # override all default vars with entries in ~/.cppcheckrc
+ source ~/.cppcheckrc
+else
+ die "Failed to locate ~/.cppcheckrc"
+fi
+
+# override cppcheckrc and defaults with commandline settings
while getopts ":s:w:c:" opt ; do
case "$opt" in
s)
- SRC_DIR="${OPTARG?}"
+ LO_SRC_DIR="${OPTARG?}"
;;
w)
HTML_DIR="${OPTARG?}"
@@ -221,6 +232,12 @@ while getopts ":s:w:c:" opt ; do
done
+if [ ! -f "$SENDEMAIL" ] ; then
+ echo "Error: sendEmail command $SENDEMAIL not found." >&2
+ exit -1;
+fi
+
+
get_lo_src
get_cppcheck_src
get_commit_cppcheck
More information about the Libreoffice-commits
mailing list