Merge stable-2.12 00f2c66 Merge branch stable-2.11 into stable-2.12 6dce1d7 Allow to specify amqp passwords in etc/secure.config 3f65399 Build with API version 2.11.8 ca93bcc Build with plugin API version 2.12.1 5558190 Organize imports 3ed04fb Build with API version 2.11.7 993a2aa Build with plugin API version 2.12 final release Change-Id: I65c01da0f578af25087144aed5c8b4e374c898af
diff --git a/lib/gerrit/BUCK b/lib/gerrit/BUCK index 9106580..1df977d 100644 --- a/lib/gerrit/BUCK +++ b/lib/gerrit/BUCK
@@ -1,12 +1,12 @@ include_defs('//bucklets/maven_jar.bucklet') -VER = '2.12-rc0' +VER = '2.12.1' REPO = MAVEN_CENTRAL maven_jar( name = 'plugin-api', id = 'com.google.gerrit:gerrit-plugin-api:' + VER, - sha1 = '8fd408e0eedc5e891ac779ab26491fb377800e74', + sha1 = 'd15de32f16d538e83f02a033be0667c55ec5f8df', license = 'Apache2.0', attach_source = False, repository = REPO,
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Manager.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Manager.java index 3ffcc12..c26685b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Manager.java +++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Manager.java
@@ -25,9 +25,9 @@ import com.googlesource.gerrit.plugins.rabbitmq.config.section.Gerrit; import com.googlesource.gerrit.plugins.rabbitmq.message.Publisher; import com.googlesource.gerrit.plugins.rabbitmq.message.PublisherFactory; +import com.googlesource.gerrit.plugins.rabbitmq.worker.DefaultEventWorker; import com.googlesource.gerrit.plugins.rabbitmq.worker.EventWorker; import com.googlesource.gerrit.plugins.rabbitmq.worker.EventWorkerFactory; -import com.googlesource.gerrit.plugins.rabbitmq.worker.DefaultEventWorker; import org.slf4j.Logger; import org.slf4j.LoggerFactory;
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 5b98051..762d78e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java +++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
@@ -38,9 +38,9 @@ import com.googlesource.gerrit.plugins.rabbitmq.message.PublisherFactory; import com.googlesource.gerrit.plugins.rabbitmq.session.SessionFactory; import com.googlesource.gerrit.plugins.rabbitmq.session.SessionFactoryProvider; +import com.googlesource.gerrit.plugins.rabbitmq.worker.DefaultEventWorker; import com.googlesource.gerrit.plugins.rabbitmq.worker.EventWorker; import com.googlesource.gerrit.plugins.rabbitmq.worker.EventWorkerFactory; -import com.googlesource.gerrit.plugins.rabbitmq.worker.DefaultEventWorker; import com.googlesource.gerrit.plugins.rabbitmq.worker.UserEventWorker; class Module extends AbstractModule {
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 fd2264f..5d1c553 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
@@ -15,6 +15,7 @@ package com.googlesource.gerrit.plugins.rabbitmq.config; 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/config/section/Gerrit.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/section/Gerrit.java index 5ad4a49..b400b76 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/section/Gerrit.java +++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/section/Gerrit.java
@@ -24,6 +24,7 @@ import org.eclipse.jgit.lib.Config; public class Gerrit implements Section { + private Config gerritConfig; @Default @MessageHeader("gerrit-name") @@ -50,10 +51,15 @@ @Default public String listenAs; + public String getAMQPUserPassword(String userName) { + return gerritConfig.getString("AMQP", userName, "password"); + } + @Inject public Gerrit(final @GerritServerConfig Config config) { this.canonicalWebUrl = config.getString("gerrit", null, "canonicalWebUrl"); this.version = Version.getVersion(); + this.gerritConfig = config; } }
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 201f0ac..6c5f450 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
@@ -19,6 +19,7 @@ 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;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java index 1f9b7e3..6afec87 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java +++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java
@@ -17,6 +17,7 @@ import com.googlesource.gerrit.plugins.rabbitmq.config.Properties; import com.googlesource.gerrit.plugins.rabbitmq.config.section.AMQP; import com.googlesource.gerrit.plugins.rabbitmq.config.section.Exchange; +import com.googlesource.gerrit.plugins.rabbitmq.config.section.Gerrit; import com.googlesource.gerrit.plugins.rabbitmq.config.section.Message; import com.googlesource.gerrit.plugins.rabbitmq.config.section.Monitor; import com.googlesource.gerrit.plugins.rabbitmq.session.Session; @@ -148,7 +149,11 @@ if (StringUtils.isNotEmpty(amqp.username)) { factory.setUsername(amqp.username); } - if (StringUtils.isNotEmpty(amqp.password)) { + Gerrit gerrit = properties.getSection(Gerrit.class); + String securePassword = gerrit.getAMQPUserPassword(amqp.username); + if (StringUtils.isNotEmpty(securePassword)) { + factory.setPassword(securePassword); + } else if (StringUtils.isNotEmpty(amqp.password)) { factory.setPassword(amqp.password); } connection = factory.newConnection();
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 2d2e5ba..45e0e97 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
@@ -17,6 +17,7 @@ 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;
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md index cda6fb5..f54918f 100644 --- a/src/main/resources/Documentation/config.md +++ b/src/main/resources/Documentation/config.md
@@ -13,6 +13,18 @@ If `rabbitmq.config` exists in `$site_path/data/rabbitmq`, it is loaded at first. It means that this is default for all config files. + +Secure.config +--------------------- + +If amqp.<username>.password is specified in `$site_path/etc/secure.config`. This +password is used when trying to connect to amqp with username = <username>. + +``` + [amqp "guest"] + password = guest +``` + File format ---------------------