pw_env_setup: Improve POSIX CLI output

This change updates the output of the bootstrap and env_setup scripts to
make it more detailed and prettier.

The POSIX-side improvements are handled here; Windows will come in a
follow-up change.

Example output:

  WELCOME TO...

 ▒█████▄   █▓  ▄███▒  ▒█    ▒█ ░▓████▒ ░▓████▒ ▒▓████▄
  ▒█░  █░ ░█▒ ██▒ ▀█▒ ▒█░ █ ▒█  ▒█   ▀  ▒█   ▀  ▒█  ▀█▌
  ▒█▄▄▄█░ ░█▒ █▓░ ▄▄░ ▒█░ █ ▒█  ▒███    ▒███    ░█   █▌
  ▒█▀     ░█░ ▓█   █▓ ░█░ █ ▒█  ▒█   ▄  ▒█   ▄  ░█  ▄█▌
  ▒█      ░█░ ░▓███▀   ▒█▓▀▓█░ ░▓████▒ ░▓████▒ ▒▓████▀

  BOOTSTRAP! Bootstrap may take a few minutes; please be patient.

Downloading and installing packages into local source directory:

  Setting up CIPD package manager...done
  Setting up Python environment.....done
  Setting up Pigweed host tools.....done
  Setting up Rust's cargo...........done

Activating environment (setting environment variables):

  Setting environment variables for CIPD package manager...done
  Setting environment variables for Python environment.....done
  Setting environment variables for Pigweed host tools.....done
  Setting environment variables for Rust's cargo...........skipped
    Note: Re-run bootstrap with PW_CARGO_SETUP=1 set in your environment
          to enable Rust.

Sanity checking the environment:

20200306 12:48:12 ℹ️  Pigweed environment passes all checks!

Environment looks good; you are ready to go!

To activate this environment in the future, run this in your terminal:

  . pw_env_setup/env_setup.sh

Bug: 143
Change-Id: If91457888cecfa117d5b8907c82c396413c640e8
5 files changed
tree: 48e8a357cb00041784c32274dcca7de9bd11fd93
  1. docs/
  2. pw_assert/
  3. pw_assert_basic/
  4. pw_base64/
  5. pw_bloat/
  6. pw_boot_armv7m/
  7. pw_build/
  8. pw_checksum/
  9. pw_cli/
  10. pw_containers/
  11. pw_cpu_exception/
  12. pw_cpu_exception_armv7m/
  13. pw_docgen/
  14. pw_doctor/
  15. pw_env_setup/
  16. pw_kvs/
  17. pw_log/
  18. pw_log_basic/
  19. pw_minimal_cpp_stdlib/
  20. pw_module/
  21. pw_polyfill/
  22. pw_preprocessor/
  23. pw_presubmit/
  24. pw_protobuf/
  25. pw_protobuf_compiler/
  26. pw_span/
  27. pw_status/
  28. pw_string/
  29. pw_sys_io/
  30. pw_sys_io_baremetal_stm32f429/
  31. pw_sys_io_stdio/
  32. pw_target_runner/
  33. pw_tokenizer/
  34. pw_toolchain/
  35. pw_unit_test/
  36. pw_varint/
  37. pw_watch/
  38. targets/
  39. .clang-format
  40. .gitignore
  41. .gn
  42. .pylintrc
  43. AUTHORS
  44. BUILD
  45. BUILD.gn
  46. BUILDCONFIG.gn
  47. CMakeLists.txt
  48. CODE_OF_CONDUCT.md
  49. CONTRIBUTING.md
  50. LICENSE
  51. modules.gni
  52. pw_vars_default.gni
  53. README.md
  54. WORKSPACE
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries--or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

Pigweed is in the early stages of development, and should be considered experimental. We’re continuing to evolve the platform and add new modules. We value developer feedback along the way.

Pigweed is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

Getting Started

If you'd like to get set up with Pigweed, please visit the setup guide, and then check out the Pigweed developer's guide for more information on how to get the most out of Pigweed.