Update source tree scanning to check SCMClient dependencies.

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

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.

Commits

Files