Kelvin Zhang | d64c883 | 2022-04-02 19:56:24 +0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # |
| 3 | # Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved. |
| 4 | # |
| 5 | # SPDX-License-Identifier: MIT |
| 6 | # |
| 7 | |
Kelvin Zhang | 7052f1c | 2022-09-20 11:11:41 +0800 | [diff] [blame] | 8 | [ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output |
| 9 | [ ! -d $OUTPUT_DIR ] && mkdir -p $OUTPUT_DIR |
| 10 | |
| 11 | [ -z "$BUILD_LOG" ] && BUILD_LOG="$OUTPUT_DIR/build.log" |
| 12 | |
shijie.xiong | a73e117 | 2022-09-15 14:11:21 +0800 | [diff] [blame] | 13 | # Clear build.log |
| 14 | cat <<EOF > $BUILD_LOG |
| 15 | EOF |
| 16 | |
shijie.xiong | fe9f21e | 2022-09-21 10:52:41 +0800 | [diff] [blame] | 17 | TEMP_LOG="$OUTPUT_DIR/temp.log" |
| 18 | |
Kelvin Zhang | dfd2838 | 2022-04-02 20:32:27 +0800 | [diff] [blame] | 19 | source scripts/publish.sh |
Kelvin Zhang | d64c883 | 2022-04-02 19:56:24 +0800 | [diff] [blame] | 20 | |
shijie.xiong | 69cbf04 | 2022-04-22 13:32:39 +0800 | [diff] [blame] | 21 | function get_new_package_dir() { |
| 22 | filelist=$(ls -t output/packages) |
| 23 | fileArry=($filelist) |
| 24 | CURRENT_PRODUCTS_DIR_NAME=${fileArry[0]} |
| 25 | export CURRENT_PRODUCTS_DIR_NAME |
| 26 | } |
| 27 | |
shijie.xiong | fe9f21e | 2022-09-21 10:52:41 +0800 | [diff] [blame] | 28 | # compile warning check |
| 29 | function compile_warning_check(){ |
| 30 | touch $TEMP_LOG |
| 31 | CAT_LINE=`sed -n -e '/UBOOT COMPILE START/=' $1` |
| 32 | sed -n "1,${CAT_LINE}p" $1 >> $TEMP_LOG |
| 33 | } |
| 34 | |
shijie.xiong | ec39868 | 2022-09-07 15:57:54 +0800 | [diff] [blame] | 35 | echo "======== Building all packages ========" | tee -a $BUILD_LOG |
Kelvin Zhang | d64c883 | 2022-04-02 19:56:24 +0800 | [diff] [blame] | 36 | |
| 37 | source scripts/gen_package_combination.sh |
| 38 | |
| 39 | index=0 |
| 40 | while IFS= read -r LINE; do |
shijie.xiong | ec39868 | 2022-09-07 15:57:54 +0800 | [diff] [blame] | 41 | source scripts/pkg_env.sh $index gen_all >> $BUILD_LOG 2>&1 |
Kelvin Zhang | d64c883 | 2022-04-02 19:56:24 +0800 | [diff] [blame] | 42 | [ "$?" -ne 0 ] && echo "Ignore unsupported combination!" && continue |
shijie.xiong | ec39868 | 2022-09-07 15:57:54 +0800 | [diff] [blame] | 43 | echo -n "$index. Building ... " |
shijie.xiong | 7b690f9 | 2024-05-10 17:35:51 +0800 | [diff] [blame] | 44 | scripts/gen_package.sh >> $BUILD_LOG 2>&1 |
shijie.xiong | 69cbf04 | 2022-04-22 13:32:39 +0800 | [diff] [blame] | 45 | get_new_package_dir |
shijie.xiong | ec39868 | 2022-09-07 15:57:54 +0800 | [diff] [blame] | 46 | [ "$?" -ne 0 ] && echo "failed!" && cat $BUILD_LOG && echo -e "\nAborted with errors!\n" && exit 3 |
shijie.xiong | fe9f21e | 2022-09-21 10:52:41 +0800 | [diff] [blame] | 47 | compile_warning_check $BUILD_LOG |
| 48 | grep -qr "warning: " $TEMP_LOG |
| 49 | [ "$?" -eq 0 ] && cat $BUILD_LOG && echo -e "\nAborted with warnings!\n" && rm $TEMP_LOG && exit 1 |
shijie.xiong | ec39868 | 2022-09-07 15:57:54 +0800 | [diff] [blame] | 50 | echo "OK." |
fugui.zhang | 89409e1 | 2024-07-03 14:10:05 +0800 | [diff] [blame] | 51 | if [[ "$SUBMIT_TYPE" == "release" || "$SUBMIT_TYPE" == "patch" ]]; then |
shijie.xiong | ec39868 | 2022-09-07 15:57:54 +0800 | [diff] [blame] | 52 | publish_packages >> $BUILD_LOG 2>&1 |
Kelvin Zhang | aa84d88 | 2022-04-22 13:38:46 +0800 | [diff] [blame] | 53 | [ "$?" -ne 0 ] && echo "Failed to publish packages!" && exit 4 |
Kelvin Zhang | d64c883 | 2022-04-02 19:56:24 +0800 | [diff] [blame] | 54 | fi |
| 55 | index=$((index + 1)) |
| 56 | done <"$PACKAGE_COMBINATION" |
| 57 | |
shijie.xiong | fe9f21e | 2022-09-21 10:52:41 +0800 | [diff] [blame] | 58 | rm $TEMP_LOG |
| 59 | |
shijie.xiong | ec39868 | 2022-09-07 15:57:54 +0800 | [diff] [blame] | 60 | [[ "$SUBMIT_TYPE" == "release" ]] && post_publish_packages >> $BUILD_LOG 2>&1 |
| 61 | |
| 62 | echo -e "======== Done ========\n" | tee -a $BUILD_LOG |