Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New generator | Arduino cpp #9489

Merged
merged 104 commits into from
May 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
9966916
initil tiny client generator
AndersSpringborg Apr 22, 2021
c203f42
Helper string
AndersSpringborg Apr 22, 2021
61b3928
WIP: added helper file with json helper functions
kaareHH Apr 22, 2021
a9886a5
WIP: model implementation.. Working on JSON
kaareHH Apr 22, 2021
4c1df7a
Added codegen files for model and helper
kaareHH Apr 22, 2021
6ac6d41
WIP: toJson()
kaareHH Apr 26, 2021
a7d8057
Added mapping configurations
kaareHH Apr 29, 2021
0d3c559
Upadet string compare
kaareHH Apr 29, 2021
50d7451
Removed redundant namespaces
kaareHH Apr 29, 2021
6d1eef4
Added files for example
kaareHH Apr 29, 2021
157f366
fixed syntax errors
kaareHH Apr 29, 2021
32cf5bc
fixed syntax errors
kaareHH Apr 29, 2021
ad4a75f
header generation
AndersSpringborg Apr 29, 2021
329bda3
unittest example for pet class
kaareHH Apr 30, 2021
d58fca5
Refactored mustache & fixed logical errors
kaareHH Apr 30, 2021
e3632b2
WIP: unit test mustache format
kaareHH Apr 30, 2021
097bb1c
Removed legacy file
kaareHH Apr 30, 2021
5667644
mustache service
AndersSpringborg Apr 30, 2021
424916b
Declare service in Java file
AndersSpringborg Apr 30, 2021
264d522
Removed legacy file
kaareHH May 3, 2021
efd5c63
removed legacy code
kaareHH May 3, 2021
1cf5d2e
Merge branch 'example_impl' of https://github.com/Forsteholdet/openap…
kaareHH May 3, 2021
f826ca9
Documentation
AndersSpringborg May 3, 2021
15206fc
Added folder structure + new supporting files
kaareHH May 3, 2021
d385d8e
Added file to run all unittests
kaareHH May 3, 2021
b4ae08a
Refactored unit tests
kaareHH May 3, 2021
6c36924
typemappings and new paths
AndersSpringborg May 6, 2021
badb41b
First service impl
AndersSpringborg May 6, 2021
ce4c536
Added esp32 and esp8266 env
kaareHH May 6, 2021
9569508
Added default values
kaareHH May 6, 2021
4b4a07a
Added cli option to specify controller
kaareHH May 6, 2021
cc20a65
added type decl method
kaareHH May 10, 2021
3241080
Added stringify methods
kaareHH May 13, 2021
aacec62
service get requests
AndersSpringborg May 13, 2021
8fb8cee
Merge pull request #1 from Forsteholdet/example_impl
AndersSpringborg May 13, 2021
9fa0747
merge
AndersSpringborg May 13, 2021
149909d
Merge branch 'services'
AndersSpringborg May 13, 2021
ff43a8a
merge
AndersSpringborg May 13, 2021
309e47c
Fix helper header
AndersSpringborg May 13, 2021
4cee238
post merge fix
AndersSpringborg May 13, 2021
08042c6
fix long test
AndersSpringborg May 13, 2021
3c29cd8
Tiny namespace
AndersSpringborg May 13, 2021
1b06d0c
remove shared pointer
AndersSpringborg May 13, 2021
ac8b063
include petapi
AndersSpringborg May 13, 2021
6b0520e
stringify
AndersSpringborg May 13, 2021
c5d28b9
return problems
AndersSpringborg May 13, 2021
9bdb53b
Canged logic for response-body handling
kaareHH May 14, 2021
95099b1
Implemented last logic for reponse handeling
kaareHH May 14, 2021
8437789
Implemented constructor logic
kaareHH May 14, 2021
0abf5e8
first tiny sample
AndersSpringborg May 15, 2021
af4ddf2
update basepath to petstore v3
AndersSpringborg May 15, 2021
46097a4
standard main example
AndersSpringborg May 15, 2021
3ed3b04
root certificate example
AndersSpringborg May 15, 2021
e270dd7
root folder
AndersSpringborg May 15, 2021
e5e969e
TODO cleanup
AndersSpringborg May 15, 2021
55a7785
exclude features
AndersSpringborg May 15, 2021
e2a4e36
supports delete again!👷
AndersSpringborg May 15, 2021
7046bd4
remove todo ❌
AndersSpringborg May 15, 2021
8555aad
new main example ❣️
AndersSpringborg May 15, 2021
96cb543
new main example ❣️
AndersSpringborg May 15, 2021
16c7d79
Make our feature set realistic
AndersSpringborg May 15, 2021
0c6c37e
fix indentation
AndersSpringborg May 15, 2021
93703ae
HTTP / HTTPS Connection
AndersSpringborg May 15, 2021
3af643f
Root certificate sample
AndersSpringborg May 15, 2021
5537d8c
https vs http 👨🏻‍🔬
AndersSpringborg May 15, 2021
2b57031
fix lint in template
AndersSpringborg May 15, 2021
ec5ccac
default value for controller in config
AndersSpringborg May 15, 2021
5ad032d
new readme 📜
AndersSpringborg May 15, 2021
8f9cafe
remove old comments
AndersSpringborg May 15, 2021
780bce9
removed unused testfile
AndersSpringborg May 15, 2021
090d660
no default root certificate
AndersSpringborg May 15, 2021
4e83c00
new main
AndersSpringborg May 15, 2021
87cd705
remove test
AndersSpringborg May 15, 2021
d8ca237
Update platformio.ini.mustache
mkakbas May 15, 2021
ee0205b
Update platformio.ini.mustache
mkakbas May 15, 2021
8868107
Merge branch 'master' into master
AndersSpringborg May 15, 2021
9254b49
added support info
mkakbas May 15, 2021
19daeaf
Add namespace to Pet 🐅
AndersSpringborg May 16, 2021
3743c9f
bourne compatibility fix
AndersSpringborg May 16, 2021
d4603c6
spelling error in python file
AndersSpringborg May 16, 2021
0d10b74
bourne python script 🐍
AndersSpringborg May 16, 2021
b2072e1
Version bump
AndersSpringborg May 16, 2021
078c565
Add bourne script to readme
AndersSpringborg May 16, 2021
a030e6f
update main sample, from template
AndersSpringborg May 16, 2021
badf5d9
pre_compiling_bourne.py.mustache to samples folder 📃
AndersSpringborg May 16, 2021
8b980a5
set header Content'type to json
AndersSpringborg May 16, 2021
b2daf40
map todo🗺️
AndersSpringborg May 16, 2021
10fbaed
remove unused debug flag⚒️
AndersSpringborg May 16, 2021
97f2bb6
added support for ESP8266 ༼ つ ◕_◕ ༽つ
mkakbas May 19, 2021
2053b30
added new sample for ESP32 📀
mkakbas May 19, 2021
21415ef
🎯
mkakbas May 19, 2021
9dbfe36
added ESP8266 support 🎈
mkakbas May 19, 2021
7dedb5b
removed use of namespace std ❌
mkakbas May 19, 2021
b92bdd9
removed use of "__" in variables
mkakbas May 19, 2021
cbf6060
removed unused code in destructor
mkakbas May 19, 2021
494ad9e
fixed type comparison
mkakbas May 19, 2021
6119715
move default ctor to header
mkakbas May 19, 2021
ef3ec5f
added zero initialized primitive variables
mkakbas May 19, 2021
5909924
moved variable to TypeMappings
mkakbas May 19, 2021
d9ca153
updated ifndefines
mkakbas May 19, 2021
5d9790d
Extra comment for build error in standard example 🦸🏽‍
AndersSpringborg May 20, 2021
957cc65
afer cpp-ish cast from std::string to uint8* cast🏰
AndersSpringborg May 20, 2021
8d3c802
excluded maps type
AndersSpringborg May 21, 2021
efaf810
Documentation og generator
AndersSpringborg May 21, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions bin/configs/tiny-cpp-client-petstore-new.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
generatorName: tiny-cpp
outputDir: samples/client/petstore/tiny/cpp
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/tiny-cpp-client
additionalProperties:
hideGenerationTimestamp: "true"
controller: "esp32"
243 changes: 243 additions & 0 deletions docs/generators/tiny-cpp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
---
title: Config Options for tiny-cpp
sidebar_label: tiny-cpp
---

These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.

| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|controller|name of microcontroller (e.g esp32 or esp8266)| |esp32|
|disallowAdditionalPropertiesIfNotPresent|If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.|<dl><dt>**false**</dt><dd>The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.</dd><dt>**true**</dt><dd>Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.</dd></dl>|true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|reservedWordPrefix|Prefix to prepend to reserved words in order to avoid conflicts| |r_|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|variableNameFirstCharacterUppercase|Make first character of variable name uppercase (eg. value -&gt; Value)| |true|

## IMPORT MAPPING

| Type/Alias | Imports |
| ---------- | ------- |


## INSTANTIATION TYPES

| Type/Alias | Instantiated By |
| ---------- | --------------- |


## LANGUAGE PRIMITIVES

<ul class="column-ul">
<li>bool</li>
<li>double</li>
<li>float</li>
<li>int</li>
<li>long</li>
<li>std::string</li>
</ul>

## RESERVED WORDS

<ul class="column-ul">
<li>alignas</li>
<li>alignof</li>
<li>and</li>
<li>and_eq</li>
<li>asm</li>
<li>auto</li>
<li>bitand</li>
<li>bitor</li>
<li>bool</li>
<li>break</li>
<li>case</li>
<li>catch</li>
<li>char</li>
<li>char16_t</li>
<li>char32_t</li>
<li>class</li>
<li>compl</li>
<li>concept</li>
<li>const</li>
<li>const_cast</li>
<li>constexpr</li>
<li>continue</li>
<li>decltype</li>
<li>default</li>
<li>delete</li>
<li>do</li>
<li>double</li>
<li>dynamic_cast</li>
<li>else</li>
<li>enum</li>
<li>explicit</li>
<li>export</li>
<li>extern</li>
<li>false</li>
<li>float</li>
<li>for</li>
<li>friend</li>
<li>goto</li>
<li>if</li>
<li>inline</li>
<li>int</li>
<li>linux</li>
<li>long</li>
<li>mutable</li>
<li>namespace</li>
<li>new</li>
<li>noexcept</li>
<li>not</li>
<li>not_eq</li>
<li>nullptr</li>
<li>operator</li>
<li>or</li>
<li>or_eq</li>
<li>private</li>
<li>protected</li>
<li>public</li>
<li>register</li>
<li>reinterpret_cast</li>
<li>requires</li>
<li>return</li>
<li>short</li>
<li>signed</li>
<li>sizeof</li>
<li>static</li>
<li>static_assert</li>
<li>static_cast</li>
<li>struct</li>
<li>switch</li>
<li>template</li>
<li>this</li>
<li>thread_local</li>
<li>throw</li>
<li>true</li>
<li>try</li>
<li>typedef</li>
<li>typeid</li>
<li>typename</li>
<li>union</li>
<li>unsigned</li>
<li>using</li>
<li>virtual</li>
<li>void</li>
<li>volatile</li>
<li>wchar_t</li>
<li>while</li>
<li>xor</li>
<li>xor_eq</li>
</ul>

## FEATURE SET


### Client Modification Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|BasePath|✗|ToolingExtension
|Authorizations|✗|ToolingExtension
|UserAgent|✗|ToolingExtension
|MockServer|✗|ToolingExtension

### Data Type Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Custom|✗|OAS2,OAS3
|Int32|✓|OAS2,OAS3
|Int64|✓|OAS2,OAS3
|Float|✓|OAS2,OAS3
|Double|✓|OAS2,OAS3
|Decimal|✓|ToolingExtension
|String|✓|OAS2,OAS3
|Byte|✓|OAS2,OAS3
|Binary|✓|OAS2,OAS3
|Boolean|✓|OAS2,OAS3
|Date|✓|OAS2,OAS3
|DateTime|✓|OAS2,OAS3
|Password|✓|OAS2,OAS3
|File|✓|OAS2
|Array|✓|OAS2,OAS3
|Maps|✗|ToolingExtension
|CollectionFormat|✓|OAS2
|CollectionFormatMulti|✓|OAS2
|Enum|✓|OAS2,OAS3
|ArrayOfEnum|✓|ToolingExtension
|ArrayOfModel|✓|ToolingExtension
|ArrayOfCollectionOfPrimitives|✓|ToolingExtension
|ArrayOfCollectionOfModel|✓|ToolingExtension
|ArrayOfCollectionOfEnum|✓|ToolingExtension
|MapOfEnum|✗|ToolingExtension
|MapOfModel|✗|ToolingExtension
|MapOfCollectionOfPrimitives|✗|ToolingExtension
|MapOfCollectionOfModel|✗|ToolingExtension
|MapOfCollectionOfEnum|✗|ToolingExtension

### Documentation Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Readme|✓|ToolingExtension
|Model|✓|ToolingExtension
|Api|✓|ToolingExtension

### Global Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Host|✓|OAS2,OAS3
|BasePath|✓|OAS2,OAS3
|Info|✓|OAS2,OAS3
|Schemes|✗|OAS2,OAS3
|PartialSchemes|✓|OAS2,OAS3
|Consumes|✓|OAS2
|Produces|✓|OAS2
|ExternalDocumentation|✓|OAS2,OAS3
|Examples|✓|OAS2,OAS3
|XMLStructureDefinitions|✗|OAS2,OAS3
|MultiServer|✗|OAS3
|ParameterizedServer|✗|OAS3
|ParameterStyling|✗|OAS3
|Callbacks|✗|OAS3
|LinkObjects|✗|OAS3

### Parameter Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Path|✓|OAS2,OAS3
|Query|✗|OAS2,OAS3
|Header|✗|OAS2,OAS3
|Body|✓|OAS2
|FormUnencoded|✗|OAS2
|FormMultipart|✗|OAS2
|Cookie|✗|OAS3

### Schema Support Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Simple|✓|OAS2,OAS3
|Composite|✓|OAS2,OAS3
|Polymorphism|✗|OAS2,OAS3
|Union|✗|OAS3

### Security Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|BasicAuth|✓|OAS2,OAS3
|ApiKey|✓|OAS2,OAS3
|OpenIDConnect|✗|OAS3
|BearerToken|✓|OAS3
|OAuth2_Implicit|✓|OAS2,OAS3
|OAuth2_Password|✓|OAS2,OAS3
|OAuth2_ClientCredentials|✓|OAS2,OAS3
|OAuth2_AuthorizationCode|✓|OAS2,OAS3

### Wire Format Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|JSON|✓|OAS2,OAS3
|XML|✗|OAS2,OAS3
|PROTOBUF|✗|ToolingExtension
|Custom|✗|OAS2,OAS3
Loading