| #!/usr/bin/env python3 | |
| # | |
| # Copyright 2022 Google Inc. All rights reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| from pathlib import Path | |
| from util import flatc, root_path | |
| grpc_examples_path = Path(root_path, "grpc/examples") | |
| greeter_schema = str(Path(grpc_examples_path, "greeter.fbs")) | |
| greeter_schema_v2 = str(Path(grpc_examples_path, "greeter_v2.fbs")) | |
| COMMON_ARGS = [ | |
| "--grpc", | |
| "--bfbs-filenames", | |
| str(grpc_examples_path), | |
| ] | |
| def GenerateGRPCExamples(): | |
| flatc( | |
| COMMON_ARGS | |
| + [ | |
| "--go", | |
| ], | |
| schema=greeter_schema, | |
| cwd=Path(grpc_examples_path, "go/greeter"), | |
| ) | |
| flatc( | |
| COMMON_ARGS | |
| + [ | |
| "--python", | |
| ], | |
| schema=greeter_schema, | |
| cwd=Path(grpc_examples_path, "python/greeter"), | |
| ) | |
| flatc( | |
| COMMON_ARGS | |
| + [ | |
| "--swift", | |
| "--gen-json-emit", | |
| ], | |
| schema=greeter_schema_v2, | |
| cwd=Path(grpc_examples_path, "swift/Greeter/Sources/Models"), | |
| ) | |
| flatc( | |
| COMMON_ARGS | |
| + [ | |
| "--ts", | |
| ], | |
| schema=greeter_schema, | |
| cwd=Path(grpc_examples_path, "ts/greeter/src"), | |
| ) | |
| if __name__ == "__main__": | |
| GenerateGRPCExamples() |