* changes:
Support deps for bower_component rules
Update polygerrit-ui/README.md with some developer scenarios
Serve bower_components from buck-out with --polygerrit-dev
This also re-introduces app-theme.html that we will use for general
color choices and any other CSS vars that should be shared. In the
future it should be separated into two different files: one for
theming and one for UI layout that we'd prefer users not to change.
The use of ems and rems is for the responsive layout. In the case
that the font size changes as a result of the window changing size,
the margins/padding should be relative to that font size, not absolute.
Not everything was fixed to be relative sizing. That will come in a
further change as the UI is more fleshed out.
Change-Id: I5a0e7cb6e46a4ca4e1ea52c71c9b7c75f1b42608
Combine bower components by unzipping their bower_components
directories including transitive dependencies over each other.
Change-Id: Ib1792ba0b17999b7df60babf6ce6a59c292c3eca
Computed bindings are recomputed (say, on a model update), when the
arguments to the computation function change. Since no arguments were
being passed to changeURL(), it was only being computed once.
In order to maintain a clean API for external callers, move changeURL
from a function to a computed property. This way the caller doesn't
have to pass in the change number but it still updates when the change
number does.
Bug: Issue 3689
Change-Id: I92a659b3c917f77d4e212c98af7c763174756074
* changes:
Daemon: Add flag to force PolyGerrit development mode
Add polygerrit.war target to build only PolyGerrit UI
Buck: Package PolyGerrit in gerrit.war
Vulcanize PolyGerrit in Buck build
Also some small additional changes as well:
+ Correct some :host selectors that were causing issues when Shadow DOM
was used instead of Shady DOM.
+ Two of the same revisions should not be shown in side-by-side view.
When two are specified via the url as /N..N/ redirect to /N/.
+ Added header to the diff view to give context and allow the user to
go back to the top-level change.
Feature: Issue 3676
Feature: Issue 3648
Feature: Issue 3649
Change-Id: Ib39bb7cb2eab26740f80971d4e00d579a2e08b0b
Iron-ajax 1.0.9 added `json-prefix` attribute handling that we need for
vulcanized PolyGerrit to work.
Change-Id: I7ffb545f1d54faab1fdd54088311d48c45f2f129
With Buck, we won't easily be able to follow the <!-- build:js -->
directive in index.html to combine multiple .js files into a single
app.js. Instead, move those includes into the top-level component
gr-app.html, so vulcanize will simply inline them. This leaves
index.html as a simple unvulcanized shim that will just load the
polyfills and the top-level app.
After this change, we can vulcanize gr-app.html and just swap out one
path in index.html, otherwise serving it as-is.
Change-Id: I782c4bbd259c03c2d7e2d33342462510a91f32e3
Add support for downloading npm binaries including dependencies and
running them in buck genrules. In npm land, transitive dependencies
are generally included in the package distribution, and there are a
*lot* of them. Since we aren't redistributing these binaries and
they're only part of the build process, we don't have to worry too
much about licensing, only that they don't have anything totally
crazy.
We assume packages have a certain format and we can detect the binary
to run from the genrule output filename. Actually running the binary
is tricky as well, since we have to extract it first. But it might be
large, so we don't want to extract it on every invocation; and naive
extraction to a common location (in buck-out) is racy. So we need a
custom extractor scheme using atomic rename to make this work.
Download bower as an npm package and use it to download bower
packages. Bower packages can come from a variety of sources, usually
git repositories, so we can't simply use download_file. There is
additional logic in bower to read bower.json and strip out unneeded
files, so I didn't want to get into reimplementing that. The tricky
thing about bower is convincing it to avoid transitive dependencies so
we can let Buck handle parallelism and caching. To do this, we need to
read the package information from the upstream bower repository, and
explicitly ignore all listed dependencies when downloading.
We combine the flattened list of bower packages in a single
bower_components rule. It would be nice to have deps of each
bower_component so we didn't need to flatten these, but Buck genrules
don't have deps so this is a nonstarter. Considering we only expect to
have a single bower_components for the whole project, hopefully this
is not too onerous.
This change just gets us the bower_components directory. We still have
some work to do to use this from Gerrit. Plus even more work to
replace the gulpfile and actually package this stuff together into a
compiled JS app for the war distribution.
Change-Id: Id277d2d812ffcc3bce87ff00b5894bacdffc038e
This is the beginnings of an experimental new non-GWT web UI developed
using a modern JS web framework, http://www.polymer-project.org/. It
will coexist alongside the GWT UI until it is feature-complete.
The functionality of this change is light years from complete, with
a full laundry list of things that don't work. This change is simply
meant to get the starting work in and continue iteration afterward.
The contents of the polygerrit-ui directory started as the full tree of
https://github.com/andybons/polygerrit at 219f531, plus a few more
local changes since review started. In the future this directory will
be pruned, rearranged, and integrated with the Buck build.
Change-Id: Ifb6f5429e8031ee049225cdafa244ad1c21bf5b5