diff options
author | snermolaev <snermolaev@yandex-team.com> | 2024-07-30 06:29:24 +0300 |
---|---|---|
committer | snermolaev <snermolaev@yandex-team.com> | 2024-07-30 06:40:10 +0300 |
commit | eb0bb874facabf638050028b828cdba2b7c532bf (patch) | |
tree | 4851b4eaeb38cfec8c82e3f4aa1100ae27547812 /build/scripts/desc_rawproto_wrapper.py | |
parent | ad85354eec8d2da678f47c5994997080f45cdb0a (diff) | |
download | ydb-eb0bb874facabf638050028b828cdba2b7c532bf.tar.gz |
collect .proto files by PROTO_DESCRIPTIONS
0727af35f2be899dfb58c5e49ed9cd1701be9066
Diffstat (limited to 'build/scripts/desc_rawproto_wrapper.py')
-rw-r--r-- | build/scripts/desc_rawproto_wrapper.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/build/scripts/desc_rawproto_wrapper.py b/build/scripts/desc_rawproto_wrapper.py new file mode 100644 index 0000000000..94dd90fd3f --- /dev/null +++ b/build/scripts/desc_rawproto_wrapper.py @@ -0,0 +1,34 @@ +import argparse +import shutil +import subprocess +import sys + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--desc-output', required=True) + parser.add_argument('--rawproto-output', required=True) + parser.add_argument('--proto-file', required=True) + parser.add_argument('args', nargs='+') + + return parser.parse_args() + + +def main(args): + cmd = list(args.args) + cmd.append(f'--descriptor_set_out={args.desc_output}') + cmd.append(args.proto_file) + + try: + subprocess.run(cmd, stdin=None, stderr=subprocess.STDOUT, text=True, check=True) + except subrocess.CalledProcessError as e: + sys.stderr.write(f'{e.cmd} returned non-zero exit code {e.returncode}.\n{e.output}\n') + return e.returncode + + shutil.copyfile(args.proto_file, args.rawproto_output) + + return 0 + + +if __name__ == '__main__': + sys.exit(main(parse_args())) |