lhotari commented on code in PR #2:
URL: https://github.com/apache/pulsar-java-contrib/pull/2#discussion_r1726701539


##########
README.md:
##########
@@ -1,2 +1,25 @@
-# pulsar-java-contrib
-Apache pulsar
+# Apache Pulsar Java Contrib
+
+Pulsar java contrib is to provide a non-core code maintenance repository to 
collect plugin implementations, personalized features, experimental features, 
and best practices from users.
+
+- [Plugin Contribution Guide](contributionGuides) lists the core interfaces in 
Pulsar that can be implemented by contributors, and provides implementation 
guidelines for each type of interface.
+
+- [Plugin Implementation List](contributedFeatures.md) lists the implemented 
plugins. Users can select the ones they need for reuse.
+
+- [Personalization Features](customizationFeatures.md) lists the customized 
features and experimental features that require modification to the Pulsar 
source code.
+
+- [Best Practices]([best-practice-blogs](best-practice-blogs)) lists the best 
practices for each function summarized by community contributions.
+  - [consume-best-practice.md](best-pratice-blogs%2Fconsume-best-practice.md)
+
+This project follows the terms of **Apache License 2.0**.
+You can format the code by ` mvn spotless:apply` and generate license headers 
by `mvn license:format`.
+Please note that the code formatted by Spotless may still not meet the 
formatting requirements. Please run `mvn checkstyle:check` for inspection.
+
+## Contributing
+
+pulsar-java-contrib is actively in development.  If you have some common use 
cases for plugins, please contact us and we'll be happy to support.
+Please[open an 
issue](https://github.com/apache/pulsar-java-contrib/issues/new) to share your 
idea or

Review Comment:
   ```suggestion
   Please [open an 
issue](https://github.com/apache/pulsar-java-contrib/issues/new) to share your 
idea or
   ```



##########
README.md:
##########
@@ -1,2 +1,25 @@
-# pulsar-java-contrib
-Apache pulsar
+# Apache Pulsar Java Contrib
+
+Pulsar java contrib is to provide a non-core code maintenance repository to 
collect plugin implementations, personalized features, experimental features, 
and best practices from users.
+
+- [Plugin Contribution Guide](contributionGuides) lists the core interfaces in 
Pulsar that can be implemented by contributors, and provides implementation 
guidelines for each type of interface.
+
+- [Plugin Implementation List](contributedFeatures.md) lists the implemented 
plugins. Users can select the ones they need for reuse.
+
+- [Personalization Features](customizationFeatures.md) lists the customized 
features and experimental features that require modification to the Pulsar 
source code.
+
+- [Best Practices]([best-practice-blogs](best-practice-blogs)) lists the best 
practices for each function summarized by community contributions.
+  - [consume-best-practice.md](best-pratice-blogs%2Fconsume-best-practice.md)
+
+This project follows the terms of **Apache License 2.0**.
+You can format the code by ` mvn spotless:apply` and generate license headers 
by `mvn license:format`.

Review Comment:
   ```suggestion
   You can format the code by `mvn spotless:apply` and generate license headers 
by `mvn license:format`.
   ```



##########
LICENSE:
##########
@@ -0,0 +1,215 @@
+====
+    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.
+====

Review Comment:
   Why does this file contain a header? This should be removed and added to 
exclusions if the license tool enforces it.



##########
README.md:
##########
@@ -1,2 +1,25 @@
-# pulsar-java-contrib
-Apache pulsar
+# Apache Pulsar Java Contrib
+
+Pulsar java contrib is to provide a non-core code maintenance repository to 
collect plugin implementations, personalized features, experimental features, 
and best practices from users.
+
+- [Plugin Contribution Guide](contributionGuides) lists the core interfaces in 
Pulsar that can be implemented by contributors, and provides implementation 
guidelines for each type of interface.
+
+- [Plugin Implementation List](contributedFeatures.md) lists the implemented 
plugins. Users can select the ones they need for reuse.
+
+- [Personalization Features](customizationFeatures.md) lists the customized 
features and experimental features that require modification to the Pulsar 
source code.
+
+- [Best Practices]([best-practice-blogs](best-practice-blogs)) lists the best 
practices for each function summarized by community contributions.
+  - [consume-best-practice.md](best-pratice-blogs%2Fconsume-best-practice.md)

Review Comment:
   typo here:
   ```suggestion
     - 
[consume-best-practice.md](best-practice-blogs%2Fconsume-best-practice.md)
   ```



##########
pom.xml:
##########
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>29</version>
+    </parent>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <inceptionYear>2024</inceptionYear>
+
+  <artifactId>pulsar-java-contrib</artifactId>
+  <packaging>pom</packaging>
+  <name>Pulsar Java Contrib</name>
+
+  <modules>
+      <module>pulsar-client-common-contrib</module>
+      <module>pulsar-loadbalance-contrib</module>
+      <module>pulsar-interceptor-contrib</module>
+      <module>pulsar-connector-contrib</module>
+      <module>pulsar-function-contrib</module>
+      <module>pulsar-bookkeeper-contrib</module>
+      <module>pulsar-transaction-contrib</module>
+      <module>pulsar-metrics-contrib</module>
+      <module>pulsar-auth-contrib</module>
+  </modules>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <property>
+          <name>!productized</name>
+        </property>
+      </activation>
+    </profile>
+
+    <profile>
+      <id>fullProfile</id>
+      <activation>
+        <property>
+          <name>full</name>
+        </property>
+      </activation>
+    </profile>
+  </profiles>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>${org.testing.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-bom</artifactId>
+                <version>${slf4j.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.pulsar</groupId>
+                <artifactId>pulsar-bom</artifactId>
+                <version>${pulsar.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <properties>
+        <lombok.version>1.18.32</lombok.version>
+        <slf4j.version>2.0.13</slf4j.version>
+        <maven.compiler.release.version>17</maven.compiler.release.version>

Review Comment:
   ```suggestion
           <maven.compiler.release>17</maven.compiler.release>
   ```
   Please check the docs 
https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-release.html



##########
README.md:
##########
@@ -1,2 +1,25 @@
-# pulsar-java-contrib
-Apache pulsar
+# Apache Pulsar Java Contrib
+
+Pulsar java contrib is to provide a non-core code maintenance repository to 
collect plugin implementations, personalized features, experimental features, 
and best practices from users.
+
+- [Plugin Contribution Guide](contributionGuides) lists the core interfaces in 
Pulsar that can be implemented by contributors, and provides implementation 
guidelines for each type of interface.
+
+- [Plugin Implementation List](contributedFeatures.md) lists the implemented 
plugins. Users can select the ones they need for reuse.
+
+- [Personalization Features](customizationFeatures.md) lists the customized 
features and experimental features that require modification to the Pulsar 
source code.
+
+- [Best Practices]([best-practice-blogs](best-practice-blogs)) lists the best 
practices for each function summarized by community contributions.
+  - [consume-best-practice.md](best-pratice-blogs%2Fconsume-best-practice.md)
+
+This project follows the terms of **Apache License 2.0**.
+You can format the code by ` mvn spotless:apply` and generate license headers 
by `mvn license:format`.
+Please note that the code formatted by Spotless may still not meet the 
formatting requirements. Please run `mvn checkstyle:check` for inspection.
+
+## Contributing
+
+pulsar-java-contrib is actively in development.  If you have some common use 
cases for plugins, please contact us and we'll be happy to support.
+Please[open an 
issue](https://github.com/apache/pulsar-java-contrib/issues/new) to share your 
idea or
+suggestion.  PRs are always welcome and greatly appreciated, but for larger 
functional changes a pre-coding introduction
+can be helpful to ensure this is the correct place and that active or 
conflicting efforts don't exist.
+
+Learn more about roles in the [community 
repository](https://github.com/StevenLuMT/pulsar-java-contrib).

Review Comment:
   ```suggestion
   Learn more about roles in the [community 
repository](https://github.com/pulsar/pulsar-java-contrib).
   ```



##########
best-practice-blogs/consume-best-practice.md:
##########
@@ -0,0 +1,229 @@
+# Consume Best Practice
+
+## Background Knowledge
+
+### Subscription Types
+
+Pulsar is a distributed message system where messages can be sent to topics by 
producers and consumed by consumers.
+Consumers can subscribe to the topics in four ways (subscription types):
+
+* **Exclusive**
+* **Failover**
+* **Shared**
+* **Key-shared**
+
+The messages are consumed in order for a single partition in Exclusive and 
Failover modes and out of order for Shared and
+Key-shared mode. The main difference between Exclusive and Failover is that in 
Exclusive mode, the consumer is exclusive
+to the entire topic, while in Failover mode, the consumer is exclusive to only 
one partition. Failover mode allows backup
+consumer connections that are not consumed. The main difference between Shared 
and Key-shared is whether their dispatch
+strategy is implemented via a key. For more information about subscription 
type, refer to the [Pulsar 
website](https://pulsar.apache.org/docs/3.2.x/concepts-messaging/).

Review Comment:
   ```suggestion
   strategy is implemented via a key. For more information about subscription 
type, refer to the [Pulsar 
website](https://pulsar.apache.org/docs/next/concepts-messaging/).
   ```



##########
pom.xml:
##########
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>29</version>
+    </parent>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <inceptionYear>2024</inceptionYear>
+
+  <artifactId>pulsar-java-contrib</artifactId>
+  <packaging>pom</packaging>
+  <name>Pulsar Java Contrib</name>
+
+  <modules>
+      <module>pulsar-client-common-contrib</module>
+      <module>pulsar-loadbalance-contrib</module>
+      <module>pulsar-interceptor-contrib</module>
+      <module>pulsar-connector-contrib</module>
+      <module>pulsar-function-contrib</module>
+      <module>pulsar-bookkeeper-contrib</module>
+      <module>pulsar-transaction-contrib</module>
+      <module>pulsar-metrics-contrib</module>
+      <module>pulsar-auth-contrib</module>
+  </modules>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <property>
+          <name>!productized</name>
+        </property>
+      </activation>
+    </profile>
+
+    <profile>
+      <id>fullProfile</id>
+      <activation>
+        <property>
+          <name>full</name>
+        </property>
+      </activation>
+    </profile>
+  </profiles>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>${org.testing.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-bom</artifactId>
+                <version>${slf4j.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.pulsar</groupId>
+                <artifactId>pulsar-bom</artifactId>
+                <version>${pulsar.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <properties>

Review Comment:
   please move the properties in the beginning of the file, for example after 
the name element. It's more readable that way.



##########
pom.xml:
##########
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>29</version>
+    </parent>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <inceptionYear>2024</inceptionYear>
+
+  <artifactId>pulsar-java-contrib</artifactId>
+  <packaging>pom</packaging>
+  <name>Pulsar Java Contrib</name>
+
+  <modules>
+      <module>pulsar-client-common-contrib</module>
+      <module>pulsar-loadbalance-contrib</module>
+      <module>pulsar-interceptor-contrib</module>
+      <module>pulsar-connector-contrib</module>
+      <module>pulsar-function-contrib</module>
+      <module>pulsar-bookkeeper-contrib</module>
+      <module>pulsar-transaction-contrib</module>
+      <module>pulsar-metrics-contrib</module>
+      <module>pulsar-auth-contrib</module>
+  </modules>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <property>
+          <name>!productized</name>
+        </property>
+      </activation>
+    </profile>
+
+    <profile>
+      <id>fullProfile</id>
+      <activation>
+        <property>
+          <name>full</name>
+        </property>
+      </activation>
+    </profile>
+  </profiles>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+        </dependency>
+

Review Comment:
   indents seems to be misaligned. Please reformat the complete file.



##########
pom.xml:
##########
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>29</version>
+    </parent>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <inceptionYear>2024</inceptionYear>
+
+  <artifactId>pulsar-java-contrib</artifactId>
+  <packaging>pom</packaging>
+  <name>Pulsar Java Contrib</name>
+
+  <modules>
+      <module>pulsar-client-common-contrib</module>
+      <module>pulsar-loadbalance-contrib</module>
+      <module>pulsar-interceptor-contrib</module>
+      <module>pulsar-connector-contrib</module>
+      <module>pulsar-function-contrib</module>
+      <module>pulsar-bookkeeper-contrib</module>
+      <module>pulsar-transaction-contrib</module>
+      <module>pulsar-metrics-contrib</module>
+      <module>pulsar-auth-contrib</module>
+  </modules>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <property>
+          <name>!productized</name>
+        </property>
+      </activation>
+    </profile>
+
+    <profile>
+      <id>fullProfile</id>
+      <activation>
+        <property>
+          <name>full</name>
+        </property>
+      </activation>
+    </profile>
+  </profiles>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>${org.testing.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-bom</artifactId>
+                <version>${slf4j.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.pulsar</groupId>
+                <artifactId>pulsar-bom</artifactId>
+                <version>${pulsar.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+

Review Comment:
   Please place `dependencyManagement` block before the project `dependencies` 
block.



##########
pom.xml:
##########
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>29</version>
+    </parent>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <inceptionYear>2024</inceptionYear>
+
+  <artifactId>pulsar-java-contrib</artifactId>
+  <packaging>pom</packaging>
+  <name>Pulsar Java Contrib</name>
+
+  <modules>
+      <module>pulsar-client-common-contrib</module>
+      <module>pulsar-loadbalance-contrib</module>
+      <module>pulsar-interceptor-contrib</module>
+      <module>pulsar-connector-contrib</module>
+      <module>pulsar-function-contrib</module>
+      <module>pulsar-bookkeeper-contrib</module>
+      <module>pulsar-transaction-contrib</module>
+      <module>pulsar-metrics-contrib</module>
+      <module>pulsar-auth-contrib</module>
+  </modules>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <property>
+          <name>!productized</name>
+        </property>
+      </activation>
+    </profile>
+
+    <profile>
+      <id>fullProfile</id>
+      <activation>
+        <property>
+          <name>full</name>
+        </property>
+      </activation>
+    </profile>
+  </profiles>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <type>jar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>${org.testing.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-bom</artifactId>
+                <version>${slf4j.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.pulsar</groupId>
+                <artifactId>pulsar-bom</artifactId>
+                <version>${pulsar.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <properties>
+        <lombok.version>1.18.32</lombok.version>
+        <slf4j.version>2.0.13</slf4j.version>
+        <maven.compiler.release.version>17</maven.compiler.release.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <pulsar.version>3.3.1</pulsar.version>
+        
<maven-checkstyle-plugin.version>3.4.0</maven-checkstyle-plugin.version>
+        <puppycrawl.checkstyle.version>8.45.1</puppycrawl.checkstyle.version>
+        <spotless-maven-plugin.version>2.43.0</spotless-maven-plugin.version>
+        <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
+        <maven-wrapper-plugin.version>3.3.2</maven-wrapper-plugin.version>
+        <license-maven-plugin.version>4.5</license-maven-plugin.version>
+        <org.testing.version>7.10.2</org.testing.version>
+    </properties>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-wrapper-plugin</artifactId>
+                <version>${maven-wrapper-plugin.version}</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>${maven-compiler-plugin.version}</version>
+                <configuration>
+                    
<maven.compiler.release>${maven.compiler.release.version}</maven.compiler.release>

Review Comment:
   this doesn't look right. remove this. there are multiple problems here the 
element name is `release` instead of `maven.compiler.release`. Docs are 
https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-release.html
 .
   
   The maven-compiler-plugin.version must be set and a proper version (> 3.6) 
for this to work. 
   (property docs: 
https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#release)
   Many old maven versions default to ancient maven-compiler-plugin versions 
that don't support maven.compiler.release or the release configuration. Perhaps 
you faced that issue at some point?
   



##########
pulsar-client-common-contrib/pom.xml:
##########
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>pulsar-java-contrib</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <inceptionYear>2024</inceptionYear>
+
+    <artifactId>pulsar-client-common-contrib</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.pulsar</groupId>
+            <artifactId>pulsar-client-all</artifactId>
+        </dependency>
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache</groupId>
+                <artifactId>pulsar-java-contrib</artifactId>
+                <version>1.0.0-SNAPSHOT</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>

Review Comment:
   I don't think that this is the correct solution. pulsar-java-contrib is 
already a parent pom, what are you trying to achieve?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to