| # PolyGerrit |
| |
| ## Installing [Node.js](https://nodejs.org/en/download/) |
| |
| ```sh |
| # Debian/Ubuntu |
| sudo apt-get install nodejs-legacy |
| |
| # OS X with Homebrew |
| brew install node |
| ``` |
| |
| All other platforms: [download from |
| nodejs.org](https://nodejs.org/en/download/). |
| |
| ## Optional: installing [go](https://golang.org/) |
| |
| This is only required for running the ```run-server.sh``` script for testing. See below. |
| |
| ```sh |
| # Debian/Ubuntu |
| sudo apt-get install golang |
| |
| # OS X with Homebrew |
| brew install go |
| ``` |
| |
| All other platforms: [download from golang.org](https://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: |
| |
| ```sh |
| ./polygerrit-ui/run-server.sh |
| ``` |
| |
| Then visit http://localhost:8081 |
| |
| ## Local UI, Test Data |
| |
| One-time setup: |
| |
| 1. [Install Buck](https://gerrit-review.googlesource.com/Documentation/dev-buck.html#_installation) |
| for building Gerrit. |
| 2. [Build Gerrit](https://gerrit-review.googlesource.com/Documentation/dev-buck.html#_gerrit_development_war_file) |
| and set up a local test site. Docs |
| [here](https://gerrit-review.googlesource.com/Documentation/install-quick.html) and |
| [here](https://gerrit-review.googlesource.com/Documentation/dev-readme.html#init). |
| |
| When your project is set up and works using the classic UI, run a test server |
| that serves PolyGerrit: |
| |
| ```sh |
| 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: |
| |
| ```sh |
| # 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: |
| |
| ```sh |
| 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`: |
| |
| ```sh |
| 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: |
| |
| ```sh |
| ./polygerrit-ui/run-server.sh |
| ``` |
| |
| Then visit http://localhost:8081/elements/foo/bar_test.html |
| |
| ## Style guide |
| |
| We follow the [Google JavaScript Style Guide](https://google.github.io/styleguide/javascriptguide.xml) |
| with a few exceptions. When in doubt, remain consistent with the code around you. |