pw_presubmit: support subproject CIPD manifests
Bug: 138
Change-Id: I33c466e84a2e6b5a71438f31f99ded454061291c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/12880
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
diff --git a/pw_presubmit/py/pw_presubmit/environment.py b/pw_presubmit/py/pw_presubmit/environment.py
index 68982d7..372b299 100644
--- a/pw_presubmit/py/pw_presubmit/environment.py
+++ b/pw_presubmit/py/pw_presubmit/environment.py
@@ -24,13 +24,14 @@
_LOG = logging.getLogger(__name__)
-def init_cipd(pigweed_root: Path, output_directory: Path) -> None:
+def init_cipd(
+ pigweed_root: Path,
+ output_directory: Path,
+ package_files: Iterable[Path] = ()) -> None:
"""Runs CIPD."""
# TODO(mohrr): invoke by importing rather than by subprocess.
- # TODO(pwbug/138): find way to support dependent project package files.
-
cmd = [
sys.executable,
pigweed_root.joinpath('pw_env_setup', 'py', 'pw_env_setup',
@@ -38,10 +39,12 @@
'--install-dir', output_directory,
] # yapf: disable
- package_files = pigweed_root.joinpath('pw_env_setup', 'py', 'pw_env_setup',
- 'cipd_setup').glob('*.json')
+ final_package_files = list(
+ pigweed_root.joinpath('pw_env_setup', 'py', 'pw_env_setup',
+ 'cipd_setup').glob('*.json'))
+ final_package_files.extend(package_files)
- for package_file in package_files:
+ for package_file in final_package_files:
cmd.extend(('--package-file', package_file))
call(*cmd)