https://github.com/purecloudlabs/platform-client-sdk-common
Platform client SDK common
https://github.com/purecloudlabs/platform-client-sdk-common
Last synced: over 1 year ago
JSON representation
Platform client SDK common
- Host: GitHub
- URL: https://github.com/purecloudlabs/platform-client-sdk-common
- Owner: purecloudlabs
- License: mit
- Created: 2017-03-29T16:16:50.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-03-03T14:02:30.000Z (over 1 year ago)
- Last Synced: 2025-03-03T15:22:18.733Z (over 1 year ago)
- Language: Mustache
- Size: 32.5 MB
- Stars: 5
- Watchers: 5
- Forks: 40
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# PureCloud Platform Client SDKs
This repository contains scripts, templates, and configuration files that are used in the process of auto generating PureCloud Platform API client libraries based on the API's [swagger definition](https://api.mypurecloud.com/api/v2/docs/swagger).
## SDK Repos
* [Java](https://github.com/MyPureCloud/platform-client-sdk-java)
* [Javascript](https://github.com/MyPureCloud/platform-client-sdk-javascript)
* [.NET](https://github.com/MyPureCloud/platform-client-sdk-dotnet)
* [Python](https://github.com/MyPureCloud/platform-client-sdk-python)
* [Go](https://github.com/MyPureCloud/platform-client-sdk-go)
* [Ruby](https://github.com/MyPureCloud/platform-client-sdk-ruby)
* [WebMessaging (Java)](https://github.com/MyPureCloud/web-messaging-sdk-java)
**Note: As of 9.17.2020 - Genesys Cloud has deprecated Ruby SDK support. The Genesys Cloud team will keep a branch ([FROZEN-LAST-VERSION-RUBY-SDK-GENERATION](https://github.com/purecloudlabs/platform-client-sdk-common/tree/FROZEN-LAST-VERSION-RUBY-SDK-GENERATION)) for the Ruby SDK generation process, but the Ruby SDK code generation will be removed from the main branch in this repository.**
# Generating the SDK locally
For additional information and documentation, see [Building Locally](https://github.com/purecloudlabs/platform-client-sdk-common/wiki/Building-Locally) in the [wiki](https://github.com/MyPureCloud/platform-client-sdk-common/wiki).
## Dependencies
* [Node.js](https://nodejs.org/en/) with NPM
* [Java 8](http://www.oracle.com/technetwork/java/javase/overview/java8-2100321.html)
## Config files
Each SDK configuration has a config file located at `./resources/sdk//config.json`. This contains all of the general configuration required to build the SDK.
A local config file is typically desired to store sensitive information (like a PureCloud client ID and secret) or to override settings in the standard config file.
For full documentation, see [Config Files](https://github.com/MyPureCloud/platform-client-sdk-common/wiki/Config-Files) on the wiki.
## Generate
First, from this repo's directory, install dependencies:
```
npm install
```
Then start the build process by specifying which SDK to build. This command will look in `./resources/sdk/` to find the primary config file (`config.json` or `config.yaml`) and a local config file (`localConfig.json` or `localConfig.yaml`). If a JSON and YAML config file exist, the JSON file will be preferred.
```
npx tsx sdkBuilder.ts --sdk purecloudjava
```
The above command is equivalent to providing these paths to config files (assuming JSON files exist):
```
npx tsx sdkBuilder.ts --config ./resources/sdk/purecloudjava/config.json --localconfig ./resources/sdk/purecloudjava/localConfig.json
```