diff options
Diffstat (limited to 'tools/buildgen')
-rwxr-xr-x | tools/buildgen/bunch.py | 1 | ||||
-rw-r--r-- | tools/buildgen/generate_build_additions.sh | 38 | ||||
-rwxr-xr-x | tools/buildgen/generate_projects.sh | 8 | ||||
-rwxr-xr-x | tools/buildgen/plugins/generate_vsprojects.py | 2 |
4 files changed, 43 insertions, 6 deletions
diff --git a/tools/buildgen/bunch.py b/tools/buildgen/bunch.py index 0db8792523..1f17ccb31b 100755 --- a/tools/buildgen/bunch.py +++ b/tools/buildgen/bunch.py @@ -57,6 +57,7 @@ def merge_json(dst, add): if isinstance(dst, dict) and isinstance(add, dict): for k, v in add.items(): if k in dst: + if k == '#': continue merge_json(dst[k], v) else: dst[k] = v diff --git a/tools/buildgen/generate_build_additions.sh b/tools/buildgen/generate_build_additions.sh new file mode 100644 index 0000000000..44fc2558fa --- /dev/null +++ b/tools/buildgen/generate_build_additions.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +gen_build_json_dirs="test/core/end2end test/core/bad_client" +gen_build_files="" +for gen_build_json in $gen_build_json_dirs +do + output_file=`mktemp /tmp/genXXXXXX` + $gen_build_json/gen_build_json.py > $output_file + gen_build_files="$gen_build_files $output_file" +done diff --git a/tools/buildgen/generate_projects.sh b/tools/buildgen/generate_projects.sh index cdea1f9319..5399867746 100755 --- a/tools/buildgen/generate_projects.sh +++ b/tools/buildgen/generate_projects.sh @@ -38,14 +38,12 @@ fi cd `dirname $0`/../.. mako_renderer=tools/buildgen/mako_renderer.py -gen_build_json=test/core/end2end/gen_build_json.py if [ "x$TEST" != "x" ] ; then tools/buildgen/build-cleaner.py build.json fi -end2end_test_build=`mktemp /tmp/genXXXXXX` -$gen_build_json > $end2end_test_build +. tools/buildgen/generate_build_additions.sh global_plugins=`find ./tools/buildgen/plugins -name '*.py' | sort | grep -v __init__ | awk ' { printf "-p %s ", $0 } '` @@ -60,7 +58,7 @@ for dir in . ; do out=${dir}/${file#$dir/templates/} # strip templates dir prefix out=${out%.*} # strip template extension echo "generating file: $out" - json_files="build.json $end2end_test_build" + json_files="build.json $gen_build_files" data=`for i in $json_files ; do echo $i ; done | awk ' { printf "-d %s ", $0 } '` if [ "x$TEST" = "xtrue" ] ; then actual_out=$out @@ -75,4 +73,4 @@ for dir in . ; do done done -rm $end2end_test_build +rm $gen_build_files diff --git a/tools/buildgen/plugins/generate_vsprojects.py b/tools/buildgen/plugins/generate_vsprojects.py index 09a5bdbcc8..150e72e0b2 100755 --- a/tools/buildgen/plugins/generate_vsprojects.py +++ b/tools/buildgen/plugins/generate_vsprojects.py @@ -70,7 +70,7 @@ def mako_plugin(dictionary): if project.get('vs_project_guid', None)] projects = [project for project in projects - if project['language'] != 'c++' or project['build'] == 'all'] + if project['language'] != 'c++' or project['build'] == 'all' or project['build'] == 'protoc'] project_dict = dict([(p['name'], p) for p in projects]) |