Deprecate and forward convenience imports in reviewboard.integrations.
Review Request #10513 — Created April 4, 2019 and submitted
reviewboard.integrationsprovided convenience imports for
get_integration_manager()and the baseIntegrationclass. These
ended up being a bad idea, because the imports needed for these ended up
interfering with Django app initialization.Now, both of these forward on to the versions in
reviewboard.integrations.base, showing a deprecation warning on use.
This will remain for Review Board 4.0, and are planned to be removed in
5.0.To handle the deprecation of the
Integrationclass, we use a metaclass
that will handle the construction of any subclasses. It will reassign
the parent toreviewboard.integrations.base.Integration. This
shouldn't break any subclasses, but could cause problems if anything is
trying to directly compare against the version in
reviewboard.integrations. As this is unlikely, and fixing this would
complicate things quite a bit, we won't be addressing it unless a
problem comes up somewhere.
Unit tests pass on Django 1.6 and 1.11 (with other in-progress changes).
Verified that older integrations were loading correctly on both versions
of Django.
| Summary | ID |
|---|---|
| 54b13993ff75e2f36052220710640a29f057ba9f |