• 
      

    Add support for installing dependencies during extension packaging.

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

    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.

    Description From Last Updated

    Won't npm create this?

    daviddavid
    reviewbot
    1. Tool: PEP8 Style Checker
      Processed Files:
          djblets/extensions/packaging.py
      
      
      
      Tool: Pyflakes
      Processed Files:
          djblets/extensions/packaging.py
      
      
    2. 
        
    david
    1. 
        
    2. djblets/extensions/packaging.py (Diff revision 1)
       
       
       
      Show all issues

      Won't npm create this?

      1. One would think. Turns out if you don't have a package.json, it doesn't seem to want to do this. Instead, it walks up the tree and tries to find a place to put it. For me, it found a ~/node_modules, and put it there instead. By forcing the existence of this directory, we can force it to install in the correct location.

    3. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-0.9.x (db2579a)