Update source tree scanning to check SCMClient dependencies.

Review Request #12557 — Created Aug. 19, 2022 and submitted

Information

RBTools
release-4.x

Reviewers

scan_scmclients_for_path() now calls setup() on any SCMClients
scanned, tracking any dependencies that fail to be found. This ensures
that the clients are in a proper state and that we can provide useful
information if we fail to find a repository when there are dependency
errors present.

The code that invokes this for commands will output that list of failed
dependencies only if it can't find a match. Debug information continues
to show the dependency errors regardless.

Unit tests pass on Python 3.7-3.11.

Posted this change for review.

Tested posting a change in a non-repository with missing dependencies.
Saw the debug error log information and the visible error information
with the missing dependencies.

Summary ID
Update source tree scanning to check SCMClient dependencies.
`scan_scmclients_for_path()` now calls `setup()` on any SCMClients scanned, tracking any dependencies that fail to be found. This ensures that the clients are in a proper state and that we can provide useful information if we fail to find a repository when there are dependency errors present. The code that invokes this for commands will output that list of failed dependencies only if it can't find a match. Debug information continues to show the dependency errors regardless.
6859b63cd04d44477d11702f153038dbcf3229b0
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.x (4cfaba7)