dependency service: Cache dependency data.
Cache the dependency data to avoid repeated depgraph generation
on successive calls.
BUG=chromium:1086714
TEST=run_pytest
Change-Id: Id4747cab1f639ce76a92c805289c00edfdf9a05f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2411176
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/dependency.py b/api/controller/dependency.py
index fcf9750..338cfac 100644
--- a/api/controller/dependency.py
+++ b/api/controller/dependency.py
@@ -86,7 +86,8 @@
board = input_proto.build_target.name
sysroot_path = cros_build_lib.GetSysroot(board or None)
- packages = [controller_util.PackageInfoToCPV(x) for x in input_proto.packages]
+ packages = tuple(
+ controller_util.PackageInfoToCPV(x) for x in input_proto.packages)
json_map, sdk_json_map = dependency.GetBuildDependency(sysroot_path, board,
packages)