blob: 133f23097a7be9578017ccb8b92f36fb498a0068 [file] [log] [blame]
Kelvin Zhang6461d482022-09-09 15:49:31 +08001#!/bin/bash
2#
3# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
4#
5# SPDX-License-Identifier: MIT
6#
7
Kelvin Zhang6461d482022-09-09 15:49:31 +08008gen_jenkins_trigger() {
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +08009 if [ -s $MANIFEST ]; then
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080010 echo "======== Generate Jenkins Trigger ========"
Kelvin Zhang6461d482022-09-09 15:49:31 +080011
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080012 [ -z "$JENKINS_TRIGGER" ] && JENKINS_TRIGGER="$OUTPUT_DIR/jenkins_trigger.txt"
Kelvin Zhang6461d482022-09-09 15:49:31 +080013 rm -f $JENKINS_TRIGGER
14
15 pattern="name="
16 while IFS= read -r line
17 do
18 keyline=`echo "$line" | grep 'name=.* path='`
19 unset repo_name
20 for keyword in $keyline; do
21 [[ $keyword == $pattern* ]] && repo_name=`echo ${keyword#*${pattern}} | sed 's/\"//g'`
22 done
23
24 if [ -n "$repo_name" ]; then
25 echo "p=$repo_name" >> $JENKINS_TRIGGER
26 echo "b=projects/amlogic-dev" >> $JENKINS_TRIGGER
27 fi
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080028 done < $MANIFEST
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080029
30 echo -e "======== Done ========\n"
Kelvin Zhang6461d482022-09-09 15:49:31 +080031 fi
Kelvin Zhang6461d482022-09-09 15:49:31 +080032}
33
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080034[ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output
35[ ! -d $OUTPUT_DIR ] && mkdir -p $OUTPUT_DIR
36
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080037[ -z "$MANIFEST" ] && MANIFEST="$OUTPUT_DIR/manifest.xml"
38[ ! -f $MANIFEST ] && repo manifest -r -o $MANIFEST
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080039
40[ -z "$LAST_MANIFEST" ] && LAST_MANIFEST="$OUTPUT_DIR/last_manifest.xml"
41
42[ -z "$DIFF_MANIFEST" ] && DIFF_MANIFEST="$OUTPUT_DIR/diff_manifest.xml"
43
Kelvin Zhangff0a2b32022-11-08 14:17:14 +080044if [ ! -f $LAST_MANIFEST ] || [ -f $LAST_BUILD_FAILURE ]; then
Kelvin Zhang6461d482022-09-09 15:49:31 +080045 gen_jenkins_trigger
Kelvin Zhang7052f1c2022-09-20 11:11:41 +080046else
Kelvin Zhangfdf8ff02023-04-21 21:23:30 +080047 comm -3 <(sort $LAST_MANIFEST) <(sort $MANIFEST) > $DIFF_MANIFEST
Kelvin Zhang6461d482022-09-09 15:49:31 +080048 [ -s $DIFF_MANIFEST ] && gen_jenkins_trigger
49fi