diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2e1bad0..8964100 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -4,4 +4,4 @@ # See: https://help.github.com/articles/about-codeowners/ # These owners will be the default owners for everything in the repo. -* @NipunaRanasinghe @MohamedSabthar @shafreenAnfar +* @ThisaruGuruge diff --git a/.github/workflows/build-with-bal-test-graalvm.yml b/.github/workflows/build-with-bal-test-graalvm.yml deleted file mode 100644 index 4f69d4d..0000000 --- a/.github/workflows/build-with-bal-test-graalvm.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: GraalVM Check - -on: - schedule: - - cron: "30 18 * * *" - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} - cancel-in-progress: true - -jobs: - call_stdlib_workflow: - name: Run StdLib Workflow - if: ${{ github.event_name != 'schedule' || (github.event_name == 'schedule' && github.repository_owner == 'ballerina-platform') }} - uses: ballerina-platform/ballerina-library/.github/workflows/build-with-bal-test-graalvm-connector-template.yml@main - secrets: inherit diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f42db33..63ec8aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,7 @@ on: - 2201.[0-9]+.x repository_dispatch: types: check_connector_for_breaking_changes + workflow_dispatch: jobs: call_workflow: diff --git a/.github/workflows/daily-build.yml b/.github/workflows/daily-build.yml deleted file mode 100644 index 6e3819f..0000000 --- a/.github/workflows/daily-build.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Daily build - -on: - schedule: - - cron: "30 2 * * *" - -jobs: - call_workflow: - name: Run Daily Build Workflow - if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/daily-build-connector-template.yml@main - secrets: inherit - with: - repo-name: module-ballerinax-paypal.subscriptions diff --git a/.github/workflows/trivy-scan.yml b/.github/workflows/trivy-scan.yml deleted file mode 100644 index c02c8ff..0000000 --- a/.github/workflows/trivy-scan.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Trivy - -on: - workflow_dispatch: - schedule: - - cron: "30 20 * * *" - -jobs: - call_workflow: - name: Run Trivy Scan Workflow - if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/trivy-scan-template.yml@main - secrets: inherit diff --git a/.gitignore b/.gitignore index 2163ca8..32d4c58 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ # Mobile Tools for Java (J2ME) .mtj.tmp/ -# .DS_Store files +# macOS Files *.DS_Store # Package Files @@ -34,17 +34,14 @@ target *.iml *.iws *.ipr -.idea .m2 .vscode/ +.cursor/ +.idea # Ignore ballerina files -accessToken.bal -temp.bal.ballerina/ target/ generated/ -.DS_Store -*Ballerina.lock .ballerina **/Config.toml diff --git a/README.md b/README.md index d54d9b7..e62bf54 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -# Ballerina Paypal.subscriptions connector +# Ballerina Paypal Subscriptions connector [![Build](https://github.com/ballerina-platform/module-ballerinax-paypal.subscriptions/actions/workflows/ci.yml/badge.svg)](https://github.com/ballerina-platform/module-ballerinax-paypal.subscriptions/actions/workflows/ci.yml) -[![Trivy](https://github.com/ballerina-platform/module-ballerinax-paypal.subscriptions/actions/workflows/trivy-scan.yml/badge.svg)](https://github.com/ballerina-platform/module-ballerinax-paypal.subscriptions/actions/workflows/trivy-scan.yml) -[![GraalVM Check](https://github.com/ballerina-platform/module-ballerinax-paypal.subscriptions/actions/workflows/build-with-bal-test-graalvm.yml/badge.svg)](https://github.com/ballerina-platform/module-ballerinax-paypal.subscriptions/actions/workflows/build-with-bal-test-graalvm.yml) [![GitHub Last Commit](https://img.shields.io/github/last-commit/ballerina-platform/module-ballerinax-paypal.subscriptions.svg)](https://github.com/ballerina-platform/module-ballerinax-paypal.subscriptions/commits/master) [![GitHub Issues](https://img.shields.io/github/issues/ballerina-platform/ballerina-library/module/paypal.subscriptions.svg?label=Open%20Issues)](https://github.com/ballerina-platform/ballerina-library/labels/module%paypal.subscriptions) @@ -20,7 +18,7 @@ ## Examples -The `Paypal.subscriptions` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-paypal.subscriptions/tree/main/examples/), covering the following use cases: +The `Paypal Subscriptions` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-paypal.subscriptions/tree/main/examples/), covering the following use cases: [//]: # (TODO: Add examples) @@ -28,7 +26,7 @@ The `Paypal.subscriptions` connector provides practical examples illustrating us ### Setting up the prerequisites -1. Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources: +1. Download and install Java SE Development Kit (JDK) version 21. You can download it from either of the following sources: * [Oracle JDK](https://www.oracle.com/java/technologies/downloads/) * [OpenJDK](https://adoptium.net/) diff --git a/ballerina/Ballerina.toml b/ballerina/Ballerina.toml index 5819d7a..af98895 100644 --- a/ballerina/Ballerina.toml +++ b/ballerina/Ballerina.toml @@ -1,8 +1,8 @@ [package] -distribution = "2201.10.0" +distribution = "2201.12.0" org = "ballerinax" name = "paypal.subscriptions" -version = "0.1.0" +version = "1.0.0" license = ["Apache-2.0"] authors = ["Ballerina"] keywords = [] @@ -12,5 +12,5 @@ repository = "https://github.com/ballerina-platform/module-ballerinax-paypal.sub [build-options] observabilityIncluded = true -[platform.java17] +[platform.java21] graalvmCompatible = true diff --git a/ballerina/Module.md b/ballerina/Module.md deleted file mode 100644 index b919a3a..0000000 --- a/ballerina/Module.md +++ /dev/null @@ -1,17 +0,0 @@ -## Overview - -[//]: # (TODO: Add overview mentioning the purpose of the module, supported REST API versions, and other high-level details.) - -## Setup guide - -[//]: # (TODO: Add detailed steps to obtain credentials and configure the module.) - -## Quickstart - -[//]: # (TODO: Add a quickstart guide to demonstrate a basic functionality of the module, including sample code snippets.) - -## Examples - -The `Paypal.subscriptions` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-paypal.subscriptions/tree/main/examples/), covering the following use cases: - -[//]: # (TODO: Add examples) diff --git a/ballerina/Package.md b/ballerina/README.md similarity index 90% rename from ballerina/Package.md rename to ballerina/README.md index b919a3a..aac07d7 100644 --- a/ballerina/Package.md +++ b/ballerina/README.md @@ -12,6 +12,6 @@ ## Examples -The `Paypal.subscriptions` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-paypal.subscriptions/tree/main/examples/), covering the following use cases: +The `Paypal Subscriptions` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-paypal.subscriptions/tree/main/examples/), covering the following use cases: [//]: # (TODO: Add examples) diff --git a/ballerina/build.gradle b/ballerina/build.gradle index a59b9b8..f289fd8 100644 --- a/ballerina/build.gradle +++ b/ballerina/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). * * WSO2 LLC. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -22,7 +22,7 @@ plugins { id 'io.ballerina.plugin' } -description = 'Paypal.subscriptions - Ballerina' +description = 'Paypal Subscriptions - Ballerina' def packageName = "paypal.subscriptions" def packageOrg = "ballerinax" diff --git a/ballerina/client.bal b/ballerina/client.bal index 66cdc3f..c000777 100644 --- a/ballerina/client.bal +++ b/ballerina/client.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except diff --git a/build-config/resources/Ballerina.toml b/build-config/resources/Ballerina.toml index 84e8f1c..4d8e3e2 100644 --- a/build-config/resources/Ballerina.toml +++ b/build-config/resources/Ballerina.toml @@ -1,5 +1,5 @@ [package] -distribution = "2201.10.0" +distribution = "2201.12.0" org = "ballerinax" name = "paypal.subscriptions" version = "@toml.version@" @@ -12,5 +12,5 @@ repository = "https://github.com/ballerina-platform/module-ballerinax-paypal.sub [build-options] observabilityIncluded = true -[platform.java17] +[platform.java21] graalvmCompatible = true diff --git a/build.gradle b/build.gradle index be3975b..10bf3f7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). * * WSO2 LLC. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/docs/license.txt b/docs/license.txt index 921a7a1..adfc413 100644 --- a/docs/license.txt +++ b/docs/license.txt @@ -1,7 +1,7 @@ // AUTO-GENERATED FILE. DO NOT MODIFY. // This file is auto-generated by the Ballerina OpenAPI tool. -// Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except diff --git a/docs/spec/sanitations.md b/docs/spec/sanitations.md index 56a3753..a2776b9 100644 --- a/docs/spec/sanitations.md +++ b/docs/spec/sanitations.md @@ -5,7 +5,7 @@ _Edition_: Swan Lake # Sanitation for OpenAPI specification -This document records the sanitation done on top of the official OpenAPI specification from Paypal.subscriptions. +This document records the sanitation done on top of the official OpenAPI specification from Paypal Subscriptions. The OpenAPI specification is obtained from (TODO: Add source link). These changes are done in order to improve the overall usability, and as workarounds for some known language limitations. diff --git a/examples/build.gradle b/examples/build.gradle index f1dd28a..adbd94b 100644 --- a/examples/build.gradle +++ b/examples/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). * * WSO2 LLC. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/gradle.properties b/gradle.properties index 5ed08cb..e0fa520 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ org.gradle.caching=true group=io.ballerina.lib -version=0.1.0-SNAPSHOT +version=1.0.0-SNAPSHOT releasePluginVersion=2.8.0 ballerinaGradlePluginVersion=2.2.4 -ballerinaLangVersion=2201.10.0 +ballerinaLangVersion=2201.12.0 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd49..033e24c 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22c..e2847c8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4..fcb6fca 100755 --- a/gradlew +++ b/gradlew @@ -83,8 +83,7 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -145,7 +144,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -153,7 +152,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -202,11 +201,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 25da30d..93e3f59 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. goto fail diff --git a/issue_template.md b/issue_template.md deleted file mode 100644 index 52a7563..0000000 --- a/issue_template.md +++ /dev/null @@ -1,18 +0,0 @@ -**Description:** - - -**Suggested Labels:** - - -**Suggested Assignees:** - - -**Affected Product Version:** - -**OS, DB, other environment details and versions:** - -**Steps to reproduce:** - - -**Related Issues:** - diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index 45221b5..0000000 --- a/pull_request_template.md +++ /dev/null @@ -1,52 +0,0 @@ -## Purpose -> Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc. - -## Goals -> Describe the solutions that this feature/fix will introduce to resolve the problems described above - -## Approach -> Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here. - -## User stories -> Summary of user stories addressed by this change> - -## Release note -> Brief description of the new feature or bug fix as it will appear in the release notes - -## Documentation -> Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact - -## Training -> Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable - -## Certification -> Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why. - -## Marketing -> Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable - -## Automation tests - - Unit tests - > Code coverage information - - Integration tests - > Details about the test cases and coverage - -## Security checks - - Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no - - Ran FindSecurityBugs plugin and verified report? yes/no - - Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no - -## Samples -> Provide high-level details about the samples related to this feature - -## Related PRs -> List any other related PRs - -## Migrations (if applicable) -> Describe migration steps and platforms on which migration has been tested - -## Test environment -> List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested - -## Learning -> Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.