pw_env_setup: Parse list of optional submodules

Parse out "optional_submodules" from the environment config file. Don't
do anything with this list yet—downstream projects need to be able to
add entries to this list before it starts to be enforced.

Change-Id: I590328537ab1b0068b7c734c05a2198b99ec1df0
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/49020
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Keir Mierle <keir@google.com>
diff --git a/pw_env_setup/py/pw_env_setup/env_setup.py b/pw_env_setup/py/pw_env_setup/env_setup.py
index 759de73..38f1e9b 100755
--- a/pw_env_setup/py/pw_env_setup/env_setup.py
+++ b/pw_env_setup/py/pw_env_setup/env_setup.py
@@ -183,6 +183,7 @@
         self._cipd_package_file = []
         self._virtualenv_requirements = []
         self._virtualenv_gn_targets = []
+        self._optional_submodules = []
 
         if config_file:
             self._parse_config_file(config_file)
@@ -229,6 +230,8 @@
     def _parse_config_file(self, config_file):
         config = json.load(config_file)
 
+        self._optional_submodules.extend(config.pop('optional_submodules', ()))
+
         self._cipd_package_file.extend(
             os.path.join(self._project_root, x)
             for x in config.pop('cipd_package_files', ()))