| <?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> |
| |
| <artifactId>pulsar-java-contrib</artifactId> |
| <version>1.0.0-SNAPSHOT</version> |
| <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> |
| <module>pulsar-rpc-contrib</module> |
| <module>pulsar-admin-mcp-contrib</module> |
| </modules> |
| |
| <properties> |
| <lombok.version>1.18.32</lombok.version> |
| <slf4j.version>2.0.13</slf4j.version> |
| <maven.compiler.release>17</maven.compiler.release> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <pulsar.version>4.1.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>3.13.0</maven-compiler-plugin> |
| <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> |
| <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version> |
| <google-java-format.version>1.10.0</google-java-format.version> |
| <commons-pool.version>2.12.0</commons-pool.version> |
| <awaitility.version>4.2.2</awaitility.version> |
| <testcontainers.version>1.20.1</testcontainers.version> |
| <junit.version>4.13.1</junit.version> |
| <mockito.version>5.12.0</mockito.version> |
| </properties> |
| |
| <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> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-pool2</artifactId> |
| <version>${commons-pool.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.awaitility</groupId> |
| <artifactId>awaitility</artifactId> |
| <version>${awaitility.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>pulsar</artifactId> |
| <version>${testcontainers.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.awaitility</groupId> |
| <artifactId>awaitility</artifactId> |
| <version>${awaitility.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <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> |
| <build> |
| <plugins> |
| <!-- Spotless Plugin --> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>${spotless-maven-plugin.version}</version> |
| <configuration> |
| <java> |
| <googleJavaFormat> |
| <version>${google-java-format.version}</version> |
| <style>GOOGLE</style> |
| </googleJavaFormat> |
| <!-- \# refers to the static imports --> |
| <replaceRegex> |
| <name>no-blank-between-static-and-normal-imports</name> |
| <searchRegex>(?m)(^import static[^\n]*;\n(?:import static[^\n]*;\n)*)(?:\s*\n)(?=import )</searchRegex> |
| <replacement>$1</replacement> |
| </replaceRegex> |
| </java> |
| <pom> |
| <includes> |
| <include>pom.xml</include> |
| </includes> |
| <sortPom> |
| <encoding>UTF-8</encoding> |
| <lineSeparator>${line.separator}</lineSeparator> |
| <expandEmptyElements>true</expandEmptyElements> |
| <spaceBeforeCloseEmptyElement>false</spaceBeforeCloseEmptyElement> |
| <keepBlankLines>true</keepBlankLines> |
| <nrOfIndentSpace>4</nrOfIndentSpace> |
| <indentBlankLines>false</indentBlankLines> |
| <indentSchemaLocation>false</indentSchemaLocation> |
| <predefinedSortOrder>recommended_2008_06</predefinedSortOrder> |
| <sortOrderFile>./sort_order.xml</sortOrderFile> |
| <sortDependencies>groupId,artifactId</sortDependencies> |
| <sortDependencyManagement>true</sortDependencyManagement> |
| <sortDependencyExclusions>groupId,artifactId</sortDependencyExclusions> |
| <sortPlugins>groupId,artifactId</sortPlugins> |
| <sortProperties>false</sortProperties> |
| <sortModules>false</sortModules> |
| <sortExecutions>false</sortExecutions> |
| </sortPom> |
| </pom> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>apply</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <!-- Check that source files have appropriate license headers --> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>${license-maven-plugin.version}</version> |
| <configuration> |
| <header>etc/APACHE-2.txt</header> |
| <excludes> |
| <exclude>LICENSE</exclude> |
| <exclude>NOTICE</exclude> |
| <exclude>payload/**</exclude> |
| <exclude>**/*.pyc</exclude> |
| <exclude>**/.pydevproject</exclude> |
| <exclude>.github/**</exclude> |
| </excludes> |
| <mapping> |
| <benchmark>SCRIPT_STYLE</benchmark> |
| <j2>SCRIPT_STYLE</j2> |
| <conf>SCRIPT_STYLE</conf> |
| <yaml>SCRIPT_STYLE</yaml> |
| <md>XML_STYLE</md> |
| <lombok.config>SCRIPT_STYLE</lombok.config> |
| <puml>APOSTROPHE_STYLE</puml> |
| </mapping> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin-git</artifactId> |
| <version>${license-maven-plugin.version}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>process-sources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Checkstyle Plugin --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven-checkstyle-plugin.version}</version> |
| <configuration> |
| <configLocation>./src/main/resources/checkstyle.xml</configLocation> |
| <suppressionsLocation>./src/main/resources/suppressions.xml</suppressionsLocation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <encoding>UTF-8</encoding> |
| <excludes>**/*.proto</excludes> |
| <!-- Example exclusion --> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>${puppycrawl.checkstyle.version}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>validate-checkstyle</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>validate</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>${lombok.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-wrapper-plugin</artifactId> |
| <version>${maven-wrapper-plugin.version}</version> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <inceptionYear>2024</inceptionYear> |
| </project> |