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

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

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.

Description From Last Updated

Can you remove the django_version definition from reviewboard/__init__.py?

daviddavid

Docstring?

daviddavid

Docstring?

daviddavid

Docstring?

daviddavid

Docstring?

daviddavid

Docstring?

daviddavid

Docstring?

daviddavid

Docstring?

daviddavid

Col: 1 E402 module level import not at top of file

reviewbotreviewbot

Col: 1 E402 module level import not at top of file

reviewbotreviewbot

'reviewboard' imported but unused

reviewbotreviewbot

Why not super(...).initialize_options() ?

brenniebrennie

"Mercurial"

brenniebrennie

Col: 1 E402 module level import not at top of file

reviewbotreviewbot

Col: 1 E402 module level import not at top of file

reviewbotreviewbot

'reviewboard' imported but unused

reviewbotreviewbot

Col: 1 E402 module level import not at top of file

reviewbotreviewbot

'pkg_resources' imported but unused

reviewbotreviewbot

Col: 1 E402 module level import not at top of file

reviewbotreviewbot

Col: 1 E402 module level import not at top of file

reviewbotreviewbot

'reviewboard' imported but unused

reviewbotreviewbot
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/dependencies.py
        setup.py
        contrib/internal/prepare-dev.py
    
    Ignored Files:
        package.json
    
    
    
    Tool: Pyflakes
    Processed Files:
        reviewboard/dependencies.py
        setup.py
        contrib/internal/prepare-dev.py
    
    Ignored Files:
        package.json
    
    
  2. 
      
chipx86
david
  1. 
      
  2. Show all issues

    Can you remove the django_version definition from reviewboard/__init__.py?

  3. setup.py (Diff revision 1)
     
     
    Show all issues

    Docstring?

  4. setup.py (Diff revision 1)
     
     
    Show all issues

    Docstring?

  5. setup.py (Diff revision 1)
     
     
    Show all issues

    Docstring?

  6. setup.py (Diff revision 1)
     
     
    Show all issues

    Docstring?

  7. setup.py (Diff revision 1)
     
     
    Show all issues

    Docstring?

  8. setup.py (Diff revision 1)
     
     
    Show all issues

    Docstring?

  9. setup.py (Diff revision 1)
     
     
    Show all issues

    Docstring?

  10. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/__init__.py
        reviewboard/dependencies.py
        docs/releasenotes/conf.py
        contrib/internal/prepare-dev.py
        docs/manual/conf.py
        setup.py
    
    Ignored Files:
        package.json
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/__init__.py
        reviewboard/dependencies.py
        docs/releasenotes/conf.py
        contrib/internal/prepare-dev.py
        docs/manual/conf.py
        setup.py
    
    Ignored Files:
        package.json
    
    
  2. docs/manual/conf.py (Diff revision 2)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  3. docs/releasenotes/conf.py (Diff revision 2)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  4. reviewboard/__init__.py (Diff revision 2)
     
     
    Show all issues
     'reviewboard' imported but unused
    
  5. 
      
brennie
  1. 
      
  2. setup.py (Diff revision 2)
     
     
    Show all issues

    Why not super(...).initialize_options() ?

    1. The distutils base objects don't inherit from object, so you can't use super(). It's lame.

  3. setup.py (Diff revision 2)
     
     
    Show all issues

    "Mercurial"

    1. I'm referencing the package name here.

  4. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/__init__.py
        reviewboard/dependencies.py
        docs/releasenotes/conf.py
        contrib/internal/prepare-dev.py
        docs/manual/conf.py
        setup.py
    
    Ignored Files:
        package.json
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/__init__.py
        reviewboard/dependencies.py
        docs/releasenotes/conf.py
        contrib/internal/prepare-dev.py
        docs/manual/conf.py
        setup.py
    
    Ignored Files:
        package.json
    
    
  2. docs/manual/conf.py (Diff revision 3)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  3. docs/releasenotes/conf.py (Diff revision 3)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  4. reviewboard/__init__.py (Diff revision 3)
     
     
    Show all issues
     'reviewboard' imported but unused
    
  5. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/__init__.py
        reviewboard/dependencies.py
        docs/releasenotes/conf.py
        contrib/internal/build-media.py
        docs/manual/conf.py
        setup.py
        contrib/internal/prepare-dev.py
    
    Ignored Files:
        package.json
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/__init__.py
        reviewboard/dependencies.py
        docs/releasenotes/conf.py
        contrib/internal/build-media.py
        docs/manual/conf.py
        setup.py
        contrib/internal/prepare-dev.py
    
    Ignored Files:
        package.json
    
    
  2. contrib/internal/build-media.py (Diff revision 4)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  3. contrib/internal/build-media.py (Diff revision 4)
     
     
    Show all issues
     'pkg_resources' imported but unused
    
  4. docs/manual/conf.py (Diff revision 4)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  5. docs/releasenotes/conf.py (Diff revision 4)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  6. reviewboard/__init__.py (Diff revision 4)
     
     
    Show all issues
     'reviewboard' imported but unused
    
  7. 
      
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-3.0.x (47a4997)