• 
      

    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)