Merge branch 'stable-2.15'

* stable-2.15:
  Upgrade bazlets to latest stable-2.15 to build with 2.15.7 API
  Remove tools/bazel.rc
  Bazel: Fix standalone build
  Add "Empty file" comments in empty BUILD files
  ConfigurationParser: Format with google-java-format
  Fix owners e-mail matching on LDAP
  Allow OWNERS file with single owner
  Revert "Fix label name generated by workskace-status.sh"
  Bazel: Add standalone build mode
  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
  Don't include jackson-core in shaded JAR
  Align jackson version with core Gerrit
  Check null account full name
  Format all BUILD files with buildifier 0.12.0
  Fix in-tree build
  Adjust to renamed dependencies in core
  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

Also update WORKSPACE to build with the 2.16-rc3 API.

Change-Id: Iff88759f91d630964ce5f3ec92ad6495adbd836b
diff --git a/WORKSPACE b/WORKSPACE
index 9b89653..f8ee819 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "b54eaed487d37188120da6933b97c571519954ca",
+    commit = "d044cd60d37e302d9ac324f7a2c4e48b4011d4e6",
     #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 a835314..e874bc5 100644
--- a/owners-autoassign/BUILD
+++ b/owners-autoassign/BUILD
@@ -9,7 +9,7 @@
         "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-Module: com.googlesource.gerrit.owners.common.AutoassignModule",
         "Gerrit-ApiVersion: 2.14-SNAPSHOT",
     ],
     resources = glob(["src/main/**/*"]),
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 2e56051..1c56104 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,7 +34,7 @@
         "Implementation-Title: Gerrit OWNERS plugin",
         "Implementation-URL: https://gerrit.googlesource.com/plugins/owners",
         "Gerrit-PluginName: owners",
-        "Gerrit-Module: com.vmware.gerrit.owners.OwnersModule",
+        "Gerrit-Module: com.googlesource.gerrit.owners.OwnersModule",
         "Gerrit-ApiVersion: 2.14-SNAPSHOT",
     ],
     resources = glob(["src/main/resources/**/*"]),
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) */