Nicolas Noble | ddef246 | 2015-01-06 18:08:25 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Craig Tiller | 3462982 | 2015-01-18 10:07:41 -0800 | [diff] [blame] | 3 | set -e |
Nicolas Noble | ddef246 | 2015-01-06 18:08:25 -0800 | [diff] [blame] | 4 | |
| 5 | if [ "x$TEST" == "x" ] ; then |
| 6 | TEST=false |
| 7 | fi |
| 8 | |
| 9 | |
ctiller | 08c50d8 | 2015-01-09 12:47:03 -0800 | [diff] [blame] | 10 | cd `dirname $0`/../.. |
Nicolas Noble | ddef246 | 2015-01-06 18:08:25 -0800 | [diff] [blame] | 11 | mako_renderer=tools/buildgen/mako_renderer.py |
| 12 | gen_build_json=test/core/end2end/gen_build_json.py |
| 13 | |
Craig Tiller | 0322134 | 2015-01-13 07:19:35 -0800 | [diff] [blame] | 14 | end2end_test_build=`mktemp /tmp/genXXXXXX` |
Nicolas Noble | ddef246 | 2015-01-06 18:08:25 -0800 | [diff] [blame] | 15 | $gen_build_json > $end2end_test_build |
| 16 | |
| 17 | global_plugins=`find ./tools/buildgen/plugins -name '*.py' | |
| 18 | sort | grep -v __init__ | |
| 19 | while read p ; do echo -n "-p $p " ; done` |
| 20 | |
| 21 | for dir in . ; do |
| 22 | local_plugins=`find $dir/templates -name '*.py' | |
| 23 | sort | grep -v __init__ | |
| 24 | while read p ; do echo -n "-p $p " ; done` |
| 25 | |
| 26 | plugins="$global_plugins $local_plugins" |
| 27 | |
| 28 | find -L $dir/templates -type f -and -name *.template | while read file ; do |
| 29 | out=${dir}/${file#$dir/templates/} # strip templates dir prefix |
| 30 | out=${out%.*} # strip template extension |
| 31 | json_files="build.json $end2end_test_build" |
| 32 | data=`for i in $json_files; do echo -n "-d $i "; done` |
| 33 | if [ $TEST == true ] ; then |
| 34 | actual_out=$out |
Craig Tiller | d4eec90 | 2015-01-19 20:44:44 -0800 | [diff] [blame] | 35 | out=`mktemp /tmp/gentXXXXXX` |
Nicolas Noble | ddef246 | 2015-01-06 18:08:25 -0800 | [diff] [blame] | 36 | fi |
| 37 | $mako_renderer $plugins $data -o $out $file |
| 38 | if [ $TEST == true ] ; then |
| 39 | diff -q $out $actual_out |
| 40 | rm $out |
| 41 | fi |
| 42 | done |
| 43 | done |
| 44 | |
| 45 | rm $end2end_test_build |
| 46 | |