jraft-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>jraft-parent</artifactId> <version>1.4.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <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> <groupId>com.alipay.sofa</groupId> <artifactId>jraft-parent</artifactId> <version>1.4.0</version> <packaging>pom</packaging> <name>${project.groupId}:${project.artifactId}</name> <description>A production-grade java implementation of RAFT consensus algorithm.</description> <url>https://github.com/alipay/sofa-jraft</url> <licenses> <license> <name>The Apache License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> </license> </licenses> <developers> <developer> <name>boyan</name> <email>boyan@antfin.com</email> <organization>Ant Financial</organization> <organizationUrl>https://www.alipay.com/</organizationUrl> </developer> <developer> <name>jiachun</name> <email>jiachun.fjc@alibaba-inc.com</email> <organization>Ant Financial</organization> <organizationUrl>https://www.alipay.com/</organizationUrl> </developer> </developers> <modules> <module>jraft-core</module> <module>jraft-test</module> <module>jraft-example</module> <module>jraft-rheakv</module> <module>jraft-extension</module> </modules> <scm> <connection>scm:git:git://github.com/alipay/sofa-jraft.git</connection> <developerConnection>scm:git:ssh://github.com/alipay/sofa-jraft.git</developerConnection> <url>http://github.com/alipay/sofa-jraft/tree/master</url> </scm> <properties> <affinity.version>3.1.7</affinity.version> <asm.version>6.0</asm.version> <bolt.version>1.6.7</bolt.version> <commons.compress.version>1.21</commons.compress.version> <commons.io.version>2.8.0</commons.io.version> <commons.lang.version>2.6</commons.lang.version> <disruptor.version>3.3.7</disruptor.version> <hamcrest.version>1.3</hamcrest.version> <hessian.version>3.3.6</hessian.version> <jacoco.path>${project.build.directory}/jacoco.exec</jacoco.path> <jacoco.skip>true</jacoco.skip> <java.source.version>1.8</java.source.version> <java.target.version>1.8</java.target.version> <jctools.version>2.1.1</jctools.version> <jmh.version>1.20</jmh.version> <jna.version>5.14.0</jna.version> <jsr305.version>3.0.2</jsr305.version> <junit.dep.version>4.8.2</junit.dep.version> <junit.version>4.13.1</junit.version> <log4j.version>2.17.1</log4j.version> <main.user.dir>${user.dir}</main.user.dir> <metrics.version>4.0.2</metrics.version> <mockito.version>1.9.5</mockito.version> <powermock.version>1.6.0</powermock.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.encoding>UTF-8</project.encoding> <protobuf.version>3.25.5</protobuf.version> <protostuff.version>1.6.0</protostuff.version> <rocksdb.version>8.8.1</rocksdb.version> <slf4j.version>1.7.21</slf4j.version> </properties> <dependencyManagement> <dependencies> <!-- sub modules --> <dependency> <groupId>${project.groupId}</groupId> <artifactId>jraft-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>jraft-test</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>jraft-example</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>rpc-grpc-impl</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>java-log-storage-impl</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>jraft-rheakv-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>jraft-rheakv-pd</artifactId> <version>${project.version}</version> </dependency> <!-- asm --> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>${asm.version}</version> </dependency> <!-- jsr305 --> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>${jsr305.version}</version> </dependency> <!-- bolt --> <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>bolt</artifactId> <version>${bolt.version}</version> </dependency> <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>hessian</artifactId> <version>${hessian.version}</version> </dependency> <!-- log facade --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <!-- log impl --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jcl</artifactId> <version>${log4j.version}</version> </dependency> <!-- disruptor --> <dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> <version>${disruptor.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons.io.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>${commons.compress.version}</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>${commons.lang.version}</version> </dependency> <!-- protobuf --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf.version}</version> </dependency> <!-- protostuff --> <dependency> <groupId>io.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>${protostuff.version}</version> </dependency> <dependency> <groupId>io.protostuff</groupId> <artifactId>protostuff-runtime</artifactId> <version>${protostuff.version}</version> </dependency> <!-- rocksdb --> <dependency> <groupId>org.rocksdb</groupId> <artifactId>rocksdbjni</artifactId> <version>${rocksdb.version}</version> </dependency> <!-- java thread affinity --> <dependency> <groupId>net.openhft</groupId> <artifactId>affinity</artifactId> <version>${affinity.version}</version> <exclusions> <exclusion> <artifactId>slf4j-api</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <!-- jna --> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> </dependency> <!-- jctools --> <dependency> <groupId>org.jctools</groupId> <artifactId>jctools-core</artifactId> <version>${jctools.version}</version> </dependency> <!-- metrics --> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${metrics.version}</version> <exclusions> <exclusion> <artifactId>slf4j-api</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <!--<dependency>--> <!--<groupId>com.github.luben</groupId>--> <!--<artifactId>zstd-jni</artifactId>--> <!--<version>${zstd.version}</version>--> <!--</dependency>--> <!-- benchmark --> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>${jmh.version}</version> <scope>test</scope> </dependency> <!-- test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit-dep</artifactId> <version>${junit.dep.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>${hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <!-- jacoco coveraage --> <!-- mvn jacoco:report -Djacoco.skip=false --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.1</version> <executions> <execution> <id>pre-test</id> <phase>process-classes</phase> <goals> <goal>prepare-agent</goal> </goals> <configuration> <propertyName>coverageAgent</propertyName> </configuration> </execution> </executions> <configuration> <skip>${jacoco.skip}</skip> <destFile>${jacoco.path}</destFile> <sessionId>jacoco_coverage</sessionId> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>${java.source.version}</source> <target>${java.target.version}</target> <encoding>${project.encoding}</encoding> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <finalName>jraft</finalName> <descriptors> <descriptor>assembly.xml</descriptor> </descriptors> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M9</version> <inherited>true</inherited> <configuration> <!-- jacoco coveraage and Java 17+ compatibility --> <argLine>-Xmx2048m ${coverageAgent} --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED</argLine> <includes> <include>**/*Test.java</include> <include>**/*TestSuite*.java</include> </includes> <forkCount>1</forkCount> <reuseForks>false</reuseForks> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.0.2</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <version>2.5.1</version> <configuration> <downloadSources>true</downloadSources> </configuration> </plugin> <!-- formatter --> <plugin> <groupId>com.googlecode.maven-java-formatter-plugin</groupId> <artifactId>maven-java-formatter-plugin</artifactId> <version>0.4</version> <executions> <execution> <goals> <goal>format</goal> </goals> </execution> </executions> <configuration> <configFile>${main.user.dir}/tools/codestyle/formatter.xml</configFile> <encoding>${project.encoding}</encoding> </configuration> </plugin> <!-- sort pom --> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>2.4.0</version> <executions> <execution> <id>sort-pom</id> <phase>compile</phase> <goals> <goal>sort</goal> </goals> </execution> </executions> <configuration> <nrOfIndentSpace>4</nrOfIndentSpace> <keepBlankLines>true</keepBlankLines> <sortProperties>true</sortProperties> <encoding>${project.encoding}</encoding> </configuration> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>3.0</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>remove</goal> <goal>format</goal> </goals> </execution> </executions> <configuration> <quiet>true</quiet> <header>${main.user.dir}/tools/codestyle/HEADER</header> <includes> <include>**/src/main/java/**</include> <include>**/src/test/java/**</include> </includes> <excludes> <exclude>**/ByteObjectHashMap.java</exclude> <exclude>**/Recyclers.java</exclude> <exclude>**/HashedWheelTimer.java</exclude> <exclude>**/Timeout.java</exclude> <exclude>**/TimerTask.java</exclude> <exclude>**/NonReentrantLock.java</exclude> <exclude>**/UnsafeUtf8Util.java</exclude> <exclude>**/HeapByteBufUtil.java</exclude> </excludes> <strictCheck>true</strictCheck> <mapping> <java>SLASHSTAR_STYLE</java> </mapping> </configuration> </plugin> </plugins> </build> <!-- profile definitions --> <profiles> <profile> <id>deploy</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.9.1</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <configuration> <additionalparam>-Xdoclint:none</additionalparam> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.8</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://ossrh-staging-api.central.sonatype.com/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </plugin> </plugins> </build> <distributionManagement> <repository> <id>ossrh</id> <url>https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>ossrh</id> <url>https://central.sonatype.com/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement> </profile> </profiles> </project>