fafeb921fc9717bb5fb81f1034314dd75c6fed40
2 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 # Check the build and the execution of software in lib/, examples/ and contrib/
17 # The script must be run from the root Nit directory.
19 # various .xml junit file will be generated in the root directory for jenkins.
21 # Arguments will be additional `make` rules to execute. eg.
23 # check_contrib.sh check android
25 projects
=`echo lib/*/Makefile examples/*/Makefile contrib/*/Makefile`
29 for p
in $projects; do
31 name
=`basename "$dir"`
32 echo "*** make $dir ***"
33 if misc
/jenkins
/unitrun.sh
"cmd-$name-make" make -C
"$dir"; then
34 # Make OK. Check additional rules if they exists
35 for rule
in $rules; do
36 make -C
"$dir" $rule -n
2>/dev
/null ||
38 echo "*** make$rule $dir ***"
39 misc
/jenkins
/unitrun.sh
"cmd-$name-make$rule" make -C
"$dir" $rule ||
40 failed
="$failed $name-$rule"
43 failed
="$failed $name"
46 grep '<error message' *-make*.xml
47 if test -n
"$failed"; then
48 echo "FAILED: $failed"