#!/bin/bash
-# @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
+# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2017 The Linux Foundation and others.
#
# This script parses the console log to discover which project has caused a
# build failure and notify the project as appropriate.
+echo "---> notify-build-failure.sh"
+
NEWLINE=$'\n'
RELEASE_EMAIL="release@lists.opendaylight.org"
ARCHIVES_DIR="$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER"
# check for project format
if [[ ${REACTOR_INFO} =~ .*::*.*::*. ]]; then
# extract project and artifactId from full format
- ODL=$(echo "${REACTOR_INFO}" | awk -F'::' '{ gsub(/^[ \t]+|[ \t]+$/, "", $1); print $1 }')
- PROJECT_=$(echo "${REACTOR_INFO}" | awk -F'::' '{ gsub(/^[ \t]+|[ \t]+$/, "", $2); print $2 }')
- NAME=$(echo "${REACTOR_INFO}" | awk -F'::' '{ gsub(/^[ \t]+|[ \t]+$/, "", $3); print $3 }')
+ # Ex: REACTOR_INFO="ODL::sfc::odl-sfc-pot-netconf-renderer 072 " is broken down into
+ # NAME="ODL", PROJECT_="sfc" and NAME="odl-sfc-pot-netconf-renderer"
+ ODL=$(echo "${REACTOR_INFO}" | awk -F'::' '{ gsub(/^[ \t]+|[ \t]+[0-9]+[ \t]+$|[ \t]+$/, "", $1); print $1}')
+ PROJECT_=$(echo "${REACTOR_INFO}" | awk -F'::' '{ gsub(/^[ \t]+|[ \t]+[0-9]+[ \t]+$|[ \t]+$/, "", $2); print $2}')
+ NAME=$(echo "${REACTOR_INFO}" | awk -F'::' '{ gsub(/^[ \t]+|[ \t]+[0-9]+[ \t]+$|[ \t]+$/, "", $3); print $3}')
else
# set project from partial format
ODL=""
--else -o ""\
"$p" 2>/dev/null)
if [ ! -z "${GROUP}" ]; then
+ # shellcheck disable=SC2207
grouplist+=($(echo "${GROUP}" | awk -F'.' '{ print $3 }'))
fi
done < <(find . -name "pom.xml")
elif [ "${#grouplist[@]}" -gt 1 ]; then
GROUPLIST="NOTE: The artifactId: $ARTIFACT_ID matches multiple groups: ${grouplist[*]}"
else
- echo "Failed to determine project.groupId using xpaths"
+ echo "Unable to determine project.groupId using xpaths"
fi
else
- echo "Failed to determine ARTIFACT_ID"
- exit 1
+ echo "Unable to determine failed ARTIFACT_ID. Build likely successful or bug in this script."
+ exit 0
fi
# Construct email subject & body