Merge "When using PolyGerrit, move "Find Owners" button out of the 'MORE' list."
diff --git a/BUILD b/BUILD
index 5e3964f..b5f061f 100644
--- a/BUILD
+++ b/BUILD
@@ -36,6 +36,7 @@
"Gerrit-PluginName: find-owners",
"Gerrit-ReloadMode: restart",
"Gerrit-Module: com.googlesource.gerrit.plugins.findowners.Module",
+ "Gerrit-BatchModule: com.googlesource.gerrit.plugins.findowners.PredicateModule",
"Implementation-Title: Find-Owners plugin",
"Implementation-URL: https://gerrit.googlesource.com/plugins/find-owners",
],
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/Module.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/Module.java
index 84f1f02..aab4097 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/Module.java
@@ -17,34 +17,14 @@
import static com.google.gerrit.server.change.ChangeResource.CHANGE_KIND;
import static com.google.gerrit.server.change.RevisionResource.REVISION_KIND;
-import com.google.common.collect.ImmutableSet;
-import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.extensions.restapi.RestApiModule;
import com.google.gerrit.extensions.webui.JavaScriptPlugin;
import com.google.gerrit.extensions.webui.WebUiPlugin;
-import com.google.gerrit.server.config.PluginConfigFactory;
-import com.google.gerrit.server.rules.PredicateProvider;
import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
/** find-owners plugin module */
public class Module extends AbstractModule {
- /** Prolog Predicate Provider. */
- static class FindOwnersProvider implements PredicateProvider {
-
- @Inject
- public FindOwnersProvider(@PluginName String pluginName, PluginConfigFactory configFactory) {
- Config.setVariables(pluginName, configFactory);
- Cache.getInstance(); // Create a single Cache.
- }
-
- @Override
- public ImmutableSet<String> getPackages() {
- return ImmutableSet.of(Config.PROLOG_NAMESPACE);
- }
- }
-
@Override
protected void configure() {
install(OwnersValidator.module());
@@ -58,6 +38,7 @@
});
DynamicSet.bind(binder(), WebUiPlugin.class)
.toInstance(new JavaScriptPlugin(Config.PLUGIN_NAME + ".js"));
- DynamicSet.bind(binder(), PredicateProvider.class).to(FindOwnersProvider.class);
+
+ install(new PredicateModule());
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/PredicateModule.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/PredicateModule.java
new file mode 100644
index 0000000..d0fb040
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/PredicateModule.java
@@ -0,0 +1,46 @@
+// Copyright (C) 2018 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.googlesource.gerrit.plugins.findowners;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.gerrit.extensions.annotations.PluginName;
+import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.config.PluginConfigFactory;
+import com.google.gerrit.server.rules.PredicateProvider;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+
+/** provides the Prolog predicate, even in a batch mode */
+public class PredicateModule extends AbstractModule {
+ /** Prolog Predicate Provider. */
+ static class FindOwnersProvider implements PredicateProvider {
+
+ @Inject
+ public FindOwnersProvider(@PluginName String pluginName, PluginConfigFactory configFactory) {
+ Config.setVariables(pluginName, configFactory);
+ Cache.getInstance(); // Create a single Cache.
+ }
+
+ @Override
+ public ImmutableSet<String> getPackages() {
+ return ImmutableSet.of(Config.PROLOG_NAMESPACE);
+ }
+ }
+
+ @Override
+ protected void configure() {
+ DynamicSet.bind(binder(), PredicateProvider.class).to(FindOwnersProvider.class);
+ }
+}