oxia-java
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.oxia-db</groupId> <artifactId>oxia-java</artifactId> <version>0.6.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright © 2022-2025 StreamNative Inc. 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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>io.github.oxia-db</groupId> <artifactId>oxia-java</artifactId> <version>0.6.0</version> <packaging>pom</packaging> <name>Oxia Client SDK for Java</name> <description>Oxia Client SDK for Java</description> <url>https://oxia-db.github.com</url> <inceptionYear>2022</inceptionYear> <organization> <name>StreamNative Inc.</name> <url>https://streamnative.io/</url> </organization> <licenses> <license> <name>Apache License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0</url> </license> </licenses> <developers> <developer> <organization>StreamNative Inc.</organization> <organizationUrl>https://streamnative.io/</organizationUrl> </developer> </developers> <modules> <module>client-api</module> <module>client</module> <module>testcontainers</module> <module>client-it</module> <module>perf</module> <module>pulsar-metadatastore-oxia</module> </modules> <scm> <connection>scm:git:git://github.com/streamnative/oxia-java.git</connection> <developerConnection>scm:git:ssh://github.com:streamnative/oxia-java.git</developerConnection> <url>https://github.com/streamnative/oxia-java</url> </scm> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <maven.compiler.release>17</maven.compiler.release> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <grpc.version>1.56.1</grpc.version> <!-- The protoc version should match the used protobuf-java version. See https://protobuf.dev/support/cross-version-runtime-guarantee/. Find out the compatible protobuf-java version for the respective grpc-protobuf version by looking up the pom file in https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/ and looking for the protobuf-java version in that file. --> <protobuf.version>3.24.0</protobuf.version> <assertj.version>3.24.1</assertj.version> <awaitility.version>4.2.2</awaitility.version> <lombok.version>1.18.38</lombok.version> <slf4j.version>1.7.32</slf4j.version> <junit.jupiter.version>5.11.3</junit.jupiter.version> <mockito.junit.jupiter.version>5.14.2</mockito.junit.jupiter.version> <opentelemetry.version>1.44.1</opentelemetry.version> <opentelemetry.semconv.version>1.28.0-alpha</opentelemetry.semconv.version> <testcontainers.version>1.20.4</testcontainers.version> <guava.version>32.1.3-jre</guava.version> <jacoco.plugin.version>0.8.12</jacoco.plugin.version> <license.plugin.version>4.1</license.plugin.version> <maven.compiler.plugin.version>3.13.0</maven.compiler.plugin.version> <maven.enforcer.plugin.version>3.5.0</maven.enforcer.plugin.version> <maven.surefire.plugin.version>3.5.2</maven.surefire.plugin.version> <maven.shade.plugin.version>3.6.0</maven.shade.plugin.version> <spotbugs.plugin.version>4.9.3.0</spotbugs.plugin.version> <spotless.plugin.version>2.39.0</spotless.plugin.version> <byte-buddy.version>1.15.10</byte-buddy.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-bom</artifactId> <version>${grpc.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-bom</artifactId> <version>${opentelemetry.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-bom-alpha</artifactId> <version>${opentelemetry.version}-alpha</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit.jupiter.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers-bom</artifactId> <version>${testcontainers.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <dependency> <groupId>io.opentelemetry.semconv</groupId> <artifactId>opentelemetry-semconv</artifactId> <version>${opentelemetry.semconv.version}</version> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>${byte-buddy.version}</version> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> <version>${byte-buddy.version}</version> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${assertj.version}</version> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> <version>${awaitility.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>${mockito.junit.jupiter.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <!-- Check formats of various source files --> <groupId>com.diffplug.spotless</groupId> <artifactId>spotless-maven-plugin</artifactId> <version>${spotless.plugin.version}</version> <configuration> <pom> <sortPom> <expandEmptyElements>false</expandEmptyElements> <indentSchemaLocation>true</indentSchemaLocation> <nrOfIndentSpace>4</nrOfIndentSpace> <sortDependencies>scope,groupId,artifactId</sortDependencies> <sortDependencyExclusions>groupId,artifactId</sortDependencyExclusions> <sortPlugins>groupId,artifactId</sortPlugins> </sortPom> </pom> <java> <googleJavaFormat/> <importOrder/> <removeUnusedImports/> <indent> <tabs>true</tabs> <spacesPerTab>2</spacesPerTab> </indent> <indent> <spaces>true</spaces> <spacesPerTab>4</spacesPerTab> </indent> </java> <markdown> <includes> <include>**/README.md</include> </includes> <flexmark/> </markdown> <formats> <format> <includes> <include>etc/**/*.xml</include> <include>.github/workflows/**/*.yml</include> </includes> <trimTrailingWhitespace/> <endWithNewline/> <indent> <spaces>true</spaces> <spacesPerTab>4</spacesPerTab> </indent> </format> </formats> </configuration> <executions> <execution> <id>check</id> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- Check for typical bugs --> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs.plugin.version}</version> <configuration> <excludeFilterFile>etc/findbugsExclude.xml</excludeFilterFile> <onlyAnalyze>io.oxia.client.*</onlyAnalyze> </configuration> <executions> <execution> <goals> <goal>check</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.plugin.version}</version> <configuration> <mapping> <proto>DOUBLESLASH_STYLE</proto> <MockMaker>SCRIPT_STYLE</MockMaker> </mapping> <licenseSets> <licenseSet> <header>etc/APACHE-2.txt</header> <excludes> <exclude>NOTICE</exclude> <exclude>.ci/**/*</exclude> <exclude>.run/**</exclude> </excludes> </licenseSet> </licenseSets> </configuration> <dependencies> <dependency> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin-git</artifactId> <version>${license.plugin.version}</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>process-sources</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${maven.enforcer.plugin.version}</version> <executions> <execution> <id>enforce-maven-version</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>[3.8.6,)</version> </requireMavenVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>${maven.surefire.plugin.version}</version> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>${maven.surefire.plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>add-source</id> <goals> <goal>add-source</goal> </goals> <phase>generate-sources</phase> <configuration> <sources> <source>target/generated-sources/protobuf/java</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <!-- Check test coverage --> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.plugin.version}</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <goals> <goal>report</goal> </goals> <phase>verify</phase> </execution> <execution> <id>check</id> <goals> <goal>check</goal> </goals> <phase>verify</phase> <configuration> <rules> <rule> <element>BUNDLE</element> <limits> <limit> <counter>CLASS</counter> <value>COVEREDRATIO</value> <minimum>0.00</minimum> </limit> <limit> <counter>METHOD</counter> <value>COVEREDRATIO</value> <minimum>0.00</minimum> </limit> <limit> <counter>LINE</counter> <value>COVEREDRATIO</value> <minimum>0.00</minimum> </limit> <limit> <counter>BRANCH</counter> <value>COVEREDRATIO</value> <minimum>0.00</minimum> </limit> </limits> </rule> </rules> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>release</id> <build> <plugins> <plugin> <artifactId>maven-gpg-plugin</artifactId> <version>3.1.0</version> <configuration> <!-- Prevent `gpg` from using pinentry programs --> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> <executions> <execution> <id>sign-artifacts</id> <goals> <goal>sign</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.6.3</version> <configuration> <doclint>none</doclint> <notimestamp>true</notimestamp> <sourceFileExcludes> <sourceFileExclude>**/generated-sources/*.java</sourceFileExclude> </sourceFileExcludes> </configuration> <executions> <execution> <goals> <goal>javadoc</goal> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.8.0</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> <autoPublish>true</autoPublish> <waitUntil>published</waitUntil> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>perf-ycsb</id> <modules> <module>perf-ycsb</module> </modules> </profile> </profiles> </project>