You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
533 lines
22 KiB
XML
533 lines
22 KiB
XML
<?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.3.10.bugfix</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.4</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.5.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.5.1</protobuf.version>
|
|
<protostuff.version>1.6.0</protostuff.version>
|
|
<rocksdb.version>6.22.1.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>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.7.9</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.8.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>2.12.4</version>
|
|
<inherited>true</inherited>
|
|
<configuration>
|
|
<!-- jacoco coveraage -->
|
|
<argLine>-Xmx2048m ${coverageAgent}</argLine>
|
|
<includes>
|
|
<include>**/*Test.java</include>
|
|
<include>**/*TestSuite*.java</include>
|
|
</includes>
|
|
<forkMode>pertest</forkMode>
|
|
</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>**/AbstractEntry.java</exclude>
|
|
<exclude>**/ConcurrentAutoTable.java</exclude>
|
|
<exclude>**/NonBlockingHashMap.java</exclude>
|
|
<exclude>**/NonBlockingHashMapLong.java</exclude>
|
|
<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>release</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.7</version>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<serverId>ossrh</serverId>
|
|
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
|
|
<autoReleaseAfterClose>false</autoReleaseAfterClose>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<version>1.5</version>
|
|
<executions>
|
|
<execution>
|
|
<id>sign-artifacts</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<distributionManagement>
|
|
<repository>
|
|
<id>ossrh</id>
|
|
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
|
</repository>
|
|
<snapshotRepository>
|
|
<id>ossrh</id>
|
|
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|