blob: 9401e69d3ef2460c460cd1b18326ad62ee51463b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#!/bin/bash
INVALID_EXIT=0
check_copyright_year() {
DIRECTORIES_NOT_TO_BE_TESTED=$2
YEAR=`date +"%Y"`
CORRECT_COPYRIGHT="Copyright (c) $YEAR Samsung Electronics Co"
FILE_EXT_TO_SEARCH="\.h$\|\.hpp$\|\.cc$\|\.cpp$\|\.cl$"
# Check newly added files
#this also includes files, that were moved here from another dir
NEW_FILES_OF_SUBDIR_TO_CHECK=$(git whatchanged --diff-filter=A --since "01/01/2019"\
--oneline --name-only --pretty=format: . | sort | uniq\
| grep $FILE_EXT_TO_SEARCH)
ARR=($NEW_FILES_OF_SUBDIR_TO_CHECK)
for s in ${DIRECTORIES_NOT_TO_BE_TESTED[@]}; do
if [[ $s = $TEST_DIR* ]]; then
skip=${s#$TEST_DIR/}/
ARR=(${ARR[*]//$skip*})
fi
done
NEW_FILES_OF_SUBDIR_TO_CHECK=${ARR[*]}
if [[ ${#NEW_FILES_OF_SUBDIR_TO_CHECK} -ne 0 ]]; then
for f in $NEW_FILES_OF_SUBDIR_TO_CHECK; do
[[ -f "$f" ]] || continue
CREATED_YEAR=$(git log --follow --format=%aD $f | tail -1)
[[ $CREATED_YEAR != *"$YEAR"* ]] && continue
COPYRIGHT_YEAR=$(sed -rn '0,/.*Copyright \(c\) ([^ ]+).*/ s//\1/p' $f)
if [[ $COPYRIGHT_YEAR != $YEAR ]]; then
[[ -z "$COPYRIGHT_YEAR" ]] && COPYRIGHT_YEAR="None"
echo "Copyright year of $f is incorrect: expected $YEAR, found $COPYRIGHT_YEAR"
INVALID_EXIT=1
elif ! grep -q "$CORRECT_COPYRIGHT" $f; then
echo "Copyright format of $f is incorrect: expected $CORRECT_COPYRIGHT"
INVALID_EXIT=1
fi
done
fi
}
DIRECTORIES_NOT_TO_BE_TESTED=()
for DIR_NOT_TO_BE_TESTED in $(find -name '.FORMATDENY' -exec dirname {} \;); do
DIRECTORIES_NOT_TO_BE_TESTED+=("$DIR_NOT_TO_BE_TESTED")
done
check_copyright_year $DIRECTORIES_NOT_TO_BE_TESTED
if [[ $INVALID_EXIT -ne 0 ]]; then
echo "[FAILED] Invalid copyright check exit."
exit 1
fi
|