diff --git a/BUILD b/BUILD
index fd1de6a..9b4f025 100644
--- a/BUILD
+++ b/BUILD
@@ -3,7 +3,6 @@
 gerrit_plugin(
     name = "plugin-manager",
     srcs = glob(["src/main/java/**/*.java"]),
-    resources = glob(["src/main/resources/**/*"]),
     manifest_entries = [
         "Gerrit-PluginName: plugin-manager",
         "Gerrit-HttpModule: com.googlesource.gerrit.plugins.manager.WebModule",
@@ -12,4 +11,5 @@
         "Implementation-Title: Plugin manager",
         "Implementation-URL: https://gerrit-review.googlesource.com/#/admin/projects/plugins/plugin-manager",
     ],
+    resources = glob(["src/main/resources/**/*"]),
 )
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java b/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java
index debe679..6a36133 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/GerritVersionBranch.java
@@ -15,7 +15,7 @@
 package com.googlesource.gerrit.plugins.manager;
 
 public class GerritVersionBranch {
-  private static final String GERRIT_NEXT_VERSION = "2.16";
+  private static final String GERRIT_NEXT_VERSION = "3.0";
 
   public static String getBranch(String gerritVersion) {
     if (gerritVersion == null
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/ListAvailablePlugins.java b/src/main/java/com/googlesource/gerrit/plugins/manager/ListAvailablePlugins.java
index 76e7669..96fb53f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/ListAvailablePlugins.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/ListAvailablePlugins.java
@@ -20,7 +20,7 @@
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.extensions.restapi.TopLevelResource;
-import com.google.gerrit.server.OutputFormat;
+import com.google.gerrit.json.OutputFormat;
 import com.google.gson.JsonElement;
 import com.google.gson.reflect.TypeToken;
 import com.google.inject.Inject;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPath.java b/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPath.java
index 3f17da8..2005bfa 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPath.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPath.java
@@ -16,12 +16,11 @@
 
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
+import com.google.inject.BindingAnnotation;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import com.google.inject.BindingAnnotation;
-
 /**
  * Annotation applied to a String containing the plugin canonical web URL path.
  *
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPathProvider.java b/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPathProvider.java
index 6581f87..d5ece22 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPathProvider.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/PluginCanonicalWebUrlPathProvider.java
@@ -14,12 +14,11 @@
 
 package com.googlesource.gerrit.plugins.manager;
 
-import java.net.URI;
-
 import com.google.gerrit.extensions.annotations.PluginCanonicalWebUrl;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 import com.google.inject.Singleton;
+import java.net.URI;
 
 @Singleton
 public class PluginCanonicalWebUrlPathProvider implements Provider<String> {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartGson.java b/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartGson.java
index f8516e2..d26f829 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartGson.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartGson.java
@@ -14,7 +14,7 @@
 
 package com.googlesource.gerrit.plugins.manager.gson;
 
-import com.google.gerrit.server.OutputFormat;
+import com.google.gerrit.json.OutputFormat;
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
 import java.io.IOException;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/repository/CorePluginsDescriptions.java b/src/main/java/com/googlesource/gerrit/plugins/manager/repository/CorePluginsDescriptions.java
index 7e8c422..cf1ba23 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/repository/CorePluginsDescriptions.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/repository/CorePluginsDescriptions.java
@@ -14,11 +14,10 @@
 
 package com.googlesource.gerrit.plugins.manager.repository;
 
-import java.util.HashMap;
-import java.util.Optional;
-
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
+import java.util.HashMap;
+import java.util.Optional;
 
 @Singleton
 public class CorePluginsDescriptions {
@@ -28,13 +27,16 @@
   public CorePluginsDescriptions() {
     pluginsDescriptions = new HashMap<>();
     pluginsDescriptions.put("codemirror-editor", "CodeMirror plugin for polygerrit");
-    pluginsDescriptions.put("commit-message-length-validator",
+    pluginsDescriptions.put(
+        "commit-message-length-validator",
         "Plugin to validate that commit messages conform to length limits");
     pluginsDescriptions.put("download-commands", "Adds the standard download schemes and commands");
     pluginsDescriptions.put("hooks", "Old-style fork+exec hooks");
     pluginsDescriptions.put("replication", "Copies to other servers using the Git protocol");
-    pluginsDescriptions.put("reviewnotes", "Annotates merged commits using notes on refs/notes/review");
-    pluginsDescriptions.put("singleusergroup", "GroupBackend enabling users to be directly added to access rules");
+    pluginsDescriptions.put(
+        "reviewnotes", "Annotates merged commits using notes on refs/notes/review");
+    pluginsDescriptions.put(
+        "singleusergroup", "GroupBackend enabling users to be directly added to access rules");
   }
 
   public Optional<String> get(String plugin) {
