pw_env_setup: Check that submodules are present

Check that all submodules are present in the checkout, unless they're
listed as optional in the environment config file. Give commands for
checking out any required missing submodules.

Change-Id: I61e5313a0fda413cbca2cc7650a2982c3985f28e
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/49021
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Reviewed-by: Joe Ethier <jethier@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
2 files changed
tree: 0b89b2927cf08e1fcd2b1c936c4c485462327ea2
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_arduino_build/
  7. pw_assert/
  8. pw_assert_basic/
  9. pw_assert_log/
  10. pw_base64/
  11. pw_bloat/
  12. pw_blob_store/
  13. pw_boot_armv7m/
  14. pw_build/
  15. pw_bytes/
  16. pw_checksum/
  17. pw_chrono/
  18. pw_chrono_embos/
  19. pw_chrono_freertos/
  20. pw_chrono_stl/
  21. pw_chrono_threadx/
  22. pw_cli/
  23. pw_console/
  24. pw_containers/
  25. pw_cpu_exception/
  26. pw_cpu_exception_cortex_m/
  27. pw_docgen/
  28. pw_doctor/
  29. pw_env_setup/
  30. pw_function/
  31. pw_fuzzer/
  32. pw_hdlc/
  33. pw_hex_dump/
  34. pw_i2c/
  35. pw_interrupt/
  36. pw_interrupt_cortex_m/
  37. pw_kvs/
  38. pw_libc/
  39. pw_log/
  40. pw_log_basic/
  41. pw_log_multisink/
  42. pw_log_null/
  43. pw_log_rpc/
  44. pw_log_sink/
  45. pw_log_tokenized/
  46. pw_malloc/
  47. pw_malloc_freelist/
  48. pw_metric/
  49. pw_minimal_cpp_stdlib/
  50. pw_module/
  51. pw_multisink/
  52. pw_package/
  53. pw_persistent_ram/
  54. pw_polyfill/
  55. pw_preprocessor/
  56. pw_presubmit/
  57. pw_protobuf/
  58. pw_protobuf_compiler/
  59. pw_random/
  60. pw_result/
  61. pw_ring_buffer/
  62. pw_router/
  63. pw_rpc/
  64. pw_snapshot/
  65. pw_span/
  66. pw_status/
  67. pw_stm32cube_build/
  68. pw_stream/
  69. pw_string/
  70. pw_sync/
  71. pw_sync_baremetal/
  72. pw_sync_embos/
  73. pw_sync_freertos/
  74. pw_sync_stl/
  75. pw_sync_threadx/
  76. pw_sys_io/
  77. pw_sys_io_arduino/
  78. pw_sys_io_baremetal_lm3s6965evb/
  79. pw_sys_io_baremetal_stm32f429/
  80. pw_sys_io_stdio/
  81. pw_target_runner/
  82. pw_thread/
  83. pw_thread_embos/
  84. pw_thread_freertos/
  85. pw_thread_stl/
  86. pw_thread_threadx/
  87. pw_tokenizer/
  88. pw_tool/
  89. pw_toolchain/
  90. pw_trace/
  91. pw_trace_tokenized/
  92. pw_transfer/
  93. pw_unit_test/
  94. pw_varint/
  95. pw_watch/
  96. pw_web_ui/
  97. targets/
  98. third_party/
  99. .bazelignore
  100. .bazelrc
  101. .clang-format
  102. .eslintrc.json
  103. .gitattributes
  104. .gitignore
  105. .gn
  106. .prettierrc.js
  107. .pylintrc
  108. activate.bat
  109. AUTHORS
  110. bootstrap.bat
  111. bootstrap.sh
  112. BUILD
  113. BUILD.gn
  114. BUILDCONFIG.gn
  115. CMakeLists.txt
  116. LICENSE
  117. modules.gni
  118. OWNERS
  119. package.json
  120. PW_PLUGINS
  121. README.md
  122. tsconfig.json
  123. WORKSPACE
  124. yarn.lock
README.md

See our website: http://pigweed.dev