Merge branch 'stable-2.16'
* stable-2.16:
Upgrade bazlets to latest stable-2.16 to build with 2.16.8 API
Upgrade bazlets to latest stable-2.15 to build with 2.15.13 API
Change-Id: Ide4183d88f6606bcba403ed46e3c431c89a95afb
diff --git a/BUILD b/BUILD
index 0a62564..230e501 100644
--- a/BUILD
+++ b/BUILD
@@ -6,7 +6,7 @@
srcs = glob(["src/main/java/**/*.java"]),
manifest_entries = [
"Gerrit-PluginName: uploadvalidator",
- "Gerrit-ApiVersion: 2.16",
+ "Gerrit-ApiVersion: 3.0-SNAPSHOT",
"Gerrit-Module: com.googlesource.gerrit.plugins.uploadvalidator.Module",
],
resources = glob(["src/main/resources/**/*"]),
diff --git a/WORKSPACE b/WORKSPACE
index eb024c4..f127856 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "a5525ae2c43e61cf113dacc03691cb2bcf44fb12",
+ commit = "8808e401a9c68a02ae541c36a36dd672a171b7e7",
#local_path = "/home/<user>/projects/bazlets",
)
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java
index 6deb42c..7ee8f95 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java
@@ -23,7 +23,6 @@
import com.google.gerrit.server.config.PluginConfigFactory;
import com.google.gerrit.server.config.ProjectConfigEntry;
import com.google.gerrit.server.events.CommitReceivedEvent;
-import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.validators.CommitValidationException;
import com.google.gerrit.server.git.validators.CommitValidationListener;
import com.google.gerrit.server.git.validators.CommitValidationMessage;
@@ -69,18 +68,15 @@
public static final String KEY_ALLOWED_COMMITTER_EMAIL_PATTERN = "allowedCommitterEmailPattern";
private final String pluginName;
private final PluginConfigFactory cfgFactory;
- private final GitRepositoryManager repoManager;
private final ValidatorConfig validatorConfig;
@Inject
ChangeEmailValidator(
@PluginName String pluginName,
PluginConfigFactory cfgFactory,
- GitRepositoryManager repoManager,
ValidatorConfig validatorConfig) {
this.pluginName = pluginName;
this.cfgFactory = cfgFactory;
- this.repoManager = repoManager;
this.validatorConfig = validatorConfig;
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
index c4ae334..5630b48 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
@@ -15,7 +15,8 @@
package com.googlesource.gerrit.plugins.uploadvalidator;
import com.google.gerrit.common.Nullable;
-import com.google.gerrit.common.data.RefConfigSection;
+import com.google.gerrit.common.data.AccessSection;
+import com.google.gerrit.exceptions.StorageException;
import com.google.gerrit.extensions.annotations.Exports;
import com.google.gerrit.extensions.api.projects.ProjectConfigEntryType;
import com.google.gerrit.reviewdb.client.AccountGroup;
@@ -26,7 +27,6 @@
import com.google.gerrit.server.group.InternalGroup;
import com.google.gerrit.server.project.RefPatternMatcher;
import com.google.gerrit.server.query.group.InternalGroupQuery;
-import com.google.gwtorm.server.OrmException;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -103,7 +103,7 @@
PluginConfig config, String refKey, Project.NameKey projectName) {
boolean valid = true;
for (String refPattern : config.getStringList(refKey)) {
- if (!RefConfigSection.isValid(refPattern)) {
+ if (!AccessSection.isValidRefSectionName(refPattern)) {
log.error(
"Invalid {} name/pattern/regex '{}' in {} project's plugin config",
refKey,
@@ -177,8 +177,8 @@
private AccountGroup.UUID groupUUID(String groupNameOrUUID) {
Optional<InternalGroup> group =
- groupByNameFinder.get(new AccountGroup.NameKey(groupNameOrUUID));
- return group.map(InternalGroup::getGroupUUID).orElse(new AccountGroup.UUID(groupNameOrUUID));
+ groupByNameFinder.get(AccountGroup.nameKey(groupNameOrUUID));
+ return group.map(InternalGroup::getGroupUUID).orElse(AccountGroup.uuid(groupNameOrUUID));
}
interface GroupByNameFinder {
@@ -198,7 +198,7 @@
public Optional<InternalGroup> get(AccountGroup.NameKey groupName) {
try {
return groupQueryProvider.get().byName(groupName);
- } catch (OrmException e) {
+ } catch (StorageException e) {
log.warn(String.format("Cannot lookup group %s by name", groupName.get()), e);
}
return Optional.empty();
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 95c6775..e1cf169 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -307,7 +307,27 @@
Multiple values are supported.
Default: nobody is allowed to skip the rules (empty).
- NOTE: When skipGroup isn't defined, all the other skip settings are ignored.
+NOTE: When skipGroup isn't defined, all the other skip settings are ignored.
+
+NOTE: For [system groups](../../../Documentation/access-control.html#system_groups)
+and external groups (e.g.
+[LDAP groups](../../../Documentation/access-control.html#ldap_groups)) the use
+of UUIDs is required. This is because group names are resolved through the
+group index and the group index only contains Gerrit internal groups.
+
+Example for system group:
+
+```
+ [plugin "@PLUGIN@"]
+ skipGroup = global:Registered-Users
+```
+
+Example for external group:
+
+```
+ [plugin "@PLUGIN@"]
+ skipGroup = ldap:Foo
+```
plugin.@PLUGIN@.skipRef
: Ref name, pattern or regexp of the branch to skip.
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java
index 8bdb16c..32966c8 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
public class EmailAwareValidatorConfigTest {
- private Project.NameKey projectName = new Project.NameKey("testProject");
+ private Project.NameKey projectName = Project.nameKey("testProject");
private IdentifiedUser anyUser = new FakeUserProvider().get();
@Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java
index 390eeee..ff79961 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java
@@ -43,7 +43,7 @@
private IdentifiedUser createNew(String email) {
IdentifiedUser user = createMock(IdentifiedUser.class);
- Account account = new Account(new Account.Id(1), TimeUtil.nowTs());
+ Account account = new Account(Account.id(1), TimeUtil.nowTs());
account.setPreferredEmail(email);
expect(user.isIdentifiedUser()).andReturn(true);
expect(user.asIdentifiedUser()).andReturn(user);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java
index e6e1be7..a5e01c9 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
public class ProjectAwareValidatorConfigTest {
- private Project.NameKey projectName = new Project.NameKey("testProject");
+ private Project.NameKey projectName = Project.nameKey("testProject");
private IdentifiedUser anyUser = new FakeUserProvider().get();
@Test
@@ -66,7 +66,7 @@
"[plugin \"uploadvalidator\"]\n"
+ " project = test.*\n"
+ " blockedFileExtension = jar";
- Project.NameKey otherNameKey = new Project.NameKey("someOtherProject");
+ Project.NameKey otherNameKey = Project.nameKey("someOtherProject");
ValidatorConfig config = getConfig(configString, projectName);
ValidatorConfig config2 = getConfig(configString, otherNameKey);
@@ -83,8 +83,8 @@
+ " project = testProject\n"
+ " project = another.*\n"
+ " blockedFileExtension = jar";
- Project.NameKey anotherNameKey = new Project.NameKey("anotherProject");
- Project.NameKey someOtherNameKey = new Project.NameKey("someOtherProject");
+ Project.NameKey anotherNameKey = Project.nameKey("anotherProject");
+ Project.NameKey someOtherNameKey = Project.nameKey("someOtherProject");
ValidatorConfig config = getConfig(configString, projectName);
ValidatorConfig config2 = getConfig(configString, anotherNameKey);
ValidatorConfig config3 = getConfig(configString, someOtherNameKey);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java
index acc2bdc..2e400e1 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java
@@ -22,7 +22,7 @@
import org.junit.Test;
public class RefAwareValidatorConfigTest {
- private final Project.NameKey projectName = new Project.NameKey("testProject");
+ private final Project.NameKey projectName = Project.nameKey("testProject");
private final IdentifiedUser anyUser = new FakeUserProvider().get();
@Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java
index 56bf317..9e24432 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java
@@ -23,7 +23,7 @@
import org.junit.Test;
public class SkipValidationTest {
- private final Project.NameKey projectName = new Project.NameKey("testProject");
+ private final Project.NameKey projectName = Project.nameKey("testProject");
private final IdentifiedUser anyUser = new FakeUserProvider().get();
@Test
@@ -65,9 +65,9 @@
new FakeConfigFactory(projectName, config),
new FakeGroupByNameFinder(
new AccountGroup(
- new AccountGroup.NameKey("testGroupName"),
- new AccountGroup.Id(1),
- new AccountGroup.UUID("testGroupId"),
+ AccountGroup.nameKey("testGroupName"),
+ AccountGroup.id(1),
+ AccountGroup.uuid("testGroupId"),
TimeUtil.nowTs())));
assertThat(