Make Review Board package develop mode install wheels/npm packages.

Review Request #8494 — Created Oct. 26, 2016 and submitted — Latest diff uploaded

Information

Review Board
release-3.0.x
58a805b...

Reviewers

This simplifies getting going with a Review Board source tree. Before,
Review Board would require a few steps to get set up, which included
installing running setup.py develop (and having everything in place to
compile Pillow and other modules), installing the packages in
dev-requirements.txt, and installing the required node modules. That was
a lot of steps, and caused problems for those getting started
(particularly as some complex dependencies are no longer shipped as
eggs).

Now, setup.py develop takes care of installing dependencies as wheels,
installing development packages, and installing modules from npm. It's a
far simpler process than we've had in the past.

Like in the accompanying Djblets change, the package dependencies now
live in a reviewboard.dependencies module. This will help simplify
things for us in some ways (such as with RBCommons packaging and
extension packaging).

The prepare-dev.py script has been updated to no longer install
modules itself, and to allow develop to do more work.

Used a new virtualenv consisting of just the Djblets source tree and
dependencies. Used a clean copy of the Review Board source tree. Ran
./setup.py develop and saw it install wheels and node modules. Ran
unit tests and they passed.

Created a new environment and installed Djblets into it. Then I set up
the Review Board tree using ./contrib/internal/prepare-dev.py and
repeated tests. Everything worked.