Add support for installing dependencies during extension packaging.

Review Request #8483 — Created Oct. 24, 2016 and submitted — Latest diff uploaded

Information

Djblets
release-0.9.x
28722d3...

Reviewers

The extension static media packaging code attempts to install
dependencies needed for the pipelining process. If *.less files are
provided, it will install LessCSS. If *.js files are provided, it will
install UglifyJS.

This solves one of the more annoying issues with extension packaging,
which is getting the right versions of the right dependencies going.

Subclasses can also augment the installation behavior by overriding
install_pipeline_deps().

Tested building an extension without having lessc or uglifyjs in
my path, and with a clean source tree. Verified the generated output
in the packages.

Tested with and without having npm in the path. Saw an error when it
wasn't found.

Tested the case of npm install ... failing.

    Loading...