Merge branch 'stable-2.16' into stable-3.0
* stable-2.16:
Upgrade bazlets to build with 2.16.7 API
Change-Id: I218f0ea9084c7cab7ad79ff6004e92ac91783cdc
diff --git a/WORKSPACE b/WORKSPACE
index c001cbe..4825cd4 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "c827ba79413585ab9dfc1bbd0d7f609eedd6aa80",
+ commit = "51049da0140c58ee26f8285bca4393c5e43ce4a1",
#local_path = "/home/<user>/projects/bazlets",
)
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
index faebf4b..90208ce 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
@@ -17,15 +17,14 @@
import static com.google.gerrit.server.permissions.ChangePermission.READ;
import com.google.gerrit.common.data.SubmitRecord;
+import com.google.gerrit.exceptions.StorageException;
import com.google.gerrit.extensions.api.changes.RelatedChangeAndCommitInfo;
import com.google.gerrit.extensions.api.changes.RelatedChangesInfo;
import com.google.gerrit.extensions.api.changes.SubmitInput;
import com.google.gerrit.extensions.client.ChangeStatus;
import com.google.gerrit.extensions.restapi.AuthException;
-import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.account.Emails;
import com.google.gerrit.server.change.ChangeResource;
@@ -40,9 +39,7 @@
import com.google.gerrit.server.query.change.ChangeData;
import com.google.gerrit.server.restapi.change.GetRelated;
import com.google.gerrit.server.restapi.change.Submit;
-import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import java.io.IOException;
import java.util.List;
import java.util.Set;
@@ -57,8 +54,6 @@
@Inject AutomergeConfig config;
- @Inject Provider<ReviewDb> db;
-
@Inject private IdentifiedUser.GenericFactory factory;
@Inject GetRelated getRelated;
@@ -84,12 +79,11 @@
* @throws IOException
* @throws NoSuchChangeException
* @throws NoSuchProjectException
- * @throws OrmException
* @throws PermissionBackendException
*/
public boolean hasDependentReview(String project, int number)
- throws RestApiException, IOException, NoSuchChangeException, NoSuchProjectException,
- OrmException, PermissionBackendException {
+ throws IOException, NoSuchChangeException, NoSuchProjectException,
+ PermissionBackendException {
RevisionResource r = getRevisionResource(project, number);
RelatedChangesInfo related = getRelated.apply(r);
log.debug(String.format("Checking for related changes on review %d", number));
@@ -144,14 +138,11 @@
* @param project a change project
* @param change a change number
* @return true or false
- * @throws OrmException
*/
- public boolean isSubmittable(String project, int change) throws OrmException {
+ public boolean isSubmittable(String project, int change) {
ChangeData changeData =
changeDataFactory.create(
- db.get(),
- new Project.NameKey(project),
- new com.google.gerrit.reviewdb.client.Change.Id(change));
+ new Project.NameKey(project), new com.google.gerrit.reviewdb.client.Change.Id(change));
// For draft reviews, the patchSet must be set to avoid an NPE.
final List<SubmitRecord> cansubmit =
submitRuleEvaluatorFactory.create(SubmitRuleOptions.defaults()).evaluate(changeData);
@@ -171,15 +162,13 @@
submitter.apply(getRevisionResource(project, number), new SubmitInput());
}
- public RevisionResource getRevisionResource(String project, int changeNumber)
- throws RestApiException, OrmException, IOException {
+ public RevisionResource getRevisionResource(String project, int changeNumber) {
com.google.gerrit.reviewdb.client.Change.Id changeId =
new com.google.gerrit.reviewdb.client.Change.Id(changeNumber);
ChangeNotes notes = changeNotesFactory.createChecked(changeId);
try {
- permissionBackend.user(getBotUser()).change(notes).database(db).check(READ);
- ChangeData changeData =
- changeDataFactory.create(db.get(), new Project.NameKey(project), changeId);
+ permissionBackend.user(getBotUser()).change(notes).check(READ);
+ ChangeData changeData = changeDataFactory.create(new Project.NameKey(project), changeId);
RevisionResource r =
new RevisionResource(
@@ -198,7 +187,7 @@
throw new RuntimeException("No user found with email: " + config.getBotEmail());
}
return factory.create(ids.iterator().next());
- } catch (IOException | OrmException e) {
+ } catch (IOException | StorageException e) {
throw new RuntimeException("Unable to get account with email: " + config.getBotEmail(), e);
}
}
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
index b1e3c71..61ee2b5 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
@@ -22,7 +22,6 @@
import com.google.gerrit.extensions.common.ChangeInfo;
import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.extensions.restapi.RestApiException;
-import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.data.AccountAttribute;
import com.google.gerrit.server.data.ChangeAttribute;
import com.google.gerrit.server.events.ChangeEvent;
@@ -58,8 +57,6 @@
@Inject private AutomergeConfig config;
- @Inject Provider<ReviewDb> db;
-
@Inject GetRelated getRelated;
@Inject MergeUtil.Factory mergeUtilFactory;
diff --git a/src/test/java/com/criteo/gerrit/plugins/automerge/AutomaticMergerTest.java b/src/test/java/com/criteo/gerrit/plugins/automerge/AutomaticMergerTest.java
index 971659e..ed84b29 100644
--- a/src/test/java/com/criteo/gerrit/plugins/automerge/AutomaticMergerTest.java
+++ b/src/test/java/com/criteo/gerrit/plugins/automerge/AutomaticMergerTest.java
@@ -22,6 +22,7 @@
import com.google.gerrit.acceptance.PushOneCommit;
import com.google.gerrit.acceptance.TestAccount;
import com.google.gerrit.acceptance.TestPlugin;
+import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
import com.google.gerrit.extensions.api.changes.ChangeApi;
import com.google.gerrit.extensions.api.changes.Changes;
import com.google.gerrit.extensions.api.changes.ReviewInput;
@@ -30,8 +31,6 @@
import com.google.gerrit.reviewdb.client.AccountGroup;
import com.google.gerrit.server.account.externalids.ExternalIds;
import com.google.inject.Inject;
-import java.util.Arrays;
-import java.util.List;
import org.junit.Before;
import org.junit.Test;
@@ -45,6 +44,7 @@
private TestAccount botUser;
private TestAccount regularUser;
@Inject ExternalIds extIds;
+ @Inject RequestScopeOperations requestScopeOperations;
@Before
public void setup() throws Exception {
@@ -60,31 +60,32 @@
@Test
@GerritConfig(name = "automerge.botEmail", value = "botuser@mycompany.com")
public void changeReviewedShouldNotBeAutomaticallyMergedIfNotApproved() throws Exception {
- int changeNum = createChangeNum(user);
+ String changeId = createChange(user);
- assertThat(changesApi().id(changeNum).get().status).isEqualTo(ChangeStatus.NEW);
+ assertThat(changesApi().id(changeId).get().status).isEqualTo(ChangeStatus.NEW);
}
@Test
@GerritConfig(name = "automerge.botEmail", value = "botuser@mycompany.com")
public void changeReviewedShouldBeAutomaticallyMergedOnceApproved() throws Exception {
- int changeNum = createChangeNum(user);
- changesApi().id(changeNum).current().review(ReviewInput.approve());
+ String changeId = createChange(user);
+ changesApi().id(changeId).current().review(ReviewInput.approve());
- assertThat(changesApi().id(changeNum).get().status).isEqualTo(ChangeStatus.MERGED);
+ assertThat(changesApi().id(changeId).get().status).isEqualTo(ChangeStatus.MERGED);
}
@Test
@GerritConfig(name = "automerge.botEmail", value = "botuser@mycompany.com")
public void changeShouldBeAutomaticallyMergedByBotUser() throws Exception {
- int changeNum = createChangeNum(user);
- ChangeApi changeApi = changesApi().id(changeNum);
+ requestScopeOperations.setApiUser(regularUser.id());
+ String changeId = createChange(user);
+ ChangeApi changeApi = changesApi().id(changeId);
changeApi.current().review(ReviewInput.approve());
- ChangeInfo changeInfo = changeApi.get();
+ ChangeInfo changeInfo = gApi.changes().id(changeId).get();
assertThat(changeInfo.submitter).isNotNull();
- assertThat(changeInfo.submitter._accountId).isEqualTo(new Integer(botUser.id.get()));
- assertThat(changeInfo.submitter.email).isEqualTo(botUser.email);
+ assertThat(changeInfo.submitter._accountId).isEqualTo(new Integer(botUser.id().get()));
+ assertThat(changeInfo.submitter.email).isEqualTo(botUser.email());
}
private AccountGroup.UUID groupUUID(String name) {
@@ -92,19 +93,15 @@
}
private Changes changesApi() {
- setApiUser(regularUser);
return gApi.changes();
}
- private int createChangeNum(TestAccount user) throws Exception {
- List<String> msgs =
- Arrays.asList(createChangeAsUser("refs/for/master", user).getMessage().split("\n"));
- String changeUrl = msgs.get(msgs.size() - 1).trim().split(" ")[0];
- return Integer.parseInt(changeUrl.substring(changeUrl.lastIndexOf('/') + 1));
+ private String createChange(TestAccount user) throws Exception {
+ return createChangeAsUser("refs/for/master", user).getChangeId();
}
protected PushOneCommit.Result createChangeAsUser(String ref, TestAccount user) throws Exception {
- PushOneCommit.Result result = pushFactory.create(db, user.getIdent(), testRepo).to(ref);
+ PushOneCommit.Result result = pushFactory.create(user.newIdent(), testRepo).to(ref);
result.assertOkStatus();
return result;
}
diff --git a/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java b/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java
index 548ee49..a33f534 100644
--- a/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java
+++ b/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java
@@ -15,10 +15,8 @@
package com.criteo.gerrit.plugins.automerge;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import com.google.gerrit.server.config.SitePaths;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Paths;
import org.eclipse.jgit.lib.Config;
@@ -29,37 +27,29 @@
@Test
public void testGetDefaultConfig() throws IOException {
final Config conf = new Config();
- try {
- final SitePaths paths = new SitePaths(Paths.get("."));
+ final SitePaths paths = new SitePaths(Paths.get("."));
- final AutomergeConfig amconf = new AutomergeConfig(conf, paths);
+ final AutomergeConfig amconf = new AutomergeConfig(conf, paths);
- assertEquals(amconf.getBotEmail(), AutomergeConfig.getDefaultBotEmail());
- assertEquals(amconf.getTopicPrefix(), AutomergeConfig.getDefaultTopicPrefix());
- } catch (final FileNotFoundException e) {
- fail();
- }
+ assertEquals(amconf.getBotEmail(), AutomergeConfig.getDefaultBotEmail());
+ assertEquals(amconf.getTopicPrefix(), AutomergeConfig.getDefaultTopicPrefix());
}
@Test
public void testGetValues() throws IOException {
final Config conf = new Config();
- try {
- final SitePaths paths = new SitePaths(Paths.get("."));
+ final SitePaths paths = new SitePaths(Paths.get("."));
- conf.setString(
- AutomergeConfig.AUTOMERGE_SECTION, null, AutomergeConfig.BOT_EMAIL_KEY, "Foo@bar.com");
- conf.setString(
- AutomergeConfig.AUTOMERGE_SECTION,
- null,
- AutomergeConfig.TOPIC_PREFIX_KEY,
- "fake_topic_prefix");
+ conf.setString(
+ AutomergeConfig.AUTOMERGE_SECTION, null, AutomergeConfig.BOT_EMAIL_KEY, "Foo@bar.com");
+ conf.setString(
+ AutomergeConfig.AUTOMERGE_SECTION,
+ null,
+ AutomergeConfig.TOPIC_PREFIX_KEY,
+ "fake_topic_prefix");
- final AutomergeConfig amconf = new AutomergeConfig(conf, paths);
- assertEquals(amconf.getBotEmail(), "Foo@bar.com");
- assertEquals(amconf.getTopicPrefix(), "fake_topic_prefix");
- } catch (final FileNotFoundException e) {
- fail();
- }
+ final AutomergeConfig amconf = new AutomergeConfig(conf, paths);
+ assertEquals(amconf.getBotEmail(), "Foo@bar.com");
+ assertEquals(amconf.getTopicPrefix(), "fake_topic_prefix");
}
}
diff --git a/tools/bzl/classpath.bzl b/tools/bzl/classpath.bzl
index d5764f7..c921d01 100644
--- a/tools/bzl/classpath.bzl
+++ b/tools/bzl/classpath.bzl
@@ -1,4 +1,6 @@
load(
"@com_googlesource_gerrit_bazlets//tools:classpath.bzl",
- "classpath_collector",
+ _classpath_collector = "classpath_collector",
)
+
+classpath_collector = _classpath_collector
diff --git a/tools/bzl/junit.bzl b/tools/bzl/junit.bzl
index 3af7e58..97307bd 100644
--- a/tools/bzl/junit.bzl
+++ b/tools/bzl/junit.bzl
@@ -1,4 +1,6 @@
load(
"@com_googlesource_gerrit_bazlets//tools:junit.bzl",
- "junit_tests",
+ _junit_tests = "junit_tests",
)
+
+junit_tests = _junit_tests
diff --git a/tools/bzl/plugin.bzl b/tools/bzl/plugin.bzl
index 0b25d23..4d2dbdd 100644
--- a/tools/bzl/plugin.bzl
+++ b/tools/bzl/plugin.bzl
@@ -1,6 +1,10 @@
load(
"@com_googlesource_gerrit_bazlets//:gerrit_plugin.bzl",
- "PLUGIN_DEPS",
- "PLUGIN_TEST_DEPS",
- "gerrit_plugin",
+ _gerrit_plugin = "gerrit_plugin",
+ _plugin_deps = "PLUGIN_DEPS",
+ _plugin_test_deps = "PLUGIN_TEST_DEPS",
)
+
+gerrit_plugin = _gerrit_plugin
+PLUGIN_DEPS = _plugin_deps
+PLUGIN_TEST_DEPS = _plugin_test_deps