Add lazy-lookup for static files and help for static packaging failures.

Review Request #8418 — Created Sept. 19, 2016 and submitted — Latest diff uploaded

Information

Djblets
release-0.10.x
93626fd...

Reviewers

We had a regression when packaging Review Board extensions that was
traced to the use of static() in a class definition. This ended up
initializing some static media support before the extension packaging
code could set some state.

There's now some helpful output for this type of failure that gives the
caller some info on what may have gone wrong and how to remedy it. It
includes a reference to a new method, static_lazy().

static_lazy() works like static(), but lazily evaluates when needed,
instead of immediately. This is safe to use in class definitions, global
variables, etc., and helps prevent the kind of regression we hit.

Tested the failure case and saw the more useful error output.

Switched code to use static_lazy(), and the problem went away.

    Loading...