tree: a2b7d758143a2853facdf11a0bc055dfbb60ace4 [path history] [tgz]
  1. add-header.py
  2. dev-chrome.sh
  3. force-version.py
  4. mitm-docker.sh
  5. mitm-plugins.sh
  6. mitm-serve-app-dev.sh
  7. mitm-single-plugin.sh
  8. mitm-theme.sh
  9. README.md
  10. serve-app-dev.py
  11. serve-app-locally.py
contrib/mitm-ui/README.md

Scripts for PolyGerrit local development against prod using MitmProxy.

Installation (OSX)

  1. Install Docker from http://docker.com
  2. Start the proxy and create a new proxied browser instance
    cd ~/gerrit
    ~/mitm-gerrit/mitm-serve-app-dev.sh
    
  3. Make sure that the browser uses the proxy provided by the command line, e.g. if you are a Googler check that the BeyondCorp extension uses the “System/Alternative” proxy.
  4. Install MITM certificates
    • Open http://mitm.it in the proxied browser window
    • Follow the instructions to install MITM certs

Usage

Add or replace a single plugin containing static content

To develop unminified plugin that loads multiple files, use this.

  1. Create a new proxied browser window and start mitmproxy via Docker:
    ~/mitm-gerrit/mitm-single-plugin.sh ./path/to/static/plugin.html
    
  2. Open any *.googlesource.com domain in proxied window
  3. plugin.html and ./path/to/static/* will be served

Add or replace a minified plugin for *.googlesource.com

This flow assumes no additional .html/.js are needed, i.e. the plugin is a single file.

  1. Create a new proxied browser window and start mitmproxy via Docker:
    ~/mitm-gerrit/mitm-plugins.sh ./path/to/plugin.html,./maybe/one/more.js
    
  2. Open any *.googlesource.com domain in proxied window
  3. plugin.html and more.js are served

Force or replace default site theme for *.googlesource.com

  1. Create a new proxied browser window and start mitmproxy via Docker:
    ~/mitm-gerrit/mitm-theme.sh ./path/to/theme.html
    
  2. Open any *.googlesource.com domain in proxied window
  3. Default site themes are enabled.
  4. Local theme.html content replaces /static/gerrit-theme.html
  5. /static/* URLs are served from local theme directory, i.e. ./path/to/

Serve uncompiled PolyGerrit

  1. Create a new proxied browser window and start mitmproxy via Docker:
    cd ~/gerrit
    ~/mitm-gerrit/mitm-serve-app-dev.sh
    
  2. Open any *.googlesource.com domain in proxied window
  3. Instead of prod UI (gr-app.html, gr-app.js), local source files will be served