Merge branch 'stable-3.0'

* stable-3.0:
  Upgrade bazlets to latest stable-2.15
  Upgrade bazlets to latest stable-2.14

Change-Id: I486af19bc6afa4053b9470ffe9628d73302d49ad
diff --git a/WORKSPACE b/WORKSPACE
index d8b188d..10952d1 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,24 +3,24 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "631205bc4f7903d3cf656a844cab2bfd6b03f246",
+    commit = "1ddb1d6c71b77972a89aa0a717f6250ef256d166",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
 # Release Plugin API
-load(
-    "@com_googlesource_gerrit_bazlets//:gerrit_api.bzl",
-    "gerrit_api",
-)
-
-# Snapshot Plugin API
 #load(
-#    "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl",
-#    "gerrit_api_maven_local",
+#    "@com_googlesource_gerrit_bazlets//:gerrit_api.bzl",
+#    "gerrit_api",
 #)
 
+# Snapshot Plugin API
+load(
+    "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl",
+    "gerrit_api_maven_local",
+)
+
 # Load release Plugin API
-gerrit_api()
+#gerrit_api()
 
 # Load snapshot Plugin API
-#gerrit_api_maven_local()
+gerrit_api_maven_local()
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java
index 7ee4c83..61406fa 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java
@@ -14,6 +14,7 @@
 
 package com.googlesource.gerrit.plugins.reviewers;
 
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.server.project.ProjectResource;
@@ -31,7 +32,8 @@
   }
 
   @Override
-  public List<ReviewerFilterSection> apply(ProjectResource resource) throws RestApiException {
-    return config.forProject(resource.getNameKey()).getReviewerFilterSections();
+  public Response<List<ReviewerFilterSection>> apply(ProjectResource resource)
+      throws RestApiException {
+    return Response.ok(config.forProject(resource.getNameKey()).getReviewerFilterSections());
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
index 5240bc8..9a3225a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
@@ -23,6 +23,7 @@
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
 import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestModifyView;
 import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
@@ -82,7 +83,7 @@
   }
 
   @Override
-  public List<ReviewerFilterSection> apply(ProjectResource rsrc, Input input)
+  public Response<List<ReviewerFilterSection>> apply(ProjectResource rsrc, Input input)
       throws RestApiException, PermissionBackendException {
     Project.NameKey projectName = rsrc.getNameKey();
     ReviewersConfig.ForProject cfg = config.forProject(projectName);
@@ -142,7 +143,7 @@
     } catch (IOException err) {
       throw new ResourceNotFoundException(projectName.get(), err);
     }
-    return cfg.getReviewerFilterSections();
+    return Response.ok(cfg.getReviewerFilterSections());
   }
 
   private void validateReviewer(String reviewer) throws RestApiException {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java
index c2eae68..956c032 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java
@@ -44,6 +44,7 @@
 import com.google.inject.Singleton;
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.Future;
 
 @Singleton
 class Reviewers
@@ -158,7 +159,8 @@
           byConfigFactory.create(
               c, resolver.resolve(reviewers, projectName, changeNumber, uploader));
 
-      workQueue.getDefaultQueue().submit(task);
+      @SuppressWarnings("unused")
+      Future<?> ignored = workQueue.getDefaultQueue().submit(task);
     } catch (QueryParseException e) {
       logger.atWarning().log(
           "Could not add default reviewers for change %d of project %s, filter is invalid: %s",
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
index 7556553..5034afe 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
@@ -91,7 +91,7 @@
     try {
       AccountResolver.Result result = accountResolver.resolve(accountName);
       if (result.asList().size() == 1) {
-        Account.Id id = result.asList().get(0).getAccount().getId();
+        Account.Id id = result.asList().get(0).getAccount().id();
         if (uploader == null || id.get() != uploader._accountId) {
           reviewers.add(id);
           return true;
@@ -117,7 +117,7 @@
           groupMembers.listAccounts(groupResolver.get().parse(group).getGroupUUID(), project)
               .stream()
               .filter(Account::isActive)
-              .map(Account::getId)
+              .map(Account::id)
               .collect(toSet());
       reviewers.addAll(accounts);
     } catch (UnprocessableEntityException e) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
index 5329f7c..3ce2d61 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
@@ -15,9 +15,11 @@
 package com.googlesource.gerrit.plugins.reviewers;
 
 import com.google.gerrit.exceptions.StorageException;
+import com.google.gerrit.extensions.client.ReviewerState;
 import com.google.gerrit.extensions.common.AccountVisibility;
 import com.google.gerrit.extensions.common.SuggestedReviewerInfo;
 import com.google.gerrit.extensions.restapi.BadRequestException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.server.config.GerritServerConfig;
@@ -49,11 +51,12 @@
   }
 
   @Override
-  public List<SuggestedReviewerInfo> apply(ProjectResource rsrc)
+  public Response<List<SuggestedReviewerInfo>> apply(ProjectResource rsrc)
       throws BadRequestException, StorageException, IOException, ConfigInvalidException,
           PermissionBackendException {
-    return reviewersUtil.suggestReviewers(
-        null, this, rsrc.getProjectState(), getVisibility(rsrc), true);
+    return Response.ok(
+        reviewersUtil.suggestReviewers(
+            ReviewerState.REVIEWER, null, this, rsrc.getProjectState(), getVisibility(rsrc), true));
   }
 
   private VisibilityControl getVisibility(final ProjectResource rsrc) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersIT.java b/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersIT.java
index fdc7fe4..e0dd539 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersIT.java
@@ -15,7 +15,7 @@
 package com.googlesource.gerrit.plugins.reviewers;
 
 import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assert_;
+import static com.google.common.truth.Truth.assertWithMessage;
 import static com.google.gerrit.acceptance.GitUtil.fetch;
 import static com.google.gerrit.extensions.client.ReviewerState.REVIEWER;
 import static com.googlesource.gerrit.plugins.reviewers.ReviewersConfig.FILENAME;
@@ -29,9 +29,11 @@
 import com.google.gerrit.acceptance.NoHttpd;
 import com.google.gerrit.acceptance.TestAccount;
 import com.google.gerrit.acceptance.TestPlugin;
+import com.google.gerrit.acceptance.testsuite.project.ProjectOperations;
 import com.google.gerrit.extensions.common.AccountInfo;
-import com.google.gerrit.reviewdb.client.Branch;
+import com.google.gerrit.reviewdb.client.BranchNameKey;
 import com.google.gerrit.reviewdb.client.RefNames;
+import com.google.inject.Inject;
 import java.util.Collection;
 import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.revwalk.RevCommit;
@@ -41,6 +43,8 @@
 @NoHttpd
 @TestPlugin(name = "reviewers", sysModule = "com.googlesource.gerrit.plugins.reviewers.Module")
 public class ReviewersIT extends LightweightPluginDaemonTest {
+  @Inject private ProjectOperations projectOperations;
+
   @Before
   public void setUp() throws Exception {
     fetch(testRepo, RefNames.REFS_CONFIG + ":refs/heads/config");
@@ -49,7 +53,7 @@
 
   @Test
   public void addReviewers() throws Exception {
-    RevCommit oldHead = getRemoteHead();
+    RevCommit oldHead = projectOperations.project(project).getHead("master");
     TestAccount user2 = accountCreator.user2();
 
     Config cfg = new Config();
@@ -74,7 +78,7 @@
         Thread.sleep(10);
         wait += 10;
         if (wait > 100) {
-          assert_().fail("Timeout of 100 ms exceeded");
+          assertWithMessage("Timeout of 100 ms exceeded").fail();
         }
       }
     } while (reviewers == null);
@@ -86,7 +90,7 @@
 
   @Test
   public void addReviewersMatchMultipleSections() throws Exception {
-    RevCommit oldHead = getRemoteHead();
+    RevCommit oldHead = projectOperations.project(project).getHead("master");
     TestAccount user2 = accountCreator.user2();
 
     Config cfg = new Config();
@@ -111,7 +115,7 @@
         Thread.sleep(10);
         wait += 10;
         if (wait > 100) {
-          assert_().fail("Timeout of 100 ms exceeded");
+          assertWithMessage("Timeout of 100 ms exceeded").fail();
         }
       }
     } while (reviewers == null);
@@ -123,7 +127,7 @@
 
   @Test
   public void doNotAddReviewersFromNonMatchingFilters() throws Exception {
-    RevCommit oldHead = getRemoteHead();
+    RevCommit oldHead = projectOperations.project(project).getHead("master");
 
     Config cfg = new Config();
     cfg.setString(SECTION_FILTER, "branch:master", KEY_REVIEWER, user.email());
@@ -135,7 +139,7 @@
 
     testRepo.reset(oldHead);
 
-    createBranch(Branch.nameKey(project, "other-branch"));
+    createBranch(BranchNameKey.create(project, "other-branch"));
 
     // Create a change that matches the filter section.
     createChange("refs/for/master");
@@ -156,7 +160,7 @@
 
   @Test
   public void addReviewersFromMatchingFilters() throws Exception {
-    RevCommit oldHead = getRemoteHead();
+    RevCommit oldHead = projectOperations.project(project).getHead("master");
 
     Config cfg = new Config();
     cfg.setString(SECTION_FILTER, "branch:other-branch", KEY_REVIEWER, user.email());
@@ -168,7 +172,7 @@
 
     testRepo.reset(oldHead);
 
-    createBranch(Branch.nameKey(project, "other-branch"));
+    createBranch(BranchNameKey.create(project, "other-branch"));
 
     // Create a change that doesn't match the filter section.
     createChange("refs/for/master");