"""vxsdk-pkg modules This module provides package management utilities that track installed Vhex packages. It features : dependency support, package groups, install and uninstall scripts, and syncs your local Vhex instance with remote repositories to automatically upgrade packages. """ from core.logger import log from cli.pkg.search import pkg_search_cli_parse from cli.pkg.update import pkg_update_cli_parse from cli.pkg.clone import pkg_clone_cli_parse __VXSDK_MODULE_META__ = ( ['pkg'], "package manager for Vhex's project", r"""vxsdk package Package manager for Vhex SYNOPSIS: vxsdk pkg [ COMMAND ] [ OPTIONS ]... [ ARGS ]... COMMAND: search [ ARGS ]... Search project clone [ ARGS ]... Try to clone project update [ ARGS ]... Try to update project For more information about a specific command, try 'vxsdk pkg -h' """ ) def cli_validate(name): """ validate or not the subcommand name """ return name in __VXSDK_MODULE_META__[0] def cli_parse(argv): """ Vhex pacakge CLI parser entry """ if len(argv) > 2: if argv[1] == 'search': return pkg_search_cli_parse(argv[2:]) if argv[1] == 'clone': return pkg_clone_cli_parse(argv[2:]) if argv[1] == 'update': return pkg_update_cli_parse(argv[2:]) if '-h' in argv or '--help' in argv: log.user(__VXSDK_MODULE_META__[2]) return 0 log.error(__VXSDK_MODULE_META__[2]) return 84