| Index: third_party/grpc/templates/tools/run_tests/sources_and_headers.json.template
|
| diff --git a/third_party/grpc/templates/tools/run_tests/sources_and_headers.json.template b/third_party/grpc/templates/tools/run_tests/sources_and_headers.json.template
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..18b9bc26547ccf992de4b5a2058bba35a7f1615f
|
| --- /dev/null
|
| +++ b/third_party/grpc/templates/tools/run_tests/sources_and_headers.json.template
|
| @@ -0,0 +1,50 @@
|
| +%YAML 1.2
|
| +--- |
|
| + <%!
|
| + import json
|
| + import os
|
| +
|
| + def proto_headers(src):
|
| + out = []
|
| + for f in src:
|
| + name, ext = os.path.splitext(f)
|
| + if ext == '.proto':
|
| + out.extend(fmt % name for fmt in ['%s.grpc.pb.h', '%s.pb.h'])
|
| + return out
|
| +
|
| + def all_targets(targets, libs):
|
| + for tgt in targets:
|
| + yield ('target', tgt)
|
| + for tgt in libs:
|
| + yield ('lib', tgt)
|
| +
|
| + def no_protos_filter(src):
|
| + return os.path.splitext(src)[1] != '.proto'
|
| +
|
| + def no_third_party_filter(src):
|
| + return not src.startswith('third_party/')
|
| +
|
| + def filter_srcs(srcs, filters):
|
| + out = []
|
| + for s in srcs:
|
| + filter_passes = (f(s) for f in filters)
|
| + if all(filter_passes):
|
| + out.append(s)
|
| + return out
|
| + %>
|
| +
|
| + ${json.dumps([{"name": tgt.name,
|
| + "type": typ,
|
| + "language": tgt.language,
|
| + "third_party": tgt.boringssl or tgt.zlib,
|
| + "src": sorted(
|
| + filter_srcs(tgt.src, (no_protos_filter, no_third_party_filter)) +
|
| + filter_srcs(tgt.get('public_headers', []), (no_protos_filter, no_third_party_filter)) +
|
| + filter_srcs(tgt.get('headers', []), (no_third_party_filter,))),
|
| + "headers": sorted(
|
| + tgt.get('public_headers', []) +
|
| + tgt.get('headers', []) +
|
| + proto_headers(tgt.src)),
|
| + "deps": sorted(tgt.get('deps', []))}
|
| + for typ, tgt in all_targets(targets, libs)],
|
| + sort_keys=True, indent=2)}
|
|
|