forked from chakra-core/ChakraCore
-
Notifications
You must be signed in to change notification settings - Fork 1
/
jenkins.check_copyright.sh
executable file
·45 lines (40 loc) · 1.83 KB
/
jenkins.check_copyright.sh
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
#-------------------------------------------------------------------------------------------------------
# Copyright (C) Microsoft. All rights reserved.
# Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
#-------------------------------------------------------------------------------------------------------
# Need to make sure that the reference to origin/master is available.
# We know that HEAD is checked out so that the tests on that source can be run.
# configure the sh environment to run scripts from the bin dir in case that's missing
ls &> /dev/null # checking for ls script on the path
if [ $? -ne 0 ]; then
PATH=/bin:/usr/bin:$PATH
fi
ERRFILE=jenkins.check_copyright.sh.err
ERRFILETEMP=$ERRFILE.0
rm -f $ERRFILE
rm -f $ERRFILETEMP
echo "Check Copyright > Begin Checking..."
git diff --name-only `git merge-base origin/master HEAD` HEAD |
grep -v -E '\.git.*' |
grep -v -E '\.xml$' |
grep -v -E '\.props$' |
grep -v -E '\.md$' |
grep -v -E '\.txt$' |
grep -v -E '\.baseline$' |
grep -v -E '\.sln$' |
grep -v -E '\.vcxproj$' |
grep -v -E '\.filters$' |
grep -v -E '\.targets$' |
grep -v -E '\.def$' |
grep -v -E '\.inc$' |
grep -v -E 'test/benchmarks/.*\.js$' |
xargs -I % sh -c "echo 'Check Copyright > Checking %'; python jenkins.check_copyright.py % > $ERRFILETEMP; if [ \$? -ne 0 ]; then cat $ERRFILETEMP >> $ERRFILE; fi"
if [ -e $ERRFILE ]; then # if error file exists then there were errors
>&2 echo "--------------" # leading >&2 means echo to stderr
>&2 echo "--- ERRORS ---"
cat $ERRFILE 1>&2 # send output to stderr so it can be redirected as error if desired
>&2 echo "--------------"
exit 1 # tell the caller there was an error (so Jenkins will fail the CI task)
else
echo "--- NO PROBLEMS DETECTED ---"
fi