Adapt to upstream changes - ChangeHooks is gone. Hooks are now invoked via the ref-update event. - The ref-update firing mechanism now needs the user - ProjectControl#canReadCommit now takes a Repository, not RevWalk - Repository#getRef is deprecated in favor of #exactRef The Buck build was already updated to build with 2.13-SNAPSHOT, but the pom.xml was still using 2.12-SNAPSHOT, so update that too. Change-Id: I3dd4b22c8ab3f8d12c0e787807e7fc1ca443c456
diff --git a/pom.xml b/pom.xml index b607858..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-SNAPSHOT</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/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,