Improve the documentation for Tool and Repository classes.

Review Request #10768 — Created Oct. 28, 2019 and submitted — Latest diff uploaded

Information

Review Board
release-4.0.x
eccfc69...

Reviewers

The Tool and Repository classes are pretty fundamental to the
product, but are a bit of a mess. Some upcoming work will be changing
these classes some, and it felt like a good time to make sure we had
properly brought this up to modern standards.

This change adds and rewrites documentation for these classes, making
types, exceptions, and behaviors a lot more clear. The classes and
methods can now be better understood when viewing the generated
documentation.

The next change in this series will rearrange some methods in the
Repository class in order to better keep the class organized going
forward.

Built the docs. Checked to make sure there weren't any build errors
or broken links.