blob: 58afb4915cb4ef284a9433018eb1203fd5be2153 [file] [log] [blame]
#!/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