示例#1
0
def main():
    parser = argparse.ArgumentParser("C# build helpers", add_help=False)

    common.add_config_option(parser)
    subparsers = parser.add_subparsers(description="Available helpers", dest="command")

    replacer = subparsers.add_parser(
        "replace", description="Regex replacement utility", parents=[parser]
    )
    packager = subparsers.add_parser(
        "package", description="Archive utility", parents=[parser]
    )
    post = subparsers.add_parser(
        "postbuild", description="Post build utility", parents=[parser]
    )
    burst_compiler = subparsers.add_parser(
        "burst_compile", description="Burst compiler utility", parents=[parser]
    )

    # args.command always contains None so add defaults
    replace.build_parser(replacer)
    replacer.set_defaults(run=replace.run)

    package.build_parser(packager)
    packager.set_defaults(run=package.run)

    postbuild.build_parser(post)
    post.set_defaults(run=postbuild.run)

    burst_compile.build_parser(burst_compiler)
    burst_compiler.set_defaults(run=burst_compile.run)

    parser.add_argument(
        "-h",
        "--help",
        action="help",
        help="Display this help and exit",
        default=argparse.SUPPRESS,
    )
    parser.add_argument("--dump-config", action="store", default=0, nargs="?")

    args = parser.parse_args()

    config = common.load_config(args.config)

    if args.dump_config != 0:
        if args.dump_config:
            with open(args.dump_config, "w") as file:
                json.dump(config, file, cls=JSONEncoder, indent=4)
        else:
            pprint.pprint(config)
        return

    with common.chdir(config.root):
        if hasattr(args, "run"):
            args.run(config, args)
        else:
            parser.print_help()
示例#2
0
def main():
    parser = argparse.ArgumentParser(description="Regex replacement utility")
    common.add_config_option(parser)
    build_parser(parser)

    args = parser.parse_args()

    config = common.load_config(args.config)
    with common.chdir(config.root):
        replace(config)
示例#3
0
def main():
    parser = argparse.ArgumentParser(description="Postbuild utility")
    common.add_config_option(parser)
    build_parser(parser)

    args = parser.parse_args()

    config = common.load_config(args.config)

    with common.chdir(config.root):
        run(config, args)