diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:33:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:33:12 +0000 |
commit | 36082a2fe36ecd800d784ae44c14f1f18c66a7e9 (patch) | |
tree | 6c68e0c0097987aff85a01dabddd34b862309a7c /cligen/cli-codegen.py | |
parent | Initial commit. (diff) | |
download | gnutls28-36082a2fe36ecd800d784ae44c14f1f18c66a7e9.tar.xz gnutls28-36082a2fe36ecd800d784ae44c14f1f18c66a7e9.zip |
Adding upstream version 3.7.9.upstream/3.7.9upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cligen/cli-codegen.py')
-rwxr-xr-x | cligen/cli-codegen.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/cligen/cli-codegen.py b/cligen/cli-codegen.py new file mode 100755 index 0000000..afac576 --- /dev/null +++ b/cligen/cli-codegen.py @@ -0,0 +1,40 @@ +#!/usr/bin/python +# Copyright (C) 2021-2022 Daiki Ueno +# SPDX-License-Identifier: LGPL-2.1-or-later + +import argparse +import cligen.package +import cligen.types +import cligen.code +import json + + +parser = argparse.ArgumentParser(description='generate option parsing code') +parser.add_argument('json', type=argparse.FileType('r')) +parser.add_argument('c', type=argparse.FileType('w')) +parser.add_argument('h', type=argparse.FileType('w')) +parser.add_argument('--package', help='package', required=True) +parser.add_argument('--version', help='version', required=True) +parser.add_argument('--license', help='license') +parser.add_argument('--authors', help='authors') +parser.add_argument('--copyright-year', help='copyright year') +parser.add_argument('--copyright-holder', help='copyright holder') +parser.add_argument('--bug-email', help='bug report email address') + +args = parser.parse_args() +kwargs = { + 'name': args.package, + 'version': args.version +} +if args.license: + kwargs['license'] = args.license +if args.copyright_year: + kwargs['copyright_year'] = args.copyright_year +if args.copyright_holder: + kwargs['copyright_holder'] = args.copyright_holder +if args.bug_email: + kwargs['bug_email'] = args.bug_email +info = cligen.package.Info(**kwargs) +desc = cligen.types.Desc.from_json(json.load(args.json)) +cligen.code.generate_source(desc, info, args.c) +cligen.code.generate_header(desc, info, args.h) |