Merge branch 'stable-2.10' into stable-2.11

* stable-2.10:
  Change logging message and level for closed connection.
  Create new AMQP properties for each publication
  Bump AMQP client to 3.5.2
  Fall back to loading only base config if no site configs are found
  Change logging message and level for failed connection.
  Add timestamp on messages
  Use API version 2.10.4
  Implement standalone Buck build
  Remove Gradle build
  Implement Buck build
  Better usage of builder patten in AMQProperties.getBasicProperties

Change-Id: I1501af830030022ed1b90189017f78d3d7c605dc
diff --git a/VERSION b/VERSION
index 9fe2542..f5bb986 100644
--- a/VERSION
+++ b/VERSION
@@ -1,4 +1,4 @@
 # Used by BUCK to include "Implementation-Version" in plugin Manifest.
 # If this file doesn't exist the output of 'git describe' is used
 # instead.
-PLUGIN_VERSION = '2.10'
+PLUGIN_VERSION = '2.11'
diff --git a/lib/gerrit/BUCK b/lib/gerrit/BUCK
index 2e14b0f..96d016a 100644
--- a/lib/gerrit/BUCK
+++ b/lib/gerrit/BUCK
@@ -1,12 +1,12 @@
 include_defs('//bucklets/maven_jar.bucklet')
 
-VER = '2.10.4'
+VER = '2.11'
 REPO = MAVEN_CENTRAL
 
 maven_jar(
   name = 'plugin-api',
   id = 'com.google.gerrit:gerrit-plugin-api:' + VER,
-  sha1 = '79c69294e063f702f794352cb1b0f51ddf4644bb',
+  sha1 = 'be80ff991f7b9f8669b7a2a399003ec1ae69ed31',
   license = 'Apache2.0',
   attach_source = False,
   repository = REPO,
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
index d19b4c3..a78e513 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
@@ -14,7 +14,7 @@
 
 package com.googlesource.gerrit.plugins.rabbitmq;
 
-import com.google.gerrit.common.ChangeListener;
+import com.google.gerrit.common.EventListener;
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.inject.AbstractModule;
@@ -63,6 +63,6 @@
     install(new FactoryModuleBuilder().implement(EventWorker.class, UserEventWorker.class).build(EventWorkerFactory.class));
 
     DynamicSet.bind(binder(), LifecycleListener.class).to(Manager.class);
-    DynamicSet.bind(binder(), ChangeListener.class).to(DefaultEventWorker.class);
+    DynamicSet.bind(binder(), EventListener.class).to(DefaultEventWorker.class);
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/AMQProperties.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/AMQProperties.java
index bdc3a88..4663a14 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/AMQProperties.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/AMQProperties.java
@@ -14,7 +14,7 @@
 
 package com.googlesource.gerrit.plugins.rabbitmq.config;
 
-import com.google.gerrit.server.util.TimeUtil;
+import com.google.gerrit.common.TimeUtil;
 import com.googlesource.gerrit.plugins.rabbitmq.annotation.MessageHeader;
 import com.googlesource.gerrit.plugins.rabbitmq.config.section.Message;
 import com.googlesource.gerrit.plugins.rabbitmq.config.section.Section;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
index 5d31adc..201f0ac 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
@@ -15,11 +15,10 @@
 package com.googlesource.gerrit.plugins.rabbitmq.message;
 
 import com.google.gerrit.extensions.events.LifecycleListener;
-import com.google.gerrit.server.events.ChangeEvent;
+import com.google.gerrit.server.events.Event;
 import com.google.gson.Gson;
 import com.google.inject.Inject;
 import com.google.inject.assistedinject.Assisted;
-
 import com.googlesource.gerrit.plugins.rabbitmq.config.Properties;
 import com.googlesource.gerrit.plugins.rabbitmq.config.section.Monitor;
 import com.googlesource.gerrit.plugins.rabbitmq.session.Session;
@@ -78,7 +77,7 @@
   }
 
   @Override
-  public void onChangeEvent(ChangeEvent event) {
+  public void onEvent(Event event) {
     if (available && session.isOpen()) {
       session.publish(gson.toJson(event));
     }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
index 77d4962..8cc38cb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
@@ -1,11 +1,11 @@
 package com.googlesource.gerrit.plugins.rabbitmq.message;
 
-import com.google.gerrit.common.ChangeListener;
+import com.google.gerrit.common.EventListener;
 
 import com.googlesource.gerrit.plugins.rabbitmq.config.Properties;
 import com.googlesource.gerrit.plugins.rabbitmq.session.Session;
 
-public interface Publisher extends ChangeListener {
+public interface Publisher extends EventListener {
   public void start();
   public void stop();
   public void enable();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
index 6ebfb0d..2d2e5ba 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
@@ -14,10 +14,9 @@
 
 package com.googlesource.gerrit.plugins.rabbitmq.worker;
 
-import com.google.gerrit.common.ChangeListener;
-import com.google.gerrit.server.events.ChangeEvent;
+import com.google.gerrit.common.EventListener;
+import com.google.gerrit.server.events.Event;
 import com.google.inject.Singleton;
-
 import com.googlesource.gerrit.plugins.rabbitmq.message.Publisher;
 
 import org.slf4j.Logger;
@@ -27,7 +26,7 @@
 import java.util.concurrent.CopyOnWriteArraySet;
 
 @Singleton
-public class DefaultEventWorker implements ChangeListener, EventWorker {
+public class DefaultEventWorker implements EventListener, EventWorker {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(DefaultEventWorker.class);
 
@@ -54,9 +53,9 @@
   }
 
   @Override
-  public void onChangeEvent(ChangeEvent event) {
+  public void onEvent(Event event) {
     for (Publisher publisher : publishers) {
-      publisher.onChangeEvent(event);
+      publisher.onEvent(event);
     }
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
index 1f7710d..3f63b79 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
@@ -14,7 +14,7 @@
 
 package com.googlesource.gerrit.plugins.rabbitmq.worker;
 
-import com.google.gerrit.common.ChangeHooks;
+import com.google.gerrit.common.EventSource;
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.CurrentUser;
@@ -39,7 +39,7 @@
 
   private static final Logger LOGGER = LoggerFactory.getLogger(UserEventWorker.class);
 
-  private final ChangeHooks hooks;
+  private final EventSource source;
   private final WorkQueue workQueue;
   private final AccountResolver accountResolver;
   private final IdentifiedUser.GenericFactory userFactory;
@@ -49,14 +49,14 @@
 
   @Inject
   public UserEventWorker(
-      ChangeHooks hooks,
+      EventSource source,
       WorkQueue workQueue,
       AccountResolver accountResolver,
       IdentifiedUser.GenericFactory userFactory,
       ThreadLocalRequestContext threadLocalRequestContext,
       PluginUser pluginUser,
       SchemaFactory<ReviewDb> schemaFactory) {
-    this.hooks = hooks;
+    this.source = source;
     this.workQueue = workQueue;
     this.accountResolver = accountResolver;
     this.userFactory = userFactory;
@@ -111,7 +111,7 @@
           }
 
           IdentifiedUser user = userFactory.create(userAccount.getId());
-          hooks.addChangeListener(publisher, user);
+          source.addEventListener(publisher, user);
           LOGGER.info("Listen events as : {}", userName);
         } catch (OrmException e) {
           LOGGER.error("Could not query database for listenAs", e);
@@ -129,7 +129,7 @@
 
   @Override
   public void removePublisher(final Publisher publisher) {
-    hooks.removeChangeListener(publisher);
+    source.removeEventListener(publisher);
   }
 
   @Override