Skip to content

Commit

Permalink
Merge pull request #5 from dinukaamarasinghe817/main
Browse files Browse the repository at this point in the history
Add Readme file
  • Loading branch information
daneshk authored Mar 13, 2024
2 parents d8e1fd5 + d0f8a04 commit e02cdd5
Show file tree
Hide file tree
Showing 7 changed files with 112 additions and 14 deletions.
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.

# See: https://help.github.com/articles/about-codeowners/

# These owners will be the default owners for everything in the repo.
* @daneshk @niveathika @dinukaamarasinghe817
3 changes: 0 additions & 3 deletions .github/workflows/build-with-bal-test-graalvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,3 @@ jobs:
lang_version: ${{ inputs.lang_version }}
native_image_options: '-J-Xmx7G ${{ inputs.native_image_options }}'
additional_windows_build_flags: '-x test'
steps:
- name: Give execute permission to gradlew
run: chmod +x ./gradlew
97 changes: 95 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,95 @@
# module-ballerinax-persist.redis
Redis database support for 'bal persist'.
Ballerina Persist - Redis Library
===================

[![Build](https://github.com/ballerina-platform/module-ballerinax-persist.redis/actions/workflows/build-timestamped-master.yml/badge.svg)](https://github.com/ballerina-platform/module-ballerinax-persist.redis/actions/workflows/build-timestamped-master.yml)
[![codecov](https://codecov.io/gh/ballerina-platform/module-ballerinax-persist.redis/branch/main/graph/badge.svg)](https://codecov.io/gh/ballerina-platform/module-ballerinax-persist.redis)
[![Trivy](https://github.com/ballerina-platform/module-ballerinax-persist.redis/actions/workflows/trivy-scan.yml/badge.svg)](https://github.com/ballerina-platform/module-ballerinax-persist.redis/actions/workflows/trivy-scan.yml)
[![GraalVM Check](https://github.com/ballerina-platform/module-ballerinax-persist.redis/actions/workflows/build-with-bal-test-graalvm.yml/badge.svg)](https://github.com/ballerina-platform/module-ballerinax-persist.redis/actions/workflows/build-with-bal-test-graalvm.yml)
[![GitHub Last Commit](https://img.shields.io/github/last-commit/ballerina-platform/module-ballerinax-persist.redis.svg)](https://github.com/ballerina-platform/module-ballerinax-persist.redis/commits/main)
[![GitHub Issues](https://img.shields.io/github/issues/ballerina-platform/ballerina-standard-library/module/persist.redis.svg?label=Open%20Issues)](https://github.com/ballerina-platform/ballerina-standard-library/labels/module%2Fpersist.redis)

This library provides Redis database support for the `bal persist` feature, which provides functionality to store and query data conveniently through a data model.

The `persist` command will make it easy to enable `bal persist` feature in a Ballerina project. With this support, users need not worry about the persistence in a project. Users can define an entity data model, validate the model and generate `persist` clients for Redis, which provide convenient APIs to store and query data in a data store.

## Issues and projects

Issues and Projects tabs are disabled for this repository as this is part of the Ballerina library. To report bugs, request new features, start new discussions, view project boards, etc. please visit Ballerina library [parent repository](https://github.com/ballerina-platform/ballerina-library).

This repository only contains the source code for the package.

## Building from the source

### Set up the prerequisites

1. Download and install Java SE Development Kit (JDK) version 17 (from one of the following locations).
* [Oracle](https://www.oracle.com/java/technologies/downloads/)
* [OpenJDK](https://adoptium.net/)

2. Download and install [Docker](https://www.docker.com/get-started)

3. Export your GitHub personal access token with the read package permissions as follows.

export packageUser=<Username>
export packagePAT=<Personal access token>

### Building the source

Execute the commands below to build from source.

1. To build the library:

./gradlew clean build

2. To run the integration tests:

./gradlew clean test

3. To build the package without the tests:

./gradlew clean build -x test

4. To run only specific tests:

./gradlew clean build -Pgroups=<Comma separated groups/test cases>

5. To disable some specific test groups:

./gradlew clean build -Pdisable-groups=<Comma separated groups/test cases>

6. To debug the tests:

./gradlew clean build -Pdebug=<port>
./gradlew clean test -Pdebug=<port>

7. To debug the package with Ballerina language:

./gradlew clean build -PbalJavaDebug=<port>
./gradlew clean test -PbalJavaDebug=<port>

8. Publish ZIP artifact to the local `.m2` repository:

./gradlew clean build publishToMavenLocal

9. Publish the generated artifacts to the local Ballerina central repository:

./gradlew clean build -PpublishToLocalCentral=true

10. Publish the generated artifacts to the Ballerina central repository:

./gradlew clean build -PpublishToCentral=true

## Contributing to Ballerina

As an open source project, Ballerina welcomes contributions from the community.

For more information, go to the [contribution guidelines](https://github.com/ballerina-platform/ballerina-lang/blob/master/CONTRIBUTING.md).

## Code of conduct

All contributors are encouraged to read the [Ballerina code of conduct](https://ballerina.io/code-of-conduct).

## Useful links

* Chat live with us via our [Discord server](https://discord.gg/ballerinalang).
* Post all technical questions on Stack Overflow with the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag.
2 changes: 1 addition & 1 deletion ballerina/Dependencies.toml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ modules = [
[[package]]
org = "ballerinax"
name = "redis"
version = "3.0.0"
version = "3.0.1"
dependencies = [
{org = "ballerina", name = "crypto"},
{org = "ballerina", name = "jballerina.java"}
Expand Down
7 changes: 1 addition & 6 deletions ballerina/tests/init-test.bal
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,7 @@ import ballerina/test;
import ballerina/time;
import ballerinax/redis;

configurable record {|
redis:ConnectionUri|redis:ConnectionParams connection?;
boolean connectionPooling = false;
boolean isClusterConnection = false;
redis:SecureSocket secureSocket?;
|} & readonly redis = ?;
configurable redis:ConnectionConfig & readonly redis = ?;

@test:BeforeSuite
function initTests() returns error? {
Expand Down
8 changes: 7 additions & 1 deletion docs/spec/spec.md
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
# Specification: Ballerina Persist Library
# Specification: Ballerina Persist Library

_Authors_: @dinukaamarasinghe817
_Reviewers_: @daneshk @niveathika
_Created_: 2024/03/12
_Updated_: 2024/03/13
_Edition_: Swan Lake
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ stdlibOAuth2Version=2.10.0
stdlibHttpVersion=2.10.0

# Level 08
stdlibRedisVersion=3.0.0
stdlibRedisVersion=3.0.1

# Level 09
stdlibPersistVersion=1.2.0
Expand Down

0 comments on commit e02cdd5

Please sign in to comment.