| #!/bin/bash |
| LOCAL_DIR="$( dirname "${BASH_SOURCE}" )" |
| |
| MAINLINE_FRAMEWORKS_AV_PATHS=( |
| media/extractors/ |
| media/codec2/components/ |
| media/libstagefright/codecs/amrnb |
| media/libstagefright/codecs/amrwb |
| media/libstagefright/codecs/amrwbenc |
| media/libstagefright/codecs/common |
| media/libstagefright/codecs/mp3dec |
| media/libstagefright/codecs/m4v_h263 |
| media/libstagefright/flac/dec |
| media/libstagefright/mpeg2ts |
| ) |
| |
| MAINLINE_EXTERNAL_PROJECTS=( |
| external/aac |
| external/flac |
| external/libaac |
| external/libaom |
| external/libavc |
| external/libgav1 |
| external/libgsm |
| external/libhevc |
| external/libmpeg2 |
| external/libopus |
| external/libvpx |
| external/libxaac |
| external/sonivox |
| external/tremolo |
| ) |
| |
| DEV_BRANCH=qt-aml-media-dev |
| RED=$(tput setaf 1) |
| NORMAL=$(tput sgr0) |
| WARNING_FULL="${RED}Please upload this change in ${DEV_BRANCH} unless it is restricted |
| from mainline release until next dessert release. Low/moderate security bugs |
| are restricted this way.${NORMAL}" |
| WARNING_PARTIAL="${RED}It looks like your change has mainline and non-mainline changes; |
| Consider separating them into two separate CLs -- one for mainline files, |
| one for non-mainline files.${NORMAL}" |
| PWD=`pwd` |
| |
| if git branch -vv | grep -q -P "^\*[^\[]+\[goog/qt-aml-media-dev"; then |
| # Change appears to be in mainline dev branch |
| exit 0 |
| fi |
| |
| for path in "${MAINLINE_EXTERNAL_PROJECTS[@]}"; do |
| if [[ $PWD =~ $path ]]; then |
| echo -e "${RED}The source of truth for '$path' is in ${DEV_BRANCH}.${NORMAL}" |
| echo -e ${WARNING_FULL} |
| exit 1 |
| fi |
| done |
| |
| if [[ ! $PWD =~ frameworks/av ]]; then |
| exit 0 |
| fi |
| |
| mainline_count=0 |
| total_count=0 |
| echo |
| while read -r file ; do |
| (( total_count++ )) |
| for path in "${MAINLINE_FRAMEWORKS_AV_PATHS[@]}"; do |
| if [[ $file =~ ^$path ]]; then |
| echo -e "${RED}The source of truth for '$file' is in ${DEV_BRANCH}.${NORMAL}" |
| (( mainline_count++ )) |
| break |
| fi |
| done |
| done < <(git show --name-only --pretty=format: $1 | grep -- "$2") |
| |
| if (( mainline_count != 0 )); then |
| if (( mainline_count == total_count )); then |
| echo -e ${WARNING_FULL} |
| else |
| echo -e ${WARNING_PARTIAL} |
| fi |
| exit 1 |
| fi |
| exit 0 |