Overview

TODO under construction for zpm updates

see Quick Start for quick info.

zpm commands

  • TODO available options
  • TODO how to invoke
  • TODO typical output
  • TODO provide a sample pylint.rc

xplat-install

Install zpm and other cross-platform tools. No parameters accepted

  • TODO

env-install

  • install python virtualenv or ruby gems. options: fast (default), sync
  • TODO

ard-install

  • install arduino libraries from tools/arduino_reqmts.txt
  • TODO

clean

  • clean up all local files, python virtual environment, output files, etc. for the project.
  • TODO

install

  • Installs Python pip modules or ruby gems as needed for these scripts and project.
  • TODO

doc

  • For most projects runs doxygen. See out/doc/html/index.html for HTML version.
  • TODO
  • Use option "true" to generate a PDF, see out/ directory for it.
  • Some languages have their own documentation generator, for example ruby uses TODO.

check

  • Checks various aspects of the current setup e.g. package versions, existence of config files, contents of config files, etc.
  • TODO

lint

Run static analysis:

  • TODO
  • for python: pylint (default) or ruff
  • for ruby: rubocop
  • for C/C++ and Arduino: cppcheck (default) or clang-tidy
  • for 3D openscad projects: runs openscad which can report warnings and errors
  • for others (golang, flutter, perl): these are specific to those projects

mk-gen

  • generates cross-platform C/C++ and arduino makefiles using pyalamake
  • TODO
  • typically named gen.py
  • the makefile is specific to the current OS e.g. Makefile.ubuntu, Makefile.macos, Makefile.msys2

mk-build

  • builds C/C++ projects using the makefile for the current OS
  • TODO

mk-run

  • run the makefile with a target and any optional args provided
  • the makefile is specific to the current OS e.g. Makefile.ubuntu, Makefile.macos, Makefile.msys2
  • TODO

mk-upload

  • upload a makefile target. Uses xx-upload, where xx is the target given on CLI or the value in doit.mainline
  • TODO

cpip-pull

  • update local CPIP libraries
  • TODO

cpip-publish

  • push local code/libraries to remote CPIP
  • TODO

cpip-get

  • get CPIP library
  • TODO

doit

  • Run the app or sample code to run the module/library.
  • run the app or sample use of the module
  • All parameters are accepted.
  • TODO

ver

  • Run verification (if implemented) scripts.
  • most repos use medver-pytest
  • see medver tutorial for an example of how to set this up and run them
  • TODO

ut

Run unit tests (if implemented).

  • TODO
  • python: pytest
  • ruby: TODO ??
  • C/C++: GTest
  • arduino: GTest
  • other: depends on the specific project

ver-info

  • generate verification information. No parameters needed.
  • TODO

post-ver

  • post verification information, if any
  • TODO

publish

  • Publish a Python module to PyPi or ruby gem to rubygems.org
  • TODO
  • Does not exist or not implemented for applications or for C/C++ projects.
  • Note, I currently do have a way to publish to my website. These are listed here: CPIP. see cpip-publish below

coverage-reset

  • reset report coverage
  • TODO

coverage-run

  • report coverage
  • TODO

run

  • do general setup and then run the given script. Default is "doit"
  • TODO

setup-outdir

  • setup: create output directory
  • typically used in internal bash scripts
  • TODO

setup-clean-outsubdir

  • setup: clean outdir sub-directory
  • typically used in internal bash scripts
  • TODO

setup-gen-files

  • setup: gen files e.g. LICENSE.txt etc.
  • typically used in internal bash scripts
  • TODO
setup-gen-setup-cfg
  • setup: gen setup.cfg
  • typically used in internal bash scripts
  • TODO

- John Arrizza