New review UI: Fix display of large avatar image in user popup panel

Hovering with the mouse over an avatar image opens a user popup panel
that shows additional information for this user. Beside the name and
the email address it is supposed to show a larger version of the
avatar image. This is important since the avatar images in the new
review UI (new change screen + new side-by-side diff screen) are very
tiny and the persons are difficult to recognize (note that currently
there are no user popups for the avatar images that are displayed for
reviewers and approvals, but only for change messages and inline
comments).

The avatar image in its default size is included in AccountInfo, but
if a different size was requested it didn't load the image from the
server. The problem was likely introduced by commit
edb9d2275cfbc5e4905e21786709bce51e7b9e00.

On the old review UI this works properly, so it's a regression with
the new review UI.

Change-Id: Iafa23377aa115ad4dfbe6c0fcd939bcf75b857f7
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Add basic test for PatchListCache that checks the returned patches

The tests cover the current behaviour. At the moment when two
patch sets are compared the returned file list may be incorrect and
contain too many files. This is the case if the old patch set contains
modifications that were reverted in the new patch set or if there was
a rebase between the two patch sets that touched files that are not
contained in the new patch set. As commented in the tests they check
the current behaviour which is incorrect. The problems will be fixed
in a follow-up change that then adapts these tests to check the
correct behaviour.

Change-Id: I1ed59dc25a40a8de4b28f824187e37983fac1072
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Remove unused TreeWalk in PatchListLoader

Change-Id: I6ad54e54fceb2d80fb4be70ea31cddf942f6aefd
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Limit file list to files that were touched in new patch set

When comparing two patch sets only files that were touched in the new
patch set should be listed. At the moment the file list contains all
files that were changed between the commits of the compared patch sets.

E.g. if a rebase was done which touched many files this made the patch
set comparison pretty useless since the file list grew way too big.

Change-Id: I6c512a69d8632a4ce57ef23928411bf0829aeb70
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Move gerrit.war from api_{install,deploy} to war_{install,deploy}

I22c8d3339 added unconditionally installation of gerrit.war to API install
process.  Because it depends on '//:release' target all core plugins,
documentation and optimized permutations of all supported GWT client
agents must be built to update a new version of plugin API.

In some cases it cannot be built at all, i.e. if Gerrit tree was cloned
non-recursively, and core plugins are not available.

Very repetitive tasks in development process like building new version of
plugin API that other plugins depend on should be very easy and fast doable.

Decouple installation and deployment of gerrit.war in its own targets:

  $ buck build war_{install,deploy}

Change-Id: I7fce3b126621580dde43104aa811d704cf6e8997
Don't use VerticalPanel to align web links of parent commits

Change-Id: I9c547731cc0a77610501927dbe79e647ef1ba6dd
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Use allow/block/deny methods to improve test readability

The readability of permission based tests is improved by introducing
the utility methods: allow, block, deny. Instead of:

  grant(cfg, PUSH, REGISTERED_USERS, "refs/heads/*");
  grant(cfg, FORGE_COMMITTER, ANONYMOUS_USERS, "refs/heads/*").setBlock(true);
  grant(cfg, READ, REGISTERED_USERS, "refs/*").setDeny(true);

we now use:

  allow(cfg, PUSH, REGISTERED_USERS, "refs/heads/*");
  block(cfg, FORGE_COMMITTER, ANONYMOUS_USERS, "refs/heads/*");
  deny(cfg, READ, REGISTERED_USERS, "refs/*");

Usage of "allow/block/deny" also resembles the corresponding drop-down
list from the permission editor UI.

Change-Id: I0de1a9f7014fc2ff48bebff1ecc894c8b80ad682
Merge "Don't use VerticalPanel to align web links of parent commits" into stable-2.9
Migrate Changes#query and Projects#list to a more fluent interface

This syntax allows more compact userland code.
Thanks to Dave Borowitz for this suggestion.

Example:
  changes.query("is:open")
    .withLimit(5)
    .get();

Change-Id: I676e58c5d50c5599908df19f9384cc1e6d2aed8e
Merge changes I6c512a69,I6ad54e54,I1ed59dc2 into stable-2.9

* changes:
  Limit file list to files that were touched in new patch set
  Remove unused TreeWalk in PatchListLoader
  Add basic test for PatchListCache that checks the returned patches
Merge branch 'stable-2.9'

* stable-2.9:
  Don't use VerticalPanel to align web links of parent commits
  Limit file list to files that were touched in new patch set
  Remove unused TreeWalk in PatchListLoader
  Add basic test for PatchListCache that checks the returned patches

Conflicts:
	gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java

Change-Id: I6879500a2055630a6550065397488d3fb054213b
Convert ChangeInfoMapper to a pure function

There is no need to specify the list of options; these were already
passed to whatever method produced the ChangeJson.ChangeInfos. Just
copy all present fields.

Change-Id: I27b842720a7ea8ef201d30fab5857783d6beab77
Implement Changes.query() method

Change-Id: If5fbc81dab654537503337fb4243dda3fa4927b4
DirectChangeByCommit: Use Changes query API

Change-Id: I1acd51b473690d08b64782028c2331563ceb0b22
Merge "New review UI: Fix display of large avatar image in user popup panel" into stable-2.9
Merge "Move gerrit.war from api_{install,deploy} to war_{install,deploy}" into stable-2.9
Fix GitWeb link for parent commits

The href was used as link name, and the link name was used as href.

Bug: issue 2672
Change-Id: I6770d60fd7f804f39a1a906e00e7e32f0367f209
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Merge branch 'stable-2.9'

* stable-2.9:
  Fix GitWeb link for parent commits
  Move gerrit.war from api_{install,deploy} to war_{install,deploy}
  New review UI: Fix display of large avatar image in user popup panel

Conflicts:
	.buckconfig

Change-Id: I3ec139fb5b95fc443be834fba8866528e7a51ab2
Fix bad style name

The style applied to the div that shows the commit label was named
'mergeCommit', but it is always used, also if no merge commit is
displayed.

Change-Id: Id61d3643faca497a248e14ad4d7ff3a981bd9bce
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
Add meta-data to archetype poms

In order to be able to publish the Maven archetypes to Maven Central
the pom files are required to contain elements with meta-data [1].
Having these elements doesn't have any effect on the normal build.

As developers only the maintainers are listed. This is the same what
other projects do, e.g. JGit.

In addition to the required elements also information about the
mailing list and the issue tracker are included.

[1] https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-6.CentralSyncRequirement

Change-Id: Ia1fd174fcc15d08af44cd8a788ef9cdcb1df5a60
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>