Merge branch 'stable-2.15'

* stable-2.15:
  Upgrade bazlets to latest stable-2.15 to build with 2.15.10 API
  BUILD: Fix manifest version based on currently used bazlets
  BUILD: Remove inaccurate SNAPSHOT suffix from manifest version
  Upgrade bazlets to latest stable-2.14 to build with 2.14.18 API
  Bazel: Include eclipse-out directory in .bazelignore

Change-Id: I17d6309b892026c4be9291b4b0862508c927af9a
diff --git a/WORKSPACE b/WORKSPACE
index a525358..be918bf 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "2b1d68959119920e5fa9bdfb9f0cf926bfef4929",
+    commit = "c2227415d5044f8439bd47edffb0f052f8da2ac5",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
diff --git a/config.md b/config.md
index a284e55..b294ae8 100644
--- a/config.md
+++ b/config.md
@@ -21,7 +21,7 @@
 - partial_regex: example
   owners:
       [...]
-- exact: /path/to/file.txt
+- exact: path/to/file.txt
       [...]
 ```
 
@@ -39,7 +39,8 @@
 
 Additional owners can be specified for files selected by other matching
 conditions (matchers section). Matching can be done by file suffix, regex
-(partial or full) and exact string comparison.
+(partial or full) and exact string comparison. For exact match, path is
+relative to the root of the repo.
 
 The plugin analyzes the latest patch set by looking at each file directory and
 building an OWNERS hierarchy. It stops once it finds an OWNERS file that has
@@ -72,7 +73,7 @@
 
 ```yaml
 matchers:
-- suffix: *.config
+- suffix: .config
   owners:
   - Configuration Managers
 ```
@@ -266,4 +267,4 @@
 removed from the "need" section of the change.
 
 In this way, it is always clear which owner needs to provide their feedback on
-which file of the change.
\ No newline at end of file
+which file of the change.
diff --git a/owners-autoassign/BUILD b/owners-autoassign/BUILD
index 05eeb89..13aabbe 100644
--- a/owners-autoassign/BUILD
+++ b/owners-autoassign/BUILD
@@ -10,8 +10,8 @@
         "Implementation-Title: Gerrit OWNERS autoassign plugin",
         "Implementation-URL: https://gerrit.googlesource.com/plugins/owners",
         "Gerrit-PluginName: owners-autoassign",
-        "Gerrit-Module: com.vmware.gerrit.owners.common.AutoassignModule",
-        "Gerrit-ApiVersion: 2.15",
+        "Gerrit-Module: com.googlesource.gerrit.owners.common.AutoassignModule",
+        "Gerrit-ApiVersion: 2.16",
     ],
     resources = glob(["src/main/**/*"]),
     deps = [
diff --git a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/AutoassignModule.java b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoassignModule.java
similarity index 95%
rename from owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/AutoassignModule.java
rename to owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoassignModule.java
index a341505..d6bdaef 100644
--- a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/AutoassignModule.java
+++ b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoassignModule.java
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.extensions.events.GitReferenceUpdatedListener;
 import com.google.gerrit.extensions.registration.DynamicSet;
diff --git a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/GitRefListener.java
similarity index 97%
rename from owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
rename to owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/GitRefListener.java
index 67fdb1e..e123534 100644
--- a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
+++ b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/GitRefListener.java
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import static com.google.gerrit.extensions.client.DiffPreferencesInfo.Whitespace.IGNORE_NONE;
 
@@ -94,6 +94,9 @@
       // same local thread and thus cannot be closed in this event listener.
       try {
         Change change = reviewDb.changes().get(id);
+        if (change == null) {
+          return;
+        }
         PatchList patchList = getPatchList(event, change);
         if (patchList != null) {
           PathOwners owners =
diff --git a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManager.java b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManager.java
similarity index 97%
rename from owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManager.java
rename to owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManager.java
index 5b0abe4..f62b8c7 100644
--- a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManager.java
+++ b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManager.java
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.extensions.api.GerritApi;
 import com.google.gerrit.extensions.api.changes.AddReviewerInput;
diff --git a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManagerException.java b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManagerException.java
similarity index 95%
rename from owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManagerException.java
rename to owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManagerException.java
index 2425514..34b6109 100644
--- a/owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManagerException.java
+++ b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManagerException.java
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 public class ReviewerManagerException extends Exception {
   private static final long serialVersionUID = 1L;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/Accounts.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/Accounts.java
similarity index 94%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/Accounts.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/Accounts.java
index 0320414..0fdf717 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/Accounts.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/Accounts.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.inject.ImplementedBy;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/AccountsImpl.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/AccountsImpl.java
similarity index 84%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/AccountsImpl.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/AccountsImpl.java
index cef57e0..d427ef9 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/AccountsImpl.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/AccountsImpl.java
@@ -12,16 +12,14 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 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;
 import com.google.gerrit.reviewdb.client.Account.Id;
 import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.server.IdentifiedUser;
 import com.google.gerrit.server.account.AccountCache;
 import com.google.gerrit.server.account.AccountResolver;
 import com.google.gerrit.server.account.AccountState;
@@ -49,8 +47,7 @@
   private final AccountResolver resolver;
   private final AccountCache byId;
   private final GroupCache groupCache;
-  private final GroupMembers.Factory groupMembers;
-  private final IdentifiedUser adminUser;
+  private final GroupMembers groupMembers;
   private final OneOffRequestContext oneOffRequestContext;
 
   @Inject
@@ -58,14 +55,12 @@
       AccountResolver resolver,
       AccountCache byId,
       GroupCache groupCache,
-      GroupMembers.Factory groupMembersFactory,
-      OneOffRequestContext oneOffRequestContext,
-      IdentifiedUser.GenericFactory userFactory) {
+      GroupMembers groupMembers,
+      OneOffRequestContext oneOffRequestContext) {
     this.resolver = resolver;
     this.byId = byId;
     this.groupCache = groupCache;
-    this.groupMembers = groupMembersFactory;
-    this.adminUser = userFactory.create(new Account.Id(1000000));
+    this.groupMembers = groupMembers;
     this.oneOffRequestContext = oneOffRequestContext;
   }
 
@@ -89,15 +84,13 @@
       return Collections.emptySet();
     }
 
-    try (ManualRequestContext ctx = oneOffRequestContext.openAs(adminUser.getAccountId())) {
-
+    try {
       return groupMembers
-          .create(adminUser)
           .listAccounts(group.get().getGroupUUID(), null)
           .stream()
           .map(Account::getId)
           .collect(Collectors.toSet());
-    } catch (NoSuchGroupException | NoSuchProjectException | OrmException | IOException e) {
+    } catch (NoSuchProjectException | IOException e) {
       log.error("Unable to list accounts in group " + group, e);
       return Collections.emptySet();
     }
@@ -144,18 +137,23 @@
   }
 
   private boolean isFullMatch(Account.Id id, String nameOrEmail) {
-    AccountState accountState = byId.get(id);
-    Account account = accountState.getAccount();
-    return isFullNameMatch(accountState, nameOrEmail)
+    Optional<AccountState> accountState = byId.get(id);
+    if (!accountState.isPresent()) {
+      return false;
+    }
+
+    Account account = accountState.get().getAccount();
+    return isFullNameMatch(account, nameOrEmail)
         || nameOrEmail.equalsIgnoreCase(account.getPreferredEmail())
         || accountState
+            .get()
             .getExternalIds()
             .stream()
             .anyMatch(eid -> isEMailMatch(eid, nameOrEmail) || isUsernameMatch(eid, nameOrEmail));
   }
 
-  private boolean isFullNameMatch(AccountState account, String fullName) {
-    return Optional.ofNullable(account.getAccount().getFullName())
+  private boolean isFullNameMatch(Account account, String fullName) {
+    return Optional.ofNullable(account.getFullName())
         .filter(n -> n.trim().equalsIgnoreCase(fullName))
         .isPresent();
   }
@@ -175,7 +173,7 @@
   }
 
   private boolean isActive(Account.Id accountId) {
-    return byId.get(accountId).getAccount().isActive();
+    return byId.get(accountId).map(AccountState::getAccount).map(Account::isActive).orElse(false);
   }
 
   private Optional<String> keySchemeRest(String scheme, ExternalId.Key key) {
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/ConfigurationParser.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/ConfigurationParser.java
similarity index 97%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/ConfigurationParser.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/ConfigurationParser.java
index 48b7bc3..2f5c5c0 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/ConfigurationParser.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/ConfigurationParser.java
@@ -13,9 +13,9 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
-import static com.vmware.gerrit.owners.common.StreamUtils.iteratorStream;
+import static com.googlesource.gerrit.owners.common.StreamUtils.iteratorStream;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/ExactMatcher.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/ExactMatcher.java
similarity index 94%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/ExactMatcher.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/ExactMatcher.java
index 04c3c32..f638a32 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/ExactMatcher.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/ExactMatcher.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import java.util.Set;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/JgitWrapper.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/JgitWrapper.java
similarity index 97%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/JgitWrapper.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/JgitWrapper.java
index c076c6e..9668af8 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/JgitWrapper.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/JgitWrapper.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
 import static org.eclipse.jgit.lib.FileMode.TYPE_FILE;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/Matcher.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/Matcher.java
similarity index 96%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/Matcher.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/Matcher.java
index df0df2b..d57116b 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/Matcher.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/Matcher.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import java.util.Set;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/OptionalUtils.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/OptionalUtils.java
similarity index 94%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/OptionalUtils.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/OptionalUtils.java
index 7a6f83c..f35941d 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/OptionalUtils.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/OptionalUtils.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import java.util.Optional;
 
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/OwnersConfig.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/OwnersConfig.java
similarity index 97%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/OwnersConfig.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/OwnersConfig.java
index e827691..0c29516 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/OwnersConfig.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/OwnersConfig.java
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/OwnersMap.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/OwnersMap.java
similarity index 97%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/OwnersMap.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/OwnersMap.java
index 30f796c..8af46e3 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/OwnersMap.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/OwnersMap.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Maps;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/PartialRegExMatcher.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PartialRegExMatcher.java
similarity index 95%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/PartialRegExMatcher.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/PartialRegExMatcher.java
index e33704b..759170f 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/PartialRegExMatcher.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PartialRegExMatcher.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import java.util.Set;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/PathOwners.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwners.java
similarity index 98%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/PathOwners.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwners.java
index 614ac4c..bb53419 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/PathOwners.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwners.java
@@ -14,11 +14,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import static com.google.gerrit.reviewdb.client.Patch.COMMIT_MSG;
 import static com.google.gerrit.reviewdb.client.Patch.MERGE_LIST;
-import static com.vmware.gerrit.owners.common.JgitWrapper.getBlobAsBytes;
+import static com.googlesource.gerrit.owners.common.JgitWrapper.getBlobAsBytes;
 
 import com.google.common.collect.Maps;
 import com.google.common.collect.Multimaps;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/PathOwnersEntry.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwnersEntry.java
similarity index 98%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/PathOwnersEntry.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwnersEntry.java
index 856a20b..9b629b6 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/PathOwnersEntry.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwnersEntry.java
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/RegExMatcher.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/RegExMatcher.java
similarity index 95%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/RegExMatcher.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/RegExMatcher.java
index c4b13ff..2f1c23d 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/RegExMatcher.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/RegExMatcher.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import java.util.Set;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/StreamUtils.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/StreamUtils.java
similarity index 94%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/StreamUtils.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/StreamUtils.java
index 99bceac..0f8bac3 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/StreamUtils.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/StreamUtils.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import java.util.Iterator;
 import java.util.stream.Stream;
diff --git a/owners-common/src/main/java/com/vmware/gerrit/owners/common/SuffixMatcher.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/SuffixMatcher.java
similarity index 94%
rename from owners-common/src/main/java/com/vmware/gerrit/owners/common/SuffixMatcher.java
rename to owners-common/src/main/java/com/googlesource/gerrit/owners/common/SuffixMatcher.java
index d7a481f..4c72b7a 100644
--- a/owners-common/src/main/java/com/vmware/gerrit/owners/common/SuffixMatcher.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/SuffixMatcher.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import java.util.Set;
diff --git a/owners-common/src/test/java/com/vmware/gerrit/owners/common/ClassicConfig.java b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/ClassicConfig.java
similarity index 96%
rename from owners-common/src/test/java/com/vmware/gerrit/owners/common/ClassicConfig.java
rename to owners-common/src/test/java/com/googlesource/gerrit/owners/common/ClassicConfig.java
index ee14e25..e388125 100644
--- a/owners-common/src/test/java/com/vmware/gerrit/owners/common/ClassicConfig.java
+++ b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/ClassicConfig.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import org.junit.Ignore;
diff --git a/owners-common/src/test/java/com/vmware/gerrit/owners/common/Config.java b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/Config.java
similarity index 98%
rename from owners-common/src/test/java/com/vmware/gerrit/owners/common/Config.java
rename to owners-common/src/test/java/com/googlesource/gerrit/owners/common/Config.java
index 81aa76f..e6e1e91 100644
--- a/owners-common/src/test/java/com/vmware/gerrit/owners/common/Config.java
+++ b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/Config.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.eq;
diff --git a/owners-common/src/test/java/com/vmware/gerrit/owners/common/MatcherConfig.java b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/MatcherConfig.java
similarity index 97%
rename from owners-common/src/test/java/com/vmware/gerrit/owners/common/MatcherConfig.java
rename to owners-common/src/test/java/com/googlesource/gerrit/owners/common/MatcherConfig.java
index c1e8637..a2b20d8 100644
--- a/owners-common/src/test/java/com/vmware/gerrit/owners/common/MatcherConfig.java
+++ b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/MatcherConfig.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import org.junit.Ignore;
 
diff --git a/owners-common/src/test/java/com/vmware/gerrit/owners/common/PathOwnersTest.java b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/PathOwnersTest.java
similarity index 98%
rename from owners-common/src/test/java/com/vmware/gerrit/owners/common/PathOwnersTest.java
rename to owners-common/src/test/java/com/googlesource/gerrit/owners/common/PathOwnersTest.java
index 77dc597..42a1796 100644
--- a/owners-common/src/test/java/com/vmware/gerrit/owners/common/PathOwnersTest.java
+++ b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/PathOwnersTest.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
diff --git a/owners-common/src/test/java/com/vmware/gerrit/owners/common/RegexMatcherTest.java b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/RegexMatcherTest.java
similarity index 96%
rename from owners-common/src/test/java/com/vmware/gerrit/owners/common/RegexMatcherTest.java
rename to owners-common/src/test/java/com/googlesource/gerrit/owners/common/RegexMatcherTest.java
index 8d3aa0f..1fd557b 100644
--- a/owners-common/src/test/java/com/vmware/gerrit/owners/common/RegexMatcherTest.java
+++ b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/RegexMatcherTest.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
diff --git a/owners-common/src/test/java/com/vmware/gerrit/owners/common/RegexTest.java b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/RegexTest.java
similarity index 95%
rename from owners-common/src/test/java/com/vmware/gerrit/owners/common/RegexTest.java
rename to owners-common/src/test/java/com/googlesource/gerrit/owners/common/RegexTest.java
index 51cf937..47f9381 100644
--- a/owners-common/src/test/java/com/vmware/gerrit/owners/common/RegexTest.java
+++ b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/RegexTest.java
@@ -12,14 +12,14 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import static com.google.common.truth.Truth.assertThat;
-import static com.vmware.gerrit.owners.common.MatcherConfig.exactMatcher;
-import static com.vmware.gerrit.owners.common.MatcherConfig.partialRegexMatcher;
-import static com.vmware.gerrit.owners.common.MatcherConfig.regexMatcher;
-import static com.vmware.gerrit.owners.common.MatcherConfig.suffixMatcher;
-import static com.vmware.gerrit.owners.common.StreamUtils.iteratorStream;
+import static com.googlesource.gerrit.owners.common.MatcherConfig.exactMatcher;
+import static com.googlesource.gerrit.owners.common.MatcherConfig.partialRegexMatcher;
+import static com.googlesource.gerrit.owners.common.MatcherConfig.regexMatcher;
+import static com.googlesource.gerrit.owners.common.MatcherConfig.suffixMatcher;
+import static com.googlesource.gerrit.owners.common.StreamUtils.iteratorStream;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.powermock.api.easymock.PowerMock.replayAll;
diff --git a/owners-common/src/test/java/com/vmware/gerrit/owners/common/TestAccounts.java b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/TestAccounts.java
similarity index 95%
rename from owners-common/src/test/java/com/vmware/gerrit/owners/common/TestAccounts.java
rename to owners-common/src/test/java/com/googlesource/gerrit/owners/common/TestAccounts.java
index 7141931..ba48011 100644
--- a/owners-common/src/test/java/com/vmware/gerrit/owners/common/TestAccounts.java
+++ b/owners-common/src/test/java/com/googlesource/gerrit/owners/common/TestAccounts.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners.common;
+package com.googlesource.gerrit.owners.common;
 
 import com.google.gerrit.reviewdb.client.Account;
 import java.util.Arrays;
diff --git a/owners/BUILD b/owners/BUILD
index d0c1efc..05c1fa7 100644
--- a/owners/BUILD
+++ b/owners/BUILD
@@ -2,7 +2,7 @@
 load("//lib/prolog:prolog.bzl", "prolog_cafe_library")
 
 PROLOG_PREDICATES = glob(["src/main/java/gerrit_owners/**/*.java"]) + [
-    "src/main/java/com/vmware/gerrit/owners/OwnersStoredValues.java",
+    "src/main/java/com/googlesource/gerrit/owners/OwnersStoredValues.java",
 ]
 
 java_library(
@@ -34,8 +34,8 @@
         "Implementation-Title: Gerrit OWNERS plugin",
         "Implementation-URL: https://gerrit.googlesource.com/plugins/owners",
         "Gerrit-PluginName: owners",
-        "Gerrit-Module: com.vmware.gerrit.owners.OwnersModule",
-        "Gerrit-ApiVersion: 2.15",
+        "Gerrit-Module: com.googlesource.gerrit.owners.OwnersModule",
+        "Gerrit-ApiVersion: 2.16",
     ],
     resources = glob(["src/main/resources/**/*"]),
     deps = [
diff --git a/owners/src/main/java/com/vmware/gerrit/owners/CompileStub.java b/owners/src/main/java/com/googlesource/gerrit/owners/CompileStub.java
similarity index 94%
rename from owners/src/main/java/com/vmware/gerrit/owners/CompileStub.java
rename to owners/src/main/java/com/googlesource/gerrit/owners/CompileStub.java
index 66be624..f8cddfb 100644
--- a/owners/src/main/java/com/vmware/gerrit/owners/CompileStub.java
+++ b/owners/src/main/java/com/googlesource/gerrit/owners/CompileStub.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners;
+package com.googlesource.gerrit.owners;
 
 /** A stub class only used for pleasing BUCK. */
 public class CompileStub {}
diff --git a/owners/src/main/java/com/vmware/gerrit/owners/OwnerPredicateProvider.java b/owners/src/main/java/com/googlesource/gerrit/owners/OwnerPredicateProvider.java
similarity index 88%
rename from owners/src/main/java/com/vmware/gerrit/owners/OwnerPredicateProvider.java
rename to owners/src/main/java/com/googlesource/gerrit/owners/OwnerPredicateProvider.java
index 0470aea..ef0b92b 100644
--- a/owners/src/main/java/com/vmware/gerrit/owners/OwnerPredicateProvider.java
+++ b/owners/src/main/java/com/googlesource/gerrit/owners/OwnerPredicateProvider.java
@@ -14,13 +14,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners;
+package com.googlesource.gerrit.owners;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.gerrit.extensions.annotations.Listen;
-import com.google.gerrit.rules.PredicateProvider;
+import com.google.gerrit.server.rules.PredicateProvider;
 import com.google.inject.Inject;
-import com.vmware.gerrit.owners.common.Accounts;
+import com.googlesource.gerrit.owners.common.Accounts;
 
 /** Gerrit OWNERS Prolog Predicate Provider. */
 @Listen
diff --git a/owners/src/main/java/com/vmware/gerrit/owners/OwnersModule.java b/owners/src/main/java/com/googlesource/gerrit/owners/OwnersModule.java
similarity index 90%
rename from owners/src/main/java/com/vmware/gerrit/owners/OwnersModule.java
rename to owners/src/main/java/com/googlesource/gerrit/owners/OwnersModule.java
index c4a5f80..750c58e 100644
--- a/owners/src/main/java/com/vmware/gerrit/owners/OwnersModule.java
+++ b/owners/src/main/java/com/googlesource/gerrit/owners/OwnersModule.java
@@ -13,10 +13,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners;
+package com.googlesource.gerrit.owners;
 
 import com.google.gerrit.extensions.registration.DynamicSet;
-import com.google.gerrit.rules.PredicateProvider;
+import com.google.gerrit.server.rules.PredicateProvider;
 import com.google.inject.AbstractModule;
 
 public class OwnersModule extends AbstractModule {
diff --git a/owners/src/main/java/com/vmware/gerrit/owners/OwnersStoredValues.java b/owners/src/main/java/com/googlesource/gerrit/owners/OwnersStoredValues.java
similarity index 87%
rename from owners/src/main/java/com/vmware/gerrit/owners/OwnersStoredValues.java
rename to owners/src/main/java/com/googlesource/gerrit/owners/OwnersStoredValues.java
index 97502b1..18abe29 100644
--- a/owners/src/main/java/com/vmware/gerrit/owners/OwnersStoredValues.java
+++ b/owners/src/main/java/com/googlesource/gerrit/owners/OwnersStoredValues.java
@@ -14,14 +14,14 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.vmware.gerrit.owners;
+package com.googlesource.gerrit.owners;
 
-import com.google.gerrit.rules.StoredValue;
-import com.google.gerrit.rules.StoredValues;
 import com.google.gerrit.server.patch.PatchList;
+import com.google.gerrit.server.rules.StoredValue;
+import com.google.gerrit.server.rules.StoredValues;
 import com.googlecode.prolog_cafe.lang.Prolog;
-import com.vmware.gerrit.owners.common.Accounts;
-import com.vmware.gerrit.owners.common.PathOwners;
+import com.googlesource.gerrit.owners.common.Accounts;
+import com.googlesource.gerrit.owners.common.PathOwners;
 import org.eclipse.jgit.lib.Repository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/owners/src/main/java/gerrit_owners/PRED_file_owners_2.java b/owners/src/main/java/gerrit_owners/PRED_file_owners_2.java
index 06557e2..a5effb4 100644
--- a/owners/src/main/java/gerrit_owners/PRED_file_owners_2.java
+++ b/owners/src/main/java/gerrit_owners/PRED_file_owners_2.java
@@ -14,12 +14,12 @@
 
 package gerrit_owners;
 
-import static com.vmware.gerrit.owners.common.StreamUtils.iteratorStream;
+import static com.googlesource.gerrit.owners.common.StreamUtils.iteratorStream;
 
 import com.google.gerrit.reviewdb.client.Account;
-import com.google.gerrit.rules.PrologEnvironment;
-import com.google.gerrit.rules.StoredValues;
 import com.google.gerrit.server.IdentifiedUser;
+import com.google.gerrit.server.rules.PrologEnvironment;
+import com.google.gerrit.server.rules.StoredValues;
 import com.googlecode.prolog_cafe.exceptions.PInstantiationException;
 import com.googlecode.prolog_cafe.exceptions.PrologException;
 import com.googlecode.prolog_cafe.lang.Operation;
@@ -28,8 +28,8 @@
 import com.googlecode.prolog_cafe.lang.SymbolTerm;
 import com.googlecode.prolog_cafe.lang.Term;
 import com.googlecode.prolog_cafe.lang.VariableTerm;
-import com.vmware.gerrit.owners.OwnersStoredValues;
-import com.vmware.gerrit.owners.common.PathOwners;
+import com.googlesource.gerrit.owners.OwnersStoredValues;
+import com.googlesource.gerrit.owners.common.PathOwners;
 import java.io.File;
 import java.util.Map;
 import java.util.Set;
diff --git a/owners/src/main/java/gerrit_owners/PRED_matcher_owner_2.java b/owners/src/main/java/gerrit_owners/PRED_matcher_owner_2.java
index 3afc6c7..5abf7ad 100644
--- a/owners/src/main/java/gerrit_owners/PRED_matcher_owner_2.java
+++ b/owners/src/main/java/gerrit_owners/PRED_matcher_owner_2.java
@@ -26,8 +26,8 @@
 import com.googlecode.prolog_cafe.lang.StructureTerm;
 import com.googlecode.prolog_cafe.lang.SymbolTerm;
 import com.googlecode.prolog_cafe.lang.Term;
-import com.vmware.gerrit.owners.OwnersStoredValues;
-import com.vmware.gerrit.owners.common.PathOwners;
+import com.googlesource.gerrit.owners.OwnersStoredValues;
+import com.googlesource.gerrit.owners.common.PathOwners;
 import java.util.Iterator;
 import java.util.Map;
 
diff --git a/owners/src/main/java/gerrit_owners/PRED_matcher_path_1.java b/owners/src/main/java/gerrit_owners/PRED_matcher_path_1.java
index 3cb3bb9..4bbc734 100644
--- a/owners/src/main/java/gerrit_owners/PRED_matcher_path_1.java
+++ b/owners/src/main/java/gerrit_owners/PRED_matcher_path_1.java
@@ -23,8 +23,8 @@
 import com.googlecode.prolog_cafe.lang.Prolog;
 import com.googlecode.prolog_cafe.lang.SymbolTerm;
 import com.googlecode.prolog_cafe.lang.Term;
-import com.vmware.gerrit.owners.OwnersStoredValues;
-import com.vmware.gerrit.owners.common.PathOwners;
+import com.googlesource.gerrit.owners.OwnersStoredValues;
+import com.googlesource.gerrit.owners.common.PathOwners;
 import java.util.Iterator;
 
 /** 'owner_path'(-Path) */
diff --git a/owners/src/main/java/gerrit_owners/PRED_owner_2.java b/owners/src/main/java/gerrit_owners/PRED_owner_2.java
index 92b77c9..5697a32 100644
--- a/owners/src/main/java/gerrit_owners/PRED_owner_2.java
+++ b/owners/src/main/java/gerrit_owners/PRED_owner_2.java
@@ -26,8 +26,8 @@
 import com.googlecode.prolog_cafe.lang.StructureTerm;
 import com.googlecode.prolog_cafe.lang.SymbolTerm;
 import com.googlecode.prolog_cafe.lang.Term;
-import com.vmware.gerrit.owners.OwnersStoredValues;
-import com.vmware.gerrit.owners.common.PathOwners;
+import com.googlesource.gerrit.owners.OwnersStoredValues;
+import com.googlesource.gerrit.owners.common.PathOwners;
 import java.util.Iterator;
 import java.util.Map;
 
diff --git a/owners/src/main/java/gerrit_owners/PRED_owner_path_1.java b/owners/src/main/java/gerrit_owners/PRED_owner_path_1.java
index 90936e0..df973b3 100644
--- a/owners/src/main/java/gerrit_owners/PRED_owner_path_1.java
+++ b/owners/src/main/java/gerrit_owners/PRED_owner_path_1.java
@@ -23,8 +23,8 @@
 import com.googlecode.prolog_cafe.lang.Prolog;
 import com.googlecode.prolog_cafe.lang.SymbolTerm;
 import com.googlecode.prolog_cafe.lang.Term;
-import com.vmware.gerrit.owners.OwnersStoredValues;
-import com.vmware.gerrit.owners.common.PathOwners;
+import com.googlesource.gerrit.owners.OwnersStoredValues;
+import com.googlesource.gerrit.owners.common.PathOwners;
 import java.util.Iterator;
 
 /** 'owner_path'(-Path) */