Merge 'stable-2.12' * stable-2.12: Build with API version 2.12.4 Change-Id: I9dfe6edc4f91c0fc611d216cbed994788e5db598 Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/lib/gerrit/BUCK b/lib/gerrit/BUCK index a02c9a4..acb4718 100644 --- a/lib/gerrit/BUCK +++ b/lib/gerrit/BUCK
@@ -1,12 +1,11 @@ include_defs('//bucklets/maven_jar.bucklet') -VER = '2.12.4' -REPO = MAVEN_CENTRAL +VER = '2.13-SNAPSHOT' +REPO = MAVEN_LOCAL maven_jar( name = 'plugin-api', id = 'com.google.gerrit:gerrit-plugin-api:' + VER, - sha1 = 'aad189fe4f9fa5c3f8048b5e4972512b4b3e2a24', license = 'Apache2.0', attach_source = False, repository = REPO, @@ -15,7 +14,6 @@ maven_jar( name = 'gwtui-api', id = 'com.google.gerrit:gerrit-plugin-gwtui:' + VER, - sha1 = 'd57778f60399938f473254e97bf5de86885d48d0', license = 'Apache2.0', attach_source = False, repository = REPO,
diff --git a/pom.xml b/pom.xml index d120542..dfbc4fa 100644 --- a/pom.xml +++ b/pom.xml
@@ -21,7 +21,7 @@ <groupId>com.googlesource.gerrit.plugins.imagare</groupId> <artifactId>imagare</artifactId> <packaging>jar</packaging> - <version>2.12.4</version> + <version>2.13-SNAPSHOT</version> <name>imagare</name> <properties>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java index 2805ba4..7a6449e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java
@@ -14,7 +14,6 @@ package com.googlesource.gerrit.plugins.imagare; -import com.google.gerrit.common.ChangeHooks; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.ResourceConflictException; @@ -51,17 +50,16 @@ private final Provider<IdentifiedUser> self; private final GitRepositoryManager repoManager; private final GitReferenceUpdated referenceUpdated; - private final ChangeHooks hooks; @Inject - public DeleteImage(@PluginName String pluginName, Provider<IdentifiedUser> self, - GitRepositoryManager repoManager, GitReferenceUpdated referenceUpdated, - ChangeHooks hooks) { + public DeleteImage(@PluginName String pluginName, + Provider<IdentifiedUser> self, + GitRepositoryManager repoManager, + GitReferenceUpdated referenceUpdated) { this.pluginName = pluginName; this.self = self; this.repoManager = repoManager; this.referenceUpdated = referenceUpdated; - this.hooks = hooks; } @Override @@ -95,8 +93,7 @@ case NO_CHANGE: case FAST_FORWARD: case FORCED: - referenceUpdated.fire(rsrc.getProject(), u); - hooks.doRefUpdatedHook(rsrc.getBranchKey(), u, self.get().getAccount()); + referenceUpdated.fire(rsrc.getProject(), u, self.get().getAccount()); break; case REJECTED_CURRENT_BRANCH: @@ -113,7 +110,7 @@ private void validateOwnImage(Repository repo, String ref) throws IOException, ResourceNotFoundException, AuthException { - Ref r = repo.getRef(ref); + Ref r = repo.exactRef(ref); if (r == null) { throw new ResourceNotFoundException(ref); }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagareMenu.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagareMenu.java index 975c6ae..2dbc0a9 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagareMenu.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagareMenu.java
@@ -15,6 +15,7 @@ package com.googlesource.gerrit.plugins.imagare; import com.google.gerrit.extensions.annotations.PluginName; +import com.google.gerrit.extensions.client.MenuItem; import com.google.gerrit.extensions.webui.TopMenu; import com.google.gerrit.server.config.PluginConfig; import com.google.gerrit.server.config.PluginConfigFactory;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java index 4218fcc..69ef8d1 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
@@ -142,7 +142,7 @@ if (ObjectId.isId(rev)) { try (RevWalk rw = new RevWalk(repo)) { RevCommit commit = rw.parseCommit(repo.resolve(rev)); - if (!projectControl.canReadCommit(db.get(), rw, commit)) { + if (!projectControl.canReadCommit(db.get(), repo, commit)) { notFound(res); return; }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java index c41e75a..5b58590 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java
@@ -14,7 +14,6 @@ package com.googlesource.gerrit.plugins.imagare; -import com.google.gerrit.common.ChangeHooks; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.BadRequestException; @@ -23,7 +22,6 @@ import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestModifyView; -import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.mime.FileTypeRegistry; @@ -74,7 +72,6 @@ private final Provider<IdentifiedUser> self; private final GitRepositoryManager repoManager; private final GitReferenceUpdated referenceUpdated; - private final ChangeHooks hooks; private final PersonIdent myIdent; private final String canonicalWebUrl; private final Config cfg; @@ -82,17 +79,20 @@ private final String pluginName; @Inject - public PostImage(FileTypeRegistry registry, Provider<IdentifiedUser> self, - GitRepositoryManager repoManager, GitReferenceUpdated referenceUpdated, - ChangeHooks hooks, @GerritPersonIdent PersonIdent myIdent, - @CanonicalWebUrl String canonicalWebUrl, @GerritServerConfig Config cfg, - Provider<ReviewDb> db, @PluginName String pluginName) { + public PostImage(FileTypeRegistry registry, + Provider<IdentifiedUser> self, + GitRepositoryManager repoManager, + GitReferenceUpdated referenceUpdated, + @GerritPersonIdent PersonIdent myIdent, + @CanonicalWebUrl String canonicalWebUrl, + @GerritServerConfig Config cfg, + Provider<ReviewDb> db, + @PluginName String pluginName) { this.registry = registry; this.imageDataPattern = Pattern.compile("data:([\\w/.-]+);([\\w]+),(.*)"); this.self = self; this.repoManager = repoManager; this.referenceUpdated = referenceUpdated; - this.hooks = hooks; this.myIdent = myIdent; this.canonicalWebUrl = canonicalWebUrl; this.cfg = cfg; @@ -192,7 +192,7 @@ commitId = oi.insert(cb); oi.flush(); - if (!rc.canCreate(db.get(), rw, rw.parseCommit(commitId))) { + if (!rc.canCreate(db.get(), repo, rw.parseCommit(commitId))) { throw new AuthException(String.format( "Project %s doesn't allow image upload.", pc.getProject().getName())); } @@ -202,9 +202,8 @@ ru.setNewObjectId(commitId); ru.disableRefLog(); if (ru.update(rw) == RefUpdate.Result.NEW) { - referenceUpdated.fire(pc.getProject().getNameKey(), ru); - hooks.doRefUpdatedHook(new Branch.NameKey(pc.getProject() - .getNameKey(), ref), ru, self.get().getAccount()); + referenceUpdated.fire(pc.getProject().getNameKey(), ru, + self.get().getAccount()); } else { throw new IOException(String.format( "Failed to create ref %s in %s: %s", ref,
diff --git a/src/main/resources/Documentation/about.md b/src/main/resources/Documentation/about.md index 9279cb3..0ae87f3 100644 --- a/src/main/resources/Documentation/about.md +++ b/src/main/resources/Documentation/about.md
@@ -41,12 +41,12 @@ To configure an external image server the image server that comes with the plugin must be disabled. This is done by setting the -[enableImageServer](config.html#enable-image-server) to `false`. +[enableImageServer](config.md#enable-image-server) to `false`. A regular expression to match URLs of images that should be embedded -must be configured as [pattern](config.html#pattern). +must be configured as [pattern](config.md#pattern). -Optionally also a [URL for uploading images](config.html#upload-url) +Optionally also a [URL for uploading images](config.md#upload-url) can be defined. ```
diff --git a/src/main/resources/Documentation/rest-api-projects.md b/src/main/resources/Documentation/rest-api-projects.md index 9e738eb..cbd7f59 100644 --- a/src/main/resources/Documentation/rest-api-projects.md +++ b/src/main/resources/Documentation/rest-api-projects.md
@@ -22,7 +22,7 @@ [Create Reference](../../../Documentation/access-control.html#category_create) access right on the `refs/images/*` namespace of the project. -Only available if [image server is enabled](config.html#enable-image-server). +Only available if [image server is enabled](config.md#enable-image-server). #### Request @@ -52,7 +52,7 @@ granted the `Delete Own Images` global capability which allows deleting own images. -Only available if [image server is enabled](config.html#enable-image-server). +Only available if [image server is enabled](config.md#enable-image-server). #### Request
diff --git a/src/main/resources/static/imagare.js b/src/main/resources/static/imagare.js index 971becf..91bec6f 100644 --- a/src/main/resources/static/imagare.js +++ b/src/main/resources/static/imagare.js
@@ -13,24 +13,20 @@ // limitations under the License. Gerrit.install(function(self) { - function onHistory(t) { - if (!startsWith(t, "/c/")) { - return; - } - + function onComment(e) { var prefs = getPrefsFromCookie(); if (prefs !== null) { - convertImageLinks(prefs); + convertImageLinks(getLinks(e), prefs); } else { Gerrit.get('/accounts/self/' + self.getPluginName() + '~preference', function(prefs) { storePrefsInCookie(prefs); - convertImageLinks(prefs); + convertImageLinks(getLinks(e), prefs); }); } } - function startsWith(s, p) { - return s.slice(0, p.length) == p; + function getLinks(e) { + return e.getElementsByTagName("a"); } function storePrefsInCookie(prefs) { @@ -64,20 +60,19 @@ return self.getPluginName() + "~prefs"; } - function convertImageLinks(prefs) { + function convertImageLinks(l, prefs) { if (!prefs.pattern) { return; } if ('TOOLTIP' === prefs.link_decoration) { - addTooltips(prefs.pattern); + addTooltips(l, prefs.pattern); } else if ('INLINE' === prefs.link_decoration) { - inlineImages(prefs.pattern); + inlineImages(l, prefs.pattern); } } - function inlineImages(pattern) { - var l = document.links; + function inlineImages(l, pattern) { for(var i = 0; i < l.length; i++) { if (l[i].href.match(pattern)) { var a = document.createElement('a'); @@ -92,7 +87,6 @@ } function addTooltips(pattern) { - var l = document.links; for(var i = 0; i < l.length; i++) { if (l[i].href.match(pattern)) { l[i].onmouseover = function (evt) { @@ -108,5 +102,5 @@ } } - Gerrit.on('history', onHistory); + Gerrit.on('comment', onComment); });