| <?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. See accompanying LICENSE file. |
| --> |
| <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>apache</artifactId> |
| <version>37</version> |
| <relativePath /> <!-- resolve from repository --> |
| </parent> |
| <artifactId>ratis-thirdparty</artifactId> |
| <groupId>org.apache.ratis</groupId> |
| <version>1.0.12-SNAPSHOT</version> |
| <name>Apache Ratis Thirdparty</name> |
| <packaging>pom</packaging> |
| <description>Thirdparty dependencies for Apache Ratis</description> |
| <url>https://ratis.apache.org/</url> |
| <inceptionYear>2017</inceptionYear> |
| <modules> |
| <module>misc</module> |
| </modules> |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| </license> |
| </licenses> |
| <scm> |
| <connection>scm:git:git://github.com/apache/ratis-thirdparty.git</connection> |
| <developerConnection>scm:git:https://github.com/apache/ratis-thirdparty.git</developerConnection> |
| <url>https://github.com/apache/ratis-thirdparty</url> |
| <tag>HEAD</tag> |
| </scm> |
| <issueManagement> |
| <system>JIRA</system> |
| <url>http://issues.apache.org/jira/browse/RATIS</url> |
| </issueManagement> |
| <properties> |
| <project.build.outputTimestamp>2026-03-15T04:55:07Z</project.build.outputTimestamp> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <!-- Maven plugin versions --> |
| <copy-rename-maven-plugin.version>1.0.1</copy-rename-maven-plugin.version> |
| <cyclonedx.version>2.9.1</cyclonedx.version> |
| <exec-maven-plugin.version>3.6.3</exec-maven-plugin.version> |
| <extra-enforcer-rules.version>1.12.0</extra-enforcer-rules.version> |
| <maven-bundle-plugin.version>6.0.2</maven-bundle-plugin.version> |
| <maven-replacer-plugin.version>1.5.3</maven-replacer-plugin.version> |
| <os-maven-plugin.version>1.7.1</os-maven-plugin.version> |
| |
| <!-- set in parent POM, but only for JDK9+ --> |
| <maven.compiler.release>${javaVersion}</maven.compiler.release> |
| |
| <!--Version of protobuf to be shaded --> |
| <shaded.protobuf.version>3.25.9</shaded.protobuf.version> |
| <!--Version of grpc to be shaded --> |
| <shaded.grpc.version>1.80.0</shaded.grpc.version> |
| <!--Version of Netty to be shaded --> |
| <shaded.netty.version>4.1.132.Final</shaded.netty.version> |
| <!--Version of dropwizard to be shaded --> |
| <shaded.dropwizard.version>4.2.38</shaded.dropwizard.version> |
| |
| <!-- third party library versions --> |
| <gson.version>2.13.2</gson.version> |
| <guava.version>33.5.0-jre</guava.version> |
| |
| <ratis.thirdparty.shaded.prefix>org.apache.ratis.thirdparty</ratis.thirdparty.shaded.prefix> |
| <ratis.thirdparty.shaded.native.prefix>org_apache_ratis_thirdparty_</ratis.thirdparty.shaded.native.prefix> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <!-- Project dependencies --> |
| <dependency> |
| <groupId>org.apache.ratis</groupId> |
| <artifactId>ratis-thirdparty-misc</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- Third party dependencies - alphabetically by group --> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${shaded.protobuf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java-util</artifactId> |
| <version>${shaded.protobuf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-netty</artifactId> |
| <version>${shaded.grpc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-protobuf</artifactId> |
| <version>${shaded.grpc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-stub</artifactId> |
| <version>${shaded.grpc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-context</artifactId> |
| <version>${shaded.grpc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-bom</artifactId> |
| <version>${shaded.netty.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-core</artifactId> |
| <version>${shaded.dropwizard.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-jvm</artifactId> |
| <version>${shaded.dropwizard.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-jmx</artifactId> |
| <version>${shaded.dropwizard.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <additionalJOptions> |
| <additionalJOption>-Xmaxwarns</additionalJOption> |
| <additionalJOption>10000</additionalJOption> |
| <additionalJOption>-Xdoclint:-missing</additionalJOption> |
| </additionalJOptions> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>${exec-maven-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <!--Defer to the ratis-assembly sub-module. It does all assembly--> |
| <skipAssembly>true</skipAssembly> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <!--You need this profile. It'll sign your artifacts. |
| I'm not sure if this config. actually works though. |
| I've been specifying -Papache-release on the command-line |
| --> |
| <releaseProfiles>apache-release</releaseProfiles> |
| <!--This stops our running tests for each stage of maven release. |
| But it builds the test jar. From SUREFIRE-172. |
| --> |
| <arguments>-Dmaven.test.skip.exec ${arguments}</arguments> |
| <goals>${goals}</goals> |
| <pomFileName>pom.xml</pomFileName> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <!-- target/ should get picked up from Apache parent pom.. --> |
| <configuration> |
| <!-- Lets us define more exclusions in child-modules without overriding these --> |
| <excludes combine.children="append"> |
| <exclude>target/**</exclude> |
| <exclude>test/target/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>${maven-bundle-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.cyclonedx</groupId> |
| <artifactId>cyclonedx-maven-plugin</artifactId> |
| <version>${cyclonedx.version}</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <inherited>true</inherited> |
| <extensions>true</extensions> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- builds source jars and attaches them to the project for publishing --> |
| <id>attach-sources</id> <!-- override execution from maven-apache-parent POM --> |
| <phase>package</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| <goal>test-jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>extra-enforcer-rules</artifactId> |
| <version>${extra-enforcer-rules.version}</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>dist-enforce</id> |
| <phase>package</phase> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <enforceBytecodeVersion> |
| <maxJdkVersion>${maven.compiler.release}</maxJdkVersion> |
| <message>Ratis has unsupported dependencies. |
| Ratis requires that all dependencies be compiled with version ${maven.compiler.release} or earlier |
| of the JDK to properly build from source. You appear to be using a newer dependency. You can use |
| either "mvn -version" or "mvn enforcer:display-info" to verify what version is active. |
| </message> |
| </enforceBytecodeVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- Execution at the validate lifecycle is good --> |
| <id>check-licenses</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.cyclonedx</groupId> |
| <artifactId>cyclonedx-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>makeBom</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>test</id> |
| <modules> |
| <module>test</module> |
| </modules> |
| </profile> |
| </profiles> |
| </project> |