blob: 58afb4915cb4ef284a9433018eb1203fd5be2153 [file] [log] [blame]
Dongwon Kangcad9acf2019-12-05 15:50:29 -08001#!/bin/bash
2LOCAL_DIR="$( dirname "${BASH_SOURCE}" )"
3
4MAINLINE_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
17MAINLINE_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
34DEV_BRANCH=qt-aml-media-dev
35RED=$(tput setaf 1)
36NORMAL=$(tput sgr0)
37WARNING_FULL="${RED}Please upload this change in ${DEV_BRANCH} unless it is restricted
38from mainline release until next dessert release. Low/moderate security bugs
39are restricted this way.${NORMAL}"
40WARNING_PARTIAL="${RED}It looks like your change has mainline and non-mainline changes;
41Consider separating them into two separate CLs -- one for mainline files,
42one for non-mainline files.${NORMAL}"
43PWD=`pwd`
44
45if git branch -vv | grep -q -P "^\*[^\[]+\[goog/qt-aml-media-dev"; then
46 # Change appears to be in mainline dev branch
47 exit 0
48fi
49
50for 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
56done
57
58if [[ ! $PWD =~ frameworks/av ]]; then
59 exit 0
60fi
61
62mainline_count=0
63total_count=0
64echo
65while 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
74done < <(git show --name-only --pretty=format: $1 | grep -- "$2")
75
76if (( 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
83fi
84exit 0