Wyatt Allen c5794e442d Improve performance for unsupported languages
Applies a minor performance improvement when both sides of the diff are
labeled by an unsupported language. Previously, the GR-SYNTAX-LAYER
`process` method would needlessly traverse the entire diff when the
languages were not in the support map. With this change, the `process`
method resolves early in such a scenario.

Change-Id: I8e5ef9fa410facdd60ca33c234ced682ffb182d7
2016-08-05 15:05:32 -07:00
..
2016-07-25 13:47:30 -07:00
2016-08-01 12:16:57 -04:00

PolyGerrit

Installing Node.js

# Debian/Ubuntu
sudo apt-get install nodejs-legacy

# OS X with Homebrew
brew install node

All other platforms: download from nodejs.org.

Optional: installing go

This is only required for running the run-server.sh script for testing. See below.

# Debian/Ubuntu
sudo apt-get install golang

# OS X with Homebrew
brew install go

All other platforms: download from golang.org

Add [go] to your path

PATH=$PATH:/usr/local/go/bin

Local UI, Production Data

To test the local UI against gerrit-review.googlesource.com:

./polygerrit-ui/run-server.sh

Then visit http://localhost:8081

Local UI, Test Data

One-time setup:

  1. Install Buck for building Gerrit.
  2. Build Gerrit and set up a local test site. Docs here and here.

When your project is set up and works using the classic UI, run a test server that serves PolyGerrit:

buck build polygerrit && \
java -jar buck-out/gen/polygerrit/polygerrit.war daemon --polygerrit-dev \
-d ../gerrit_testsite --console-log --show-stack-trace

Running Tests

One-time setup:

# Debian/Ubuntu
sudo apt-get install npm

# OS X with Homebrew
brew install npm

# All platforms (including those above)
sudo npm install -g web-component-tester

Run all web tests:

buck test --no-results-cache --include web

The --no-results-cache flag prevents flaky test failures from being cached.

If you need to pass additional arguments to wct:

WCT_ARGS='-p --some-flag="foo bar"' buck test --no-results-cache --include web

For interactively working on a single test file, do the following:

./polygerrit-ui/run-server.sh

Then visit http://localhost:8081/elements/foo/bar_test.html

Style guide

We follow the Google JavaScript Style Guide with a few exceptions. When in doubt, remain consistent with the code around you.