Update to django-pipeline 1.6.6

Review Request #7946 — Created Feb. 5, 2016 and submitted

Information

Djblets
release-0.10.x
afbe322...

Reviewers

This change does the work necessary to move us to a modern django-pipeline.
This involves several independent but related pieces:
- Bump the dependency.
- Update existing templates to use the new pipeline templatetag library and
associated stylesheet and javascript tags.
- Add a compatibility library for third-party packages that still want to use
the old compressed tag library.
- Change settings.py to use the new PIPELINE structure and split out static
media into a staticbundles.py file.
- Make changes to everything that manipulates settings.PIPELINE* to use the
new settings mechanism.
- Make a few changes to the staticfiles finders and loaders to cope with
pipeline's "simplification".

This requires django-pipeline 1.6.6, which contains several patches to fix bugs
and add features that we need for this.

This also adds the very beginnings of 0.10 release notes to include
compatibility instructions when updating to use this.

  • Ran unit tests
  • Built a djblets package and verified that static media got compiled correctly.
  • Explored through the Review Board UI and checked that both the basic UI and
    extensions which shipped static media worked correctly.
  • Built an extension and saw that everything worked correctly.
Description From Last Updated

Are these settings a given now in Pipeline? Does it auto-create them? If not, we're going to need to deal …

chipx86chipx86

Alphabetical order.

chipx86chipx86

Removing these variables breaks backwards-compatibility. We need to set up aliases.

chipx86chipx86

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

reviewbotreviewbot

Missing period at the end of the line.

chipx86chipx86

Wonder if you could just do: register.tag('compressed_css', stylesheet) register.tag('compressed_js', javascript)

chipx86chipx86

<style> needs to be in literal backticks. Same below.

chipx86chipx86

Since I know there will be someone packaging this that wants a newer pipeline, let's have a comment saying why …

chipx86chipx86

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

reviewbotreviewbot

'find' imported but unused

reviewbotreviewbot

redefinition of unused 'find' from line 5

reviewbotreviewbot

'staticfiles_storage' imported but unused

reviewbotreviewbot

'render_to_string' imported but unused

reviewbotreviewbot

'mark_safe' imported but unused

reviewbotreviewbot

'pipeline_settings' imported but unused

reviewbotreviewbot

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

reviewbotreviewbot

Isnt this going to be SafeText? Same below.

brenniebrennie

Since we moved to pipeline always in RB, do we want to do the same here?

brenniebrennie

'datetime' imported but unused

reviewbotreviewbot

'cache' imported but unused

reviewbotreviewbot

'make_cache_key' imported but unused

reviewbotreviewbot

'datetime' imported but unused

reviewbotreviewbot

'cache' imported but unused

reviewbotreviewbot

'make_cache_key' imported but unused

reviewbotreviewbot
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
  2. djblets/settings.py (Diff revision 1)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  3. 
      
chipx86
  1. 
      
  2. djblets/extensions/manager.py (Diff revision 1)
     
     
     
     
     
     
    Show all issues

    Are these settings a given now in Pipeline? Does it auto-create them? If not, we're going to need to deal with that situation, and also deal with a client defining the old names.

    1. Yeah, there are default values for these.

      I'm not sure what you mean by "a client defining the old names". Can you clarify?

    2. Sorry, badly worded. I was thinking of the compatibility story of a consumer of Djblets not having updated these settings names, but this is covered by your response below.

  3. djblets/extensions/tests.py (Diff revision 1)
     
     
     
     
    Show all issues

    Alphabetical order.

  4. djblets/settings.py (Diff revision 1)
     
     
    Show all issues

    Removing these variables breaks backwards-compatibility. We need to set up aliases.

    1. So I understand the compatibility issue with extensions that might not know what version they're getting, but if someone is consuming djblets as a dependency, I think we can and ought to say "this major version comes with an updated pipeline, here's how you update your settings". Just having aliases for these isn't going to be sufficient to have everything magically work without updates.

    2. Okay. In that case, let's get a doc page together on upgrading to Djblets 0.10 where we touch upon this.

  5. djblets/util/templatetags/compressed.py (Diff revision 1)
     
     
    Show all issues

    Missing period at the end of the line.

  6. djblets/util/templatetags/compressed.py (Diff revision 1)
     
     
     
    Show all issues

    Wonder if you could just do:

    register.tag('compressed_css', stylesheet)
    register.tag('compressed_js', javascript)
    
  7. djblets/util/templatetags/compressed.py (Diff revision 1)
     
     
    Show all issues

    <style> needs to be in literal backticks.

    Same below.

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

    Since I know there will be someone packaging this that wants a newer pipeline, let's have a comment saying why we require exactly 1.6.0.

  9. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
  2. djblets/settings.py (Diff revision 2)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  3. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
  2. djblets/extensions/staticfiles.py (Diff revision 3)
     
     
    Show all issues
     'find' imported but unused
    
  3. djblets/extensions/staticfiles.py (Diff revision 3)
     
     
    Show all issues
     redefinition of unused 'find' from line 5
    
  4. Show all issues
     'staticfiles_storage' imported but unused
    
  5. Show all issues
     'render_to_string' imported but unused
    
  6. Show all issues
     'mark_safe' imported but unused
    
  7. Show all issues
     'pipeline_settings' imported but unused
    
  8. djblets/settings.py (Diff revision 3)
     
     
    Show all issues
    Col: 1
     E402 module level import not at top of file
    
  9. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
  2. 
      
brennie
  1. 
      
  2. Show all issues

    Isnt this going to be SafeText? Same below.

  3. djblets/settings.py (Diff revision 4)
     
     
    Show all issues

    Since we moved to pipeline always in RB, do we want to do the same here?

  4. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
  2. djblets/extensions/manager.py (Diff revision 5)
     
     
    Show all issues
     'datetime' imported but unused
    
  3. djblets/extensions/manager.py (Diff revision 5)
     
     
    Show all issues
     'cache' imported but unused
    
  4. djblets/extensions/manager.py (Diff revision 5)
     
     
    Show all issues
     'make_cache_key' imported but unused
    
  5. 
      
david
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        djblets/util/templatetags/tests.py
        djblets/extensions/staticfiles.py
        djblets/staticbundles.py
        djblets/extensions/templatetags/djblets_extensions.py
        djblets/extensions/manager.py
        djblets/extensions/packaging.py
        djblets/extensions/tests.py
        setup.py
        djblets/util/templatetags/compressed.py
        djblets/settings.py
        tests/settings.py
    
    Ignored Files:
        djblets/datagrid/templates/datagrid/datagrid.html
        djblets/forms/templates/djblets_forms/admin/change_form_page.html
        docs/releasenotes/0.10.rst
        djblets/configforms/templates/configforms/config.html
        djblets/extensions/templates/extensions/extension_list.html
    
    
  2. djblets/extensions/manager.py (Diff revision 6)
     
     
    Show all issues
     'datetime' imported but unused
    
  3. djblets/extensions/manager.py (Diff revision 6)
     
     
    Show all issues
     'cache' imported but unused
    
  4. djblets/extensions/manager.py (Diff revision 6)
     
     
    Show all issues
     'make_cache_key' imported but unused
    
  5. 
      
brennie
  1. Ship It!
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to release-0.10.x (756cce7)