
* npm_binary (download tarball packaged npm apps) * bower_archive (download a zip file, to be put in WORKSPACE) * bower_component (defining a bower library, with dependency ) * bower_component_bundle (zipping up libraries together) * js_component (insert plain js file into bower component bundle) * bower2bazel.py: run bower to find dependencies, generate a .bzl to define archives and define components Tested: python tools/js/bower2bazel.py -w lib/js/bower_archives.bzl -b \ lib/js/bower_components.bzl bazel build polygerrit-ui:components unzip -v bazel-bin/polygerrit-ui/components.zip > /tmp/baz buck build polygerrit-ui:polygerrit_components unzip -v buck-out/gen/polygerrit-ui/polygerrit_components/polygerrit_components.bower_components.zip > /tmp/buck diff /tmp/buck /tmp/baz The diff corresponds to newer file versions pinned through bower2bazel. Change-Id: I4f33914d4853bcf8afe78b4719d0e0e83b139031
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:
- Install Buck for building Gerrit.
- 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.