blob: a82d40879d7c68e7ea8d676280bc39f5741e180f [file] [log] [blame]
#!/bin/bash
#
# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
#
# SPDX-License-Identifier: MIT
#
gen_jenkins_trigger() {
if [ -s $CURRENT_MANIFEST ]; then
echo "======== Generate Jenkins Trigger ========"
JENKINS_TRIGGER="$OUTPUT_DIR/jenkins_trigger.txt"
rm -f $JENKINS_TRIGGER
pattern="name="
while IFS= read -r line
do
keyline=`echo "$line" | grep 'name=.* path='`
unset repo_name
for keyword in $keyline; do
[[ $keyword == $pattern* ]] && repo_name=`echo ${keyword#*${pattern}} | sed 's/\"//g'`
done
if [ -n "$repo_name" ]; then
echo "p=$repo_name" >> $JENKINS_TRIGGER
echo "b=projects/amlogic-dev" >> $JENKINS_TRIGGER
fi
done < $CURRENT_MANIFEST
echo -e "======== Done ========\n"
fi
}
[ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output
[ ! -d $OUTPUT_DIR ] && mkdir -p $OUTPUT_DIR
[ -z "$CURRENT_MANIFEST" ] && CURRENT_MANIFEST="$OUTPUT_DIR/curr_manifest.xml"
[ ! -f $CURRENT_MANIFEST ] && repo manifest -r -o $CURRENT_MANIFEST
[ -z "$LAST_MANIFEST" ] && LAST_MANIFEST="$OUTPUT_DIR/last_manifest.xml"
[ -z "$DIFF_MANIFEST" ] && DIFF_MANIFEST="$OUTPUT_DIR/diff_manifest.xml"
if [ ! -f $LAST_MANIFEST ] || [ -f $LAST_BUILD_FAILURE ]; then
gen_jenkins_trigger
else
comm -3 <(sort $LAST_MANIFEST) <(sort $CURRENT_MANIFEST) > $DIFF_MANIFEST
[ -s $DIFF_MANIFEST ] && gen_jenkins_trigger
fi