blob: 93a4062642936dd8e6b9cdc679ab7957b5fae8bd [file] [log] [blame]
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +01001#!/bin/bash
Kevin Moorebb4cf0b2021-11-23 18:25:49 -08002# Created with package:mono_repo v5.0.5
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +01003
4# Support built in commands on windows out of the box.
dependabot[bot]ea28b9c2021-06-08 16:32:11 -07005# When it is a flutter repo (check the pubspec.yaml for "sdk: flutter")
6# then "flutter" is called instead of "pub".
7# This assumes that the Flutter SDK has been installed in a previous step.
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +01008function pub() {
dependabot[bot]ea28b9c2021-06-08 16:32:11 -07009 if grep -Fq "sdk: flutter" "${PWD}/pubspec.yaml"; then
Michael Thomsen47812f82021-06-18 17:51:59 +020010 command flutter pub "$@"
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010011 else
Michael Thomsen47812f82021-06-18 17:51:59 +020012 command dart pub "$@"
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010013 fi
14}
Michael Thomsen47812f82021-06-18 17:51:59 +020015# When it is a flutter repo (check the pubspec.yaml for "sdk: flutter")
16# then "flutter" is called instead of "pub".
17# This assumes that the Flutter SDK has been installed in a previous step.
18function format() {
19 if grep -Fq "sdk: flutter" "${PWD}/pubspec.yaml"; then
20 command flutter format "$@"
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010021 else
Michael Thomsen47812f82021-06-18 17:51:59 +020022 command dart format "$@"
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010023 fi
24}
Michael Thomsen47812f82021-06-18 17:51:59 +020025# When it is a flutter repo (check the pubspec.yaml for "sdk: flutter")
26# then "flutter" is called instead of "pub".
27# This assumes that the Flutter SDK has been installed in a previous step.
28function analyze() {
29 if grep -Fq "sdk: flutter" "${PWD}/pubspec.yaml"; then
30 command flutter analyze "$@"
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010031 else
Michael Thomsen47812f82021-06-18 17:51:59 +020032 command dart analyze "$@"
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010033 fi
34}
35
36if [[ -z ${PKGS} ]]; then
37 echo -e '\033[31mPKGS environment variable must be set! - TERMINATING JOB\033[0m'
38 exit 64
39fi
40
41if [[ "$#" == "0" ]]; then
42 echo -e '\033[31mAt least one task argument must be provided! - TERMINATING JOB\033[0m'
43 exit 64
44fi
45
46SUCCESS_COUNT=0
47declare -a FAILURES
48
49for PKG in ${PKGS}; do
50 echo -e "\033[1mPKG: ${PKG}\033[22m"
51 EXIT_CODE=0
52 pushd "${PKG}" >/dev/null || EXIT_CODE=$?
53
54 if [[ ${EXIT_CODE} -ne 0 ]]; then
55 echo -e "\033[31mPKG: '${PKG}' does not exist - TERMINATING JOB\033[0m"
56 exit 64
57 fi
58
dependabot[bot]ea28b9c2021-06-08 16:32:11 -070059 dart pub upgrade || EXIT_CODE=$?
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010060
61 if [[ ${EXIT_CODE} -ne 0 ]]; then
dependabot[bot]ea28b9c2021-06-08 16:32:11 -070062 echo -e "\033[31mPKG: ${PKG}; 'dart pub upgrade' - FAILED (${EXIT_CODE})\033[0m"
63 FAILURES+=("${PKG}; 'dart pub upgrade'")
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010064 else
65 for TASK in "$@"; do
66 EXIT_CODE=0
67 echo
68 echo -e "\033[1mPKG: ${PKG}; TASK: ${TASK}\033[22m"
69 case ${TASK} in
Michael Thomsen47812f82021-06-18 17:51:59 +020070 analyze_0)
Kevin Moore8571b582021-07-26 10:13:55 -070071 echo 'dart analyze --fatal-infos'
72 dart analyze --fatal-infos || EXIT_CODE=$?
Michael Thomsen47812f82021-06-18 17:51:59 +020073 ;;
74 analyze_1)
Michael Thomsen47812f82021-06-18 17:51:59 +020075 echo 'dart analyze lib'
76 dart analyze lib || EXIT_CODE=$?
77 ;;
Kevin Moore83044742021-07-26 12:16:13 -070078 analyze_2)
Michael Thomsen47812f82021-06-18 17:51:59 +020079 echo 'dart analyze test'
80 dart analyze test || EXIT_CODE=$?
81 ;;
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010082 command_0)
83 echo './../tool/setup.sh'
84 ./../tool/setup.sh || EXIT_CODE=$?
85 ;;
86 command_1)
87 echo './compile_protos.sh'
88 ./compile_protos.sh || EXIT_CODE=$?
89 ;;
90 command_2)
91 echo 'make protos'
92 make protos || EXIT_CODE=$?
93 ;;
Michael Thomsen47812f82021-06-18 17:51:59 +020094 format)
dependabot[bot]ea28b9c2021-06-08 16:32:11 -070095 echo 'dart format --output=none --set-exit-if-changed .'
96 dart format --output=none --set-exit-if-changed . || EXIT_CODE=$?
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +010097 ;;
98 test)
dependabot[bot]ea28b9c2021-06-08 16:32:11 -070099 echo 'dart test'
100 dart test || EXIT_CODE=$?
Sigurd Meldgaardd7bff4e2021-02-04 15:48:58 +0100101 ;;
102 *)
103 echo -e "\033[31mUnknown TASK '${TASK}' - TERMINATING JOB\033[0m"
104 exit 64
105 ;;
106 esac
107
108 if [[ ${EXIT_CODE} -ne 0 ]]; then
109 echo -e "\033[31mPKG: ${PKG}; TASK: ${TASK} - FAILED (${EXIT_CODE})\033[0m"
110 FAILURES+=("${PKG}; TASK: ${TASK}")
111 else
112 echo -e "\033[32mPKG: ${PKG}; TASK: ${TASK} - SUCCEEDED\033[0m"
113 SUCCESS_COUNT=$((SUCCESS_COUNT + 1))
114 fi
115
116 done
117 fi
118
119 echo
120 echo -e "\033[32mSUCCESS COUNT: ${SUCCESS_COUNT}\033[0m"
121
122 if [ ${#FAILURES[@]} -ne 0 ]; then
123 echo -e "\033[31mFAILURES: ${#FAILURES[@]}\033[0m"
124 for i in "${FAILURES[@]}"; do
125 echo -e "\033[31m $i\033[0m"
126 done
127 fi
128
129 popd >/dev/null || exit 70
130 echo
131done
132
133if [ ${#FAILURES[@]} -ne 0 ]; then
134 exit 1
135fi