Add a registry for managing and looking up diff tools.

Review Request #12601 — Created Sept. 14, 2022 and submitted

chipx86
RBTools
release-4.x
12600
12602
rbtools

This implements DiffToolsRegistry, which tracks all available diff
tools. It can be used to look up registered tool classes and instantiate
available tool instances (which will be cached for reuse).

New tools can also be registered dynamically, though this isn't
something that will be useful outside of very specialized custom code.

When looking up available tools, it will instantiate each tool, set it
up and check for availability on the system, and then cache it.

If an available tool can't be found, a MissingDiffToolError will be
raised. This will contain a list of all tools tried, and any
instructions that candidate tools may provide.

Unit tests pass.

Used this with in-progress changes to SCMClients.

Summary
Add a registry for managing and looking up diff tools.
Description From Last Updated

Add a Version Added:.

maubinmaubin

Add a Version Added:.

maubinmaubin
maubin
  1. 
      
  2. Add a Version Added:.

    1. We usually don't put this for test case classes because it's not really API in the same way as other stuff.

    2. Ah ok.

  3. Add a Version Added:.

  4. 
      
david
  1. Ship It!
  2. 
      
chipx86
david
  1. Ship It!
  2. 
      
maubin
  1. Ship It!
  2. 
      
chipx86
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-4.x (f1dcfa7)
Loading...