20 os.chdir(os.path.join(os.path.dirname(sys.argv[0]),
'../../..'))
24 'src/proto/grpc/channelz':
'channelz',
25 'src/proto/grpc/status':
'status',
26 'src/proto/grpc/testing':
'testing',
27 'src/proto/grpc/testing/duplicate':
'duplicate',
28 'src/proto/grpc/lb/v1':
'lb',
29 'src/proto/grpc/testing/xds':
'xds',
30 'src/proto/grpc/testing/xds/v3':
'xds_v3',
31 'src/proto/grpc/core':
'core',
32 'src/proto/grpc/health/v1':
'health',
33 'src/proto/grpc/reflection/v1alpha':
'reflection',
34 'src/proto/grpc/reflection/v1':
'reflection_v1',
38 for root, dirs, files
in os.walk(
'.'):
39 if root.startswith(
'./'):
40 root = root[
len(
'./'):]
42 if root.startswith(
'third_party/'):
45 if 'BUILD' not in files:
49 pkg_start = text.find(
'grpc_package(')
53 pkg_end = pkg_start +
len(
'grpc_package(')
56 if text[pkg_end] ==
')':
58 elif text[pkg_end] ==
'(':
62 name = eval(text[pkg_start:pkg_end],
63 {
'grpc_package':
lambda name, **kwargs: name})
67 expected_name = EXPECTED_NAMES.get(root, root)
68 if name != expected_name:
69 print(
"%s/BUILD should define a grpc_package with name=%r, not %r" %
70 (root, expected_name, name))