...
1#!/usr/bin/env python3
2#
3# Copyright 2022 Google Inc. All rights reserved.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17from util import flatc, root_path
18from pathlib import Path
19
20grpc_examples_path = Path(root_path, "grpc/examples")
21
22greeter_schema = str(Path(grpc_examples_path, "greeter.fbs"))
23
24COMMON_ARGS = [
25 "--grpc",
26 "--bfbs-filenames",
27 str(grpc_examples_path),
28]
29
30def GenerateGRPCExamples():
31
32 flatc(
33 COMMON_ARGS
34 + [
35 "--go",
36 ],
37 schema=greeter_schema,
38 cwd=Path(grpc_examples_path, "go/greeter"),
39 )
40
41 flatc(
42 COMMON_ARGS
43 + [
44 "--python",
45 ],
46 schema=greeter_schema,
47 cwd=Path(grpc_examples_path, "python/greeter"),
48 )
49
50 flatc(
51 COMMON_ARGS
52 + [
53 "--swift",
54 "--gen-json-emit",
55 ],
56 schema=greeter_schema,
57 cwd=Path(grpc_examples_path, "swift/Greeter/Sources/Model"),
58 )
59
60 flatc(
61 COMMON_ARGS
62 + [
63 "--ts",
64 ],
65 schema=greeter_schema,
66 cwd=Path(grpc_examples_path, "ts/greeter/src"),
67 )
68
69if __name__ == "__main__":
70 GenerateGRPCExamples()
View as plain text