@@ -32,7 +32,7 @@ if [ "$TEST_SUITE" = "syntax" ] || [ "$TEST_SUITE" = "style" ]; then
32
32
files_changed=()
33
33
while IFS= read -r -d $' \0' file; do
34
34
files_changed+=(" $file " )
35
- done < <( git diff --name-only --diff-filter=d -z " $TRAVIS_COMMIT_RANGE " )
35
+ done < <( git diff --name-only --diff-filter=da -z " $TRAVIS_COMMIT_RANGE " )
36
36
37
37
# Separate the changed files by language.
38
38
php_files_changed=()
@@ -44,6 +44,17 @@ if [ "$TEST_SUITE" = "syntax" ] || [ "$TEST_SUITE" = "style" ]; then
44
44
js_files_changed+=(" $file " )
45
45
fi
46
46
done
47
+
48
+ # Get any added files by language
49
+ php_files_added=()
50
+ js_files_added=()
51
+ while IFS= read -r -d $' \0' file; do
52
+ if [[ " $file " == * .php ]]; then
53
+ php_files_added+=(" $file " )
54
+ elif [[ " $file " == * .js ]]; then
55
+ js_files_added+=(" $file " )
56
+ fi
57
+ done < <( git diff --name-only --diff-filter=A -z " $TRAVIS_COMMIT_RANGE " )
47
58
fi
48
59
49
60
# Perform a test set based on the value of $TEST_SUITE.
@@ -62,13 +73,39 @@ if [ "$TEST_SUITE" = "syntax" ]; then
62
73
fi
63
74
done
64
75
elif [ " $TEST_SUITE " = " style" ]; then
76
+ npm install https://github.com/jpwhite4/lint-diff/tarball/master
77
+
65
78
for file in " ${php_files_changed[@]} " ; do
79
+ phpcs " $file " --report=json > " $file .lint.new.json"
80
+ if [ $? != 0 ]; then
81
+ git show " $commit_range_start :$file " | phpcs --stdin-path=" $file " --report=json > " $file .lint.orig.json"
82
+ ./node_modules/.bin/lint-diff " $file .lint.orig.json" " $file .lint.new.json"
83
+ if [ $? != 0 ]; then
84
+ build_exit_value=2
85
+ fi
86
+ rm " $file .lint.orig.json"
87
+ fi
88
+ rm " $file .lint.new.json"
89
+ done
90
+ for file in " ${php_files_added[@]} " ; do
66
91
phpcs " $file "
67
92
if [ $? != 0 ]; then
68
93
build_exit_value=2
69
94
fi
70
95
done
71
96
for file in " ${js_files_changed[@]} " ; do
97
+ eslint " $file " -f json > " $file .lint.new.json"
98
+ if [ $? != 0 ]; then
99
+ git show " $commit_range_start :$file " | eslint --stdin --stdin-filename " $file " -f json > " $file .lint.orig.json"
100
+ ./node_modules/.bin/lint-diff " $file .lint.orig.json" " $file .lint.new.json"
101
+ if [ $? != 0 ]; then
102
+ build_exit_value=2
103
+ fi
104
+ rm " $file .lint.orig.json"
105
+ fi
106
+ rm " $file .lint.new.json"
107
+ done
108
+ for file in " ${js_files_added[@]} " ; do
72
109
eslint " $file "
73
110
if [ $? != 0 ]; then
74
111
build_exit_value=2
0 commit comments