Package: devpm
devpmDevelopment package managerUsagedevpm install - Install packages by devpackage.json in current directory which support config:vscodeDependencies for vscode extensionsvscodeUserSettings for edit vscode user settings filepythonDependencies for python modulesbashDependencies for custom bash scriptgitHooks for add git hooks likepre-commit,commit-msgdevpm pr - Create a Pull Requestdevpm cr - Create a Code Review, same todevpm prdevpm run [NAME] - Run [NAME] script in devpackage.jsondevpm lint - Run lint script in devpackage.json. Equal todevpm run lintdevpm test - Run test script in devpackage.json. Equal todevpm run testdevpm start - Run start script in devpackage.json. Equal todevpm run startdevpm stop - Run stop script in devpackage.json. Equal todevpm run stopdevpm restart - Run restart script in devpackage.json. Equal todevpm run restartdevpm version - Bump a package version and auto-gen CHANGELOG. (not yet finished)devpm --helpfor more details.devpackage.jsonvscodeDependenciesPackages installed by visutal studio code.
Key for vscode extension id, value forversion(1).
Version definition:"" (empty)          - install when not exists"latest"            - uninstall and install latest"1.0.0" (specified) - install when version mismatchedpythonDependenciesPackages installed by pip.
Key for pip name, value forversion, ses (1).bashDependenciesPackages installed by custom bash script.
Key for excutable name after installed, value is an object describes script in platforms.
The platform is from pythonsys.platform, include 'darwin', 'win32' and 'linux'.vscodeUserSettingsWrite to visual studio code user settingshttps://code.visualstudio.com/docs/getstarted/settings#_settings-file-locations.
Key and value format same to the user settings.
In addition, the value supportdevpm expression:$bash.which:[bin]- returns the bin path in system bywhich [bin]$pip.which:[bin]- returns the bin path in pip bypip show [bin]gitHooksWrite to git hooks for root project and it's git submodules. Support commit-msg, pre-commit.commit-msgtype(string) now is alwaysregexp, for custom regexp match.pattern(string) for the regexp pattern.tips(array) used to show tips when thecommit-msgmismatched, each item for one line.pre-committype(string) now is alwayspre-commit, use thepre-commitpluginhttps://pre-commit.com/.repos(array) content is same to '.pre-commit-config.yaml' but in json format.Example{"$schema":"https://raw.githubusercontent.com/wequick/devpm/main/devpackage.schema.json","vscodeDependencies":{"ms-vscode.cpptools-extension-pack":"","wequick.filegen":"","wequick.coverage-gutters":"","mine.cpplint":"","ms-python.pylint":""},"vscodeUserSettings":{"cpplint.cpplintPath":"$pip.which:cpplint","cmake.cmakePath":"$bash.which:cmake"},"pythonDependencies":{"gcovr":"4.2","cpplint":"1.6.1","pre-commit":"3.3.3"},"bashDependencies":{"OpenCppCoverage":{"win32":"https://github.com/OpenCppCoverage/OpenCppCoverage/releases/download/release-0.9.9.0/OpenCppCoverageSetup-x64-0.9.9.0.exe"},"cppcheck":{"win32":"https://github.com/danmar/cppcheck/releases/download/2.11/cppcheck-2.11-x64-Setup.msi","linux":"apt-get install cppcheck","darwin":"brew install cppcheck"}},"gitHooks":{"commit-msg":{"type":"regexp","pattern":["^(feat|fix|refactor|chore|test|style|docs)","^(Merge)"],"tips":["Invalid commit message style, please format as following:","  fix: some msg","  ^^^^              Type: feat|fix|refactor|chore|test|style|docs","       ^^^^^^^^     Summary in present tense","Type:","  feat     : new feature for the user, not a new feature for build script","  fix      : bug fix for the user, not a fix to a build script","  docs     : changes to the documentation","  style    : formatting, missing semi colons, etc; no production code change","  refactor : refactoring production code, eg. renaming a variable","  test     : adding missing tests, refactoring tests; no production code change","  chore    : updating grunt tasks etc; no production code change","","See <https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716> for more details.",""]},"pre-commit":{"type":"pre-commit","repos":[{"repo":"https://github.com/pocc/pre-commit-hooks","rev":"v1.3.5","hooks":[{"id":"cpplint"},{"id":"cppcheck","args":["--suppress=missingInclude","--suppress=missingIncludeSystem","--std=c++14","--force"]}]}]}},"scripts":{"prestart":"echo prestart","start":"echo prestart","poststart":"echo poststart","version":"devpm --version"}}Develop$pythonsrc/devpm/__main__.pyinstall