| <?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>io.ceresdb</groupId> |
| <artifactId>horaedb-client</artifactId> |
| <version>${revision}</version> |
| <packaging>pom</packaging> |
| |
| <name>horaedb-client</name> |
| <description>Official Java client implementation for horaeDB.</description> |
| <url>https://github.com/CeresDB</url> |
| |
| <licenses> |
| <license> |
| <name>The Apache Software License, Version 2.0</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| <distribution>repo,manual</distribution> |
| </license> |
| </licenses> |
| |
| <developers> |
| <developer> |
| <name>horaedb team</name> |
| </developer> |
| </developers> |
| |
| <modules> |
| <module>horaedb-all</module> |
| <module>horaedb-common</module> |
| <module>horaedb-example</module> |
| <module>horaedb-grpc</module> |
| <module>horaedb-protocol</module> |
| <module>horaedb-rpc</module> |
| <module>horaedb-sql</module> |
| <module>horaedb-sql-javacc</module> |
| </modules> |
| |
| <scm> |
| <connection>https://github.com/CeresDB/horaedb-client-java</connection> |
| <developerConnection>https://github.com/CeresDB/horaedb-client-java</developerConnection> |
| <url>https://github.com/CeresDB/horaedb-client-java</url> |
| </scm> |
| |
| <distributionManagement> |
| <repository> |
| <id>ossrh</id> |
| <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> |
| </repository> |
| <snapshotRepository> |
| <id>ossrh</id> |
| <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> |
| </snapshotRepository> |
| </distributionManagement> |
| |
| <properties> |
| <!-- according to https://maven.apache.org/maven-ci-friendly.html --> |
| <revision>1.0.5</revision> |
| <arrow.version>9.0.0</arrow.version> |
| <zstd.version>1.5.2-5</zstd.version> |
| <gson.version>2.8.9</gson.version> |
| <io.grpc.version>1.23.0</io.grpc.version> |
| <jmh.version>1.20</jmh.version> |
| <junit.dep.version>4.8.2</junit.dep.version> |
| <junit.version>4.13.1</junit.version> |
| <kotlin.version>1.6.0</kotlin.version> |
| <limits.version>0.3.6</limits.version> |
| <log4j.version>2.17.1</log4j.version> |
| <main.user.dir>${user.dir}</main.user.dir> |
| <maven.compiler.source>8</maven.compiler.source> |
| <maven.compiler.target>8</maven.compiler.target> |
| <metrics.version>4.2.2</metrics.version> |
| <mockito.version>1.9.5</mockito.version> |
| <okhttp.version>4.9.1</okhttp.version> |
| <okio.version>2.8.0</okio.version> |
| <project.encoding>UTF-8</project.encoding> |
| <proto-internal.version>1.0.0</proto-internal.version> |
| <protobuf.version>3.21.7</protobuf.version> |
| <slf4j.version>1.7.21</slf4j.version> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-common</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-grpc</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-protocol</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-rpc</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-sql</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-sql-javacc</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-example</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>horaedb-proto-internal</artifactId> |
| <version>${proto-internal.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.github.luben</groupId> |
| <artifactId>zstd-jni</artifactId> |
| <version>${zstd.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.arrow</groupId> |
| <artifactId>arrow-vector</artifactId> |
| <version>${arrow.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.arrow</groupId> |
| <artifactId>arrow-memory-unsafe</artifactId> |
| <version>${arrow.version}</version> |
| </dependency> |
| |
| <!-- grpc --> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-netty-shaded</artifactId> |
| <version>${io.grpc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-protobuf</artifactId> |
| <version>${io.grpc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-stub</artifactId> |
| <version>${io.grpc.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${gson.version}</version> |
| </dependency> |
| |
| <!-- protobuf --> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.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> |
| |
| <!-- https://mvnrepository.com/artifact/com.netflix.concurrency-limits/concurrency-limits-core --> |
| <dependency> |
| <groupId>com.netflix.concurrency-limits</groupId> |
| <artifactId>concurrency-limits-core</artifactId> |
| <version>${limits.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>slf4j-api</artifactId> |
| <groupId>org.slf4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <!-- log impl --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${log4j.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| <version>${log4j.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- http client --> |
| <dependency> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-stdlib-common</artifactId> |
| <version>${kotlin.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-stdlib</artifactId> |
| <version>${kotlin.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.squareup.okio</groupId> |
| <artifactId>okio</artifactId> |
| <version>${okio.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.squareup.okhttp3</groupId> |
| <artifactId>okhttp</artifactId> |
| <version>${okhttp.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>okio</artifactId> |
| <groupId>com.squareup.okio</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>kotlin-stdlib</artifactId> |
| <groupId>org.jetbrains.kotlin</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>kotlin-stdlib-common</artifactId> |
| <groupId>org.jetbrains.kotlin</groupId> |
| </exclusion> |
| </exclusions> |
| </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.mockito</groupId> |
| <artifactId>mockito-all</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </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> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.0</version> |
| <configuration> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <encoding>${project.encoding}</encoding> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| </configuration> |
| </plugin> |
| <!-- formatter refer to: https://code.revelc.net/formatter-maven-plugin/examples.html --> |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <version>2.15.0</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>format</goal> |
| <goal>validate</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <configFile>${main.user.dir}/tools/codestyle/formatter.xml</configFile> |
| <encoding>${project.encoding}</encoding> |
| <excludes> |
| <exclude>**/proto/*</exclude> |
| <exclude>**/sql/AbstractCharStream.java</exclude> |
| <exclude>**/sql/CeresDBSqlParser.java</exclude> |
| <exclude>**/sql/CeresDBSqlParserConstants.java</exclude> |
| <exclude>**/sql/CeresDBSqlParserTokenManager.java</exclude> |
| <exclude>**/sql/ParseException.java</exclude> |
| <exclude>**/sql/SimpleCharStream.java</exclude> |
| <exclude>**/sql/Token.java</exclude> |
| <exclude>**/sql/TokenMgrException.java</exclude> |
| <exclude>**/ReadmeTest.java</exclude> |
| </excludes> |
| </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> |
| <!-- Source --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.0.1</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.15.0</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <failOnViolation>true</failOnViolation> |
| <!-- this is actually true by default, but can be disabled --> |
| <printFailingErrors>true</printFailingErrors> |
| <analysisCache>true</analysisCache> |
| <!-- enable incremental analysis --> |
| <analysisCacheLocation>${project.build.directory}/pmd/pmd.cache</analysisCacheLocation> |
| <excludes> |
| <exclude>**/ServiceLoader.java</exclude> |
| <exclude>**/UnsafeUtil.java</exclude> |
| <exclude>**/proto/*</exclude> |
| <exclude>**/sql/AbstractCharStream.java</exclude> |
| <exclude>**/sql/CeresDBSqlParser.java</exclude> |
| <exclude>**/sql/CeresDBSqlParserConstants.java</exclude> |
| <exclude>**/sql/CeresDBSqlParserTokenManager.java</exclude> |
| <exclude>**/sql/ParseException.java</exclude> |
| <exclude>**/sql/SimpleCharStream.java</exclude> |
| <exclude>**/sql/Token.java</exclude> |
| <exclude>**/sql/TokenMgrException.java</exclude> |
| </excludes> |
| </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>**/sql/CeresDBSqlParser.java</exclude> |
| <exclude>**/sql/CeresDBSqlParserConstants.java</exclude> |
| <exclude>**/sql/CeresDBSqlParserTokenManager.java</exclude> |
| </excludes> |
| <strictCheck>true</strictCheck> |
| <mapping> |
| <java>SLASHSTAR_STYLE</java> |
| </mapping> |
| </configuration> |
| </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://s01.oss.sonatype.org/</nexusUrl> |
| <autoReleaseAfterClose>true</autoReleaseAfterClose> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>1.6</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.9.1</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <!-- ignore javadoc check--> |
| <additionalparam>-Xdoclint:none</additionalparam> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>flatten-maven-plugin</artifactId> |
| <version>1.1.0</version> |
| <configuration> |
| <updatePomFile>true</updatePomFile> |
| <flattenMode>resolveCiFriendliesOnly</flattenMode> |
| </configuration> |
| <executions> |
| <execution> |
| <id>flatten</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>flatten</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>flatten.clean</id> |
| <phase>clean</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>deploy</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>3.1.0</version> |
| <executions> |
| <execution> |
| <id>sign-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |