Dongwon Kang | cad9acf | 2019-12-05 15:50:29 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | LOCAL_DIR="$( dirname "${BASH_SOURCE}" )" |
| 3 | |
| 4 | MAINLINE_FRAMEWORKS_AV_PATHS=( |
| 5 | media/extractors/ |
| 6 | media/codec2/components/ |
| 7 | media/libstagefright/codecs/amrnb |
| 8 | media/libstagefright/codecs/amrwb |
| 9 | media/libstagefright/codecs/amrwbenc |
| 10 | media/libstagefright/codecs/common |
| 11 | media/libstagefright/codecs/mp3dec |
| 12 | media/libstagefright/codecs/m4v_h263 |
| 13 | media/libstagefright/flac/dec |
| 14 | media/libstagefright/mpeg2ts |
| 15 | ) |
| 16 | |
| 17 | MAINLINE_EXTERNAL_PROJECTS=( |
| 18 | external/aac |
| 19 | external/flac |
| 20 | external/libaac |
| 21 | external/libaom |
| 22 | external/libavc |
| 23 | external/libgav1 |
| 24 | external/libgsm |
| 25 | external/libhevc |
| 26 | external/libmpeg2 |
| 27 | external/libopus |
| 28 | external/libvpx |
| 29 | external/libxaac |
| 30 | external/sonivox |
| 31 | external/tremolo |
| 32 | ) |
| 33 | |
| 34 | DEV_BRANCH=qt-aml-media-dev |
| 35 | RED=$(tput setaf 1) |
| 36 | NORMAL=$(tput sgr0) |
| 37 | WARNING_FULL="${RED}Please upload this change in ${DEV_BRANCH} unless it is restricted |
| 38 | from mainline release until next dessert release. Low/moderate security bugs |
| 39 | are restricted this way.${NORMAL}" |
| 40 | WARNING_PARTIAL="${RED}It looks like your change has mainline and non-mainline changes; |
| 41 | Consider separating them into two separate CLs -- one for mainline files, |
| 42 | one for non-mainline files.${NORMAL}" |
| 43 | PWD=`pwd` |
| 44 | |
| 45 | if git branch -vv | grep -q -P "^\*[^\[]+\[goog/qt-aml-media-dev"; then |
| 46 | # Change appears to be in mainline dev branch |
| 47 | exit 0 |
| 48 | fi |
| 49 | |
| 50 | for path in "${MAINLINE_EXTERNAL_PROJECTS[@]}"; do |
| 51 | if [[ $PWD =~ $path ]]; then |
| 52 | echo -e "${RED}The source of truth for '$path' is in ${DEV_BRANCH}.${NORMAL}" |
| 53 | echo -e ${WARNING_FULL} |
| 54 | exit 1 |
| 55 | fi |
| 56 | done |
| 57 | |
| 58 | if [[ ! $PWD =~ frameworks/av ]]; then |
| 59 | exit 0 |
| 60 | fi |
| 61 | |
| 62 | mainline_count=0 |
| 63 | total_count=0 |
| 64 | echo |
| 65 | while read -r file ; do |
| 66 | (( total_count++ )) |
| 67 | for path in "${MAINLINE_FRAMEWORKS_AV_PATHS[@]}"; do |
| 68 | if [[ $file =~ ^$path ]]; then |
| 69 | echo -e "${RED}The source of truth for '$file' is in ${DEV_BRANCH}.${NORMAL}" |
| 70 | (( mainline_count++ )) |
| 71 | break |
| 72 | fi |
| 73 | done |
| 74 | done < <(git show --name-only --pretty=format: $1 | grep -- "$2") |
| 75 | |
| 76 | if (( mainline_count != 0 )); then |
| 77 | if (( mainline_count == total_count )); then |
| 78 | echo -e ${WARNING_FULL} |
| 79 | else |
| 80 | echo -e ${WARNING_PARTIAL} |
| 81 | fi |
| 82 | exit 1 |
| 83 | fi |
| 84 | exit 0 |