From a17d093d22ec74557a6d235f55a8269e899c68a4 Mon Sep 17 00:00:00 2001 From: Soby Chacko Date: Fri, 1 Jul 2022 16:15:01 -0400 Subject: [PATCH] Reorganizing modules Spring Boot autoconfiguration module Samples module --- build.gradle | 30 +++++++++++++++---- settings.gradle | 2 ++ .../PulsarAnnotationDrivenConfiguration.java | 5 +--- .../PulsarAutoConfiguration.java | 2 +- .../autoconfigure}/PulsarProperties.java | 2 +- .../src/main/java/app1}/PulsarBootApp.java | 2 +- .../src/main/java/app2}/ProducerApp.java | 2 +- .../src/main/java/app3}/PulsarAppTry.java | 2 +- .../main/java/app4}/FailoverConsumerApp.java | 2 +- .../src/main/java/app5}/FailoverConsumer.java | 2 +- .../src/main/java/app6}/Sender.java | 2 +- .../src/main/java/app6}/SenderString.java | 2 +- .../pulsar/core/PulsarTemplate.java | 1 - .../pulsar/core}/SchemaUtils.java | 2 +- .../main/resources/META-INF/spring.factories | 2 +- 15 files changed, 39 insertions(+), 21 deletions(-) rename {spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig => spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure}/PulsarAnnotationDrivenConfiguration.java (94%) rename {spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig => spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure}/PulsarAutoConfiguration.java (98%) rename {spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig => spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure}/PulsarProperties.java (99%) rename {spring-pulsar/src/main/java/apps/one => spring-pulsar-sample-apps/src/main/java/app1}/PulsarBootApp.java (98%) rename {spring-pulsar/src/main/java/apps/two => spring-pulsar-sample-apps/src/main/java/app2}/ProducerApp.java (98%) rename {spring-pulsar/src/main/java/apps/three => spring-pulsar-sample-apps/src/main/java/app3}/PulsarAppTry.java (98%) rename {spring-pulsar/src/main/java/apps/four => spring-pulsar-sample-apps/src/main/java/app4}/FailoverConsumerApp.java (99%) rename {spring-pulsar/src/main/java/apps/five => spring-pulsar-sample-apps/src/main/java/app5}/FailoverConsumer.java (97%) rename {spring-pulsar/src/main/java/apps/non/boot => spring-pulsar-sample-apps/src/main/java/app6}/Sender.java (98%) rename {spring-pulsar/src/main/java/apps/non/boot => spring-pulsar-sample-apps/src/main/java/app6}/SenderString.java (99%) rename spring-pulsar/src/main/java/{apps/non/boot => org/springframework/pulsar/core}/SchemaUtils.java (97%) diff --git a/build.gradle b/build.gradle index 852fcfc6..5a2f4edb 100644 --- a/build.gradle +++ b/build.gradle @@ -240,11 +240,6 @@ project ('spring-pulsar') { description = 'Spring Pulsar Support' dependencies { - api "org.springframework.boot:spring-boot:$springBootVersion" - api "org.springframework.boot:spring-boot-autoconfigure:$springBootVersion" - api "org.springframework.boot:spring-boot-starter:$springBootVersion" - api "org.springframework.boot:spring-boot-starter-logging:$springBootVersion" - api "org.springframework.boot:spring-boot-starter-validation:$springBootVersion" api 'org.springframework:spring-context' api 'org.springframework:spring-messaging' api 'org.springframework:spring-tx' @@ -272,5 +267,30 @@ project ('spring-pulsar') { testImplementation 'io.projectreactor:reactor-test' testImplementation "org.mockito:mockito-junit-jupiter:$mockitoVersion" testImplementation "org.hibernate.validator:hibernate-validator:$hibernateValidationVersion" + + testImplementation project (':spring-pulsar-boot-autoconfigure') } } + +project ('spring-pulsar-boot-autoconfigure') { + description = 'Spring Boot Pulsar Autoconfiguration' + + dependencies { + api "org.springframework.boot:spring-boot:$springBootVersion" + api "org.springframework.boot:spring-boot-autoconfigure:$springBootVersion" + api "org.springframework.boot:spring-boot-starter:$springBootVersion" + api "org.springframework.boot:spring-boot-starter-logging:$springBootVersion" + api "org.springframework.boot:spring-boot-starter-validation:$springBootVersion" + + api project (':spring-pulsar') + } +} + +project ('spring-pulsar-sample-apps') { + description = 'Spring Pulsar Sample Applications' + + dependencies { + api project (':spring-pulsar-boot-autoconfigure') + } +} + diff --git a/settings.gradle b/settings.gradle index 54c92747..ea9e2618 100644 --- a/settings.gradle +++ b/settings.gradle @@ -19,3 +19,5 @@ gradleEnterprise { rootProject.name = 'spring-pulsar-dist' include 'spring-pulsar' +include 'spring-pulsar-boot-autoconfigure' +include 'spring-pulsar-sample-apps' diff --git a/spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarAnnotationDrivenConfiguration.java b/spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarAnnotationDrivenConfiguration.java similarity index 94% rename from spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarAnnotationDrivenConfiguration.java rename to spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarAnnotationDrivenConfiguration.java index 61745367..1dd37ab8 100644 --- a/spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarAnnotationDrivenConfiguration.java +++ b/spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarAnnotationDrivenConfiguration.java @@ -14,14 +14,11 @@ * limitations under the License. */ -package org.springframework.pulsar.autoconfig; - -import org.apache.pulsar.client.api.Schema; +package org.springframework.pulsar.autoconfigure; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.pulsar.annotation.EnablePulsar; diff --git a/spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarAutoConfiguration.java b/spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarAutoConfiguration.java similarity index 98% rename from spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarAutoConfiguration.java rename to spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarAutoConfiguration.java index ee180900..a3614895 100644 --- a/spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarAutoConfiguration.java +++ b/spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.pulsar.autoconfig; +package org.springframework.pulsar.autoconfigure; import org.apache.pulsar.client.api.PulsarClient; diff --git a/spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarProperties.java b/spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarProperties.java similarity index 99% rename from spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarProperties.java rename to spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarProperties.java index 717d93db..f220cbbe 100644 --- a/spring-pulsar/src/main/java/org/springframework/pulsar/autoconfig/PulsarProperties.java +++ b/spring-pulsar-boot-autoconfigure/src/main/java/org/springframework/pulsar/autoconfigure/PulsarProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.pulsar.autoconfig; +package org.springframework.pulsar.autoconfigure; import java.util.HashMap; import java.util.Map; diff --git a/spring-pulsar/src/main/java/apps/one/PulsarBootApp.java b/spring-pulsar-sample-apps/src/main/java/app1/PulsarBootApp.java similarity index 98% rename from spring-pulsar/src/main/java/apps/one/PulsarBootApp.java rename to spring-pulsar-sample-apps/src/main/java/app1/PulsarBootApp.java index 4c5e7f7c..b4f35d53 100644 --- a/spring-pulsar/src/main/java/apps/one/PulsarBootApp.java +++ b/spring-pulsar-sample-apps/src/main/java/app1/PulsarBootApp.java @@ -1,4 +1,4 @@ -package apps.one; +package app1; import org.apache.pulsar.common.schema.SchemaType; diff --git a/spring-pulsar/src/main/java/apps/two/ProducerApp.java b/spring-pulsar-sample-apps/src/main/java/app2/ProducerApp.java similarity index 98% rename from spring-pulsar/src/main/java/apps/two/ProducerApp.java rename to spring-pulsar-sample-apps/src/main/java/app2/ProducerApp.java index 9dc6411f..4bcc2ecd 100644 --- a/spring-pulsar/src/main/java/apps/two/ProducerApp.java +++ b/spring-pulsar-sample-apps/src/main/java/app2/ProducerApp.java @@ -1,4 +1,4 @@ -package experiments.basic.producer; +package app2; import java.io.Serial; import java.util.Random; diff --git a/spring-pulsar/src/main/java/apps/three/PulsarAppTry.java b/spring-pulsar-sample-apps/src/main/java/app3/PulsarAppTry.java similarity index 98% rename from spring-pulsar/src/main/java/apps/three/PulsarAppTry.java rename to spring-pulsar-sample-apps/src/main/java/app3/PulsarAppTry.java index 7a9f44c1..98dd2792 100644 --- a/spring-pulsar/src/main/java/apps/three/PulsarAppTry.java +++ b/spring-pulsar-sample-apps/src/main/java/app3/PulsarAppTry.java @@ -1,4 +1,4 @@ -package experiments.basic; +package app3; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/spring-pulsar/src/main/java/apps/four/FailoverConsumerApp.java b/spring-pulsar-sample-apps/src/main/java/app4/FailoverConsumerApp.java similarity index 99% rename from spring-pulsar/src/main/java/apps/four/FailoverConsumerApp.java rename to spring-pulsar-sample-apps/src/main/java/app4/FailoverConsumerApp.java index 5d7742ee..858a2e73 100644 --- a/spring-pulsar/src/main/java/apps/four/FailoverConsumerApp.java +++ b/spring-pulsar-sample-apps/src/main/java/app4/FailoverConsumerApp.java @@ -1,4 +1,4 @@ -package apps.four; +package app4; import java.io.Serial; diff --git a/spring-pulsar/src/main/java/apps/five/FailoverConsumer.java b/spring-pulsar-sample-apps/src/main/java/app5/FailoverConsumer.java similarity index 97% rename from spring-pulsar/src/main/java/apps/five/FailoverConsumer.java rename to spring-pulsar-sample-apps/src/main/java/app5/FailoverConsumer.java index a54bd56d..d85620ea 100644 --- a/spring-pulsar/src/main/java/apps/five/FailoverConsumer.java +++ b/spring-pulsar-sample-apps/src/main/java/app5/FailoverConsumer.java @@ -1,4 +1,4 @@ -package apps.five; +package app5; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/spring-pulsar/src/main/java/apps/non/boot/Sender.java b/spring-pulsar-sample-apps/src/main/java/app6/Sender.java similarity index 98% rename from spring-pulsar/src/main/java/apps/non/boot/Sender.java rename to spring-pulsar-sample-apps/src/main/java/app6/Sender.java index bb7d6beb..6571c7ff 100644 --- a/spring-pulsar/src/main/java/apps/non/boot/Sender.java +++ b/spring-pulsar-sample-apps/src/main/java/app6/Sender.java @@ -1,4 +1,4 @@ -package apps.non.boot; +package app6; import java.nio.charset.StandardCharsets; import java.util.HashMap; diff --git a/spring-pulsar/src/main/java/apps/non/boot/SenderString.java b/spring-pulsar-sample-apps/src/main/java/app6/SenderString.java similarity index 99% rename from spring-pulsar/src/main/java/apps/non/boot/SenderString.java rename to spring-pulsar-sample-apps/src/main/java/app6/SenderString.java index 2bb1f205..ee20cebf 100644 --- a/spring-pulsar/src/main/java/apps/non/boot/SenderString.java +++ b/spring-pulsar-sample-apps/src/main/java/app6/SenderString.java @@ -1,4 +1,4 @@ -package apps.non.boot; +package app6; import java.util.HashMap; import java.util.Map; diff --git a/spring-pulsar/src/main/java/org/springframework/pulsar/core/PulsarTemplate.java b/spring-pulsar/src/main/java/org/springframework/pulsar/core/PulsarTemplate.java index cca06ba1..8c086e0f 100644 --- a/spring-pulsar/src/main/java/org/springframework/pulsar/core/PulsarTemplate.java +++ b/spring-pulsar/src/main/java/org/springframework/pulsar/core/PulsarTemplate.java @@ -21,7 +21,6 @@ import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; -import apps.non.boot.SchemaUtils; import org.apache.pulsar.client.api.MessageId; import org.apache.pulsar.client.api.MessageRouter; import org.apache.pulsar.client.api.Producer; diff --git a/spring-pulsar/src/main/java/apps/non/boot/SchemaUtils.java b/spring-pulsar/src/main/java/org/springframework/pulsar/core/SchemaUtils.java similarity index 97% rename from spring-pulsar/src/main/java/apps/non/boot/SchemaUtils.java rename to spring-pulsar/src/main/java/org/springframework/pulsar/core/SchemaUtils.java index 0ad536ea..4eecc1bb 100644 --- a/spring-pulsar/src/main/java/apps/non/boot/SchemaUtils.java +++ b/spring-pulsar/src/main/java/org/springframework/pulsar/core/SchemaUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package apps.non.boot; +package org.springframework.pulsar.core; import org.apache.pulsar.client.api.Schema; import org.apache.pulsar.client.impl.schema.JSONSchema; diff --git a/spring-pulsar/src/main/resources/META-INF/spring.factories b/spring-pulsar/src/main/resources/META-INF/spring.factories index 3f09129c..58374fe3 100644 --- a/spring-pulsar/src/main/resources/META-INF/spring.factories +++ b/spring-pulsar/src/main/resources/META-INF/spring.factories @@ -1,2 +1,2 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration:\ -org.springframework.pulsar.autoconfig.PulsarAutoConfiguration \ No newline at end of file +org.springframework.pulsar.autoconfigure.PulsarAutoConfiguration \ No newline at end of file