aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/docs_proto_wrapper.py
diff options
context:
space:
mode:
authoraserebriyskiy <aserebriyskiy@yandex-team.com>2025-03-10 20:00:56 +0300
committeraserebriyskiy <aserebriyskiy@yandex-team.com>2025-03-10 20:18:03 +0300
commit527740b69a8e1a69b23f120a8fbce491231e5e36 (patch)
tree910615f0038195be703498ca6c9951735dd34e26 /build/scripts/docs_proto_wrapper.py
parentfc6cd7d48282fba73b60215b3fd31fc0a8825982 (diff)
downloadydb-527740b69a8e1a69b23f120a8fbce491231e5e36.tar.gz
feat ya-make: add support for DOCS_LIBRARY in PROTO_LIBRARY
commit_hash:8f3498b2a434c3f72e0f5789ee69ae2aad71a05a
Diffstat (limited to 'build/scripts/docs_proto_wrapper.py')
-rw-r--r--build/scripts/docs_proto_wrapper.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/build/scripts/docs_proto_wrapper.py b/build/scripts/docs_proto_wrapper.py
new file mode 100644
index 0000000000..71cb2124a2
--- /dev/null
+++ b/build/scripts/docs_proto_wrapper.py
@@ -0,0 +1,35 @@
+import argparse
+import subprocess
+import sys
+import pathlib
+
+
+def parse_args():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--docs-output', required=True)
+ parser.add_argument('args', nargs='+')
+
+ return parser.parse_args()
+
+
+def main(args):
+ cmd = list(args.args)
+ # interface is like this:
+ # --doc_out=TARGET_DIR
+ # --doc_opt=markdon,TARGET_FILE_NAME
+
+ target_file = pathlib.Path(args.docs_output)
+ cmd.append(f'--doc_opt=markdown,{target_file.name}')
+ cmd.append(f'--doc_out={target_file.parent}')
+
+ try:
+ subprocess.check_output(cmd, stdin=None, stderr=subprocess.STDOUT, text=True)
+ except subprocess.CalledProcessError as e:
+ sys.stderr.write(f'{e.cmd} returned non-zero exit code {e.returncode}.\n{e.output}\n')
+ return e.returncode
+
+ return 0
+
+
+if __name__ == '__main__':
+ sys.exit(main(parse_args()))