Merge branch 'stable-2.14' into stable-2.15
* stable-2.14:
Fix label name generated by workskace-status.sh
Ignore /MERGE_LIST when looking for owners
Upgrade bazlets to latest stable-2.14 to build with 2.14.16 API
Align Eclipse compiler settings with core Gerrit's
Replace wildcard imports with explicit imports
Upgrade jackson to 2.9.7
bazlets: Replace native.git_repository with skylark rule
Upgrade bazlets to latest stable-2.14 to build with 2.14.15 API
Format all Bazel build files with buildifier
Migrate (i.e. move) `tools/bazel.rc` to `.bazelrc`
Update bazlets to latest stable-2.14 to build with 2.14.14 API
Update bazlets to latest stable-2.14 to build with 2.14.13 API
Fix names of build output jar files in README
Adjust to renamed dependencies in core
Update bazlets to latest revision on stable-2.14
Filter out inactive accounts in OWNERS
Bazel: Add standalone build mode
Does not include jackson-core in the final artifacts
Sync Jackson lib version with Gerrit
Fix owners dependencies
Remove duplicated build dependencies
Reformat build files
Remove Buck build
Fix config documentation
Fix Eclipse warnings
Cleanup .gitignore file
Eager initialize Owners Prolog Predicates
Consider name and e-mail matching edge cases
Batch sending mail when multiple reviewers added
Change-Id: I3c310a8eff7094ef4bd0c9bdb1fc2104b76dd835
diff --git a/.gitignore b/.gitignore
index f07afcd..6042b9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,6 @@
*.ipr
.idea
/.classpath
-/.primary_build_tool
/.project
/.settings/
/bazel-*
diff --git a/WORKSPACE b/WORKSPACE
index 2b45965..7c2b01b 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "b17f700875f5f2a96942d434516ba8e6088463d4",
+ commit = "087da1f6ca119ad5c4bc443926426ddf44dcde3a",
#local_path = "/home/<user>/projects/bazlets",
)
diff --git a/lib/prolog/BUILD b/lib/prolog/BUILD
index e69de29..c5ed0b7 100644
--- a/lib/prolog/BUILD
+++ b/lib/prolog/BUILD
@@ -0,0 +1 @@
+# Empty file required by Bazel
diff --git a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java b/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
index aeb5960..67fdb1e 100644
--- a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
+++ b/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
@@ -120,7 +120,7 @@
newId = ObjectId.fromString(event.getNewObjectId());
}
- PatchListKey plKey = new PatchListKey(null, newId, IGNORE_NONE);
+ PatchListKey plKey = PatchListKey.againstCommit(null, newId, IGNORE_NONE);
try {
return patchListCache.get(plKey, change.getProject());
} catch (PatchListNotAvailableException e) {
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/AccountsImpl.java b/owners-common/src/main/java/com/vmware/gerrit/owners/common/AccountsImpl.java
index 07e9af8..f22712a 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/AccountsImpl.java
+++ b/owners-common/src/main/java/com/vmware/gerrit/owners/common/AccountsImpl.java
@@ -14,8 +14,8 @@
package com.vmware.gerrit.owners.common;
-import static com.google.gerrit.server.account.ExternalId.SCHEME_GERRIT;
-import static com.google.gerrit.server.account.ExternalId.SCHEME_MAILTO;
+import static com.google.gerrit.server.account.externalids.ExternalId.SCHEME_GERRIT;
+import static com.google.gerrit.server.account.externalids.ExternalId.SCHEME_MAILTO;
import com.google.gerrit.common.errors.NoSuchGroupException;
import com.google.gerrit.reviewdb.client.Account;
@@ -25,9 +25,10 @@
import com.google.gerrit.server.account.AccountCache;
import com.google.gerrit.server.account.AccountResolver;
import com.google.gerrit.server.account.AccountState;
-import com.google.gerrit.server.account.ExternalId;
import com.google.gerrit.server.account.GroupCache;
import com.google.gerrit.server.account.GroupMembers;
+import com.google.gerrit.server.account.externalids.ExternalId;
+import com.google.gerrit.server.group.InternalGroup;
import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gerrit.server.util.ManualRequestContext;
import com.google.gerrit.server.util.OneOffRequestContext;
@@ -38,6 +39,7 @@
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
+import org.eclipse.jgit.errors.ConfigInvalidException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -76,19 +78,22 @@
}
private Set<Id> findAccountsInGroup(String groupNameOrUUID) {
- AccountGroup group =
- Optional.ofNullable(groupCache.get(new AccountGroup.NameKey(groupNameOrUUID)))
+ Optional<InternalGroup> group =
+ groupCache
+ .get(new AccountGroup.NameKey(groupNameOrUUID))
+ .map(Optional::of)
.orElse(groupCache.get(new AccountGroup.UUID(groupNameOrUUID)));
- if (group == null) {
+ if (!group.isPresent()) {
log.warn("Group {} was not found", groupNameOrUUID);
+ return Collections.emptySet();
}
try (ManualRequestContext ctx = oneOffRequestContext.openAs(adminUser.getAccountId())) {
return groupMembers
.create(adminUser)
- .listAccounts(group.getGroupUUID(), null)
+ .listAccounts(group.get().getGroupUUID(), null)
.stream()
.map(Account::getId)
.collect(Collectors.toSet());
@@ -100,7 +105,7 @@
private Set<Account.Id> findUserOrEmail(String nameOrEmail) {
try (ManualRequestContext ctx = oneOffRequestContext.open()) {
- Set<Id> accountIds = resolver.findAll(ctx.getReviewDbProvider().get(), nameOrEmail);
+ Set<Id> accountIds = resolver.findAll(nameOrEmail);
if (accountIds.isEmpty()) {
log.warn("User '{}' does not resolve to any account.", nameOrEmail);
return accountIds;
@@ -132,7 +137,7 @@
}
return accountIds;
- } catch (OrmException e) {
+ } catch (OrmException | IOException | ConfigInvalidException e) {
log.error("Error trying to resolve user " + nameOrEmail, e);
return Collections.emptySet();
}
diff --git a/tools/bazel.rc b/tools/bazel.rc
new file mode 100644
index 0000000..4ed16cf
--- /dev/null
+++ b/tools/bazel.rc
@@ -0,0 +1,2 @@
+build --workspace_status_command=./tools/workspace-status.sh
+test --build_tests_only
diff --git a/tools/bzl/BUILD b/tools/bzl/BUILD
index e69de29..c5ed0b7 100644
--- a/tools/bzl/BUILD
+++ b/tools/bzl/BUILD
@@ -0,0 +1 @@
+# Empty file required by Bazel