BuildAPI: Use optional packages in Packages.GetTargetVersions.

Ran api/compile_build_api_proto.

BUG=chromium:1123192
TEST=manual, run_tests

Change-Id: I6400a72da12d0e5e1303d46001ae5af2ea70b88f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2390842
Tested-by: Michael Mortensen <mmortensen@google.com>
Commit-Queue: Michael Mortensen <mmortensen@google.com>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/packages.py b/api/controller/packages.py
index fa5500f..a33d72e 100644
--- a/api/controller/packages.py
+++ b/api/controller/packages.py
@@ -179,7 +179,16 @@
 
   # TODO(crbug/1019770): Investigate cases where builds_chrome is true but
   # chrome_version is None.
-  builds_chrome = packages.builds(constants.CHROME_CP, build_target)
+
+  # If input_proto.packages is empty, then the default set of packages will
+  # be used as defined in dependency.GetBuildDependency.
+  package_list = None
+  if input_proto.packages:
+    package_list = [
+        controller_util.PackageInfoToCPV(x) for x in input_proto.packages
+    ]
+  builds_chrome = packages.builds(constants.CHROME_CP, build_target,
+                                  packages=package_list)
   if builds_chrome:
     # Chrome version fetch.
     chrome_version = packages.determine_chrome_version(build_target)