aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/desc_rawproto_wrapper.py
diff options
context:
space:
mode:
authorsnermolaev <snermolaev@yandex-team.com>2024-07-30 06:29:24 +0300
committersnermolaev <snermolaev@yandex-team.com>2024-07-30 06:40:10 +0300
commiteb0bb874facabf638050028b828cdba2b7c532bf (patch)
tree4851b4eaeb38cfec8c82e3f4aa1100ae27547812 /build/scripts/desc_rawproto_wrapper.py
parentad85354eec8d2da678f47c5994997080f45cdb0a (diff)
downloadydb-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.py34
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()))