This reworks the 'pw' single-file script into a proper Python module
with a setup.py and appropriate main() handling. It also splits the
'watch' command into a separate file.
This is the first step in adding more 'pw' subcommands.
Other minor tweaks:
- Drop coloredlogs dependency in favor of simpler solution
- Make level log component 3 characters only
- Change colors to better separate command output from logs
- Make a new "logdemo" command to illustrate all log levels
- Make a new "help" command to show top-level help
- Put some space around command output for visual separation
New 'pw help' output
--------------------
% pw help
▒█████▄ █▓ ▄███▒ ▒█ ▒█ ░▓████▒ ░▓████▒ ▒▓████▄
▒█░ █░ ░█▒ ██▒ ▀█▒ ▒█░ █ ▒█ ▒█ ▀ ▒█ ▀ ▒█ ▀█▌
▒█▄▄▄█░ ░█▒ █▓░ ▄▄░ ▒█░ █ ▒█ ▒███ ▒███ ░█ █▌
▒█▀ ░█░ ▓█ █▓ ░█░ █ ▒█ ▒█ ▄ ▒█ ▄ ░█ ▄█▌
▒█ ░█░ ░▓███▀ ▒█▓▀▓█░ ░▓████▒ ░▓████▒ ▒▓████▀
usage: pw [-h] {help,watch,logdemo} ...
The Pigweed command line interface (CLI)
Example uses:
pw watch Watch for changes and re-build
pw logdemo Show log examples
positional arguments:
{help,watch,logdemo} pw subcommand to run
help Show the Pigweed CLI help
watch Watch files for changes
logdemo Show how logs look at different levels
optional arguments:
-h, --help show this help message and exit
Change-Id: I8730f0fdd7fef91c4c4a5ba40e7251b45ee38b83
This change adds Pigweed's first few (incomplete) modules: pw_build,
pw_status, and pw_toolchain. The main scaffolding for Pigweed's GN-based
build system is also included, with a root BUILDCONFIG and BUILD.gn file
defining a top-level modules build target.
Change-Id: I09599443d50696343d6c5b85853cb5cee3ce0026