• 
      

    Deprecate and forward convenience imports in reviewboard.integrations.

    Review Request #10513 — Created April 4, 2019 and submitted — Latest diff uploaded

    Information

    Review Board
    release-4.0.x

    Reviewers

    reviewboard.integrations provided convenience imports for
    get_integration_manager() and the base Integration class. 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 Integration class, we use a metaclass
    that will handle the construction of any subclasses. It will reassign
    the parent to reviewboard.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.

    Commits

    Files