diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..a6cab1b --- /dev/null +++ b/.github/CODEOWNERS @@ -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 diff --git a/.github/workflows/build-with-bal-test-graalvm.yml b/.github/workflows/build-with-bal-test-graalvm.yml index 1cf890e..aced9a4 100644 --- a/.github/workflows/build-with-bal-test-graalvm.yml +++ b/.github/workflows/build-with-bal-test-graalvm.yml @@ -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 diff --git a/README.md b/README.md index 4dd053c..94db2f8 100644 --- a/README.md +++ b/README.md @@ -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= + export packagePAT= + +### 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= + +5. To disable some specific test groups: + + ./gradlew clean build -Pdisable-groups= + +6. To debug the tests: + + ./gradlew clean build -Pdebug= + ./gradlew clean test -Pdebug= + +7. To debug the package with Ballerina language: + + ./gradlew clean build -PbalJavaDebug= + ./gradlew clean test -PbalJavaDebug= + +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. \ No newline at end of file diff --git a/ballerina/Dependencies.toml b/ballerina/Dependencies.toml index 8989628..17dea2a 100644 --- a/ballerina/Dependencies.toml +++ b/ballerina/Dependencies.toml @@ -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"} diff --git a/ballerina/tests/init-test.bal b/ballerina/tests/init-test.bal index 0d50db5..e5382c7 100644 --- a/ballerina/tests/init-test.bal +++ b/ballerina/tests/init-test.bal @@ -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? { diff --git a/docs/spec/spec.md b/docs/spec/spec.md index 3d13494..914ba0b 100644 --- a/docs/spec/spec.md +++ b/docs/spec/spec.md @@ -1 +1,7 @@ -# Specification: Ballerina Persist Library \ No newline at end of file +# Specification: Ballerina Persist Library + +_Authors_: @dinukaamarasinghe817 +_Reviewers_: @daneshk @niveathika +_Created_: 2024/03/12 +_Updated_: 2024/03/13 +_Edition_: Swan Lake diff --git a/gradle.properties b/gradle.properties index afc8e91..335d90c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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