@@ -41,13 +41,77 @@ This repository contains a comprehensive OpenAPI specification that fully descri
41
41
``` bash
42
42
make gen-openapi-spec
43
43
```
44
- This creates ` capi/3.181 .0.openapi.yaml ` and ` capi/3.181 .0.openapi.json `
44
+ This creates ` capi/3.195 .0.openapi.yaml ` and ` capi/3.195 .0.openapi.json `
45
45
46
46
3 . ** Generate a client SDK** (example for Go)
47
47
``` bash
48
48
make gen-go-client
49
49
```
50
50
51
+ ## SDK Generation
52
+
53
+ The ` bin/gen ` script provides a flexible way to generate SDKs for different languages and CAPI versions.
54
+
55
+ ### Usage
56
+ ``` bash
57
+ ./bin/gen --version=VERSION --language=LANGUAGE [--output= PATH]
58
+ ```
59
+
60
+ ### Examples
61
+
62
+ #### Generate Go SDK for latest CAPI version (3.195.0)
63
+ ``` bash
64
+ ./bin/gen --version=3.195.0 --language=go
65
+ # Output: ./sdk/3.195.0/go/
66
+ ```
67
+
68
+ #### Generate Ruby SDK for latest CAPI version
69
+ ``` bash
70
+ ./bin/gen --version=3.195.0 --language=ruby
71
+ # Output: ./sdk/3.195.0/ruby/
72
+ ```
73
+
74
+ #### Generate Python SDK with custom output path
75
+ ``` bash
76
+ ./bin/gen --version=3.195.0 --language=python --output=/path/to/my-sdk
77
+ ```
78
+
79
+ #### Generate SDKs for older CAPI version
80
+ ``` bash
81
+ # Go SDK for CAPI 3.181.0
82
+ ./bin/gen --version=3.181.0 --language=go
83
+
84
+ # Ruby SDK for CAPI 3.181.0
85
+ ./bin/gen --version=3.181.0 --language=ruby
86
+ ```
87
+
88
+ ### Supported Languages
89
+
90
+ The generator supports all languages provided by OpenAPI Generator, including:
91
+ - ** go** - Go client library
92
+ - ** ruby** - Ruby gem
93
+ - ** python** - Python package
94
+ - ** java** - Java library
95
+ - ** javascript** - JavaScript/Node.js
96
+ - ** typescript-node** - TypeScript for Node.js
97
+ - ** csharp** - C# / .NET
98
+ - ** php** - PHP library
99
+ - ** rust** - Rust crate
100
+ - ** swift5** - Swift 5
101
+ - ** kotlin** - Kotlin
102
+ - And many more...
103
+
104
+ Run ` ./bin/gen --help ` to see the full list of supported languages.
105
+
106
+ ### Post-Generation Steps
107
+
108
+ After generating an SDK, you may need to:
109
+
110
+ 1 . ** Go** : Run ` go mod tidy ` in the generated directory
111
+ 2 . ** Ruby** : Build the gem with ` gem build *.gemspec `
112
+ 3 . ** Python** : Install with ` pip install -e . `
113
+ 4 . ** Java** : Build with Maven or Gradle
114
+
51
115
## Version Information
52
116
53
117
| Component | Version |
@@ -106,24 +170,30 @@ Features marked as experimental using the `x-experimental` extension:
106
170
### Project Structure
107
171
```
108
172
capi/
109
- ├── 3.181 .0/
173
+ ├── 3.195 .0/
110
174
│ ├── apps.yml
111
175
│ ├── processes.yml
112
176
│ ├── services.yml
113
- │ └── ... (44 resource files)
114
- ├── 3.181.0.openapi.yaml (generated)
115
- └── 3.181.0.openapi.json (generated)
177
+ │ └── ... (41 resource files)
178
+ ├── 3.195.0.openapi.yaml (generated)
179
+ └── 3.195.0.openapi.json (generated)
180
+ bin/
181
+ ├── capi-openapi (main processing script)
182
+ └── gen (SDK generation script)
183
+ sdk/
184
+ └── VERSION/
185
+ └── LANGUAGE/ (generated SDKs)
116
186
```
117
187
118
188
### Validation
119
189
120
190
Validate the OpenAPI specification:
121
191
``` bash
122
192
# Using openapi-generator
123
- openapi-generator validate -i capi/3.181 .0.openapi.yaml
193
+ openapi-generator validate -i capi/3.195 .0.openapi.yaml
124
194
125
195
# Using swagger-cli
126
- swagger-cli validate capi/3.181 .0.openapi.yaml
196
+ swagger-cli validate capi/3.195 .0.openapi.yaml
127
197
```
128
198
129
199
### Contributing
0 commit comments