Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/streamnative/oxia-java

A Java client library for Oxia
https://github.com/streamnative/oxia-java

client oxia testcontainers

Last synced: about 1 month ago
JSON representation

A Java client library for Oxia

Awesome Lists containing this project

README

        

# Oxia Java

[![Build](https://github.com/streamnative/oxia-client-java/actions/workflows/pr-build-and-test.yml/badge.svg)](https://github.com/streamnative/oxia-client-java/actions/workflows/pr-build-and-test.yml)

## Overview

This project comprises JDK language compatible modules for the [Oxia][oxia] service. It provides
the following capabilities:

- [Client](client/) for the Oxia service
- [OpenTelemetry Metrics](client-metrics-opentelemetry/) integration with the client
- [Testcontainer](testcontainers/) for integration testing with a local Oxia service
- [Performance Test Tool](perf/) for performance testing with an Oxia service.

## Build

Requirements:

* JDK 17
* Maven 3.8.6+

Common build actions:

| Action | Command |
|---------------------------------|------------------------------------------|
| Full build and test | `mvn clean verify` |
| Skip tests | `mvn clean verify -DskipTests` |
| Skip Jacoco test coverage check | `mvn clean verify -Djacoco.skip` |
| Skip Spotless formatting check | `mvn clean verify -Dspotless.check.skip` |
| Format code | `mvn spotless:apply` |
| Generate license headers | `mvn license:format` |

## Release

1. Go to the [release workflow][release-workflow]
2. Click the gray Run workflow button on the righthand side
3. Choose:
* **use workflow from**: branch `master`
* **Git repository**: `streamnative/oxia-java`
* **JDK version**: `17`
4. Click the green Run workflow button

### Questions

* **Q: _Why do we publish it in `streamnative-ci`?_**

**A:** `streamnative-ci` repo has some secrets and scripts to use streamnative bot account
* **Q: _What can I do if want to put the release `nar` package to `pulsar-cloud` image?_**

**A:** Ask the EE team to add the release version in the [`images/dependencies.json`][dependencies-file] file in the [`streamnative-ci`][ci-repo] repo

[oxia]: https://github.com/streamnative/oxia
[release-workflow]: https://github.com/streamnative/streamnative-ci/actions/workflows/maven-tag-deploy.yml
[dependencies-file]: https://github.com/streamnative/streamnative-ci/blob/master/images/dependencies.json
[ci-repo]: https://github.com/streamnative/streamnative-ci