51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
"""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 <command> -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
|