Compare commits

...

3514 Commits

Author SHA1 Message Date
William Cheng
8403e59aa0 Prepare 5.2.1 release (#10161)
* prepare for 5.2.1 release

* update samples
2021-08-16 19:08:29 +08:00
William Cheng
d10880cf51 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2021-08-16 17:28:31 +08:00
William Cheng
2d8ee32174 skip php client tests due to newer version required 2021-08-16 17:28:16 +08:00
Vikrant Balyan
849fec29b0 [CSharp-Netcore][Go] Optimize time taken to generate CSharp code (#10152)
* adds memoization to speed up csharp code generation

* takes care of review comments

* memoize adds to toModel for Go generator as well

Co-authored-by: Aanisha Mishra <aanisha.mishra05@gmail.com>
2021-08-16 12:11:04 +08:00
William Cheng
8eb31d0c7c minor improvements to php-dt generator (#10159) 2021-08-16 12:05:02 +08:00
William Cheng
87554ecb2d [java][micronaut] minor improvements (#10158)
* mark java micronaut generator as beta

* update doc
2021-08-16 12:04:42 +08:00
William Cheng
74671fa242 update doc 2021-08-15 23:02:36 +08:00
William Cheng
23fdd1b7d8 update samples 2021-08-15 22:41:42 +08:00
Andriy Dmytruk
09aa7bfd0a Add support for Micronaut Client (#10063)
* Create initial version of openapi micronaut generator

* Update validation, authorization, query parameters and time format

* Move micronaut to its own generator

* Add micronaut documentation

* Refactor and add tests to JavaMicronautClientGenerator

* Refactor model mustache for micronaut client

* Refactor model enum and pojo mustache files for micronaut client

* Move micronaut client generation to micronaut 3.0.0-M5 version

* Generate samples for micronaut client

* Add hidden files of generated samples for micronaut client

* Add and configure micronaut tests as maven profile

* Add option to choose between junit and spock for micronaut client generator

* Add tests for micronaut 'build' and 'test' options; regenerate micronaut samples
2021-08-15 22:36:45 +08:00
Arthur Mogliev
2210c9f016 [PHP] New client generator php-dt (#10041)
* - new PHP client generator php-dt

* - samples regen after rebase

* - README update

* - fix missing options for php-dt-modern config

* - use another workaround to prevent special treatment of form media types in DefaultGenerator - GlobalSettings usage mangled behaviour of other generators
- fix of missing spaces in generated docs

* - samples update after rebase
2021-08-15 22:15:44 +08:00
David Hutchison
fce10c7284 fix: correctly checks the hash file when using a classpath input spec (#9840)
The skipIfSpecIsUnchanged did not work when the input spec came from a
classpath resource, which could lead to infinite build loops when the
plugin was used in eclipse

#5805
2021-08-15 16:04:57 +08:00
Peter Leibiger
5fe76c2453 [dart][dio] Nullable parameters & defaults for header/query parameters (#10147)
* respect the nullable flag for all parameters (except path params where this is not allowed)
* generate default values for header and query parameters that are not collections
* we can not handle default values for collection with built_value atm. (not const)
* we can not handle default values for form/body parameters atm. as those can be enums which we can not construct easily
2021-08-15 13:49:32 +08:00
LeComptoirDesPharmacies
7d35e8dd9b [python-flask] Fix NoneType when deserialize optional date (See #5813) (#10081)
* Bug #5813 :

As "deserialize_date" and "deserialize_datetime" are used outside of "deserialize_model", we should check 'None' value before parsing string.

* Bugfix 5813 :

Update samples and docs
2021-08-15 00:41:14 +08:00
shayan-eftekhari
8569ff8203 [cpp-pistache-server] Fix missing semicolon in template and missing code to set default values of model schema (#10136)
* BUG FIX: A missing semicolon in cpp-pistache-server generated code.

* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.

* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
2021-08-15 00:32:14 +08:00
Ahmed Fwela
55ff5a0807 Don't use encodeCollectionQueryParameter on maps (#10116) 2021-08-13 23:16:09 +08:00
Ghufran Zahidi
8ee400305b Fixed the utc time issue for httpSigning auth. (#10139) 2021-08-13 22:47:46 +08:00
Peter Leibiger
c72e69f28a [dart][dio] Update built_value to =>8.1.0 (#10122) 2021-08-13 12:57:30 +08:00
Ween Jiann
6a9c8077e1 Add Inquisico to list of generator users (#10142) 2021-08-13 12:13:28 +08:00
Richard Kolkovich
c58326ad2f add my companies to README (#10146) 2021-08-13 12:10:34 +08:00
Hui Yu
bd8efe2f91 [C][Client] Allocate memory for the element of array when the type is number (#10124) 2021-08-11 21:12:46 +08:00
William Cheng
7dcca2e891 update samples 2021-08-11 12:10:37 +08:00
Sampo Kivistö
f9dd448451 Fixed typo in csharp-netcore httpclient generated code (#10119) 2021-08-11 10:58:58 +08:00
Marley
d0788cdbc1 Typescript-angular: Added missing semi colon to interface export in apis.ts template file. (#10121) 2021-08-10 14:00:57 +02:00
Marius Møller
664aa2d946 Fix issue 10020: [BUG] [typescript-angular] Add "header" to reserved words (#10091)
* Rename queryParameters to localVarQueryParameters

* Rename headers to localVarHeaders

* Rename credential to localVarCredential

* Rename httpHeaderAcceptSelected to localVarHttpHeaderAcceptSelected

* Rename formParams to localVarFormParams

* Rename useForm to localVarUseForm

* Rename convertFormParamsToString to localVarConvertFormParamsToString

* Step 3

* update doc

Co-authored-by: Marius Møller <mm@carbuddii.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-08-08 20:48:00 +02:00
Tino Fuhrmann
ccccb6aa67 Add missing samples for #9857 2021-08-07 23:48:41 +02:00
NouemanKHAL
74e28a7709 [typescript] FIX: Generate documentation and examples #9413 (#9857)
* generate docs for typescript

* commit changed files

* Fix NullPointerException on ComposedSchema

* Fix merge issues
2021-08-07 23:27:13 +02:00
Justin Black
cb71ae95a6 Feat adds has discriminator with non empty mapping (#9667)
* Adds hasDiscriminatorWithNonEmptyMapping getter and setter

* Removes venv

* Adds hasDiscriminatorWithNonEmptyMapping to CodegenModel

* Removes python-experimental folder

* Adds hasDiscriminatorWithNonEmptyMapping to CodegenProperty

* Adds hasDiscriminatorWithNonEmptyMapping to CodegenParameter

* Adds hasDiscriminatorWithNonEmptyMapping to CodegenResponse

* Sets hasDiscriminatorWithNonEmptyMapping in codegenModels

* Samples updated

* Adds getHasDiscriminatorWithNonEmptyMappin checks in existing discriminator tests
2021-08-07 07:52:10 -07:00
devhl-labs
930643b7bc Add switches (authentication collections) to support files (#9884)
* added authentication switches to support files

* build samples

* build samples

* added documentation
2021-08-07 21:54:23 +08:00
Ahmed Fwela
dbd80fbf8a [dart-dio-next] improve encodeCollectionQueryParameter to handle cases where collectionFormat is null (#10105)
* improve encodeCollectionQueryParameter to handle cases where collectionFormat is null

* updated samples
2021-08-07 21:53:36 +08:00
Ween Jiann
11d29eb22b [go-server] Feat: add required assertions to models (#10068)
* Add RequiredError

* Add IsZeroValue helper

* Add AssertRequired method to all models

* Add AssertRequired call for body param

* Regenerate files

* Add DisallowUnknownFields

* Regenerate samples

* Use hasRequired in model to remove unnecessary code

* Revert disallowUnknownFields

* Use isAdditionalPropertiesTrue for disallowing unknown fields

* Updated samples

* Fix indent

* Add require checks for nested slices

* Add new tests

* Regenerate samples

* Regenerate samples after merging
2021-08-07 21:29:14 +08:00
Yorick Holkamp
189b44b191 [dart2] Include request body on DELETE call (#10100)
* Include request body on DELETE call

This change updates the generated `ApiClient` to include the request body on DELETE calls. [Per the RFC on page 2][1], DELETE calls are allowed to have a request body, even though the behavior may be undefined. I've not come across many APIs that use this behavior but there are a few, in particular the [Ory Kratos API][2] does so, not forwarding the body prevents such an API from being used. An API spec that does not define a request body should continue to function as expected.

[1] https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.5
[2] https://www.ory.sh/kratos/docs/reference/api/#operation/submitSelfServiceLogoutFlowWithoutBrowser

* Samples generated with dart2 template change
2021-08-07 21:11:03 +08:00
James Gilliland
09a4da0970 Make php's array a primitive (#10093)
Fixes a bug where code generation would sometimes treat arrays as
objects and break serialization and code documentation.
2021-08-07 21:02:40 +08:00
Timothy Langer
ac1ef4bdeb Fix typo (preffer -> prefer) (#10098) 2021-08-07 20:57:43 +08:00
ND Tai
fe63b0e28e Fix typo on rust client (#10096) 2021-08-07 20:53:27 +08:00
Richard Willis
6d8791c3da [typescript-fetch] Fix double comma arguments due to initOverrides. Refs #10050 (#10101) 2021-08-06 10:21:05 +02:00
Braden Mars
39901c824f [typescript-inversify] fix: Sets IsCollectionFormatMulti to true on multi file uploads (#9796) 2021-08-06 09:25:10 +02:00
ota42y
e2ff39d3e3 [TypeScript-fetch] disable lint in index file (#9675)
* [TS] disable lint in index file

We disable lint in typescript-fetch in this PR
https://github.com/OpenAPITools/openapi-generator/pull/4110

But we doesn't disable index.ts files so we'll get error with [no-cycle](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-cycle.md) rule.

- index.ts [import all classFiles](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/typescript-fetch/models.index.mustache#L4) to exporting
- When model use another models (i.e. article model have user model as author), model import another model [using index.ts](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache#L10)

So we need disable all generated file.

* generate files

Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
2021-08-06 09:22:24 +02:00
Richard Willis
c4b9804139 [typescript-fetch] Add initOverrides (#10050)
You can now pass in fetch initOverrides per request.

This change is mainly to add support for request cancellation (via AbortSignal).
2021-08-06 09:14:52 +02:00
duxiaofeng
c05ec99182 make typescript-fetch code compatiable with nodejs environment (#10072) 2021-08-06 08:59:40 +02:00
Peter Leibiger
75181210d5 Add tests for enum query encoding (#10054) 2021-08-05 18:16:59 +08:00
Nathan Baulch
ca5de9d503 [php] Deprecated annotation on operations and fields (#10085) 2021-08-04 17:29:19 +08:00
Nathan Baulch
dc23267580 [csharp] Obsolete attribute on deprecated operations and properties (#10084) 2021-08-04 17:28:45 +08:00
William Cheng
865510ea59 Update test build files to the latest SNAPSHOT version (#10090)
* fix versions in test build files

* test branch

* Revert "test branch"

This reverts commit 00ce0f029d.
2021-08-04 17:03:54 +08:00
Peter Leibiger
ccd23ec75a [dart-dio] Fix parameter generation problems (#10061)
* fix parameter with list of `MultipartFile` being generated as single `MultipartFile`
* generate serializer factories for all container params, not only body params
* fix compilation errors when `skipFormModel=false`
2021-08-04 14:25:26 +08:00
Gareth Smith
98e4eb708f [BUG]Java] Fix a race condition in RetryingOAuth.mustache (#10087)
If there were multiple concurrent requests at a time at which the OAuth token had expired, only a single request would be retried. The other requests would fail because of the expired token, but not be retried and so the failures would be propagated to the caller.
2021-08-04 10:06:39 +08:00
William Cheng
4d0a40e982 update samples 2021-08-04 01:21:22 +08:00
Nathan Baulch
c1c5775271 [go] More idiomatic godoc comments (#10044)
* [go] More idiomatic godoc comments

* [go] Mark deprecated fields and functions

* [go] Minor mustache readability/consistency fixes

* [go] Mark deprecated operation parameters

* [go] Deprecate a petstore component property for testing

* [go] Apply deprecated godoc in Go servers also
2021-08-03 17:11:16 +08:00
Sem Schilder
4210b41f84 [php-symfony] Add backslash to "load" namespaces from global namespace (#9740)
* Add backslash to load namespace from global namespace

* Update example

* Remove hardcoded slash

* Add backslash from java side

* Update samples

* Fix first sample

* Fix other snapshot

* Update version file
2021-08-03 17:09:52 +08:00
William Cheng
c28c1253a4 fix missing jackson-databind-nullable in okhttp java client (#10078) 2021-08-03 17:07:14 +08:00
Hui Yu
c21e6de7da [C][Client] Treat the data type "byteArray" same as "string", part 2 (#10067) 2021-08-03 16:50:14 +08:00
Ween Jiann
bea17c9d68 [typescript] Fix: any type (8 liner PR) (#10080)
* [typescript] Fix: any type (1 liner PR)

* Add toAllOfName override

* Add tests

* Add line at EOF
2021-08-03 16:48:20 +08:00
William Cheng
31eb65ab67 [C#][netcore] minor bug fixes (#10074)
* fix property name, fix enum comment

* update doc
2021-08-03 16:43:39 +08:00
William Cheng
0ceeddb441 fix path and query parameters encoding (#10069) 2021-08-03 16:43:21 +08:00
William Cheng
594d08a7a4 update kotlin auto-generated test to avoid npe (#10058) 2021-08-02 18:44:03 +08:00
William Cheng
ec49dc3fed [Kotlin] minor bug fixes (#10071)
* fix http basic auth, deprecate option, escape special property name

* update doc
2021-08-02 18:04:38 +08:00
Noor Dawod
e39e4bcd6e Kotlin client/spacings indentations (#9853)
* Bump jimschubert/query-tag-action from 1 to 2

Bumps [jimschubert/query-tag-action](https://github.com/jimschubert/query-tag-action) from 1 to 2.
- [Release notes](https://github.com/jimschubert/query-tag-action/releases)
- [Commits](https://github.com/jimschubert/query-tag-action/compare/v1...v2)

Signed-off-by: dependabot[bot] <support@github.com>

* Adjust spacings, bring back suppresses to silence IntelliJ IDEs.

* Suppress few warnings since we know we are using them in the code.

* toLowerCase() is deprecated.

* Wrap enum values in backticks to guard against reserved names, bring back encode/decode for each enum.

* Wrap property names in backticks to guard against reserved names.

* Regenerate samples.

* Do not warn about unused imports.

* Regenerate samples.

* Updated petstore code.

* Add missing reserved Kotlin operators and special keywords.

* Revert adding backticks.

* Regenerate pet store shop code.

* Remove unused suppression.

* Use 3 braces to wrap name.

* Regenerate pet store shop code.

* Remove get from reserved words.

* Revert back removal of description.

* Regenerate source code for Petstore.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-02 17:38:22 +08:00
Ghufran Zahidi
e5ce66aae6 [csharp-netcore]Model's FromJson method check for jsonstring is not nullOrEmpty before deserializing (#10060)
* check for jsonstring is not nullOrEmpty before desrializing for oneOf and anyOf

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-08-02 11:35:00 +08:00
William Cheng
fc28661dde add AnyType support to Kotlin (#10070) 2021-08-02 00:19:05 +08:00
William Cheng
70982ddc75 update samples 2021-07-31 21:28:10 +08:00
Mike
831034bb24 Move the JsonbProperty annotation from the getter to the field declaration (#10035)
Co-authored-by: Mike Anderson <mike.d.anderson@oracle.com>
2021-07-31 21:19:44 +08:00
Nathan Baulch
6686048b0e Specify templateDir in all sample configs (#10062) 2021-07-31 18:45:35 +08:00
Bruno Coelho
8a714f48d3 [Kotlin][Client] improve imports (#10052) 2021-07-29 18:02:20 +08:00
Piotr Krzemiński
b1a009803e [Kotlin][Multiplatform] Add missing JVM dependency (#10051)
This dependency was accidentally removed in PR #9755 where we switched
from `build.gradle` to `build.gradle.kts`.
2021-07-29 18:01:44 +08:00
Stefan Burnicki
d18ee5459c [kotlin-spring] Support model objects and date-time query params (#8257)
* [kotlin-spring] Support query params with model objects (#8080)

Must fix #8080

* [kotlin-spring] Support parsing date and date-time parameters

adopted #3860 for kotlin-spring

Co-authored-by: Мышкин Максим <m.myshkin@tinkoff.ru>
2021-07-29 10:37:31 +08:00
Ween Jiann
870ef3a87a [go-server] Allow user to specify how errors are handled (#9764)
* Added error.go

* Updated controller to use error

* Fix redeclared func

* Add generated files

* Merge

* Added docs

* Remove variadic

* Regenerate files

* Updated go doc to meet standard

* Updated doc to meet go standard

* Updated
2021-07-28 17:19:47 +08:00
William Cheng
4c8c576a0f add new file 2021-07-28 11:13:49 +08:00
William Cheng
d68c14cf98 use fully qualified name for Pageable (#10045) 2021-07-28 11:03:24 +08:00
Oleh Kurpiak
b1cc7445a0 [Java][Spring] fix Spring RequestMapping (#9900) 2021-07-27 14:27:47 +08:00
William Cheng
fcdc9d49f7 update samples 2021-07-27 14:16:55 +08:00
unintended
68d48ea03a Store uri template attribute for webclient to store in metrics (#9964)
* store URI template attribute for webclient

* generate samples
2021-07-27 14:13:24 +08:00
Oleh Kurpiak
aa4018d09b [Java] fix nullable arrays when JsonNullable is used (#10012) 2021-07-27 13:57:07 +08:00
Richard Moorhead
ddd23ab197 fix java8 datetime jaxrs-resteasy (#10014) 2021-07-27 13:51:31 +08:00
William Cheng
2f18bbe1c7 Remove @swipesight (2018/09) from Dart tech committee (#10042) 2021-07-27 11:32:10 +08:00
Peter Leibiger
88e22b0a52 [dart][dart-dio-next] Authentication fixes and improvements (#9975)
* [dart-dio-next] Update http mock test library

* [dart-dio-next] Fix authentication problems

* correctly map authentication by type and scheme
* add new authentication interceptor for `bearer` scheme - this currently does the same as the OAuth interceptor
* add tests for all authentication types except OAuth
* use temporary test library branch until new fixes and features get merge there

* Actually commit the fixed test library dependency

* Update http mock library

* Format :/
2021-07-27 10:04:05 +08:00
Hui Yu
5fb845a58f [C][Client]Treat the data type "byteArray" as "string" (#10034) 2021-07-27 00:10:36 +08:00
William Cheng
f0ebcd56d1 [Java][resttemplate] better code format (#10033)
* java restemplate: better code format

* update samples
2021-07-25 16:07:04 +08:00
Robin Trietsch
8eba70dd3d [BUG][Kotlin] Add support for collection of generic classes (Jackson / Gson / Moshi) (#9918)
* Cherry picked commits from add-support-for-collection-of-generic-classes

* Regenerated samples

* Missing work by @adamsz-lume

* Try to fix maven plugin error

Co-authored-by: Bruno Coelho <4brunu@gmail.com>
2021-07-24 23:04:14 +08:00
Sebastian Weddmark Olsson
888f9cd84a [erlang-server] Dialyzer spec (#9983)
* [erlang-server] Fix dialyzer spec

* add generated file
2021-07-24 22:37:40 +08:00
William Cheng
5d6431d799 Add a link to Line engineering video (#10030) 2021-07-24 21:52:21 +08:00
William Cheng
38a2fac37e migrate rust client samples to 3.0 spec (#9999) 2021-07-23 11:22:20 +08:00
Yuriy Belenko
fe9636e9d9 [php] Fix Composer 2 name error (#10002)
* Fix obvious typo

* Add function to build Composer package name

* Add composerPackageName codegen property

* Use package name if it's not empty

* Refresh samples
2021-07-22 10:32:11 +08:00
Oleh Kurpiak
9e314d165b [Java][Server] remove snapshot dependency (#9997) 2021-07-21 22:53:23 +08:00
Jorge Rodríguez Martín
e568376a01 [Java][RestTemplate][WebClient] Templatized query params for metrics and evicts oom (#9871)
* [Java][RestTemplate] Templatized query params for metrics and evicts oom

* [Java][WebClient] Templatized query params for metrics and evicts oom

* [Java][RestTemplate] Templatized query params for metrics and evicts oom

* Update samples

* [Java] Add javadoc

* [Java] Update samples
2021-07-21 17:03:19 +08:00
sigand
352ff98dff Fix Kotlin default values for strings and arrays (#9865)
* Properly escape default values

* Support default values for array types

* Use Kotlin initializers, not Java

Co-authored-by: Sigrid Andersson <sigrid.andersson@entur.org>
2021-07-21 15:58:16 +08:00
Christopher Gretzki
d23915a7b4 [swift5 client] fix filename for binary downloads (#9989)
* fix-filename-from-header-response-retrieval: fix early exit of iteration

before a match could be found

* fix-filename-from-header-response-retrieval: fixed same bug for alamofire usage too

* fix-filename-from-header-response-retrieval: build project and update samples

Co-authored-by: Christopher Gretzki <gretzki@adesso-mobile.de>
2021-07-21 12:37:48 +08:00
Yuriy Belenko
1d648223e6 [php] Set PHP version to 7.3 (#9986)
* Remove 7.2 from TravisCI config

* Bump Composer PHP requirement

* Bump PHP version in docblocks

* Add PHP 8 notice to readme

* Refresh samples
2021-07-20 21:06:50 +08:00
Michael Marner
e20ccd49ed 9955 dart-dio-next only remove typed_data import if safe (#9956) 2021-07-19 17:27:46 +08:00
William Cheng
2e1b028ccd update samples 2021-07-19 11:43:03 +08:00
William Cheng
e263e6acc0 [Java] update test samples (#9972)
* remove new java samples

* java feign, webclient use fake petstore for tests

* update samples
2021-07-19 11:08:44 +08:00
Marcel Stör
c5f5d3dd6a [Java] Add @javax.annotation.Nonnull to required getters (#9593)
* Add @javax.annotation.Nonnull to required getters

* Add updated samples

* Consider the nullable constraint
2021-07-19 10:48:58 +08:00
Jon Jensen
bd070308d9 [Java][*] Annotate deprecated operations and schemas (#9478)
Refs #3358

Ensure `deprecated` operations are annotated/documented as such on the
generated methods. Libraries updated:
  * [feign]
  * [google-api-client]
  * [microprofile]
  * [okhttp-gson]
  * [resttemplate]
  * [retrofit]
  * [retrofit/play*]
  * [webclient]
  * [vertx]

Ensure `deprecated` schemas are annotated/documented as such on the
generated classes/fields. Libraries updated:
  * [feign]
  * [google-api-client]
  * [jersey2]
  * [microprofile]
  * [native]
  * [okhttp-gson]
  * [rest-assured]
  * [resteasy]
  * [resttemplate]
  * [retrofit*]
  * [webclient]
  * [vertx]

Also fix two minor bugs to get the java sample tests working:

* Fix an invalid jackson-datatype-threetenbp version number in vertx/pom.mustache
* Fix a bad return type in webclient/api_test.mustache when uniqueItems=true

Since this commit updates petstore-with-fake-endpoints-models-for-testing.yaml,
several other samples were updated, but it's just new files to reflect the
deprecated schemas, so there should be no consequential differences.

Relevant bits of the spec:

* https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-operationdeprecated
* https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-schemadeprecated
2021-07-19 10:27:03 +08:00
Florian Kamella
c42e03e251 Support openApiNullable in jaxrs-cxf-client generator (#8863)
* Introduce jaxrs-cxf-client-jackson-nullable sample

Generated using: ./bin/generate-samples.sh bin/configs/other/openapi3/jaxrs-cxf-client-jackson-nullable.yaml

* Add support for openApiNullable to JavaCXFClientCodegen

Add import mapping for JsonNullable to AbstractJavaCodegen

* Deduplicate string "jackson" in generators extending AbstractJavaCodegen

* Adjust nullable fields

* Adjust standard getters for nullable fields

add @JsonIgnore to standard getters

* Adjust standard setters for nullable fields

* Adjust fluent setter for nullable fields

* Introduce distinct getter and setter for nullable fields

* Adjust add method for nullable lists

* Adjust put method for nullable maps

* Cleanup JavaJaxRS/cxf/pojo.mustache

* Further cleanup JavaJaxRS/cxf/pojo.mustache

* Adjust inner enum getters
2021-07-19 10:22:52 +08:00
szTheory
6229801935 [Ruby] Add new Ruby versions to the Travis CI build matrix configuration (#9971)
* Add new Ruby versions to the Travis CI build matrix configuration

* Build the project and update samples
2021-07-19 09:57:55 +08:00
Peter Leibiger
5920bbd6df [dart] Fix tests failing in CI after automatic dependency update (#9961)
* prevent future problems of this kind by adding the pubspec.lock file to VCS for all 3 test projects
2021-07-16 21:05:23 +08:00
William Cheng
160db768af update cpp ue4 samples 2021-07-16 11:46:03 +08:00
Samuel Kahn
27e2ee0b64 [cpp-ue4] Added support for bool in URL parameters, now writes true/false instead of 1/0 (#9951) 2021-07-16 11:37:34 +08:00
Mikael Lixenstrand
2e030c0c47 [Erlang] decrease memory usage (#9946)
* do not keep generator_state in cowboy match structure

* update generated example
2021-07-16 11:34:18 +08:00
William Cheng
d99f16edc5 [C#][netcore] Remove redundant logic in adding ICollection (#9938)
* remove reduce logic in adding IColletion

* remove redundant logic in csharp client generator

* update samples
2021-07-16 11:33:40 +08:00
Toby Archer
8df43a10c1 [Elixir] Adding :package and :description to mix.exs template (#9945)
* feat: templating elixir's mix.exs :package and :description

* adding updated elixir sample
2021-07-16 11:16:18 +08:00
Isaac van Bakel
65a271c50b Haskell-http-generator - Make endpoints which don't return anything yield NoContent (#9916)
* Make endpoints which don't return anything yield NoContent

Relevant issue: OpenAPITools/openapi-generator#9901

The haskell-http-client generator tries to generate a polymorphic return
type for endpoints which don't return anything in the success case, but
still produce content in other cases. This means that these endpoints
hit a decoding error in the success case, because there is no content to
decode.

This changes the behaviour so that endpoints that don't return anything
are *always* generated as returning NoContent, and never try to decode
the response. This change is based on a similar one for the
haskell-servant generator, which can be found at:

OpenAPITools/openapi-generator#9830

which resolved a similar issue for that generator.

* Update samples after haskell-http-client NoContent change
2021-07-15 10:57:14 -05:00
William Cheng
79866e90cf update haskell servant samples 2021-07-13 21:03:07 +08:00
devhl-labs
519ab9290e [abstract csharp] Optional param data type (#9885)
* fix optional parameter dataType

* add test

* removed stray spaces

* improved test method name
2021-07-13 17:12:31 +08:00
Profpatsch
7bd633f1ae [haskell][server] Export the Wai Application for the server (#9801)
For tests it’s useful to have direct access to the Wai `Application`,
which is the plain function from `Request` to `Response`.

Then you don’t need to use a full-blown http server to run requests.
2021-07-13 17:00:06 +08:00
Jacob Heider
aa88d5bbe6 Swift5/Vapor query parameter coding keys required (#9924)
* Fixes camel-case query parameters (perPage => per_page)

* Prep for PR
2021-07-13 15:27:44 +08:00
Bruno Coelho
26f998b043 [kotlin][client] define kotlin coroutines context (#9936)
* [kotlin][client] define coroutines context

* [kotlin][client] update sample projects

* [kotlin][client] add missing kotlinx coroutines dependency

* [kotlin][client] update sample projects
2021-07-13 15:26:59 +08:00
William Cheng
7573234a4c Update PR template to refer to 5.3.x 2021-07-12 16:59:53 +08:00
Justin Black
11515da053 Python client - fixes boolean enum use case (#9926)
* Adds boolean enum component and object property and tests of it

* Regenerates samples

* Passes needed locale argument to toUpperCase

* Regenerates samples
2021-07-09 18:55:22 -07:00
William Cheng
02835b35bc Prepare v5.2.1 (#9922)
* bump verions to 5.2.1-SNAPSHOT

* update samples

* update readme

* fix gradle properties
2021-07-09 22:42:31 +08:00
William Cheng
90f7bcd909 Prepare v5.2.0 release (#9920)
* 5.2.0 release

* update samples

* update meta codegen
2021-07-09 17:06:55 +08:00
Bruno Coelho
f5c3430a26 [swift5][client] avoid local variable name collision (#9913)
* [swift5][client] avoid variable name collision

* [swift5][client] update sample projects
2021-07-09 01:03:54 +08:00
John Boyes
7084a79ede [BUG][PYTHON] Do not set Content-Type for GET, HEAD or DELETE requests (#9852)
* [BUG][PYTHON] Do not set Content-Type for GET, HEAD or DELETE requests

The Python generator no longer sets a default `Content-Type` of
`application/json` for `GET`, `HEAD` and `DELETE` requests.

Having the `Content-Type` set for these requests was causing issues with
other tools which insist that GET, HEAD and DELETE requests do not have
a Content-Type (as per the OpenAPI 3 specification).

An example of the problem that this commit fixes is when using
[Prism][1] as a [validation proxy][2].

[Prism rejects any GET request that has a Content-Type][3].

Here is [an example of the problem manifesting itself][4].

To validate the fix in this commit:

1. Start with any OpenAPI3 spec e.g. the Petstore example at
https://editor.swagger.io/
2. Generate Python client code for the spec
3. Look at the generated `rest.py` e.g. in the [standard sample in this
repo][5] and see that the `Content-Type` defaults to `application/json`
for all HTTP methods (including `GET`, `HEAD` and `DELETE`), rather than
there being no `Content-Type` for `GET`, `HEAD` and `DELETE`.

Fixes #9831

[1]: https://github.com/stoplightio/prism
[2]: https://meta.stoplight.io/docs/prism/docs/guides/03-validation-proxy.md
[3]: https://github.com/stoplightio/prism/issues/1408#issuecomment-690948020
[4]: https://github.com/agilepathway/gauge-openapi-example/pull/28/checks?check_run_id=2888606052#step:13:18
[5]: 969cea8ce1/samples/openapi3/client/petstore/python/petstore_api/rest.py (L141)

* update samples

* Fix Python DELETE bug introduced in earlier commit

The earlier commit 9dfe1f6 introduced a bug for `DELETE` requests on the
standard Python generator.  This commit fixes that bug and also includes
the updated samples.

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-07-07 11:04:26 +08:00
William Cheng
60c4c88a74 update samples 2021-07-06 15:36:48 +08:00
William Cheng
046780657c fix regex in erlang, update samples (#9892) 2021-07-06 11:10:08 +08:00
Łukasz Leszczuk
efe0e1d7a0 Fix cancellation token usage for async calls in csharp-netcore. (#9841) 2021-07-05 13:11:45 +08:00
William Cheng
eb2e56dbb1 better code indentation 2021-07-05 09:30:51 +08:00
Katsuya Oda
a835f6ec0e fix: missing vendor extensions in inlined objects #8064 (#9810) 2021-07-05 09:16:35 +08:00
Jens Fischer
870c1e1894 [Java] [Native] Unify exception messages for async, add the status code (#9825)
* [Java] [Native] Unify exception messages for async, add the status code

The template has two methods for creating API exceptions, and the enhancements from #9169 didn't make it to the async version.

- unify the signatures of the two methods (name, arguments)
- make sure the sync version is not generated with asyncNative
- extract the formatting logic into a common formatExceptionMessage() method
- add the status code to the exception message as well, not just the body
- shortened "call received non-success response" to a more concise "call failed with"

* Treat an empty body the same as a null body

Co-authored-by: Jens Fischer <jens.fischer@vier.ai>
2021-07-05 08:57:40 +08:00
William Cheng
a5c98dd416 better null check to surpress sonarcloud warning (#9888) 2021-07-04 15:16:19 +08:00
cal
d2e79be728 [cleanup] erefactor/AutoRefactor - TestNG asserts (#9861)
AutoRefactor cleanup 'TestNGAssert' applied by erefactor:

Refactors to a proper use of TestNG assertions.

For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor
For erefactor see https://github.com/cal101/erefactor
2021-07-04 14:49:47 +08:00
cal
611a3effa6 [cleanup] erefactor/AutoRefactor - Log parameters rather than log message (#9859)
AutoRefactor cleanup 'LogParametersRatherThanLogMessage' applied by erefactor:

Replaces a string concatenation as parameter of a logger method by a
string template followed by objects.

For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor
For erefactor see https://github.com/cal101/erefactor
2021-07-04 14:47:52 +08:00
cal
54814caeb1 [cleanup] erefactor/EclipseJdt - Add missing @Override annotation - include interface implementations (#9860)
EclipseJdt cleanup 'AddMissingOverrideAnnotation' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.20/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-07-04 14:44:57 +08:00
William Cheng
b134e8e135 Fix GitHub action (#9887)
* fix missing jar

* add comment
2021-07-04 13:53:25 +08:00
dependabot[bot]
6c6525aa31 Bump actions/download-artifact from 2.0.9 to 2.0.10 (#9793)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2.0.9 to 2.0.10.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2.0.9...v2.0.10)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-04 12:43:34 +08:00
dependabot[bot]
e345eef32c Bump actions/upload-artifact from 2.2.3 to 2.2.4 (#9794)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.3...v2.2.4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-04 12:43:08 +08:00
Bastien Gérard
510e64fa43 Fix minor typo in @cached_property docstring (#9886) 2021-07-04 12:29:55 +08:00
Matthias Ernst
17b6379df5 [Kotlin Multiplatform] Update and fixes for Kotlin 1.5.10 and Kotlinx.serialization 1.2.1 (#9755)
* Update Kotlin Multiplatform with Kotlin 1.5.10, Ktor 1.6.0 and Kotlinx.serialization 1.2.1
* remove @Serializable from interfaces
* Using 'String(CharArray): String' is an error. Use CharArray.concatToString() instead
* Fix, RequestConfig needs a type to infer type variable T

Fixes from @DevSrSouzaern
* Fix `private` keyword not being handle as a reservedWords
* Fix enum serialization generation
* Migrate gradle build to Kotlin DSL

* update samples and documentation

* PR Review changes
* sample update
* revert non multiplatform kotlinx_serialization removal
* default Json{} in ApiClient
* revert accidental version push for jvm client
* Match ktor and Kotlinx Serialization version in documentation and build.gradle.kts

* remove const from JSON_DEFAULT

* Update AbstractKotlinCodegen.java

Co-authored-by: Gabriel Souza <devsrsouza@gmail.com>
Co-authored-by: ern <ern@ti8m.ch>
2021-07-03 23:33:39 +08:00
William Cheng
173c7ca652 update powershell samples 2021-07-03 22:30:54 +08:00
SimeonGerginov
3663831b4d [REQ][PowerShell] Improve generated PowerShell examples (#9836)
* Implement new PowerShell example structure

Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>

* Modify documentation template to work with the new PowerShell example format

Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>

* Update PowerShell Generator documentation with the new properties

Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>

* Update PowerShell samples with the new PowerShell example format

Signed-off-by: Simeon Gerginov <sgerginov@vmware.com>

* Fix issues with array of models as parameters

Signed-off-by: Simeon Gerginov <simeongerginov1@gmail.com>

* Change string value generation to include the prefix 'My'

Signed-off-by: Simeon Gerginov <simeongerginov1@gmail.com>

* Remove multiple new lines and trim leading and trailing spaces in PowerShell example

Signed-off-by: Simeon Gerginov <simeongerginov1@gmail.com>
2021-07-03 22:27:06 +08:00
Bernhard Danecker
32a3eb1655 fix generate-samples code sample line break (#9880) 2021-07-03 22:09:53 +08:00
Marc de Jonge
bba23272ff #9848 Add support for generating a Set for a list with uniqueItems set to true (#9849) 2021-07-01 17:56:28 +08:00
Adriaan Duz
147367e559 [Kotlin][Bug] Added open, external and internal as reserved keywords for kotlin (#9842)
* Added open, external and internal as reserved keywords for kotlin

* ./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
with only kotlin
2021-07-01 17:54:04 +08:00
Bernhard Danecker
f0cbfbc820 Updated openapi-generator-gradle-plugin/README.adoc to latest plugin version (#9874)
Updated docs to reference latest gradle plugin version with important support for gradle 7
2021-07-01 17:48:28 +08:00
William Cheng
cd2bd84bb6 update samples 2021-06-29 20:37:09 +08:00
Ghufran Zahidi
90233d6653 conditional serialization add only those property which user wants to… (#9807)
* conditional serialization add only those property which user wants to configure.

* fixed the samples

* fixed the sample String to string issue.

* fixed the sample String to string issue.

* updated the sample

* Added unit test for conditional serialization

* update samples

* remove trailing spaces, update samples

* remove files

* add back files

* build the project in the ci

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-06-29 20:28:47 +08:00
Florian Verger
b9b539459a Typescript angular discriminator mapping (#8929)
* remove trailing spaces

* add support of discriminator mapping for typecript-angular generator

* PR comment
2021-06-29 13:01:58 +02:00
William Cheng
919945b65b ensure haskell, erlang server samles up-to-date (#9851) 2021-06-26 18:53:07 +08:00
Michał J. Gajda
1cd1001e34 Fix returning NoContent. (#9830) 2021-06-26 18:20:59 +08:00
William Cheng
0f578d4a83 comment out ts inversify tests 2021-06-24 11:42:49 +08:00
Gabriel Rohden
44c1fee3e2 [dart] fix some compilation issues and added casts for analyzer implicit-casts flag (#8244)
* fix: missing dart casts and analyzer issues

* chore: regenerate dart template files

* refactor: remove unneeded implicit-casts:false and regenerate sources

* chore: regenerate templates after merge

* chore: regenerate dart pet store codes
2021-06-24 10:24:28 +08:00
bflamand
48e05ce162 [Typescript Fetch] New optional mode with redux saga & immutablejs (saga & records) (#8578)
* first commit: add cli option for saga and records. Added dummy sagas.mustache test file.

* More progress with default values. First prototype for isEntity and isUniqueId.

* record generation complete

* record generation complete

* progress with saga generation

* progress with saga generation

* first fully working saga generation

* merge with latest master

* removed unneeded "items" properties.

* moved global CodegenModel modifications into subclass ExtendedCodegenModel used exclusively by TypescriptFetchClient. Adding missing samples files.

* moved global CodegenOperation modifications into subclass ExtendedCodegenOperation used exclusively by TypescriptFetchClient.

* moved global CodegenProperty modifications into subclass ExtendedCodegenProperty used exclusively by TypescriptFetchClient.

* moved global CodegenParameter modifications into subclass ExtendedCodegenParameter used exclusively by TypescriptFetchClient.

* added the missing "allSagas" export.

* renamed & reworked "meta data response" flags to a more useful general concept of "operation return passthrough"

* added vendor flag keepAsJSObject as escape hatch to support circular dependencies in models and other special cases. Also fixed issues with default values for some records properties.

* added autodetection for passthrough to simplify standardised specs.

* fix small issue with passthrough void

* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.

* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.

* Added "reservedRecordField" feature to support remapping fields names that cannot be used in Records. Added missing export to record: toApi().

* added uniqueId inference. Fix small generation when uniqueId property is an array.

* removed feature "reservedRecordField" and replaced it with existing built-in "reserved words" feature. Fix minor issues with typings in generated files.

* Changed api recType names to make them less likely to cause name conflicts. Added generated ApiEntities (record, reducer & selector) files.

* Moved location of ApiEntities related files and fix issues with exports.

* - merge latest master
- renamed fake test apis to better fit the "pet theme"
- added mode for "SourceOnlyLibrary" (same as used in codegen typescript jquery)

* - missing ganarate sampless

* - Modified way to export apiEntitiesSelectpr to reduce typescript analysis time for consuming project. Removed tab characters in mustache files. Reformat code for TypeScriptFetchClientCodegen to try to remove false positive for tabs vs spaces.

* - added markErrorsAsHandled property to api sagas. Increased typescript version to address some typing errors on library build.

* - fix bug in saga interfaces. Upgraded to typescript "strict" mode to ensure proper typechecking info is generated.

* - added optional id for apiEntity selectors. Added toInlined() support to convert an entity to an inlined model recursively.

* - minor tweak for apiEntitySelector to accept null id

* - minor tweak for apiEntitySelector

* - runned ensure up to date.

* Revert "- runned ensure up to date."

This reverts commit ea9b4aed

* - runned ensure up to date.

* - runned ensure up to date.

Co-authored-by: Bruno Flamand <bflamand@stingray.com>
2021-06-24 00:07:17 +08:00
William Cheng
5bf4e77400 Add a link to blog post about openapi-generator (#9832) 2021-06-23 15:16:07 +08:00
Kevyn Liebersbach
77f84ec811 Limit depth of example code generation in RClientCodegen (#9822) 2021-06-23 11:29:48 +08:00
Kuzma
969cea8ce1 [Typescript] Fix oneOf (#9628)
* on of

* fix map

* samples

* file to any

* samples

* add unit tests

* clear code
2021-06-21 23:42:47 +02:00
Max Goltzsche
2e85ccdec8 [go-server] fix addResponseHeaders tpl option typo (#9814)
According to the [documentation](https://openapi-generator.tech/docs/generators/go-server) the go-server generator should support an `addResponseHeaders` option but a template uses an `addResponseHeader` option in some places which this PR fixes.

Closes #9795

Signed-off-by: Max Goltzsche <max.goltzsche@gmail.com>
2021-06-21 11:46:51 +08:00
William Cheng
939b5f6bb8 update samples 2021-06-21 11:24:46 +08:00
Mehmet YUCE
ccd031a3da Continuing from #1317 and its PRs for pistache server string enum code generation (#9786)
* Continuing from #1317 and its PRs for pistache server string enum code generation;
* A class that has an `anyOf` specification, in cpp side will have no members: in stead it should have a member having the type `classname_anyOf`
* Thus, Its `==` operator is not present or wrongly filled
* An string enum, should have a better usage, hence the `setEnumValue`
* this PR, is a brigde between `stringenumclassname_anyOf` and `stringenumclassname`
* `anyOf` specification is not just about `Enums`, so a better handling is needed from mustache templates, hence new template model parameter `isStringEnumContainer`

* PR fix: muttleyxd: `double semicolon`

* PR fix: wing328: `I think std::string is C++ only. What about adding x-is-string-enum-container instead in the postProcessModel operation in the C++ pistache server generator?`

* PR fix: wing328: `I think std::string is C++ only...` after fix get latest codes and then generate samples

Co-authored-by: Mehmet Fatih <mfyuce@netas.com.tr>
2021-06-20 22:13:38 +08:00
Sascha Peilicke
463d905664 Kotlin-Server: Optional metrics and upgrade to Ktor 1.5.4 (#9358)
Use Gradle 6.9 and Kotlin 1.4.32. Generate Paths for other HTTP verbs
(#828) and fix imports (#5640). Use 'object' when no parameters are
used. Introduce 'featureMetrics' to control metrics plugin usage. Remove
HOCON configuration parsing. This is provided by
`Application.environment.config already` and removes a dependency.

Resolves #9087, resolves #828, resolves #5640
Relates-To #5346
2021-06-20 22:03:44 +08:00
Prajon Shakya
015886fded [csharp][netcore] Update type "String" to "string" for consistent type (#9713)
* Updated 'String' to 'string' for consistent use of keyword

* Build project and update samples for csharp-netcore
2021-06-19 12:42:33 +08:00
William Cheng
c5405aa59a [Go-client] Fix inability to download files (#9812)
* Revert a change to the Go Client code that broke
the ability to download files. This reverts the change
from 14d41310b9

* Missed import for "io/ioutil"

* update samples

Co-authored-by: icubbon <icubbon@gmail.com>
2021-06-19 11:23:05 +08:00
William Cheng
70fb429c98 update erlang server samples 2021-06-19 10:50:52 +08:00
Yoshiyuki Kurauchi
513e242a3e Return empty binary for 304 (#9800) 2021-06-19 10:50:28 +08:00
Sebastian Weddmark Olsson
73350073b2 [erlang-server] spec fixes (#9784) 2021-06-19 10:44:31 +08:00
William Cheng
d13685a3ad More updates for isBoolean (#9802)
* more updates for isBoolean

* update samples
2021-06-19 10:44:00 +08:00
Minjae Kim
41afcd0f86 Handle boolean enum correctly in typescript-axios (#9025)
can't use enum because of TS18033
2021-06-18 16:34:38 +08:00
Hippolyte HENRY
7389446354 Add imports for inner items of arrays/maps in composed schemas (#9268)
* Add imports for inner items of arrays/maps in composedSchemas

* Add test case for typescript-angular

* tests

* tests

* disable generate alias

* Create different config
2021-06-18 16:08:03 +08:00
Guillaume TOURBIER
95a11a7f5d [Java][WebClient] add ResponseEntity return for webclient (#9327)
* feat: add ResponseEntity return for webclient

fix: #5599

* refactor: merge functions

simplification to avoir duplicated code
2021-06-18 16:03:38 +08:00
Sandeep jindal
c7038d1b57 [scala][client] invoker package enhancement (#9381)
* updated invoker

remove unwanted set the invoker

fixed the ordering of supported files

added sample generated files

regenerated samples

added docs

* sample files

Co-authored-by: sjindal <sandeep.jindal@agoda.com>
2021-06-18 15:53:25 +08:00
Daniel Krebs
2e65e6f62d [python][client] allow passing floats for _request_timeout (#9532)
* [python][client] allow passing floats for _request_timeout

While several method docstrings suggested that you could pass floats for
_request_timeout and the underlying urllib3.Timeout can deal with them,
the code only allowed integer values so far when passed as a single
number.

* [python][samples] update with fix for _request_timeout type
2021-06-18 15:09:55 +08:00
shartte
8a31064028 [Java] Remove JAX-RS dependency from generated java-native client. (#8320) (#9585) 2021-06-18 15:05:55 +08:00
Tobias Tiemerding
75fc1383bc Fix typo (Unsuported -> Unsupported) (#9790) 2021-06-17 13:44:12 +08:00
Albert
55600256b2 [rust-client]: fix reqwest not support client::options (#9745)
* fix: https://github.com/OpenAPITools/openapi-generator/issues/9743

* update samples
2021-06-17 01:17:50 +08:00
Bruno Coelho
687692cedc update AnyCodable and gitignore (#9777) 2021-06-17 00:37:23 +08:00
Anders Aaen Springborg
56260bf522 Update contributers (#9783)
We were four people who made the cpp-tiny client generator :) ❤️
2021-06-17 00:36:38 +08:00
Ween Jiann
77e1ca56cf [go-server] Add go-chi generator to go-server via a router property (#9748)
* Add go-chi generator to go-server

* Add go-chi configs

* Add go-chi generated output

* Updated docs

* Add some javadocs

* Fix import issue

* Regen files
2021-06-16 16:53:20 +08:00
William Cheng
d3baa93a62 update java resteasy samples 2021-06-16 16:02:58 +08:00
Celebrate-future
8af147b3ea Update pom.mustache (#9768)
* Update pom.mustache

* Update pom.mustache
2021-06-16 15:59:09 +08:00
Nikita Vakula
d3b2089e89 [python-fastapi] Fixed integration tests (#9771)
* [python-fastapi] Fixed integration tests

Currently, it is required to use python 3.7 to make
python-fastapi generator work. This version is already
set in the generated Dockerfile. Thus, it makes sense to
build this image. Spotify's docker maven plugin can be
used to build the docker image.

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>

* fixup! [python-fastapi] Fixed integration tests

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
2021-06-16 15:49:02 +08:00
Christian Schuster
5bbdc62ada create explicit copy of system properties (#7601) (#9653) 2021-06-15 21:27:13 +08:00
William Cheng
ef3186f4a6 comment out python fastapi test due to failure in ci 2021-06-15 15:26:30 +08:00
Julian G
3fcbf17536 [C++][Pistache] Fix compile break, error handling (#9742)
* fix compilation break with validate function

* fix error handling in handleParsingException
bug caused all errors to be regarded as an internal server error

* generate samples
2021-06-15 14:42:29 +08:00
randomswdev
3edeaeea07 Fix single inheritance code generation for goserver (#8356)
Co-authored-by: Bernardo Pastorelli <13519917+randomswdev@users.noreply.github.com>
2021-06-14 18:56:02 +08:00
William Cheng
795c25d273 update go gin server samples 2021-06-14 18:50:21 +08:00
parpa
376e4192e1 Update routers.mustache (#9662)
Add PATCH suppord.
2021-06-14 18:48:55 +08:00
William Cheng
d14a82f7a7 update readme with travis-ci.com (#9762) 2021-06-14 18:22:57 +08:00
Christoph Ludwig
f3e3a724fb Fix python-fastapi free-form objects mapping and forward ref type hints (#9723)
* map free-form objects to Dict[str, Any]

* support Forward Type References

Forward type references will be supported by default from Python 3.10 on only. Until then (and starting with Python 3.7), we can opt in by a __future__ import, cf. https://docs.python.org/3.9/whatsnew/3.7.html?highlight=forward#pep-563-postponed-evaluation-of-annotations

* re-created pet-store sample

* bump required Python version to 3.7 for generated FastAPI projects

* make pydantic modell classes process forward type references
2021-06-14 18:05:36 +08:00
William Cheng
874d7d4f97 skip oauth files in java feign (#9760) 2021-06-14 18:04:34 +08:00
William Cheng
45175f018b update haskell-servant samples 2021-06-14 17:01:26 +08:00
Profpatsch
cdb92086db [haskell][server]: Set "AnyType" to Aeson.Value (#9733)
* [haskell][server]: Set "AnyType" to `Aeson.Value`

`AnyType` would not be translated to the json value type.
This fixes that.

* [haskell][server] Fix haddock error in `API.hs`

Haddock (the Haskell documentation generator) would choke on the
misplaced docstring. The heading has to appear inside the list.
2021-06-14 17:00:11 +08:00
Ivan
856eca4ee6 Hide buildOauthRequestInterceptor under isOAuth section (#9147) (#9736) 2021-06-14 15:39:55 +08:00
Daiki Ojima
5c1270aa37 fix(readme): update brew cask usage (#9757) 2021-06-14 15:08:21 +08:00
Tino Fuhrmann
0dcae66e0c Revert "[typescript] Generate documentation and examples (#9413)" (#9758)
This reverts commit 624b6a7a85.
2021-06-14 08:12:41 +02:00
Yuriy Belenko
150dfa2ddd Add ybelenko as php-slim4 template creator (#9754)
Thanks to Julian(jfastnacht) who started Slim3 generator and maintained it
until Nov 27, 2017(latest PR). Since Slim4 codegen is based on deprecated
Slim3 I greatly appreciate your commitment.
2021-06-13 01:24:56 +08:00
NouemanKHAL
624b6a7a85 [typescript] Generate documentation and examples (#9413)
* generate docs for typescript

* commit changed files
2021-06-12 09:31:40 +02:00
Payal Gadura
98ae4ab614 Filter out problem+json mime type from JSON mime types (#9680) 2021-06-11 00:59:22 +08:00
Ygal Blum
bd18ba6b41 operationId: Allow getting only the method name (#9719) (#9724)
Add new configuration flags: REMOVE_OPERATION_ID_PREFIX_DELIMITER and REMOVE_OPERATION_ID_PREFIX_COUNT
Add the corresponding fields in the DefaultCodegen
Sanitize the operationId according to the new fields
Add delimiter to list of nonNameElementPattern
Add unit test
2021-06-11 00:02:03 +08:00
FallenRiteMonk
6611ae64bb [dart] fix Date.toDateTime utc (#9717) 2021-06-10 11:11:08 +08:00
dependabot[bot]
99994945c7 Bump actions/cache from 2.1.5 to 2.1.6 (#9614)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-10 11:10:15 +08:00
Peter Leibiger
46bf3e8e46 [ci] Only run samples when they actually changed (#9636)
* [ci] Only run samples when they actually changed

* in pull requests only run the samples that matter
* if a sample is outdated it will still fail in the build pipeline

* Test Kotlin sample changes

* Revert Kotlin sample change
2021-06-10 11:08:23 +08:00
Fabian Sellmann
32c1e925dc [typescript-fetch] runtime: pass init and url as returned by the premiddleware to the postmiddleware (#9716)
* pass init and url as returned by the premiddleware to the postmiddleware

Current implementation will always pass the initial url and init object. However if a pre middleware changes returns an object whose `init` or `url` property refer to a different url string or object, any following post middleware wont have access to it. Effectively providing the post middleware with a completely different request information then what was actually used to make the fetch call.

* update samples and docs
2021-06-09 18:23:50 +02:00
devhl-labs
46f8a6733a [csharp] Move nullable reference types switch to abstract (#9661)
* moved switch to abstract

* build samples

* added nullable option to csproj

* removed unused method

* added switch back to aspnetcore

* build samples
2021-06-09 16:09:39 +08:00
Samuel Kahn
f1ee1cbe2e [cpp-ue4] Updated generator to return the http request so that it can be canceled or further manipulated. (#9693) 2021-06-09 15:45:45 +08:00
William Cheng
cce0d0a222 update resteasy dependencies (#9729) 2021-06-09 15:43:55 +08:00
William Cheng
0e93e79cd6 Fix Appveyor CI issues (#9731)
* sleep for 15 seconds after starting the server

* fix sleep

* set clone depth to 1
2021-06-09 14:53:44 +08:00
William Cheng
d33660453a Add a link to flutter blog post (#9730) 2021-06-09 14:12:08 +08:00
William Cheng
85e77e77fc [Android] update httpclient version, fix compilation issue in the sample (#9728)
* update httpclient version, fix compilation issue in the sample

* add new file
2021-06-09 13:21:10 +08:00
dependabot[bot]
8d2d4ac154 Bump actions/download-artifact from 2.0.8 to 2.0.9 (#9458)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2.0.8 to 2.0.9.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2.0.8...v2.0.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-09 10:06:49 +08:00
William Cheng
cd2ef91dc3 Update logback to 1.2.0 (#9722)
* update logback to 2.1.0

* udpate jax-rs samples
2021-06-09 10:03:17 +08:00
Bruno Coelho
e600f7d149 [kotlin][client] silence deprecation warning (#9656)
* [kotlin][client] silence deprecated warning when used internally

* [kotlin][client] update sample projects
2021-06-08 23:17:20 +08:00
William Cheng
c379f5bcc4 encode URL parameters (#9688) 2021-06-08 10:02:33 +08:00
William Cheng
37b7c80c4f null check on $ContentTypes (#9687) 2021-06-08 09:09:21 +08:00
Mike Marchetti
7125ef43f5 Typescript: fix: add paramPropertyNaming (#9546)
Model naming conforms to the property: modelPropertyNaming, however the
parameter naming scheme is currently hardcoded to camelcase. Since the
parameter names are closely tied to the model properties names, is maybe
desirable to use a similar naming approach.

The toParamName cannot directly use the paramPropertyNaming since that
will cause issues with current generated code, since the
modelPropertyNaming currently defaults to "original"

A new property has been created to override this behavior, named
"paramPropertyNaming", and its default is set to "camelcase".
2021-06-07 22:17:25 +02:00
Georgy Ushakov
64ee3fe207 Added support for async accessToken in typescript-fetch (#9659) 2021-06-07 22:15:01 +02:00
cal
3cbc5a8f93 [cleanup] erefactor/AutoRefactor - Log parameters rather than log message (#9133)
AutoRefactor cleanup 'LogParametersRatherThanLogMessage' applied by erefactor:

Replaces a string concatenation as parameter of a logger method by a
string template followed by objects.

For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor
For erefactor see https://github.com/cal101/erefactor
2021-06-07 14:26:56 +08:00
cal
19f5718477 [cleanup] erefactor/AutoRefactor - Log parameters rather than log message (#9664)
AutoRefactor cleanup 'LogParametersRatherThanLogMessage' applied by erefactor:

Replaces a string concatenation as parameter of a logger method by a
string template followed by objects.

For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor
For erefactor see https://github.com/cal101/erefactor
2021-06-07 14:25:30 +08:00
cal
2d5199f80f [cleanup] erefactor/AutoRefactor - Log parameters rather than log message (#9665)
AutoRefactor cleanup 'LogParametersRatherThanLogMessage' applied by erefactor:

Replaces a string concatenation as parameter of a logger method by a
string template followed by objects.

For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor
For erefactor see https://github.com/cal101/erefactor
2021-06-07 14:24:18 +08:00
Gabriel Castro
9099b43cd8 bump swagger-parser-version to v2.0.26 to close #9086 (#9631)
* bump swagger-parser-version to v2.0.26

* add tests for #9086
2021-06-07 12:44:49 +08:00
William Cheng
c2cc7a02aa Fix kotlin client issue in maven plugin tests (#9690)
* fix kotlin client issue in maven plugin tests

* set version to v1.5.10

* update doc
2021-06-07 12:44:23 +08:00
Nikita Vakula
599a2ca477 Add validators to models fields (#9668)
* [python-fastapi] Apply constraints to models

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>

* [python-fastapi] Use pydantic types to validate models fields

Some data formats can be validated by annotating fields with some
special pydantic data types (EmailStr, forr example).

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>

* [python-fastapi] Updated samples

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
2021-06-07 12:00:04 +08:00
William Cheng
088bca1580 [python][fastapi] various minor improvements (#9672)
* fix python fastapi tests, update readme, add CI test

* update FILES

* use virtualenv

* fix pom.xml

* skip flake8
2021-06-07 11:55:26 +08:00
Bruno Coelho
8c268c9578 [swift][client] make swift 5 generator stable (#9666) 2021-06-07 10:46:52 +08:00
Peter Leibiger
fdbf02764d [dart][dart-dio] Add support for query collection parameter format (#9635)
* [dart][dart-dio] Add support for query collection parameter format

* add support for collectionFormat in query parameters and www-url-encoded content
* add tests
* remove empty query parameter maps from generated code
* closes #6681
* closes #9522
* closes #8271 (the last remaining parts)

* Fix formatting
2021-06-07 09:49:59 +08:00
Ayman Bagabas
f923a0ef15 Swift5 Vapor 4 client library (#9625)
* [swift5] Add Vapor client library

* Try to improve overall spacing (#17)

* [swift5] try to remove changes in model and api

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* [swift5] update sample projects

* Update samples

* [swift5] vapor: return clientResponse when no default case

* Update samples

Co-authored-by: Bruno Coelho <4brunu@users.noreply.github.com>
2021-06-06 22:08:14 +08:00
Mike Nelson
c5fefa938a (#8000) Insure toImportMap only returns needToImport (#9275)
`toModelImportMap` only accounts for union types and not intersection types, so I've combined those cases into `splitComposedType`. For `splitComposedType` I combined `replace(" ","").split("\\|")` and `split("( [|&] )|[<>]")` into `replace(" ","").split("[|&<>]")`.

I've added the `needToImport` check to `toModelImportMap`. This is the same check that happens in `addImport`.
2021-06-04 08:03:32 +02:00
Armel Soro
a8c4cbd14d fix(#9328): Gradle Plugin ValidateTask does not work under Gradle 7.0 (#9453)
* Allow to run ValidateTask tests against Gradle 7.0 as well

* Drop setters for ValidateTask properties of mutable types

This is applicable to the following properties:
- inputSpec
- recommend

Otherwise, Gradle 7.0 now returns an error when attempting
to configure this task.

See https://docs.gradle.org/7.0/userguide/validation_problems.html#mutable_type_with_setter

* Be more specific about the versions of Gradle tested in ValidateTaskDslTest

Test against the latests Gradle 5.x and 6.x versions
2021-06-03 23:07:34 +08:00
Dheeraj Nalluri
972ad566fe [typescript-angular] Fix undefined query param (#9657) 2021-06-03 07:58:53 +02:00
Nikita Vakula
93880a486e python-fastapi improvements (#9649)
* [python-fastapi] Ignore some flake8 warnings

1. Some of the "imported but not used" warnings are there because
it is not easy to express what should be imported in mustache template
language. These warnings are silenced in order to keep the templates
morre readable.
2. Single quotes -> Double quotes (for consistency).

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>

* [python-fastapi] Added flake8 config

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>

* [python-fastapi] Set extra constraints on values

It is important to set all constraints (pattern, greater than, etc.)
on values of all arguments, because FastAPI can handle them automatically.

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>

* [python-fastapi] Updated samples

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
2021-06-03 10:13:24 +08:00
ricou13770
2b495fc7a3 Fix module "go-server" - template "controller-api.mustache" : query.Get() must use {{baseName}} instead of {{paramName}} on boolean and default query parameters (#9580) 2021-06-03 10:02:00 +08:00
Blackclaws
439a1a9ba2 Do not validate enum parameters (#9594) 2021-06-03 09:55:47 +08:00
William Cheng
f0bbeb75ff update erlang-server samples 2021-06-03 09:52:05 +08:00
Mikael Lixenstrand
cdc00769aa [Erlang] return empty body for 204 (#9512)
* fix handle_request_json spec res

* fix client spec

* make it possible to answer with 0 size binary for 204

* only generate empty bin for 204

* only generate empty bin for 204
2021-06-03 09:49:32 +08:00
Shyla Srinivas
3c866fb4a3 Fix python generation when custom files and templates are specified (#9572)
* fix python generation when custom files and templates are specified

* add test for processUserDefinedTemplates
2021-06-02 09:13:10 -07:00
Troy P
7bb7c72cc5 Adding usePythonSrcRootInImports logic to AbstractPythonConnexionServerCodegen. (#9558) (#9559) 2021-06-02 09:03:45 -07:00
Michael Janssen
b9e75951e7 Add nullable annotation support to AspNetCoreServer (#9620)
* Add nullable annotation support to AspNetCoreServer

* Adjust naming for compatability with PR #9235 by @dehl-labs
2021-06-02 11:54:16 +08:00
Bruno Coelho
0f51662650 [kotlin][client] small improvements (#9640)
* [kotlin][client] standardize adapter type names

* [kotlin][client] remove unused class

* [kotlin][client] fix IDE warning

* [kotlin][client] improve import layout

* [kotlin][client] update sample projects
2021-06-02 11:07:26 +08:00
Ayman Bagabas
9bce71656c Swift5 namespace changes (#9624)
* [swift5] Rename the API class to {{projectName}}

Instead of {{projectName}}API. This removes some unnecessary naming
complexity.

* [swift5] Define models and Configuration classes under namespace

When swiftUseApiNamespace is set, API classes get defined under the
projectName namespace. This does the same for models and the
Configuration class. Plus adding a deprecation warning when using the
un-namespaced variants.

* [swift5] Use CodingKeys in model decoder

Fixes: 0f5e7d1e3c ("Swift5 models improvements (#9205)")

* [swift5] Add swiftUseApiNamespace to urlsessionLibrary config

* Update samples

* Try to reduce model changes

Co-authored-by: Bruno Coelho <4brunu@gmail.com>
2021-06-02 00:45:01 +08:00
William Cheng
ae0cce0481 add sponsor message to python fastapi (#9637) 2021-06-01 11:26:15 +08:00
Bruno Coelho
463ae10c4a [kotlin][client] update dependencies (#9629)
* [kotlin][client] update dependencies

* [kotlin][client] update sample projects

* [kotlin][client] fix update dependencies
2021-06-01 10:09:48 +08:00
Bruno Coelho
6cf4843249 [swift5][client] update dependencies (#9633)
* [swift5][client] update dependencies

* [swift5][client] update sample projects

* [swift5][client] update dependencies in Carthage
2021-06-01 10:09:22 +08:00
Sascha Peilicke
173a349e04 Kotlin: Fix kotlinx_serialization code generation (#9576)
And update to Kotlin 1.5.0 and kotlinx.serialization 1.2.1. Fix nested
enum annotation '@Serializable' instead of '@KSerializable' when
'kotlinx_serialization' is used. Fix missing JsonMediaType in
ApiClient.kt (#9242). Add 'kotlinx_serialization' serialization library
to documentation. Use explicity type in RequestConfig to keep type
information for JSON serialization.

Resolves #9242
2021-05-31 21:48:39 +08:00
William Cheng
32a045060e [ python-fastapi] minor improvements (#9622)
* minor python-fastapi improvements

* update doc

* fix refreshUrl
2021-05-31 17:00:23 +08:00
Ayman Bagabas
c4df343052 [Swift5] Add useClasses cli option (#9608)
* [swift5] Add useClasses cliOption

* Update swift docs
2021-05-31 10:37:14 +08:00
Peter Leibiger
88f279ead3 [ci] Build kotlin samples via github (#9609) 2021-05-31 09:56:05 +08:00
Peter Leibiger
afd65b3cb0 Update query parameter sample to include pipe delimiter (#9590) 2021-05-30 17:45:38 +08:00
Nikita Vakula
0da4099868 New python-fastapi generator (#9611)
* [python-fastapi] Added new generator

See https://fastapi.tiangolo.com/ for more details about FastAPI

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>

* [python-fastapi] Added samples

Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
2021-05-30 17:43:31 +08:00
Bruno Coelho
dee2840b20 [swift5][client] improve docs for Data (#9605) 2021-05-30 17:40:09 +08:00
Peter Leibiger
f7b93ebdf2 Update fake API to contain sample with binary body (#9610) 2021-05-29 10:26:01 +08:00
Stefan Hanselmann
1b6fd2dd7a [Kotlin][retrofit2] replace okhttpclient with callfactory (#9451)
* [Kotlin][Retrofit][#9448] Replace OkHttpClient parameter with Call.Factory.

* [Kotlin][Retrofit][#9448] Update sample project.
2021-05-28 21:50:28 +08:00
William Cheng
763f65f293 [Wsdl] minor improvements, bug fixes (#9613)
* minor improvements to wsdl-schema gen

* better code format

* update readme
2021-05-28 21:38:36 +08:00
William Cheng
28c3e1d544 update samples, docs 2021-05-28 10:26:48 +08:00
adessoDpd
12c34d4658 New generator: WSDL (#9545)
* init port

* add outputDir

* fill out current .md

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-05-28 10:22:28 +08:00
adameste
73b34ade6a [cpp-restsdk] Update json double/float parse. (#9577)
* [cpp-restsdk] Update json double/float parse.

Fix cpp-restsdk double and float parse.

double.NaN was parsed when server doesn't ensure the floating point value has decimal point in in.

* Update docs & samples.
2021-05-28 09:58:01 +08:00
William Cheng
670c5884b6 update samples 2021-05-27 11:23:00 +08:00
Hemant Zope
5227e06055 [C]: Fix enum values (#9537)
* use unmodified enum values in arrays

* update enum values in body and api mustache
2021-05-27 11:00:21 +08:00
Peter Leibiger
6edbc91eeb [dart][dart-dio] Update docs for dart-dio-next (#9584)
* remove deprecated author field from all pubspec templates
* improve dart-dio-next readme/markdown documentation
* add a lot of dart-doc to model and API classes
2021-05-27 10:58:37 +08:00
Elan Thangamani
62a52bf1e8 Upgrade Virtualan version with 2.2.1 -> Open API Mock service (#9598)
* changed correct values

* Updated virtualan version

* updated the correct version

* Updated with latest version

* Update pom.xml

* Updated with 2.5.0

* Updated with db 2.5.0 version
2021-05-27 10:46:22 +08:00
William Cheng
32d5900611 update samples, docs 2021-05-27 10:40:32 +08:00
desmese
4f1d8f4699 - added localVar prefix to the contentType variable defined in the api.mustache template in the java resttemplate library (#9568)
- rerun generate-samples.sh and export_docs_generators.sh
2021-05-27 10:24:38 +08:00
Bruno Coelho
a61db6e596 [swift5][client] fix binary response (#9595)
* [swift5][client] fix binary respose

* [swift5][client] fix binary respose
2021-05-27 10:18:51 +08:00
Bruno Coelho
b5843f41a6 [swift5] update docs (#9587) 2021-05-27 10:05:48 +08:00
Justin Black
6e6b8472d4 Adds isShort + isUnboundedInteger to IJsonSchemaValidationProperties implementers (#9519)
* Adds getter + setter methods for isShortInteger in IJsonSchemaValidationProperties

* Adds isShortInteger to CodegenModel

* Adds isShortInteger to CodegenProperty

* Adds isShortInteger to CodegenParameter

* Adds isShortInteger to CodegenResponse

* Ensures that samples are up to date

* Changes interface to isShort

* Removes typescript file

* Adds isShort to CodegenModel and CodegenProperty instances

* Samples updated, shows too many changes across generators

* Adds isUnboundedInteger and implements it in CodegenModel

* Adds isUnboundedInteger to COdegenProperty

* Adds isUnboundedInteger to CodegenParameter

* Adds isUnboundedInteger to CodegenResponse

* Regenerates samples and docs

* Adds testBooleansSetForIntSchemas

* Fixes integer tests
2021-05-26 11:59:28 -07:00
Samuel Kahn
8134362244 [cpp-ue4] Added public methods to process enums in string form (#9569)
* [cpp-ue4] Added public methods to process enums in string form as it may be useful for the user code

* [cpp-ue4] Fixed linker errors in some configurations
2021-05-26 23:33:47 +08:00
Anders Aaen Springborg
b2041414eb Change logo to English (#9591)
* add Aalborg university

* English logo
2021-05-26 23:32:16 +08:00
Bruno Coelho
163d13e415 [kotlin][client] fix Android crash on API level 25 and bellow (#9578)
* [kotlin][client] fix Android crash on API level

* [kotlin][client] update sample project

* Try to fix CI

* [kotlin][client] add flag to control android api level supported

* [kotlin][client] update docs

* [kotlin][client] update docs
2021-05-26 18:24:52 +08:00
William Cheng
a1f539ce6e add Aalborg University to readme.md, reduce image size 2021-05-26 18:20:50 +08:00
Anders Aaen Springborg
8742228049 add Aalborg university (#9588) 2021-05-26 18:04:14 +08:00
Ayman Bagabas
ae0350280f [swift5] Map file and binary to Data (#9419)
* [swift5] Map file and binary to Data

Fixes: https://github.com/OpenAPITools/openapi-generator/issues/9308

* Update docs
2021-05-26 17:02:28 +08:00
Blackclaws
e09409fbce Handle Deserialization Asynchronously (#9424) 2021-05-26 00:12:12 +08:00
Peter Leibiger
ab11acd634 [dart][dart-dio-next] Improve support for file uploads (#9542)
* [dart][dart-dio] Improve support for file uploads

* add support for filenames in multipart requests by using  `MultipartFile` from dio directly
* add support for binary/file body data
* fixes #6671
* fixes #9079

* Add and fix tests

* Only use MultipartFile for body/multipart parameters

* Fix test

* Actually fix tests
2021-05-25 23:58:39 +08:00
William Cheng
ae430a8c14 [cpp][tiny] rename generator, update samples (#9560)
* rename generator, update samples

* add doc

* update readme
2021-05-25 23:55:16 +08:00
Alexandre
6c40192706 [swift5] Add support for oneOfs (#8714)
* [swift5] Add support for oneOfs

* Generate a sample Swift project with oneOfs

* Update Swift Samples
2021-05-24 13:01:16 +08:00
Anders Aaen Springborg
4e48dae8e4 New generator | Arduino cpp (#9489)
* initil tiny client generator

* Helper string

* WIP: added helper file with json helper functions

* WIP: model implementation.. Working on JSON

* Added codegen files for model and helper

* WIP: toJson()

* Added mapping configurations

* Upadet string compare

* Removed redundant namespaces

* Added files for example

* fixed syntax errors

* fixed syntax errors

* header generation

* unittest example for pet class

* Refactored mustache & fixed logical errors

* WIP: unit test mustache format

* Removed legacy file

* mustache service

* Declare service in Java file

* Removed legacy file

* removed legacy code

* Documentation

* Added folder structure + new supporting files

* Added file to run all unittests

* Refactored unit tests

* typemappings and new paths

* First service impl

* Added esp32 and esp8266 env

* Added default values

* Added cli option to specify controller

* added type decl method

* Added stringify methods

* service get requests

* Fix helper header

* post merge fix

* fix long test

* Tiny namespace

* remove shared pointer

* include petapi

* stringify

* return problems

* Canged logic for response-body handling

* Implemented last logic for reponse handeling

* Implemented constructor logic

* first tiny sample

* update basepath to petstore v3

* standard main example

* root certificate example

* root folder

* TODO cleanup

* exclude features

* supports delete again!👷

* remove todo 

* new main example ❣️

* new main example ❣️

* Make our feature set realistic

* fix indentation

* HTTP / HTTPS Connection

* Root certificate sample

* https vs http 👨🏻‍🔬

* fix lint in template

* default value for controller in config

* new readme 📜

* remove old comments

* removed unused testfile

* no default root certificate

* new main

* remove test

* Update platformio.ini.mustache

🤷‍♂️

* Update platformio.ini.mustache

remove native

* added support info

* Add namespace to Pet 🐅

* bourne compatibility fix

* spelling error in python file

* bourne python script 🐍

* Version bump

* Add bourne script to readme

* update main sample, from template

* pre_compiling_bourne.py.mustache to samples folder 📃

* set header Content'type to json

* map todo🗺️

* remove unused debug flag⚒️

* added support for ESP8266 ༼ つ ◕_◕ ༽つ

* added new sample for ESP32 📀

* 🎯

* removed use of namespace std 

* removed use of "__" in variables

* removed unused code in destructor

* fixed type comparison

* move default ctor to header

* added zero initialized primitive variables

* moved variable to TypeMappings

* updated ifndefines

* Extra comment for build error in standard example 🦸🏽‍

* afer cpp-ish cast from std::string to uint8* cast🏰

* excluded maps type

* Documentation og generator

Co-authored-by: kaareHH <kaare.hattel@gmail.com>
Co-authored-by: mkakbas <45030188+mkakbas@users.noreply.github.com>
Co-authored-by: mkakbas <martinkandersen1@gmail.com>
2021-05-24 11:11:44 +08:00
alespour
e360228a76 fix: dart2 mustache templates minor improvements (#9539)
* fix: prefer_is_not_empty linter suggestion

* fix: annotate_overrides linter suggestion

* chore: update samples
2021-05-24 11:01:53 +08:00
Peter Leibiger
22db406c35 [ci] Move openapi-generator build/docs/samples to github actions (#9550)
* [ci] Move openapi-generator build/docs/samples to github actions

* Naming

* Test failure on samples and docs

* Revert code changes after successful docs/sample failure
2021-05-24 10:59:35 +08:00
Peter Leibiger
be84c44fcc [dart][dart-dio-next] Add stacktraces to manual DioError instances (#9549) 2021-05-24 10:54:51 +08:00
Peter Leibiger
48924eb1a0 [dart] Improve content-type handling (#9517)
* [dart] Improve content-type handling

* fixes #9334
* superseeds #9454
* use `prioritizedContentTypes` in the same way `JavaClientCodegen` does
* move `application/json` to the front if it exists
* don't do anything if it is multi-part or url-encoded as for this the first content-type already needs to match
* log warning if an unsupported content-type is first after prioritizing
* remove some unused code blocks from dio generators

* Only use first prioritized content-type in dio generators

* don't default to any content-type in dio-next, dio defaults itself to JSON
2021-05-24 10:53:39 +08:00
Yuriy Belenko
1e92469b9f Decouple Slim4 codegen from deprecated Slim3 (#9208)
It was a mistake to extend Slim4 from Slim3 codegen. When I need to fix
something in Slim4 I have to overwrite code from Slim3 somehow and it's
not always possible. It's even more important that Slim3 codegen shouldn't
be touched as soon as it's deprecated long time ago.
2021-05-24 10:43:18 +08:00
Julian G
7c152daa48 fix missing default values for string types (#9541) 2021-05-23 23:02:22 +08:00
agilob
b1cba96627 Revert "[Java][Spring] Fix for #8659 - Different in-parameter types generated for api and delegate for files (#9331)" (#9555)
This reverts commit b9a1c8f016.
2021-05-23 22:59:51 +08:00
Rinish Sam
9eb9c30a92 [dart][dart-dio] Fix gitignore comment style (#9554)
* Fix gitignore comment style in templates

* Update samples
2021-05-23 11:27:07 +08:00
Blackclaws
696bcb3e85 [csharp][httpclient] Remove noncompliant post behaviour (#9427)
* Remove behaviour that does not 1:1 represent spec

* Update samples
2021-05-21 14:50:42 +08:00
Blackclaws
2c4e79f45c [csharp][httpclient] Introduce FileParameter as an abstraction (#9426)
* Introduce FileParameter as an abstraction

* Update Samples

* Add new file to samples

* Fix hardcoded package name

* Fix hardcoded package name, import FileParameter in Model

* Remove unneccesary warning
2021-05-21 14:49:33 +08:00
Peter Leibiger
b8c5a647e0 [dart][ci] Move Dart samples from CircleCI to Github actions (#9515)
* [dart] Move Dart samples from CircleCI to Github actions

* Fix format failing with latest Dart version

* Workflow naming

* Split dart samples depending on version

* use fixed version to prevent flaky builds

* Change branch pattern for release branches
2021-05-21 14:45:50 +08:00
William Cheng
071dc3413d fix typescript node due to @types/bluebird 3.5.35 (#9533) 2021-05-21 14:45:14 +08:00
Arthur Mogliev
ab6d66147b [php-mezzio-ph] PHP 8 support (#9445)
* Huge update for php-mezzio-ph generator:
- proper container support for data types
- support for query parameter references and query parameter schema references
- dependency update (PHP 7.3+, PathHandler 0.7+, DataTransfer 0.5+)

* Sample regeneration after rebasing for php-mezzio-ph

* - added custom CLI option for php-mezzio-ph to generate code using modern PHP syntax
- removed obsolete php-mezzio-ph samples in samples/openapi3/server/petstore/php-mezzio-ph

* - fixes for JavaDoc declarations that seems to break CI

* - fix for outdated sample file
2021-05-21 14:40:38 +08:00
William Cheng
4948ce78ed update samples 2021-05-21 12:54:40 +08:00
Yusuke Hosonuma
338812114c [crystal][client] support configure method with block (#9506)
* [crystal][client] allow initialize Configuration with block

* [crystal][client] update samples

* [crystal][client] add test for configuration.cr

* [crystal][client] fix .configure

* [crystal][client] update samples

* [crystal][client] add test for pestore.cr

* [crystal][client] fix Configuration#configure
2021-05-21 12:37:21 +08:00
Stefan Hanselmann
d1b8a3fac4 [Kotlin] [#8809] Allow optional header parameters with Kotlin and ret… (#9306)
* [Kotlin] [#8809] Allow optional header parameters with Kotlin and retrofit2

* [Kotlin] [#8809] Update sample client

* [Kotlin] [#8809] Replace mustache dot notation with more classic style

* [Kotlin] [#8809] Remove new line at the end of the mustache template
2021-05-20 23:07:04 +08:00
Kazuki Chigita
1ff436a86a [REQ] [kotlin-client] Add uriAdapter for moshiBuilder (#9494)
* Apply UriAdapter to moshiBuilder

* Add UriAdapter for supportingFiles

* Fix test

* Apply ./bin/generate-samples.sh
2021-05-20 23:05:22 +08:00
Makoto Aoyama
0a34839567 Add hashableModels to additional properties (#9495)
* Add hashableStruct

* Revert "Remove x-swift-hashable"

This reverts commit 18053af001.

* Add Hashable for x-swift-hashable

* Add config yaml to test x-swift-hashable

* Run ./bin/generate-samples.sh ./bin/configs/swift5*

* Run ./bin/utils/export_docs_generators.sh

* Run ./bin/generate-samples.sh ./bin/configs/swift5*

* Verify setHashableStruct

* Rename hashableStruct => hashableModels

- Replace hashableStruct => hashableModels
- Replace HashableStruct => HashableModels
- Replace HASHABLE_STRUCT => HASHABLE_MODELS
- Update docs

* Refactor modelObject.mustache

* Control equals and hash functions
2021-05-20 23:04:19 +08:00
Bruno Coelho
f48311dac4 [swift5][client] make AnyCodable optional (#9479)
* [swift5][client] make AnyCodable usage optional

* [swift5][client] update sample projects
2021-05-18 23:47:26 +08:00
Dennis Melzer
6b5794df9d Fix bean validation for type Optional (#8708)
* Fix bean validation for type Optional
#8690

* Revert path params
2021-05-18 23:17:57 +08:00
William Cheng
9e4afb0fc3 [C++] Rename Qt5 to Qt (#9490)
* rename qt5 to qt

* rename, update

* rename qt5 to qt in the templates

* update doc
2021-05-18 23:09:59 +08:00
Peter Leibiger
55b95bc9c5 Fix CircleCI failures (#9503)
* Fix go-echo-server sample not running in CircleCI

* remove wrong argument

* [dart] Fix petstore sample tests & Multipart not working

* follow up to #9392
* `MultipartRequest(null, null)` is no longer valid after `http` package upgrade
* fix petstore sample project not compiling
* disable live petstore tests
* use template to strip out unused code blocks
2021-05-18 23:09:29 +08:00
Michał Wilski
93166dd6b5 fix: properly mark 'deprecated' routes in typescript-axios template #9502 (#9505)
Co-authored-by: Michał Wilski <michal.wilski.ext@eloomi.com>
2021-05-18 08:10:44 +02:00
Justin Black
fb3aed6dc4 Fixes python test_fake_api tests (#9483)
* Fixes test_upload_download_file

* Fixes test_string

* Fixes test_string_enum

* Fixes test_number_with_validations test_composed_one_of_number_with_validations

* Fixes two more tests

* Fixes test_array_of_enums

* Fixes two tests

* Removes comment

* Fixes serializationf of composed schema object models, fixes test

* Samples regenerated

* Removes pdb
2021-05-17 20:15:53 -07:00
Kuzma
e1ef7d40b3 add OAuth2 to typescript template (#9466)
* add OAuth to typescript

* generate samples
2021-05-17 18:22:18 +02:00
Kuzma
1c733247b1 fix api key (#9476) 2021-05-17 18:19:08 +02:00
William Cheng
c4f7091da5 partially revert 9404: avoid empty string enum value (#9501) 2021-05-17 23:47:07 +08:00
Yusuke Hosonuma
477926f008 [crystal][client] Support authorization (#9488)
* [crystal][client] support authorization header

* [crystal][client] update samples

* [crystal][client] update tests

* [crystal][client] add unit test for api_client.cr
2021-05-17 21:24:30 +08:00
William Cheng
08467928de update samples 2021-05-17 18:25:07 +08:00
quarantam
69e8e07cab Update ApiClient.mustache (#9492)
Fixing #7209
2021-05-17 18:10:29 +08:00
Amal Thomas
2f6bfb0dfc Update plugins.md (#9499) 2021-05-17 13:38:09 +08:00
Steffen Neumann
97ddcc2257 Add support for Boolean in R client generator (#9469)
* Add support for Boolean in R client generator

* Regenerated with updated R generator
2021-05-15 23:22:48 +08:00
William Cheng
2342396465 reduce travis ci job runtime (#9491) 2021-05-15 22:59:15 +08:00
William Cheng
2f70e6a5bc Add a link to powershell devops conf presentation (#9487) 2021-05-15 16:42:35 +08:00
William Cheng
f7b79e9a26 Add @lucamazzanti to the C# technical committee (#9486) 2021-05-15 16:27:13 +08:00
Yusuke Hosonuma
5ea31b585c [crystal] Update crystal version 1.0.0 (from 0.35.1) (#9477)
* [crystal] update crystal version 1.0.0

* [crystal] show crystal version on CI

* [crystal][client] $ shards update --ignore-crystal-version

* [crystal][client] update pom.xml
2021-05-15 16:02:06 +08:00
Bruno Coelho
e6a10ae350 [swift5][client] add option to generate or not the model additional properties (#9375)
* [swift5][client] add option to generate or not the models additional properties

* [swift5][client] update sample projects

* [swift5][client] format code

* [swift5][client] format code

* [swift5][client] format code

* [swift5][client] update docs
2021-05-15 15:46:32 +08:00
William Cheng
ecedd28e4e better code format (#9463) 2021-05-13 17:32:00 +08:00
Yusuke Hosonuma
44efb7a3f6 [python][flask] specify flask version 1.1.2 (#9471) 2021-05-13 17:28:47 +08:00
Sheldon Young
f9cd80deed [scala-sttp] Bump minor versions of libraries, SBT and Scala (#9356) 2021-05-12 21:29:51 +08:00
Sheldon Young
be06541b47 [scala-sttp] Compilation failed when URI parameter name is not camelCase, fixes #9345 (#9354) 2021-05-12 21:16:27 +08:00
Bruno Coelho
c4c15cecb6 [kotlin][client] add sample for parcelizeModels (#9394) 2021-05-12 20:56:03 +08:00
William Cheng
456023b77c Update erlang-server dependencies (#9414)
* update erlang-server dependencies

* reenable erlang-server test

* test with 2.7.0

* use only cowboy

* comment out erlang server test
2021-05-12 17:08:59 +08:00
gbmarc1
c966b5fe1f [python] readonly constructors (#9409)
* readonly

* other tests

* doc

* python samples

* model utils
2021-05-10 18:41:26 -07:00
Kuzma
686b2110e6 [BUG] [typescript] Duplicate parameter's names (rename options to _options and config to _config) (#9428)
* rename options to _options and config to _config

* add samples
2021-05-10 19:52:58 +02:00
Bruno Coelho
3173e0b1d3 [kotlin][client] improve docs (#9393) 2021-05-10 20:42:13 +08:00
William Cheng
a63912ee1e add --allow-different-user (#9439) 2021-05-10 20:23:38 +08:00
William Cheng
85ff15ac8a update samples 2021-05-10 19:05:02 +08:00
Guillaume TOURBIER
808c0b03bd feat: add access to webclient and webclientBuilder (#9329)
* feat: add access to webclient and webclientBuilder

fix: #8602

* docs: add params for webclient & builder
2021-05-10 19:02:36 +08:00
William Cheng
4bb5c8ae0f better code format, update samples (#9438) 2021-05-10 18:26:23 +08:00
Yusuke Hosonuma
1751aa7272 [crystal][client] some fix and minor improvement (#9416)
* [crystal][client] remove redundant include JSON::Serializable

* [crystal][client] fix syntax error

* [crystal][client] fix shard name

* [crystal][client] add 'require "json"'

* [crystal][client] update sample projects
2021-05-10 16:17:49 +08:00
Mark Nevill
ae2423e64a [Bash] Fix matching of header parameters (#9370) 2021-05-10 16:11:13 +08:00
Kyle Kelly
a98cb97f91 [Javascript-Flowtyped] Handle joining uniqueItems in api template (#9417)
* Add handling for casting uniqueItems from Set to Arrays so they can be properly joined

* Fix mixed-indent lines
2021-05-10 16:10:24 +08:00
Adi1231234
1961c661f3 upgrade dart generator dependencies (#9392)
* upgrade intl package

* upgrade http package and change url to uri

* update petstore sample

* update pubspec files

* upgrade http dependency

* upgrade dev dependencies

* update json_serializable and test

* delete nullable - deprecated on json_serializable 4.1.1

* fixed NNBD issue

* change test version
2021-05-10 16:07:03 +08:00
William Cheng
85c43e731b fix incorrect date in the readme 2021-05-10 15:15:07 +08:00
William Cheng
a0c3db1157 Merge branch '5.2.x' 2021-05-07 12:09:21 +08:00
William Cheng
cff2286d67 fix distribution 2021-05-07 10:29:38 +08:00
William Cheng
e9a62ab910 update readme 2021-05-07 10:19:19 +08:00
William Cheng
be214dc349 Merge remote-tracking branch 'origin/master' into 5.2.x 2021-05-07 10:15:12 +08:00
William Cheng
560bf7e080 v5.1.1 release (#9421) 2021-05-07 09:57:19 +08:00
Luca Mazzanti
2f2e250ab2 [csharp-netcore][httpclient] Issues managing error statuses (#9389)
* [csharp-netcore] correct rawContent read

* [csharp-netcore] avoid deserialize result when in error

* [csharp-netcore] avoid aggregate exceptions

* Updated samples

* Updated samples

* Refactored PetApiTest

* Updated samples

* Fixed test issues

* reverted previous commit
2021-05-07 07:23:53 +08:00
Bruno Coelho
f4f4d5de0e [kotlin][client] fix warning for non optional header parameter (#9415) 2021-05-07 00:26:22 +08:00
William Cheng
7703c923f9 update doc 2021-05-06 12:14:45 +08:00
Samuel Kahn
343d7eb712 [cpp-ue4] Improved retry system to use Unreal's FHttpRetrySystem (#9382)
* Revert "[cpp-ue4] Added the possibility to retry requests easily with AsyncRetry method on the response and SetAutoRetryCount on the request"

* [cpp-ue4] Improved retry system to use Unreal's FHttpRetrySystem

* [cpp-ue4] Updated style guide link

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-05-06 11:26:07 +08:00
matt beary
32b2ea3291 Fixes #9398: fix aspnet enum documentation (#9404) 2021-05-06 11:23:32 +08:00
matt beary
45d55f6b73 [aspnetcore] Fix incorrect logging messages (#9405)
* fix incorrect aspnetcore logging messages

* address comments from review

cleans up log messages
2021-05-06 10:46:06 +08:00
William Cheng
ec085713ce [Erlang] migrate CI to drone.io (#9406)
* test erlang client, server in drone.io

* rearrange tests, add server folder

* comment out erlang server tests
2021-05-06 10:42:46 +08:00
Julian G
8f5639554e [C++] [Pistache] Model validation, general overhaul (#9251)
* overhaul pistache templates

* fix function signature in model-source
return type now aligns with definition in model-header

* use default keyword for destructors

* generate pistache samples

* move bin/configs/other/cpp-pistache-server-cpp-pistache.yaml to bin/configs/cpp-pistache-server-cpp-pistache.yaml

* Only generate validation body if necessary

* generate pistache samples
2021-05-05 16:52:47 +08:00
shylacs
4d2b022619 Add VMware to users list (#9388)
* Add VMware to users list

LMK if I can provide the png for company logo. I tried uploading to img folder and could not.

* add logo, update readme

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-05-05 00:08:15 +08:00
Luca Mazzanti
e9fa936886 [csharp][netcore-httpclient] Refactor of constructors: removed obsolete attribute (#9373)
* Removed obsolete attribute on constructors without HttpClient prameter

* add clickable link in the tooltip

* update doc, add tests

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-05-04 23:58:20 +08:00
Stefan Wendt
d21743e9e5 [TypeScript-fetch] Fix issue 9360 (#9362)
* [TypeScript] Fix misplaced parentheses

* [TypeScript] Run PR relevant scripts

* [TypeScript] ensure up to date

* Revert "[TypeScript] ensure up to date"

This reverts commit 320ec45f

* Revert "[TypeScript] Run PR relevant scripts"

This reverts commit 23cda753

Co-authored-by: Stefan Wendt <stefan.wendt@isax.com>
2021-05-03 18:15:52 +02:00
Matthew
3da1999135 Fix typo in readme (#9387) 2021-05-03 22:45:55 +08:00
johnthagen
a88313c40c [Python] Avoid DeprecationWarning in inspect.getargspec on Python 3 (#9271)
* Avoid DeprecationWarning in inspect.getargspec on Python 3

* Regenerate samples
2021-04-30 11:59:33 -07:00
ex0ns
ebc1d7bd95 [scala][akka] Update dependencies for scala 2.13 in scala-akka (#8624)
* [scala][akka] Update dependencies for scala 2.13

* Update pom.mustache to support multiple scala's version

* Update pom.xml

* Scala cross build 2.12 and 2.13

* Update version. Migrate to sbt

* Remove space

* Add pom.xml back
2021-04-29 18:51:30 +08:00
Anders Aaen Springborg
dbb42f9027 [BUG] new.sh fix generator type , issue #9320 (#9321)
* generation type on  template dir path

* remove gen_type from template and resources
2021-04-29 18:23:13 +08:00
William Cheng
1c1c6b465f [kotlin-server-deprecated] minor improvements (#9367)
* minor wording change

* remove samples

* remove yaml
2021-04-29 11:50:05 +08:00
William Cheng
18cdb36d3e [Test] Migrate samples from 2.0 Spec to 3.0 spec (#9347)
* nim petstore to use 3.0 spec

* ktorm to use 3.0 spec

* update c petstore to use 3.0 spec

* Revert "update c petstore to use 3.0 spec"

This reverts commit a8ff0517ba.
2021-04-29 10:23:55 +08:00
Rustam
ccbb78e1b2 Keep old Ktor server generator for backward compatibility (#9365) 2021-04-29 08:26:57 +08:00
William Cheng
5d946289ef Bump OkHTTP dependency to latest in build.sbt (#9361) 2021-04-28 22:36:29 +08:00
Rustam
53398a0850 Ktor server upgrade (#9088)
* Update to new ktor version #9087

* Update doc #9087

* Cleanup #9087
2021-04-28 21:57:15 +08:00
William Cheng
73564bc046 update samples 2021-04-28 17:57:26 +08:00
William Cheng
37eaf70755 Merge remote-tracking branch 'origin/master' into 5.2.x 2021-04-28 17:48:21 +08:00
Ayman Bagabas
057c1080f8 [Codegen] Add hasDefaultResponse property (#9203)
Check if there's a default response in the specs.
2021-04-28 17:03:22 +08:00
Toby Murray
83adc064a4 Fixes #9151: Bump OkHTTP dependency to latest (#9353)
In 5.0.1 the generated line in `ApiClient` was:
```
return RequestBody.create(MediaType.parse(contentType), (byte[]) obj);
```
in 5.1.0 it is:
```
return RequestBody.create((byte[]) obj, MediaType.parse(contentType));
```

Looks like this change was introduced in #8969, and requires a more recent version of OkHttp to compile in some (all?) circumstances.
2021-04-28 16:55:12 +08:00
Andre Praca
ad9e2395ac [PHP] Fix parentSchema conditional causing parent call when parent isn't present (#8705)
* Fix parentSchema conditional

we cannot call `parent::` if parent isn't present. Everywhere else in the schema we're checking for `{{parentSchema}}` but here we're checking for `{{parent}}` which is causing errors when parent is not present

* Update samples
2021-04-28 15:08:50 +08:00
William Cheng
4aaaae765b [Scala][Akka] Use Files.createTempFile to address security concerns (#9348)
* fix scala akka server temp file issue

* update test templates
2021-04-28 14:53:51 +08:00
Toby Murray
4f84e86001 Support #9151: Default Java client to Java 8 (#9344)
My understanding of the version 5 release of OpenAPI generator was that Java 7 support was dropped. Currently the Java client defaults to Java 7, Java 8 can be opted in with the `java8` config option. This removes the conditional logic in `build.gradle` around that config option and defaults to Java 8. This is to support #9151, up-to-date dependency versions rely on Java 8 and it's easier if that is the default.

To be clear, this changes behavior - previous default version was Java 7, this changes it to Java 8.
2021-04-27 09:37:14 +08:00
dependabot[bot]
1f880f43d4 Bump actions/setup-java from v1 to v2 (#9187)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from v1 to v2.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v1...8764a52df183aa0ccea74521dfd9d506ffc7a19a)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-26 22:35:17 +08:00
William Cheng
ad3ecadd75 Move ensure up-to-date script to drone.io (#9339)
* move ensure up-to-date to drone.io

* fix tests

* Revert "fix tests"

This reverts commit ea5efd3b3b.

* skip 2.0 tests

* use mvnw

* fail fast

* fix meta-codegen

* test java 11 first
2021-04-26 22:08:49 +08:00
dersvenhesse
a62d22593e [DOCS] Updated pom.xml snippet with latest version (#9342) 2021-04-26 16:41:45 +08:00
William Cheng
f572125b30 [Python] Fix exclusive min and max (#9340)
* [Python] Fix exclusiveMinimum and exclusiveMaximum conditions

* add tests, update samples

Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
2021-04-26 14:01:40 +08:00
Yuriy Belenko
b6197dd859 [core] Add refreshUrl to CodegenSecurity (#9210)
* Add refreshUrl to CodegenSecurity

Ref:
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#oauth-flow-object

* Add refreshUrl to setOauth2Info method
2021-04-26 10:33:18 +08:00
William Cheng
7df0f56fdc update samples 2021-04-26 10:21:48 +08:00
Ayman Bagabas
f7c3773903 Swift5 use json type for any (#9206)
* [swift5] Fix additionalProps inner type

* [swift5] Add and use AnyCodable type instead of any

* [swift5] Use the original petstore w/fake models for testing default

* [swift5] Update swift-tools-version to 5.1

* [swift5] Update samples and docs
2021-04-26 09:57:42 +08:00
Mateusz Hubert Stefaniak
b9a1c8f016 [Java][Spring] Fix for #8659 - Different in-parameter types generated for api and delegate for files (#9331) 2021-04-26 09:49:21 +08:00
Sai Giridhar P
812d563c78 [Java][Jersey2]: Fixing a package import (#9336) 2021-04-26 09:15:49 +08:00
Ayman Bagabas
0f5e7d1e3c Swift5 models improvements (#9205)
* [swift5] Add useClasses to use `final class` instead of `struct`

* [swift5] Always include CodingKeys enum

* [swift5] Implement model equals and hash functions

* [swift5] Encode `null` values

* [swift5] Test `useClasses` in urlsessionLibrary

* [swift5] Add a required nullable prop test case to 2_0/swift/petstore*.yaml

* [swift5] Update samples and docs
2021-04-24 10:04:30 +08:00
Stefan Hanselmann
22950fa2b2 [Kotlin][#9313] Generator should support optional form parameter (#9314)
* [Kotlin][#9313] Make form params optional in Kotlin retrofit2 template.

* [Kotlin][#9313] Update sample files.

* [Kotlin] [#9313] Remove new line at the end of the mustache template
2021-04-23 12:30:58 +08:00
William Cheng
ee905cf0fe add the u of aizu to the user list (#9326) 2021-04-23 12:11:57 +08:00
William Cheng
ab688d4c3a Update documentation (#9322)
* update doc

* update doc
2021-04-22 20:54:01 +08:00
William Cheng
05aa956fe1 update samples 2021-04-22 19:20:11 +08:00
Ayman Bagabas
33107c14de [Swift5] escape reserved words (#9204)
* [swift5] `List` is not a Swift data type

* [swift5] Escape reserved words using backticks

https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID412

* [swift5] Update tests

* [swift5] Update samples and docs
2021-04-22 19:13:39 +08:00
Stefan Hanselmann
5468b22b83 [Kotlin][#7925] Make ApiClient in jvm-retrofit2 be able to add additional retrofit Converter.Factory (#9316)
* [Kotlin][#7925] Add an optional Converter.Factory to the Kotlin retrofit2 ApiClient template.

* [Kotlin][#7925] Update sample project.
2021-04-22 19:07:55 +08:00
Stefan Hanselmann
05f329959c [Kotlin][#9317] Add parameter sorting to Kotlin client generator (as used in the Java generator). (#9318) 2021-04-22 18:48:26 +08:00
William Cheng
946d145d30 [bash] Update Bash Client Dockerfile.mustache (#9310)
* Update Dockerfile.mustache

Using alpine instead of ubuntu for leaner Docker images.

Small fix for welcome message.

Changing default shell to `zsh` and fixing entrypoint.

* update samples

* move config, add new files

Co-authored-by: avbenavides <62693723+avbenavides@users.noreply.github.com>
2021-04-22 15:02:38 +08:00
William Cheng
d7736366b7 add a link to twilio blog (#9312) 2021-04-22 12:28:17 +08:00
William Cheng
d44d9a3907 Add a link to blog post in unibuddy tech blog (#9311)
* Add a link to blog post in unibuddy tech blog

* minor change

* fix link
2021-04-22 12:17:07 +08:00
dependabot[bot]
347a4cef47 Bump actions/upload-artifact from v2.2.2 to v2.2.3 (#9198)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.2.2 to v2.2.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.2...ee69f02b3dfdecd58bb31b4d133da38ba6fe3700)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-22 08:44:07 +08:00
dependabot[bot]
b38166305f Bump actions/cache from v2.1.4 to v2.1.5 (#9249)
Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.4...1a9e2138d905efd099035b49d8b7a3888c653ca8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-22 08:38:02 +08:00
Ayman Bagabas
3894aa4759 [swift5] Add useSPMFileStructure (#9074)
* [swift5] Add useSPMFileStructure

Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>

* [swift5] Add swiftPackagePath

Prioritize swiftPackagePath over useSPMFileStructure

* [swift5] Add cli options and update docs

* [swift5] Fix tests

* [swift5] Update XcodeGen source path

* [swift5] Update samples and docs

Add useSPMFileStructure to URLSession library
2021-04-22 00:43:33 +08:00
William Cheng
139e9e458f Minor improvements to go-echo server (#9303)
* minor improvements to go-echo server

* update go tech comm
2021-04-21 21:11:05 +08:00
William Cheng
b4f174753c [PS] minor improvements to the auto-generated appveyor.yml (#9300)
* appveyor improvement

* update samples
2021-04-21 18:18:02 +08:00
Farshad Nematdoust
733a180a62 Add Go echo server codegen (#9224)
* Update codegen config

* Add templates for Go Echo openapi-codegen

* Add the yaml config file!

* Add GoEchoServerCodegen.java.
This is the first iteration, it works but probably needs a lot of improvements.

* Update codegen, adds some comments.

* Update GoEchoServerCodegen.java

* Update GoEchoServerCodegen.java

* Update GoEchoServerCodegen.java and related yaml file

* Add the result of generate-samples.sh for CI purposes.

* Add the result of bin/utils/ensure-up-to-date for CI purposes.

* Update go-echo-server-petstore-new.yaml
Fix the outputdir

* Update in regard to result of ./bin/generate-samples.sh

* Update in regard to result of ./bin/generate-samples.sh

* Remove wrongly generated files

* Add correct generated files.

* Add changes regarding /bin/utils/ensure-up-to-date

* Update templates to include comments.

* Update/add result of ./bin/generate-samples.sh and ./bin/utils/export_docs_generators.sh
2021-04-21 16:22:10 +08:00
William Cheng
92561085ba update ruby sinatra samples 2021-04-21 16:00:23 +08:00
Yasuhiro ABE
d4748a7a20 Dockerfile for the Ruby-Sinatra generator (#9299)
* add the Dockerfile and updated the README and others.

Signed-off-by: Yasuhiro ABE <yasu-abe@u-aizu.ac.jp>

* fixed the indent to follow the coding style guide.

Signed-off-by: Yasuhiro ABE <yasu-abe@u-aizu.ac.jp>

* revised.

Signed-off-by: Yasuhiro ABE <yasu-abe@u-aizu.ac.jp>
2021-04-21 15:46:56 +08:00
William Cheng
ebc98ec848 [PowerShell] improve return type documentation (#9295)
* revise return type doc

* revise return type doc
2021-04-21 10:01:41 +08:00
Sean Kelly
ef2299ad65 Qt5 support date format enum (#9283)
* initial commit

* Update sample and make sure it builds

* PR feedback

* Limit scope of struct to within the class and fix whitespace
2021-04-21 09:55:30 +08:00
William Cheng
41f586bede update cpp ue4 samples 2021-04-20 21:47:12 +08:00
Josh Wittner
28e0d9b22e Support FGuid with helpers (#9291) 2021-04-20 21:23:36 +08:00
William Cheng
51028f0c1b prevent NPE in constructing oneOf example (#9231) 2021-04-20 15:05:34 +08:00
Esteban Gehring
aa5adbf3f5 update samples (#9288) 2021-04-19 08:11:00 +02:00
William Cheng
da37e980d3 [Kotlin]] add support for binary response (#9284)
* Support File responses for Kotlin client

* Regen samples

* Reset version

* Fix file class check

* Add imports

* use Files.createTempFile instead

* better tmp file naming

Co-authored-by: Mischa Spiegelmock <me@mish.dev>
2021-04-17 18:25:32 +08:00
William Cheng
77dfd40681 [Enhancement] added support for custom type & format mapping (#9285)
* resolve merge conflicts

* use + in type mapping, add tests

* add new test spec
2021-04-17 18:24:59 +08:00
Themi Tsiotas von Pfaler
a9c7644c32 [typescript-axios] add missing baseName when using set or append on FormData (#9273) 2021-04-17 09:14:55 +02:00
Emmanuel Roux
032911990d typescript-angular: Fix Cannot read property 'apiKey' of undefined (#9260)
* fix #9259

* avoid optional chaining operator
2021-04-16 16:54:58 +02:00
Cody Mikol
b5dac42959 feat(adapter): add BigDecimal kotlin support (#8880)
* feat(adapter): add BigDecimal kotlin support

this allows the kotlin client generator to support
BigDecimal values

Fixes #7196

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-04-16 22:24:10 +08:00
Luca Mazzanti
3929afff7d [csharp][netcore-httpclient] Refactor of constructors (#9145)
* Refactor on constructors

Updated samples

Fixed a bug of previous commit

Refactor on constructors

* Fixed indentation in source code

* Updated samples

* Marked constructors with obsolete

* Updated obsolete constructors messages

* Updated samples
2021-04-16 22:03:07 +08:00
William Cheng
515d4a0153 [Java][JavaJaxRS] Respect readOnly/writeOnly attribute markers (#9276)
* [Java] [JavaJaxRS] Respect readOnly/writeOnly attribute markers

Generate jackson JsonProperty like following:
- `readOnly` is present in Spec: `@JsonProperty(value = "[name]", access = JsonProperty.Access.READ_ONLY)`
- `writeOnly` is present in Spec: `@JsonProperty(value = "[name]", access = JsonProperty.Access.WRITE_ONLY)`

Edge case: both are present -> Spec is invalid and generator cancels anyway with:
> org.openapitools.codegen.SpecValidationException: There were issues with the specification. The option can be disabled via validateSpec (Maven/Gradle) or --skip-validate-spec (CLI).
> | Error count: 1, Warning count: 1
> Errors: 
>	-attribute components.schemas.Example. writeOnly and readOnly are both present

* update samples

Co-authored-by: Michael Kroll <9883575+mickroll@users.noreply.github.com>
2021-04-16 18:07:41 +08:00
Christopher Schramm
4a63aae746 [Kotlin] Fix (de)serialization of enum classes (#7917)
While inner enum classes from dataClass.mustache work fine, standalone enum classes lack `@JsonProperty` annotations so that Jackson uses names instead of values.
2021-04-16 12:01:05 +08:00
Moshe Elisha
af992e4b29 [Java] [Native] Add response body to exception message (#9169)
* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Revert "Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true"

This reverts commit 56e2b1fb

* Revert "Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true"

This reverts commit 335c304d

* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Fix #8027 - import the auto generated supporting JSON class only when discriminator is needed

* Fix #8027 - import the auto generated supporting JSON class only when discriminator is needed

* Fix #8027 - import the auto generated supporting JSON class only when discriminator is needed

* [Java] [Native] Add response body to exception message

* [Java] [Native] Use default base URI if baseUri param is null

* [Java] [Native] Use default base URI if baseUri param is null
2021-04-16 11:02:56 +08:00
Stieglitz
6dce8179de [Kotlin] Fix (de)serialization of enum classes (kotlinx serialization) (#9143)
* fix kotlin enum serialization

* fix kotlin serialization compiler warning

* change samples
2021-04-16 10:46:51 +08:00
jenswet-el
786458e928 Add missing ResponseBody import (#9239) 2021-04-16 10:11:04 +08:00
Thomas Hervé
60dcf8613f Don't include read-only properties in Python examples. (#9252)
* Don't include read-only properties in Python examples.

When using a schema with read-only fields as API inputs, Python
generates examples for those: this excludes them.

* Fix tests
2021-04-14 11:43:28 -07:00
Vincent Galloy
9edf70e980 @Input and @Internal should not be apply on the same property (#9059)
Motivation:

In Gradle 7.0 apply @Input and @Internal on property is forbidden.
Before Gradle 7.0 applying both on the same property is confusing. According to the documentation:

* @Input: Attached to a task property to indicate that the property specifies some input value for the task.
* @Internal: Attached to a task property to indicate that the property is not to be taken into account for up-to-date checking
2021-04-14 17:02:48 +08:00
William Cheng
dbdb6c51c4 fix missing space in bash script 2021-04-14 16:55:12 +08:00
William Cheng
19b68f75de [Docker] support multi-arch build (#9246)
* multi arch build

* fix buildx

* use openjdk

* fix bash install

* remove armv7

* remove arm64

* use jre 11

* add v8

* skip bash install

* add back tests

* remove v8

* minor change

* fix tag and push

* fix tag

* skip pull request for dockerhub push
2021-04-14 11:15:12 +08:00
William Cheng
c285f393b0 switch to oas3 spec for php-symfony samples (#9248) 2021-04-14 10:36:48 +08:00
William Cheng
1b63822501 camelize name in nim (#9255) 2021-04-14 10:14:59 +08:00
Peter Leibiger
b4ea00ed42 [dart][dart-dio] Add built_value date support w/o timemachine (#9180)
* [dart][dart-dio] Add built_value date support w/o timemachine

* Test improvements

* Fix lists of dates not working
2021-04-13 16:52:27 +08:00
Eike Starkmann
7a1f7b2270 Update model_variables.mustache (#7074)
Recursive validate non primitive objects
2021-04-13 14:57:50 +08:00
Peter Leibiger
29c1688860 [dart][dart-dio] Update pubspec/readme templates (#9201)
* Add homepage option to pubspec.yaml

package validation fails when trying to publish to pub.dev

See: https://dart.dev/tools/pub/pubspec
Blocking https://github.com/bigpanther/trober/pull/108

cc: @kuhnroyal

* Add missing fields

* Update templates and generate samples

Co-authored-by: Harsimran Singh Maan <maan.harry@gmail.com>
2021-04-13 14:37:15 +08:00
William Cheng
13c0b2c3c7 Use warning instead of throwing exceptions (#9188)
* use warning instead of throwing exceptions

* comment out tests
2021-04-13 14:09:19 +08:00
William Cheng
1f227061c6 add sponsor message in F# giraffe generator (#9247) 2021-04-13 13:50:41 +08:00
Aliaksei Zhuk
53e5986800 [Go] Parse int arrays and respect the 'required' property (#9120)
* Added int arrays parsing in parameters. Respect the 'required' property.

* Replaced spaces with tabs

* Generate samples with new spacing

* Removed unused import

* Merged with latest master
2021-04-11 23:43:53 +08:00
johannes karoff
63fdd3eaf0 support uuid parameter (#9215) 2021-04-11 18:42:00 +08:00
gbmarc1
8e0955fd3c Bug - python client deserialization when attribute named self (#9006)
* fix by mapping outside of class

* tests

* regeneration and tests

* server

* INDENT

* a

* enable mapping

* Revert "server"

This reverts commit 6fc9712fb5.

* Samples regenerated

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2021-04-10 19:00:32 -07:00
William Cheng
14c7f39c2b [C#][netcore] Add multiple frameworks support (#9196)
* add multiple frameworks support

* test in appveyor

* update samples
2021-04-09 21:25:56 +08:00
Guy King
23c9627b98 Resolve response type name conflict in angular typescript lib (#9216)
* fix: rename var

* fix: run pr checklist scripts

* fix: correct response type var name for http client

* chore: run build scripts

* test: ci and correct name?
2021-04-08 21:57:23 +02:00
Esteban Gehring
fa4462ef11 Revert "Resolve responseType name conflict in Angular Typescript lib (#9202)" (#9214)
This reverts commit 9dda4aa2e8.
2021-04-08 18:52:54 +02:00
mazrean
01ff635139 [Go] Fix golang comment typos (#9207)
* fix go comment typo insensitive

* fix go comment typo response

* update samples
2021-04-08 09:59:31 +08:00
Guy King
9dda4aa2e8 Resolve responseType name conflict in Angular Typescript lib (#9202)
* fix: rename var

* fix: run pr checklist scripts
2021-04-07 19:35:20 +02:00
Peter Leibiger
065c0281fa [dart] Improve types & imports (#9167)
* [dart] Improve types & imports

* don't use importMapping as it is intended for something different that is not possible in dart
* introduce imports map for dart specific features
* always import `dart:core`
* get rid of additionalReservedWords
* fix `--type-mappings` not working
* use required type mappings in samples
* no longer define additional reserved words  as it is impossible to list all anyways, they can now be configured via type-mapping parameter
* simplify dio imports

* Don't use guava for map instantiation

* Update docs
2021-04-07 00:33:35 +08:00
HexagonSun
acedd1cfba [typescript-angular] Provide return value for all code paths (#9174) (#9176)
In order to avoid a compiler error when using `noImplicitReturns `, we
change the mustache template to use provide a return value for the if-
and else branch.

Fixes #9174.
2021-04-06 07:21:11 +02:00
Makoto Aoyama
c3b7ecff21 Add Hashable for Struct (#9166)
* Add hashable for struct

* Remove x-swift-hashable

* Run the shell script ./bin/generate-samples.sh
2021-04-06 10:50:23 +08:00
Peter Leibiger
29c131e781 [dart][dart-dio] Update dependencies (#9178)
* finally use released versions for http mocking
2021-04-05 23:39:18 +08:00
Peter Leibiger
11eedc86dc [dart] Remove OS2 samples which have OAS3 counter parts (#9177)
These samples are the same as their OAS3 counterparts and don't give any additional benefits. This should speed up CI builds by a good amount.
2021-04-05 22:59:14 +08:00
Thibault Duperron
4462d35195 Link filehash with execution id (#7848)
Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-04-05 21:11:27 +08:00
Yuri Orlov
659b00a4f9 use standard constant for UTF8 charset in generated java api clients (#7828) 2021-04-05 20:02:28 +08:00
William Cheng
5dae270c3e [Go][server] parse bool in query parameter (#9171)
* Add bool query in example

* Add parseBoolParameter

* test with boolean parameter

* add endpiont for testing boolean

* remove bool parameter test

Co-authored-by: Stéphane Guillemot <gmtstephane@gmail.com>
2021-04-05 16:45:38 +08:00
William Cheng
c79d056935 Allow to specify response headers (needed for redirecting clients) (#9170)
* Allow to specify response headers (needed for redirecting clients) (#8148)

Co-authored-by: Bernardo Pastorelli <13519917+randomswdev@users.noreply.github.com>

* add addResponseHeaders option

* enable addResponseHeaders

* fix comma

Co-authored-by: randomswdev <randomswdev@users.noreply.github.com>
Co-authored-by: Bernardo Pastorelli <13519917+randomswdev@users.noreply.github.com>
2021-04-05 16:27:41 +08:00
Matthew Dowdell
226a8b5f77 Update templating docs to correct the name of x-response-id (#7839) 2021-04-05 11:33:38 +08:00
Hippolyte HENRY
f8202df9aa [go] Add constructor and IsValid method to enum types (#8224)
* Add constructor and IsValid method to enum types

* Add samples
2021-04-04 17:32:17 +08:00
lerminou
7cf6ee1957 [php-symfony] fix double quoting string defaults values (#9126)
quoting for default values is already done in:
https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java#L533
2021-04-04 10:40:16 +08:00
Martin Delille
c9716fcebb Include QVariant helpers header (#9161) 2021-04-04 10:06:57 +08:00
William Cheng
403e9bca44 replace semver versin with just version 2021-04-03 14:46:22 +08:00
Marcono1234
7a3b01a0f6 Update usage.md with current CLI output (#9156) 2021-04-03 11:28:25 +08:00
William Cheng
4db6f46a00 Add links to blog posts about openapi-generator (#9164)
* Add links to blog posts about openapi-generator

* add more articles

* add more article
2021-04-03 11:18:05 +08:00
Justin Black
fc58adee31 Fixes serialization of array items in model_to_dict [python] (#9153)
* Adds tests of endpoint with inline and refed model

* Regen samples

* Samples regenerated
2021-04-01 13:34:19 -07:00
Justin Black
71f67c3d40 Samples regenerated (#9154) 2021-04-01 11:31:21 -07:00
sforst
7bf792a348 [typescript-axios] handle uniqueItems in query and header parameters (#8965)
* [typescript-axios] handle uniqueItems in query and header parameters

add endpoint /fake/test-unique-paramters to petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml for demonstration

* update samples

* [typescript-axios] update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-04-01 16:57:36 +08:00
cal
57e44e173f [cleanup] erefactor/EclipseJdt - Evaluate without null check (#9134)
EclipseJdt cleanup 'EvaluateNullable' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-04-01 11:32:10 +08:00
de1mos
b335ba834f fix #7325 kotlin-spring fix reactive delegate pattern combination (#8867)
* #7325 kotlin-spring remove exchange field from reactive delegate pattern

* #7325 remove examples from kotlin-spring reactive delegate and add missing import

* #7325 add test assertions

* fix swagger spec in test
2021-04-01 09:47:11 +08:00
William Cheng
917b358e27 Merge remote-tracking branch 'origin/master' into 5.2.x 2021-04-01 09:25:19 +08:00
William Cheng
59089feb64 update samples 2021-04-01 09:19:50 +08:00
Noor Dawod
26ca6ab27e [Dart2] Add initial support to use an isolate to offload JSON serialization/deserialization (#9100)
* Change signature of deserialize() to be a Future.

* Grammar tlc for a couple of sentences.

* Make serialize() use a Future also.

* Add useCompute as a parameter to ApiClient, adjust to use compute when serializing/deserializing.

* Updated Pet Store client code.

* Ordered imports.

* Remove Flutter-specific implementation.

* Rename global functions to serialize/deserialize JSON.

* Fix return type for apiClientSerialize.

* Updated pet store client code.

* Remove remark for _deserialize.

* Make _decodeBodyBytes a Future function.

* Updated pet store client code.

* Use await when calling serialize().

* Fix a grammatical error.

* Adjust doc.

* Centralize deserialization code in one function.

* Updated pet store client code.

* Add await to serialize() in few more tests.

* Make output look better for linting and humans.

* Updated pet store code.

* Add an empty line.

* Updated pet store code.

* Call the right serializer.

* Reuse same variable.

* Updated pet store code.

* Fix a logical error when deserializing.

* Calculate growable once.

* Ignore reassignment.

* Adjust a test.

* Regenerate petstore code.

* Revert back previous test.

* Use serialize() for testing.

* Revert using serialize() for testing.

* Add removal deprecation for serialize/deserialize.

* Updated petstore code.

* Updated deprecation note.

* Adjust tests to wait for futures.
2021-03-31 23:53:22 +08:00
Justin Black
6cc270633b [python] Fixes additional_properties_type for models (#8802)
* Fixes additionalProperties values for models, updates docs, adds tag test of it, fixes frit and gmfruit tests

* Moves this.setDisallowAdditionalPropertiesIfNotPresent higher

* Makes setting additional_properties_model_instances contingent on the presence of addprosp in schema, updates sample spec composed schemas to remove addprops False form two

* Fixes oneOf anyOf allOf instantiation logic

* Removes Address from Cat definition

* Adds required vars for apple and banana, removes required vars from composed schema init sig

* Updates composed schema vars to be set on self and all composed instances

* Removes get_unused_args, get_var_name_to_model_instances, and get_additional_properties_model_instances

* Fixes fruit + deserilization tests, creates ComposedSchemaWithPropsAndNoAddProps

* Fixes FruitReq tests

* Fixes GmFruit tests

* Fixes discard_unknown_keys tests

* Samples updated

* Removes additionalproperties False in Child

* Samples updated

* Improves handling of v2 and v3 specs for isFreeFormObject, v2 sample spec updated with link to bug

* Adds cli option disallowAdditionalPropertiesIfNotPresent to python

* Adds getAdditionalProperties method so the value for addProps will be correct

* Reverts file

* Reverts file

* Updates python doc

* Reverted anytype_3 definition

* Updates test_deserialize_lizard

* Updates test_deserialize_dict_str_dog

* Updates testDog

* Updates testChild

* Adds v2 python_composition sample

* Adds needed files for python testing

* Adds existing tests into the new python sample

* Fixes test_dog

* Removes addProps false form Dog

* Fixes testChild

* Updates how additionalProperties are set

* Fixes empty_map type

* Type generation fixed for v2 and v3 specs

* Refactors getTypeString, updates artifactids in pom.xml files

* Adds new python sample to CI testing I think

* Fixes artifactId collision, regenrates docs
2021-03-31 08:48:12 -07:00
Peter Leibiger
47e292c0e7 [dart][dart-dio] Remove sample formatting from dart-dio-next (#9121) 2021-03-31 16:45:47 +08:00
William Cheng
628e3d1914 remove pthread (#9130) 2021-03-31 15:56:50 +08:00
William Cheng
de5651adac [C#] fix integer enum without format (#9136)
* fix inner enum integer without format

* add line break, update samples

* remove line break

* add line break

* update SHA
2021-03-31 15:11:10 +08:00
Luca Mazzanti
e1ef00903e [csharp][netcore-httpclient] Reuse HttpClient, Allow use of external HttpClient. Patch to previous PR. (#9109)
* [csharp][netcore-httpclient] Reuse HttpClient, Allow use of external HttpClient.

* Updated samples

* Removed local variables no more useful

* Added InvalidOperationException when used a configuration not supported for the constructor

* Updated samples
2021-03-30 18:10:08 +08:00
Justin Black
ae099330b9 Feature fixed, samples regenerated (#9131) 2021-03-29 23:42:14 -07:00
William Cheng
3973d4c831 Merge remote-tracking branch 'origin/master' into 5.2.x 2021-03-30 12:00:41 +08:00
William Cheng
a3072680cd update samples 2021-03-30 11:54:37 +08:00
William Cheng
99ddd6d2f2 Merge remote-tracking branch 'origin/master' into 5.2.x 2021-03-30 11:41:09 +08:00
Jakob
0af45b3823 [Java] add jackson annotations to setters (#9041)
* [Java] add jackson annotations to setters

Closes #6856

* [Java] fix conflictiong setter with JsonNullable
2021-03-30 11:17:15 +08:00
William Cheng
becb424455 [PHP] minor code enhancement (#9009)
* minor code enhancement

* remove unused files
2021-03-30 11:13:30 +08:00
William Cheng
f898bfc7d6 better default value handling in go generators (#9106) 2021-03-30 11:09:21 +08:00
Peter Leibiger
f66fbf6969 [dart][dart-dio] Update dependencies (#9122)
* [dart-dio] Update dio

* [dart-dio] Update to dio 4.0.0

* [dart-dio] Fix dependency problems with Dart 2.12 SDK during build

* Revert changes to analyzer

This only fails locally, not sure why. CI only shows a warning.

* Fix compile error after http_mock update
2021-03-30 00:17:37 +08:00
cal
7816ea076e [cleanup] erefactor/EclipseJdt - Invert equals arguments if parameter is constant string (#9111)
EclipseJdt cleanup 'InvertEquals' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-29 23:58:52 +08:00
cal
6daecb88c2 [cleanup] erefactor/EclipseJdt - Use primitive parse methods instead of wrapper. (#9113)
EclipseJdt cleanup 'ParsePrimitive' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-29 21:02:51 +08:00
Peter Leibiger
6c8bc1ec88 [core] Allow using lists as globalProperty in config files (#8339) 2021-03-29 20:56:11 +08:00
cal
d913b14d45 [cleanup] erefactor/EclipseJdt - Make inner class static (#9112)
EclipseJdt cleanup 'MakeInnerClassStatic' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-29 20:54:41 +08:00
cal
67d7f60f6a [cleanup] erefactor/EclipseJdt - Convert 'for' loops to enhanced (#9110)
EclipseJdt cleanup 'ConvertForLoopToEnhanced' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-29 12:13:26 +08:00
William Cheng
8d372fa66a better null check for response (#9105) 2021-03-29 12:05:17 +08:00
William Cheng
ab6c6962c2 add enum suffic support to rust client (#9107) 2021-03-29 11:40:26 +08:00
linnefromice
70616b541e [Ruby] remove duplicated supportingFiles.add (#9108)
* remove duplicated supportingFiles

* modify examples - remove duplicated supportingFiles
2021-03-29 11:31:24 +08:00
William Cheng
9fb97c6c29 postpone require models with parent (#9103) 2021-03-29 11:07:57 +08:00
Justin Black
fe52529f05 [python] fix custom model template feature (#9118)
* Removes colliding __init__model.mustache in PythonClientCodegen.java

* Removes unused files

* Regenerates samples
2021-03-28 11:28:25 -07:00
William Cheng
c99226900b update samples 2021-03-27 18:47:57 +08:00
Blackclaws
45654d28ed [csharp][netcore-httpclient] Reuse HttpClient, Allow use of external HttpClient, Fix Socket Exhaustion, Alternative With Constructor Injection (#9085)
* Do not allow not reusing HttpClient, fix socket exhaustion issues, add Readme on how to add your own client

* Add Readme change

* Alternative version via constructor injection

* Update samples

* Update usage in ExecAsync

* Clean Constructor

* Add Warning to constructor, Update Samples

* Add warning, fix last constructor, update samples

* Change client to private in constructor injection

* Add disposable to ApiClient

* Do not dispose handler if we did not create it

* Update samples

* Add disable switch and update samples and documentation
2021-03-27 15:20:58 +08:00
William Cheng
b7f389aacb minor code improvement (#9091) 2021-03-27 14:57:26 +08:00
Prakhar Gupta
b1837693b1 [JAVA][jaxrs-spec] Added custom methods to add/remove elements from Java Collections (#6468) 2021-03-27 13:59:49 +08:00
Jakub Surdej
711ce5431a Add method allowing to apply middleware to request (#7403)
Prepare custom auth function template to be optional one

Rename auth function to middleware

Move middleware execution below operations with context

Generate samples for go

Modify new line characters in template not to affect default one

Generate samples with modified template
2021-03-27 13:53:30 +08:00
Phillip Verheyden
fa624ef38c Use prepare script instead of prepack (#7807)
Including the generated JS client library code as a git repository did not work when executing npm install. It complained about not being able to find 'babel'. Apparently when referencing a dependency from git, both prepare and prepack are executing to build the 'dist' directory, but prepack does will not include any devDependencies. Therefore we need to switch this to prepare instead.
2021-03-27 13:45:11 +08:00
William Cheng
e6f56626ed Revert "Enable useOneOfInterfaces for the ruby generator (#8061)" (#9104)
This reverts commit 23bc2aaf6b.
2021-03-27 13:43:31 +08:00
Jacob Burroughs
23bc2aaf6b Enable useOneOfInterfaces for the ruby generator (#8061)
Tested against https://ftc-events.firstinspires.org/swagger/v2.0/swagger.json

Used to generate un-runnable code, now it works
2021-03-27 13:42:48 +08:00
William Cheng
3579094298 update samples 2021-03-27 13:03:16 +08:00
dependabot[bot]
474df9dd5e Bump actions/download-artifact from v1 to v2.0.8 (#8781)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from v1 to v2.0.8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v1...4a7a711286f30c025902c28b541c10e147a9b843)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-27 10:04:20 +08:00
dependabot[bot]
a2401f71b0 Bump actions/upload-artifact from v1 to v2.2.2 (#8782)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v1 to v2.2.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v1...e448a9b857ee2131e752b06002bf0e093c65e571)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-27 10:04:09 +08:00
dependabot[bot]
8e7440e294 Update actions/cache requirement to v2.1.4 (#8780)
Updates the requirements on [actions/cache](https://github.com/actions/cache) to permit the latest version.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](26968a09c0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-27 10:03:32 +08:00
tomred-net
38b49e77af fix #8755 [BUG] Java (jersey2) ApiClient debug cannot be enabled (#8756)
* fix #8755 [BUG] Java (jersey2) ApiClient debug cannot be enabled

* fix #8755 updating samples
2021-03-27 10:01:39 +08:00
avbenavides
2525639875 Update client.mustache (#8970)
Bash Client Escapes parameters with a 't' to %09 and leaves tabs unescaped
Fixes https://github.com/OpenAPITools/openapi-generator/issues/7303
2021-03-27 09:59:53 +08:00
sullis
764d7f3035 maven-jar-plugin 3.2.0 (#8248) 2021-03-27 09:57:23 +08:00
leonluc-dev
7e6ce69c64 [ASPNETCORE 3.x] Microsoft.AspNetCore.Authorization directive no longer requires useSwashbuckle condition (#8368)
* Update controller.mustache

Moved using directive for Microsoft.AspNetCore.Authorization outside of useSwashbuckle tag to prevent compilation errors with Authorize tag if Swashbuckle is disabled.

* Updated aspnetcore-3.x samples
2021-03-27 09:56:37 +08:00
William Cheng
5abf020be3 use interrupted exception instead of just exception (#9092) 2021-03-26 21:41:24 +08:00
William Cheng
854296634a better logging (#9090) 2021-03-26 18:21:59 +08:00
William Cheng
16b141e402 Merge remote-tracking branch 'origin/master' into 5.2.x 2021-03-26 10:20:36 +08:00
William Cheng
e71ae12e14 Restore interrupted state (#9084) 2021-03-26 09:42:27 +08:00
William Cheng
ba28702da0 Remove dart-jaguar configs and samples (#9081)
* remove dart jaguar config and samples

* update pom.xml
2021-03-26 09:42:15 +08:00
William Cheng
402cf9a3a2 Fix integer enum in csharp generators (#9035)
* fix integer enum in csharp generators

* add comment
2021-03-25 21:30:42 +08:00
cal
6a26ac8e20 [cleanup] erefactor/EclipseJdt - Remove trailing whitespace - All lines (#9077)
EclipseJdt cleanup 'RemoveAllTrailingWhitespace' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-25 21:24:24 +08:00
cal
97e27f2b36 [cleanup] erefactor/EclipseJdt - Remove trailing whitespace - All lines (#9076)
EclipseJdt cleanup 'RemoveAllTrailingWhitespace' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-25 21:23:29 +08:00
cal
9419de573e [cleanup] erefactor/EclipseJdt - Remove unused imports (#9075)
EclipseJdt cleanup 'RemoveUnusedImport' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-25 21:21:21 +08:00
cal
6e0ca448dd [cleanup] erefactor/EclipseJdt - Remove unused imports (#9068)
EclipseJdt cleanup 'RemoveUnusedImport' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-25 16:42:41 +08:00
William Cheng
fea1377603 Use InterruptedException, IOException instead of just Exception (#9063)
* use InterruptedException, IOException instead of just Exception

* undo changes to the license
2021-03-25 13:30:30 +08:00
cal
7813398e7e [cleanup] erefactor/EclipseJdt - Remove unused imports (#9067)
EclipseJdt cleanup 'RemoveUnusedImport' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-25 10:52:22 +08:00
cal
862e9cb79a [cleanup] erefactor/EclipseJdt - Remove unused imports (#9066)
EclipseJdt cleanup 'RemoveUnusedImport' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-25 10:51:53 +08:00
cal
ee2f585f37 [cleanup] erefactor/EclipseJdt - Remove unused imports (#9058)
EclipseJdt cleanup 'RemoveUnusedImport' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-24 20:48:14 +08:00
cal
8043a8b9f4 [cleanup] erefactor/EclipseJdt - Remove trailing whitespace - All lines (#9057)
EclipseJdt cleanup 'RemoveAllTrailingWhitespace' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-24 20:47:39 +08:00
cal
b7c5d38011 [cleanup] erefactor/EclipseJdt - Remove redundant semicolons (#9056)
EclipseJdt cleanup 'RemoveRedundantSemicolons' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.19/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-03-24 20:46:31 +08:00
William Cheng
7937e2e0c9 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2021-03-24 13:46:54 +08:00
William Cheng
0e0dc3f26b update doc 2021-03-24 13:45:52 +08:00
vnq
74e5c3ccd3 [php-symfony] remove nested Valid constraint (#8994)
* Fix constraint Valid cannot be nested

* Update PetController.php

* Update UserController.php
2021-03-24 13:30:42 +08:00
Kam
f137f3331a Add possibility to generate only files needed for sources compilation (#9012) 2021-03-24 13:27:25 +08:00
Blackclaws
650aaa2bee Fix FromForm for complex parameters (#9040) 2021-03-24 12:33:17 +08:00
Blackclaws
b69fb79573 [csharp][aspnetcore] Enable Consumes Tag for Specs where not every operation consumes (#9039)
* Change break to consumes so that all operations will be processed

* Update Samples
2021-03-24 12:30:23 +08:00
Ze Wang
7e0382b08d [Java][Jaxrs-Resteasy] Fixes generator devaultValues for int64/float/… (#8988)
* [Java][Jaxrs-Resteasy] Fixes generator devaultValues for int64/float/double

* add test

* fix tests

* trigger rerun of timeout tests

* remove SmartBear line from comments for new files

* trigger rerun of validations

* trigger rerun of validations

* trigger rerun of validations

* trigger rerun of validations

* trigger rerun of validations

* move postProcessParameter to AbstractJavaCodegen

* move postProcessParameter to AbstractJavaCodegen

Co-authored-by: zewang <zewang@deepmap.ai>
2021-03-24 12:23:34 +08:00
Florian Kamella
03be3c612d Fix default value generation for composed schemas in AbstractJavaCodegen (#8918) 2021-03-24 00:36:54 +08:00
Blackclaws
0f981fffc3 [csharp][httpclient] Fix accidental use of c# 8 language feature (#9037)
* Fix c# 8 language feature being present

* Change config to refer to netstandard 2.0

* Update samples
2021-03-24 00:33:13 +08:00
William Cheng
d438d797da [C#][netcore] Fix model, property name check (#9049)
* fix model, property name check in c# generator

* remove file

* remove file

* specify name
2021-03-23 20:00:26 +08:00
William Cheng
bedfe156bb specify name (#9051) 2021-03-23 19:59:27 +08:00
William Cheng
97a3fc4b8e [C#][netcore] Set EmitDefaultValue to true for boolean property (#9042)
* set EmitDefaultValue to true for boolean property

* update samples
2021-03-23 10:43:35 +08:00
William Cheng
39f0177ede [Java] Update WebClient dependencies (#8972)
* update webclient dependencies

* update build.gradle
2021-03-22 13:58:04 +08:00
Blackclaws
46a7d972b9 [csharp][aspnetcore] Fix FileUpload Parameter Generation for aspnetcore (#9000)
* Aspnetcore fix file parameters

https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/1183#issuecomment-612022568

* Update Samples

* Add Consumes to Controller. Needed for correct swashbuckle

* Add bodyParam annotation again

* Add InputFormatterStream

* Selective Use of IFormFIle

* Update samples

* Add missing List

* Fix duplicate consumes

* Update samples

* Remove executable bit

* Add missing files

* Add Comments
2021-03-22 12:35:45 +08:00
Justin Black
113d38eb71 Sets model.additionalProperties for composed schemas (#9033)
* Turns on setting model.additionalProperties for composed schemas when supportsAdditionalPropertiesWithComposedSchema is true, tests updated for v2 and v3 specs

* Comment change

* Samples updated

* Turns on supportsAdditionalPropertiesWithComposedSchema for CsharpNetCoreClient, samples regenerated

* Changes commented out, samples regnerated

* Refactors the update in setAddProps to not impact the charp client
2021-03-21 19:22:18 -07:00
William Cheng
e0021e662f update readme 2021-03-21 11:06:27 +08:00
William Cheng
773a8d8a08 move dart test to node 2, remove oas v2 dart tests (#9028) 2021-03-21 10:53:00 +08:00
William Cheng
3a0eb9d040 update meta-codegen 2021-03-21 00:58:43 +08:00
William Cheng
47483e60cb update version to 5.2.0-SNAPSHOT, update samples 2021-03-21 00:10:10 +08:00
William Cheng
0dc62e8b79 Prepare v5.1.1 in the master (#9027)
* Prepare v5.1.1 in the master

* move dart dio next to configs/other
2021-03-20 23:05:11 +08:00
William Cheng
e023eaa821 Prepare v5.1.0 release (#9017)
* prepare v5.1.0 release

* update samples (dart-dio-next)
2021-03-20 16:45:05 +08:00
Peter Leibiger
3d038b74fd [dart][dart-dio] Next-gen dart-dio generator (#8869)
* [dart-dio] Remove old Dart 1.x templates

* [dart-dio] Initial version of a next-gen Dart Dio generator

* Fix a couple readme links and examples

* Fix import in testcase

* Add integration tests to master POM

* Run initial dart format and improve some base formatting

* Generate docs

* Use integer matchers in test for content-length

* Separate more built_value specific files

* Fix mustache partial path

* Update pubspec template

* Fix tests after mock lib updates

* Generate with new built_value pre-release

This solves the problem of not being able to serialize null.

* Update built_value dependency

* Regenerate after merge

* Regenerate tests

* Fix missing byte response cast

* Update dio to 4.0.0-prev1

* Run format

* Ignore unused imports in inheritance classes

* Update mock test library

* Update docs

* Make a couple variables final

* Update and freeze dio dependency

* Update generator doc

* Add a new option to post processes all dart output at once

This is much faster than individual files. The committed samples should be formatted since Dart is very opinionated and it makes diffs in PRs much easier to read.
Due to this, we also need to format in CI, otherwise there is a git diff.

* Test some CI stuff
2021-03-20 12:26:56 +08:00
Blackclaws
88fa5d70d7 [csharp][csharp-netcore] Fix Fileupload for Request Bodies for RestSharp and HttpClient libraries (#9010)
* Fix Request Body File Upload for RestSharp and csharp-netcore

* Update Samples

* Fix missing using and update samples

* Enable upload test

* Fix form data and file upload handling for httpclient, update samples
2021-03-20 01:01:21 +08:00
William Cheng
46326249d2 mark httpclient support as experimental (#9016) 2021-03-19 23:14:58 +08:00
Blackclaws
061b00e990 [csharp][aspnetcore] Update aspnetcore nuspec and csproj with authors and description (#8995)
* Update aspnetcore nuspec and csproj with authors and description

* Removed unneccesary include
2021-03-19 21:25:32 +08:00
Peter Leibiger
de8b344a34 [dart] Generic docs update and fixes (#8999)
* [dart] Generic docs update and fixes

* none of the dart generators supports XML
* jaguar is no longer maintained
* dart and dart-dio support bearer token
* none of the dart generators supports composition atm.

* [dart-dio] Supports customization of authorizations and userAgent

* Remove deprecation of dart-jaguar for now
2021-03-19 21:15:13 +08:00
agilob
c920d08b69 [dart] mark json_serializable as experimental (#8979)
* Hide json_serializable from public users

* Make json_serializable as experimental

* Update wording marking json_serializable as experimental
2021-03-19 21:11:22 +08:00
William Cheng
f8bc4a1c4c remove unnecessary dependencies in android volley (#8991) 2021-03-19 20:44:42 +08:00
Denis Istomin
558bdad85d Update docs of skipFormModel default value (#9014) 2021-03-19 20:35:02 +08:00
Nikita Karnaukh
d657e95021 [Kotlin][Client] Added Kotlinx Serialization for JVM/Retrofit2/OkHttp3&4 (#6916)
* Added supporting kotlin.serialization for jvm

* Added Serializable annotations for java types(date,time,url,uri etc.)

* Added SafeEnumSerializer

* Added StringBuilderAdapter for kotlin.serialization
Fix adapter naming
Fix Retrofit ApiClient.kt for kotlin.serialization

* Added StringBuilderAdapter for kotlin.serialization

* Switch sample to retrofit2-kotlin-serialization

* Add sample for retrofit2-kotlin.serialization

* update sample

* update sample

* update sample #3

* Fix enum quotes for kotlin.serialization

* update samples

* update pom.xml

* add pom.xml to child module

* fix kotlin-multiplatform freeCompilerArgs

* refactoring, add useSafeEnum option, remove safeEnum for kotlin.multiplatform

* update kotlin samples

* fix import kotlinx.serialization.Required

* Update kotlinx.serialization 1.0.0-rc-2, kotlin 1.4.10, retrofit-kotlinx-converter 0.7.0

* Update gradle wrapper 6.7-rc-3

* fix SafeEnum import

* fix Json initialization,
fix SafeEnumSerializer

* update samples

* update kotlinx.serialization to 1.0.0

* Update gradle to 6.7 in kotlin samples

* fixed adding @Contextual for collections with non-primitive type elements

* remove unused SafeEnum imports, refactored

* update kotlin readme

* update kotlin project template Readme.md

* update samples for kotlin

* simplify template for class properties

* remove @Contextual from kotlin-multiplatform

* update kotlin multiplatform dependencies

* refactoring templates

* revert all changes for multiplatform

* fix tests

* revert multiplatform #2

* update samples after merge, fix missed isListContainer->isArray

* fixed redundant space before @Contextual

* Fixed enum template, Class were missed in generated samples

* fix enum template toString value->serialName

* fixed isEnum case for collections

* update samples

* removed useSafeEnum option, kotlinx serialization has out of box approach with coerceInputValues option for same behavior

* generate samples

* update kotlinx.serialization 1.0.1

* update samples

* Added pom.mustache template for kotlin-client samples with fixed execution of gradle wrapper instead standalone installed gradle on CI

* update samples with new pom.xml

* reverted enum value property name

* fixed kotlin-multiplatform pom.xml

* update kotlin-threetenbp sample

* update kotlin-string sample

* update kotlin-string sample

* fix adding kotlinx.serialization classpath to build.gradle

* generate samples

* add supporting kotlinx_serialization kotlinx.serialization.Serializable with java.io.Serializable at the same time

* update retrofit2-kotlinx-serialization-converter:0.8.0

* update kotlinx_serialization sample with retrofit2-kotlinx-serialization-converter:0.8.0

* apply suggest from @blendthink

* added proguard-rules.pro file for kotlinx.serialization on Android projects

* fix pom.mustache

* update gradle wrapper to 6.8.3

* update kotlin samples

* fix kotlin readme template, update kotlin samples

* update kotlin samples

* update kotlin sample
delete petstore/kotlin unit tests

* revert deletion kotlin client tests
remove adding pom.xml to kotlin client samples

* add support kotlinx serialization for okhttp3/4

* update kotlin client samples
2021-03-19 18:12:23 +08:00
William Cheng
349445ab01 update perl sponsorship message (#9004) 2021-03-19 12:20:30 +08:00
Justin Black
a925c76561 Adds hasRequired to all Java schema classes (#8962)
* Adds getHasRequiredVars + setHasRequiredVars to IJsonSchemaValidationProperties

* CHanges to getHasRequired and setHasRequired and implements in CodegenModel

* Updates CodegenProperty

* Updates codegenparameter

* Updates codegenresponse

* Uses setHasRequired in model/prop/parameter/response

* Adds issue spec 8906

* Adds testHasRequiredInModel

* Adds testHasRequiredInProperties

* Fixes issue spec errors

* Adds sample endpoint with schemas in patch parameter

* Adds testHasRequiredInParameters

* Adds response schemas in issue spec

* Samples and docs regenerated
2021-03-18 20:42:42 -07:00
William Cheng
2367460fef update sponsorship message in r generator (#8997) 2021-03-18 22:25:43 +08:00
William Cheng
95c775b694 update samples 2021-03-18 08:59:33 +08:00
Ajith Kumar
9ea852d4df [JAVA] [Spring] Conditionally importing spring pageable (#8915)
* [JAVA][SPRING] Making spring pageable import optional

* [JAVA][SPRING] Regenerating samples

* [JAVA][SPRING] Regenerating samples again
2021-03-18 00:03:31 +08:00
Peter Leibiger
d29d898774 [dart] Ensure tests compile with Dart 2.12+ (#8984) 2021-03-17 21:53:48 +08:00
sbu
e9f3b09d05 [DART] Add standard generated classes as reserved (#8975)
* [DART] Add standard generated classes as reserved

* Move StreamedRequest into dart client
2021-03-17 21:53:06 +08:00
Peter Leibiger
45a3764180 [dart][dart-dio] Fix missing byte response cast (#8985)
There doesn't seem to be an example.
2021-03-17 21:33:54 +08:00
Samuel Kahn
9ab3463144 [cpp-ue4] Added UE4.26 support, (#8964)
* [cpp-ue4] Fixed enum values not being quoted. I'm not sure when this started breaking.

* [cpp-ue4] UE 4.26 Compatibility: Replaced TSharedRef<IHttpRequest by FHttpRequestRef for better portability

* [cpp-ue4] Improved DateTime parsing

* [cpp-ue4] Made HttpFileInput constructors explicit

* [cpp-ue4] Added the possibility to retry requests easily with AsyncRetry method on the response and SetAutoRetryCount on the request

WIP auto retry

[cpp-ue4] Adds support for instant retry

* [cpp-ue4] Using TaskGraph instead of TaskGraphMainThread for async retries

* update samples

* remove trailing spaces

Co-authored-by: Jean-Noel Gourdol <jngourdol@stormancer.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-03-17 17:50:42 +08:00
Sondre Eikanger Kvalø
4bfe13767f [Kotlin] Upgrade jackson version used in the Kotlin client (#8689)
* Upgrade jackson version used in the Kotlin client #8688

* Generated project

* Remove spaces before import

* Add generated sample from previous commit
2021-03-17 12:18:52 +08:00
agilob
8a11a1aa74 [dart] Split mustache file by serialization (#8958)
* Split mustache file by serialization

* Move specific serialization files to own directories

* Deduplicate constructor in dart client generator
2021-03-17 11:41:25 +08:00
Hui Yu
f8842b04bb [C-libcurl] Generate API and module documents automatically (#8981) 2021-03-16 13:37:25 +08:00
Thomas Hervé
a1392305f1 Skip examples on complex body in Java (#8887)
* Skip examples on complex body in Java

This removes complex examples in Java which would not result in valid
code.

* Warn example being skip
2021-03-16 10:09:03 +08:00
sunn
fcab51322e [C++][Qt]Replace usage of QVariant with a more intuitive optional wrapper (#8960)
* Replace usage of QVariant with a more intuitive wrapper which also supports non standard types/classes

* Fix crash due to usage of object instead of reference
2021-03-15 18:56:20 +01:00
William Cheng
9d8494a89d update samples 2021-03-15 22:55:36 +08:00
David Gerber
c0187f2c31 fix: remove double URL encoding (#8660)
DefaultWebClient() already encodes URL query parameters.
2021-03-15 22:48:43 +08:00
Oleh Kurpiak
cfe86d9594 [Java][Server] fix default value (#8577)
* [Java][Server] fix default value

* [Java][Server] fix default value
2021-03-15 21:25:48 +08:00
Markus Wandersee
fae4d7a73d Fix for StackOverflow in Swift5 CodeGeneration Issue #8671 (#8672)
* StackOverflowFix for Issue 8671

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-03-15 17:59:09 +08:00
William Cheng
bf859c640e Better error handling for toExampleValue (#8940)
* better error handling for toExampleValue

* revise logging

* update debug
2021-03-15 17:54:15 +08:00
William Cheng
5d7f1c1c88 [android][volley] various improvements (#8968)
* fix samples

* build succcessful in android studio

* fix deprecatation warnings

* update dependencies

* add new file
2021-03-15 17:53:33 +08:00
Adam Leventhal
15c3bf47a4 [Rust Client] several small fixes to code generation errors (#8845)
* fix cyclic types

* fixed up bad enum names

* fixed double crate:: issue

* add required ToString for enum classes

* Adds Debug/Clone derive macro for generated configuration type

* Updates versions of dependencies recorded in generated Cargo.toml

* fix merge

* bin/generate-samples.sh

Co-authored-by: Benjamin Naecker <bnaecker@fastmail.com>
2021-03-15 10:30:22 +08:00
Rüdiger Keller
a8c56fb26a [jaxrs-cxf][jaxrs-spec] Add missing @NotNull annotation for required body parameters when using BeanValidation, fixes #4280 (#6494)
* [jaxrs-spec] Add missing @NotNull annotation for required body parameters when using BeanValidation.

* [jaxrs-cxf] Add missing @NotNull annotation for required body parameters when using BeanValidation (#4280).

* [jaxrs-cxf] Add @NotNull annotation only for body parameters that are required and not nullable.

* [jaxrs-spec] Add @NotNull annotation only for body parameters that are required and not nullable.

* [jaxrs-cxf] Updated sample files after adding missing @NotNull annotation for required body parameters when using BeanValidation.

* [jaxrs-spec] Updated sample files after adding missing @NotNull annotation for required body parameters when using BeanValidation.
2021-03-15 09:47:29 +08:00
William Cheng
abe64b7976 fix deprecation warnings (#8969) 2021-03-15 09:45:17 +08:00
Backfighter
ad603f44fb [Java][webclient] Fix deprecation warning: BodyInserters.fromObject (#8963)
* Fix deprecation warning: BodyInserters.fromObject

See for more information #8553

* [Java][webclient] Upgrade to spring 5.2.13
2021-03-14 00:12:48 +08:00
William Cheng
4e2ece4b51 [Perl] minor improvements (#8967)
* update perl readme, test files

* update perl test files

* update readme
2021-03-13 21:48:00 +08:00
SimeonGerginov
030cabc1cc [REQ][PowerShell] Add additional reserved words list for parameter name in PowerShell (#8935)
* Add additional reserved words list for parameter name in PowerShell

Signed-off-by: SimeonGerginov <simeongerginov1@gmail.com>

* Add missing check for parameter name starting with number

Signed-off-by: SimeonGerginov <simeongerginov1@gmail.com>
2021-03-12 12:35:51 +08:00
Blackclaws
e16ee8c6b8 Add version to csproj, fix target framework, update samples (#8956) 2021-03-12 10:34:06 +08:00
William Cheng
ff55bf11e2 Add messages about powershell ebook after generating a PowerShell client (#8951)
* add message about powershell ebook

* change spacing
2021-03-12 10:02:57 +08:00
Tobias Larscheid
604e141bf6 Do not generate Application.kt when interfaceOnly=true (#8938)
In an effort to make `kotlin-spring` behave the same as `spring` (java), I disabled generation of the `Application.kt` when interfaceOnly=true. This is similar to what `spring` does: https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java#L368
2021-03-12 00:15:34 +08:00
William Cheng
ed6a7e7656 better code format in C# netcore client (#8939) 2021-03-11 21:59:48 +08:00
agilob
b782cff511 [dart] Fix api client deserialization for json_serializable (#8882)
* Fix api-client deserialization for json_serializable

* Use raw string for url path

* Use Set/List.of

* Use returnTypeIsPrimitive in template

* Regenerate all templates

* Fix casting map to Iterable of things

* Add json_serializable to maven modules

* Run build_runner before pub run test

* Return future of type for strong linter mode
2021-03-11 21:16:54 +08:00
Ragul Murugesan
f7a6b7f2d3 Arrow function removed (#8433)
* Arrow function removed

* update samples

Co-authored-by: Ragul Murugesan <y509198@softwareag.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-03-11 08:55:35 +01:00
Peter Leibiger
bf35ceee25 [dart][dart-dio] Lower upper bound for built_value (#8947)
The `8.x` versions are no longer compatible with the current generated code. An update is also not possible without breaking change and null-safety support.
2021-03-11 12:10:58 +08:00
Thomas Hervé
2f047fe64a Fix python example list (#8877)
* Fix python example list

Closing char was missing.

* Add sample, and fix generation for sample not to show up

* Add test of example generation
2021-03-10 08:27:48 -08:00
morphlne
38ef0e1f3a [JaxRS] Fix ambiguous dependency (#8922) (#8923) 2021-03-10 17:03:30 +08:00
William Cheng
f56dd9f59b remove deprecated restsharp parameter class (#8933) 2021-03-10 14:51:23 +08:00
William Cheng
952483abde add plaid logo (#8932) 2021-03-10 14:50:15 +08:00
Justin Black
786c71f339 Adds hasVars (#8928)
* Adds getHasVars and setHasVars to IJsonSchemaValidationProperties

* Updates CodegenModel

* Updates CodegenProperty

* Updates codegenparameter

* Updates codegenresponse

* Adds testHasVarsInModel

* Adds testHasVarsInProperty

* Updates testHasVarsInProperty

* Adds testHasVarsInParameter

* Adds testHasVarsInResponse

* Samples update
2021-03-09 12:14:02 -08:00
Mehmet YUCE
86e418d57b Fix not processing enums in cpp-pistache-server (#8886)
* Fix not processing enums in cpp-pistache-server

Defining a reusable enum as a component schema results in an empty
class. Following changes are made:

- activate 'postProcessModelsEnum' in 'AbstractCppCodegen'
- modify model templates for the 'cpp-pistache-server' project

As 'postProcessModelsEnum' is now available in the 'AbstactCppCodegen'
the 'enumVars' variables are now available in mustache templates for all
cpp based code generators.

As the 'AbstractCppCodegen' was touched all cpp based
samples were updated.

* fixes encountered on real world

* PR fixes

Co-authored-by: mfyuce <mfyuce@netas.com.tr>
2021-03-09 15:17:25 +08:00
William Cheng
065c524894 [C#][netcore] Fix deserialisation for models with additional properties (#8912)
* better check for additioanl properties serializer

* fix additional properties check

* use additonal prop serializer with model mappings
2021-03-09 15:15:33 +08:00
mentalfoundry
8110884aac Update usage.md (#8917)
The command examples are out of date.  The 'openapi-generator' command is now 'openapi-generator-cli'.
2021-03-09 15:14:57 +08:00
William Cheng
1ba323f058 Add tests for array of string serialization (#8913)
* add tests for array of string serialization

* update test file SHA
2021-03-09 08:53:05 +08:00
Chase Farmer
881553a484 Add Plaid to companies using the generator. (#8930) 2021-03-09 08:52:50 +08:00
Justin Black
8226269101 Fixes legacyDiscriminatorBehavior description (#8931)
* Fixes description

* Samples and docs updated
2021-03-08 13:39:12 -08:00
Tyler Ballast
f5151de9fc Add whitespace to SDK documentation where necessary (#8919)
* Add a space between table title and the line above it to resolve issues when translating markdown to asciidoc

* Regenerate Samples

Co-authored-by: Tyler Ballast <tyler.ballast@reportix.com>
Co-authored-by: tballast <tyler.ballast@gmail.com>
2021-03-08 21:40:54 +08:00
William Cheng
bce0eb6c8f fix header parameter naming (#8861) 2021-03-08 21:35:04 +08:00
William Cheng
7720c9f6bd update samples 2021-03-08 19:05:16 +08:00
Jiri Kuncar
8cb4741248 [go][client] Fix example value for non string enums (#8900)
* [go][client] Fix example value for non string enums

* regenerated samples
2021-03-08 18:11:50 +08:00
Justin Black
101da6e434 Adds getAdditionalPropertiesIsAnyType to java schema classes (#8908)
* Adds getter and setter for AdditionalPropertiesIsAnyType in IJsonSchemaValidationProperties

* Removes venv

* Implements getter and setter in CodegenModel

* Implements getter and setter in CodegenProperty

* Implements getter and setter in CodegenParameter

* Adds getter and setter in CodegenResponse

* Creates setAddProps

* Removes comment

* Adds setAdditionalPropertiesIsAnyType invocations

* Updates samples

* Updates tests in testAdditionalPropertiesPresentInResponses

* Updates tests in testAdditionalPropertiesPresentInParameters

* Updates testAdditionalPropertiesPresentInModelProperties to check getAdditionalPropertiesIsAnyType

* Updates testAdditionalPropertiesPresentInModels
2021-03-07 09:42:47 -08:00
William Cheng
51a19e1c27 [C#][netcore] Call static method without creating instance (#8889)
* call static method without creating instance

* fix instance

* fix missing equal sign

* skip instance creation

* cast to T

* update httpclient apiclient.mustache
2021-03-07 17:45:14 +08:00
Internaional Network Support & Service - Glas
041d908963 Changed virtualan version from 1.0.0 to 2.1.7. Update readme.md and d… (#8910)
* Changed virtualan version from 1.0.0 to 2.1.7. Update readme.md and description in springboot generator.

* Updated virtualan link in spring.md.

* update samples

Co-authored-by: networkinss <oliver.glas@inss.ch>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-03-07 09:38:31 +08:00
William Cheng
8509f6b25a remove javascript-promise-es6/test/model/ModelReturn.spec.js 2021-03-06 22:51:19 +08:00
William Cheng
d279b79d2d remove modelreturn.js spec 2021-03-06 21:53:43 +08:00
William Cheng
4ab17cfd96 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2021-03-06 21:01:52 +08:00
William Cheng
e617f7c166 remove unused js test spec 2021-03-06 21:01:35 +08:00
Ethan Keller
d25df488bd Fix String cast error on default object (#8903)
See #8896 .
2021-03-06 20:50:25 +08:00
William Cheng
bb6a858c32 update samples 2021-03-06 19:02:40 +08:00
delenius
7b5a583345 Make JS client case sensitive wrt. reserved words (#8905)
Fixes #8904
2021-03-06 18:40:06 +08:00
Pavel Sveda
e25fa8ed7d Allow to set additional property of any type. Useful for Boolean values. (#8507) 2021-03-06 17:35:23 +08:00
Blackclaws
85fd96a9ce [csharp-netcore] Make Blazor Webassembly compatible (#8876)
* Catch exception thrown in Blazor Webassembly when trying to access cookies

* Update samples
2021-03-06 15:50:48 +08:00
sunn
65a31f1d9f Make header checks case insensitive as described in RFC (#8874) 2021-03-06 15:49:51 +08:00
Sean Kelly
a13b222764 [Qt5] Emit signal when api has finished processing all pending work (#8884)
* Fixes #8864

* More elegant solution

* Rerun sample generation

* Fix whitespace that was fixed in merge conflict
2021-03-05 21:43:26 +01:00
sunn
3a40818519 Updated test and fix/workaround failed tests (#8899) 2021-03-05 17:54:21 +01:00
Jeff Shillitto
641ddc7cee Add Shotstack to users list (#8897) 2021-03-05 14:54:12 +08:00
Oleh Kurpiak
976b4aa757 [Java] Additional enum type annotations (#8389)
* [Java] Additional enum type annotations

* [Java] Additional enum type annotations
2021-03-04 23:33:00 +08:00
William Cheng
e18d4b97e0 [csharp-netcore][httpclient] add tests, bug fixes (#8885)
* add tests to csharp-httpclient petstore

* fix basepath in tests

* fix response headers

* skip file upload test in httpclient

* update samples

* update tech committee
2021-03-04 16:02:31 +08:00
sunn
1983dfc122 Indendation and whitespace changes (#8879)
Indentation and code readability
2021-03-03 20:36:11 +01:00
William Cheng
4986ea8c93 update samples 2021-03-04 00:45:20 +08:00
William Cheng
0c37275224 [C#][netcore] update dependencies to newer versions (#8872)
* update csharp-netcore dep to newer versions

* restore Org.OpenAPITools.Test.csproj

* rollback CompareNETObjects version

* rollback .net test sdk

* use 15.9.2 for test

* rollback sdk test version

* Revert "rollback CompareNETObjects version"

This reverts commit c03c00facb.

* Revert "Revert "rollback CompareNETObjects version""

This reverts commit acc66ae4f9.
2021-03-03 20:12:56 +08:00
sunn
d4696157d6 Add QSet Header to the Helper (#8873) 2021-03-03 18:13:22 +08:00
Blackclaws
8c2a0ce6d6 [csharp-netcore] Fix handling of Dictionary query parameters and fix deepObject style parameter handling (#8848)
* DeepObject also for required parameters

* Fix NullPointerException on inline deepObject such as a Dictionary<string, string>

* Add deepObject in ParameterToMultiMap for deepObjects without explicit parameters

* Add some context to TODOs

* ParameterToMultiMap fixed in CSharp template for OAS 3 Dicts, taking deepObject into account

* Remove added whitespace

* Update samples
2021-03-03 16:59:29 +08:00
William Cheng
e6947d7c22 [C#] Better code format (remove trailing spaces) (#8871)
* remove trailing spaces

* remove trailing space, update samples (C#)
2021-03-03 16:46:12 +08:00
Sean Kelly
89b9802be3 [QT5] Support optional params using QVariant (#8733)
Use QVariant for optional parameters
2021-03-03 07:45:04 +01:00
Peter Leibiger
d31875f505 [dart][dart-dio] Fix failing master due to unstable test dependency (#8870)
* replace branch ref with commit ref (new release of http_mock_adapter coming soon)
2021-03-03 13:00:22 +08:00
basyskom-dege
950bb3d18f added QSet as datatype for unique items (#8830) 2021-03-02 18:44:22 +01:00
agilob
83a5c3db1e [dart] Default value is only available when nullable is not set (#8854)
* Default value is only available when nullable is not set (not false)

* Simplify isNullable mustache syntax
2021-03-02 18:06:45 +08:00
agilob
a34569f065 Correct use of loggers with placeholders and remove some redundant operations (#8842)
* Remove redundant operations

* Use logger correctly with object placeholders

* static compile of frequently used pattern

compile pattern ahead of time to reduce object creation and optimize
method

* Fix typo in method name
2021-03-02 17:24:25 +08:00
Peter Leibiger
5ce64756a6 [dart][dart-dio] Handle nullable/required header/query parameters (#8837) 2021-03-02 11:09:47 +08:00
Peter Leibiger
2ed702b339 [bug][dart][dart-dio] Improve parameterToString handling (#8372)
* [dart][dart-dio] Improve parameterToString handling

* add tests
* not sure this is complete but it is better than before and can serve as a baseline with the test cases

* Add a map parameter to FormData test

* Rename method to clarify what it actually does

* Couple more tests
2021-03-02 11:08:47 +08:00
William Cheng
07f8bde6c1 Test go-gin-server sample with go test -v (#8855)
* test go gin sample with `go test -v`

* install via go get

* update main.mustache
2021-03-02 11:07:25 +08:00
William Cheng
f7b2baf38e Add ApiClient.mustache for http client library (#8859)
* add api client mustache for http client

* clean up api client template for restsharp

* test c# httpclient in appveyor

* remove apiclient.cs

* regenerate apiclient.cs

* set library for http client

* remove Libraries

* use libraries folder
2021-03-02 10:52:05 +08:00
basyskom-dege
16e7408eb7 [C++][Qt5] Added function to add a new Server. Removed unused variables (#8725)
* cleanup unused variables,added addServerConfiguration() function

* added setNewServer functions

* using QUrl instead of QString
2021-03-01 10:55:28 +01:00
William Cheng
be91db5574 Update C# readme (#8858)
* update readme related to C# httpclient

* update samples, readme
2021-02-28 23:57:01 +08:00
William Cheng
125e6a439b better code, update sample for erlang client gen (#8853) 2021-02-28 22:38:50 +08:00
Blackclaws
e815d7ced8 C# Netcore WebRequest and HttpClient functionality (#8821)
* Add switch to disable RestSharp

* Introduce CLI Option for webRequestLibrary

* Fix missing brace

* Remove restsharp references

* HttpClient added

* WebRequest NewRequest functionality added

* WebRequest added to CLIOptions

* Add custom HttpMethod only for Restsharp.

* Add WebRequestPathBuilder.mustache

* HttpClient NewRequest

* Add using Statement to WebRequestPathBuilder.mustache

* Adjusts retry configuration for HttpClient

* Reuse JsonDecoder

* Make reusing the client a separate option

* Save cookies in request

* Implement more methods for HttpClient

* Small fixes

* Fix post content

* Add new sample config

* Update existing samples

* Add new sample

* Add new property supportsRetry

* Use new property to exclude RetryConfiguration

* Exclude Polly on non supporting Retry

* Update sample and documentation

* Create HttpMethod Patch for netstandard 2.0 compatibility

* Fix query parameter generation

* Switch to library settings

* Allow httpclient reuse (experimental)

* Remove webrequest from template as its not used right now
2021-02-28 16:18:16 +08:00
Jim Schubert
5a0b832bb4 sonar.yml: Run for OpenAPITools only 2021-02-27 17:00:07 -05:00
sbu
6f413f6aca Don't deploy to sonar in forks (#8856) 2021-02-27 14:22:34 -05:00
William Cheng
2c0991dabe better test for go-server (#8852) 2021-02-27 18:21:28 +08:00
Thomas Hervé
3cf93226fa Make nullable fix on all vars in Go (#8820)
* Make nullable fix on all vars in Go

This applies the Nullable change to all variables on the model, instead
of just the ones in vars.

* Add sample showing the issue
2021-02-27 18:12:51 +08:00
Frank T
ebac91aa32 [OCaml] Fix enum returnType in of_json.mustache for Api Impl (#8631)
* Fix OCaml enum returnType in of_json.mustache

* update samples (ocaml, python)

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-02-27 17:13:45 +08:00
cal
bc4bc36de7 [cleanup] erefactor/EclipseJdt - Remove redundant semicolons (#8666)
EclipseJdt cleanup 'RemoveRedundantSemicolons' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.18/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-02-27 15:45:51 +08:00
cal
2327f856cd [cleanup] erefactor/EclipseJdt - Remove unnecessary casts (#8698)
EclipseJdt cleanup 'RemoveUnnecessaryCast' applied by erefactor.

For EclipseJdt see https://www.eclipse.org/eclipse/news/4.18/jdt.php
For erefactor see https://github.com/cal101/erefactor
2021-02-27 15:42:21 +08:00
Dheeraj Nalluri
264b017eec [Java][Client] JSON-B serialization support (#8729)
* Added JSON-B support.

* Mention jsonb in docs
2021-02-27 15:32:46 +08:00
Martin Delille
2b716684f3 [cpp-qt5-client ] Improve CMake (#8724)
* Improve CMake

* Don't link ssl and crypto only for apple

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-02-27 15:15:24 +08:00
Yannick Schutz
85b2b3c2e4 Add mime/multipart missing import in go server (#8790) 2021-02-27 14:50:16 +08:00
nitschy
a8b74d10ec FIX: Error in mustache.api (#8800)
When a GET/PUT/POST operations includes queryParams, then the feign generator wrongly generates the Basename instead of the paramName. That leads to
a java.illegalstateException ("Body parameters cannot be used with form parameters") in Feign Contract when attempting to invoke the Method.
i.e: a generated feign client:
public interface PersonClientTest extends RestApi {
    @RequestLine("GET /personen/{kundenNummer}?mitUnterstruktur={mitUnterstruktur}")
    @Headers({
            "Accept: application/json",
            "If-None-Match: {ifNoneMatch}"
    })
    PersonOut getPersonByKundenNummer(@Param(value="kundenNummer", expander=ParamExpander.class) String kundenNummer, @Param(value="If-None-Match", expander=ParamExpander.class) String ifNoneMatch, @Param(value="mitUnterstruktur", expander=ParamExpander.class) Boolean mitUnterstruktur);
}

in the headers:
 "If-None-Match: {ifNoneMatch}"
but in the method:
 @Param(value="If-None-Match", expander=ParamExpander.class) String ifNoneMatch
the value should be ifNoneMatch instead of "If-None-Match"
2021-02-27 14:47:11 +08:00
Blackclaws
f8770d7c33 C# Aspnetcore Generator. Fix Parameters missing (Name = ) Property (#8826)
* Fix parameter Name= missing.

* Update samples

* Fix wrong name in template

* Update samples again
2021-02-25 23:36:35 +08:00
Peter Leibiger
3e9c1e1fc3 [dart] Remove old leftover format parameter from path (#8834) 2021-02-25 20:29:34 +08:00
Peter Leibiger
fbe2bb7c97 [dart][dart-dio] API class/template refactoring (#8825)
* [dart][dart-dio] Refactor API template

* first construct a `RequestOptions` instance with all parameters etc. inline
* then construct and serialize the body data
* then send the request and await the response
* then deserialize the response
* always use the `specifiedType` for built_value (de)serialization instead of a mix of ways (this does the same as finding the serializer directly)
* use indent of 2 spaces (as per Dart convention)
* prefix all local variables to prevent name clashes with parameters

* Add tests that (de)serialize collections and add API key header
2021-02-25 20:24:21 +08:00
agilob
9fc33f6a73 [Dart] Add configuration to add new generators and add json_serializable (#8789)
* Add Dart configuration flag to set new generator

* Change templates to add json_serializable generator

* Fix dart tests

* Add custom serialization for standard generator

* this change opens us a way to allow adding more than 2 generators

* Add sample project for json_serializer

* Use basename for json field name

* Update samples with basename as json key

* Update dart generator docs

* Create AbstractDartCodegen class

* Update docs, dart-dio and dart-jaguar dont get json_serializable yet

* Deduplicate method calls

* Dix dart-dio generation

* Revert formatting change in dart mustache

* Fix formatting changes again

* Improve dart serialization documentation

specify default serializer

* Better name for cli option

* Rename default dart generator to 'native'

* Another attempt to reduce whitespace noise

* Fix api-client and api-helper

* Rename default serialization mode to include word serialization

* Remove trailing whitespace in enums
2021-02-25 17:11:16 +08:00
Rafael Ceron
34c77c2807 typescript-nestjs: removed unused basePath from api.service template (#8811)
* (nestjs) removed unused basePath from api.service template 8810

* Update modules/openapi-generator/src/main/resources/typescript-nestjs/api.service.mustache

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>

* added missing parenthesis on Global() decorator

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2021-02-25 08:43:21 +01:00
William Cheng
df1ae03960 [Refactor] create Python abstract class (#8817)
* create python abstract base class

* refactor AbstractPythonConnexionServerCodegen

* update doc
2021-02-25 14:10:49 +08:00
Adrien CABARBAYE
a31dba5b88 [GO] use latest available oauth2 version (#8764)
* [GO] use latest available oauth2 version

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-02-25 02:32:49 +08:00
Thomas Hervé
f9b1f98d21 Fix base type naming in Go (#8819)
Go generation didn't properly named base type in `getSchemaType`, which
ends up breaking some doc generation.
2021-02-25 02:31:59 +08:00
Peter Leibiger
4f4f1d4128 [dart][dart-dio] Remove manual json encode/decode calls in API classes (#8812)
* [dart][dart-dio] Remove manual json encode/decode calls in API classes

Dio automatically adds a default transformer which does call `json.encode` and `json.decode` when the content-type is `application/json`. When the content-type is different, then it  is up to the consumer to configure the Dio instance correctly to support custom content-types.

Also tests!!!

* [dart] Constraint test library to < 1.16.0 as it requires Dart 2.12.0

* Fix more constraint problems for the new test project
2021-02-24 23:29:41 +08:00
Martin Delille
b5c665472c Qt client handle deprecated (#8766)
* Qt client handle deprecated

* Update sample

* update VERSION

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-02-24 11:46:07 +08:00
William Cheng
91805936e6 [maven plugin] fix security issues (#8795)
* use Files.createTempFile in maven plugin to avoid security issues

* error check when creating a folder
2021-02-24 11:45:44 +08:00
William Cheng
c31e6e79d0 [online] use Files.createTempFile to address security concerns (#8788)
* use Files.createTempFile to address security concerns

* Update modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/service/Generator.java

Co-authored-by: Jonathan Leitschuh <Jlleitschuh@wpi.edu>

Co-authored-by: Jonathan Leitschuh <Jlleitschuh@wpi.edu>
2021-02-24 00:33:06 +08:00
William Cheng
c653051997 Revert "[Ruby] force users to specify the temp folder path to address security concerns (#8730)" (#8807)
This reverts commit 18a6f5a941.
2021-02-24 00:31:43 +08:00
Gabriel Féron
a7c6eccced Rust: Add support for lists (and sets) of enum values (#8693)
* Add support for arrays of enums for Rust

* Rust: Use HashSet if uniqueItems is true
2021-02-23 19:02:01 +08:00
William Cheng
9c4c624eb7 Add monitoring to detect tabs in the templates (#8738)
* add monitoring for tabs in the templates

* rename script

* add detect_tab_in_templates.sh

* rearrange tests

* add kotlin folders

* move test to circleci

* restore .travis.yml

* fix grep
2021-02-23 19:00:59 +08:00
Francesco Guardiani
4bf09833f4 [Java][Vert.x] Make ApiHandler reusable (#8720)
* Fix #8710

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Reintroduced default constructor

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Deprecated

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2021-02-23 15:38:57 +08:00
William Cheng
42d3dbd5d1 Fix bugs to ensure unique parameter names (#8762)
* fix unique parameter naming

* add tests
2021-02-23 14:49:44 +08:00
agilob
e7f50f66a3 Make all loggers non-static (#8799)
* Make all loggers non-static

Reduces memory usage on startup by between 2 and 4 MB

* Fix compile error in some autogenerated? module
2021-02-23 14:46:56 +08:00
Ronny Pfannschmidt
eb3d6d2f16 [python][template] move _path_to_item of simple init to avoid name error (#8737)
* [python][template] move _path_to_item of simple init up so its avaliable for missing default errors

* update generated examples
2021-02-22 21:00:14 -08:00
William Cheng
19f43b5330 use Files.createTempFile in asciidoc tests if possible (#8794) 2021-02-23 11:57:05 +08:00
William Cheng
1b6cabb97d [Java] use Files.createTempFile instead (#8787)
* use Files.createTempFile

* fix import

* add missing import
2021-02-23 11:40:37 +08:00
William Cheng
d85f61ff0c [TS] Revert changes in nestjs readme (#8793)
* revert changes to nestjs readme

* update samples
2021-02-23 11:33:32 +08:00
William Cheng
00c7ebab66 use Files.createTempFile (#8791) 2021-02-23 11:33:10 +08:00
William Cheng
764a3b044c replace tab with spaces, minor code format change (#8774) 2021-02-22 19:46:11 +08:00
William Cheng
e6b44349ba Add a link to the blog post by cloud-viadee (#8786) 2021-02-22 15:18:00 +08:00
Daniel Friesen
047a71c574 [typescript-axios] Support array query arguments (#8772)
* [typescript-axios] Support array query arguments

typescript-axios does not correctly output query arguments when you use `explode: true` for a parameter.

fixes #7966
fixes #7973

* Fix mistake in query parameter setting
2021-02-21 17:27:46 +01:00
Kamil Piotrowski
a9e797c6ca Add additional AWS v4 signature parameters to go client generator (#8706) 2021-02-21 22:07:22 +08:00
James Gilliland
f3c164d1ad [PHP] Use a valid php type for maps (#8718)
* Use a valid php type for maps

* Convert type hint to correct format

Align map array format to that expected by phpdoc and associated tools.
2021-02-21 18:07:45 +08:00
William Cheng
c636f7e08d update jackson to 2.12.1 (#8783) 2021-02-21 17:53:23 +08:00
William Cheng
e432dfa59a update gradle.properties to fix appveyor build issue 2021-02-21 14:47:37 +08:00
William Cheng
e9d4886e70 replace tab with spaces, minor code format change (#8775) 2021-02-21 12:14:52 +08:00
sullis
695efdba71 enable Dependabot v2 (#8642) 2021-02-21 11:55:29 +08:00
William Cheng
ea428d6048 update jackson dependencies to address security issues (#8778) 2021-02-21 11:40:24 +08:00
Govind
04bd1ece23 fix for 8760 (#8761) 2021-02-20 11:54:48 +08:00
William Cheng
9c20050bdc Add an option to skip operation examples (#8731)
* add flag to skip operation examples

* reset to false
2021-02-20 11:51:21 +08:00
William Cheng
ba4aae5074 [Go] bug fix (breaking), minor code format enhancement (#8715)
* go minor code format enhnacement

* fix required vars in the model new

* remove comma
2021-02-20 11:50:27 +08:00
William Cheng
ee12a6f7ee revise invalid spec error message (#8735) 2021-02-20 11:49:31 +08:00
William Cheng
18a6f5a941 [Ruby] force users to specify the temp folder path to address security concerns (#8730)
* address security issue when downloading files in the ruby client

* update samples

* fix double quote
2021-02-20 11:49:10 +08:00
William Cheng
095019a6d8 replace tabs with 4-space (#8757) 2021-02-19 23:06:20 +08:00
William Cheng
d19bfebeda replace tabs with 4-space in dart templates (#8740) 2021-02-19 18:02:54 +08:00
Anthony Whitaker
bb712013f8 Fix misleading warning message for missing output directory. (#8742)
Change warning message to info.
Add name of directory checked to message.

Resolves #4627
2021-02-19 11:48:54 +08:00
William Cheng
bed5ab17ef Remove flash templates (#8741) 2021-02-19 10:55:44 +08:00
William Cheng
d5a9b53bdc replace tabs with 4-space (#8739) 2021-02-19 10:54:55 +08:00
Martin Delille
df5050f3b0 [cpp-qt5-client] Fix qt5.15 check (#8711)
* Fix qt5.15 check

* Fix check fix
2021-02-18 11:54:10 +08:00
Peter Leibiger
c916df9381 [dart][dart-dio] Nullable support/improvements (#8727)
* [dart-dio] Disable nullable fields by default

This is not in line with the OAS and will prevent future Dart nullabilty features (NNBD) from being useful as all types would be optional.
Users can still opt-in for this.

* [dart-dio] Properties are nullable when not required AND not nullable

* [dart][dart-dio] Support nullable/required fields

* properties in built_value need to be nullable when they are nullable in OAS or when they are not required in OAS
* built_value does not support serializing `null` values by default as it is based on a serialization format based on iterables/lists and not maps
* dart-dio uses the built_value json plugin to convert the built_value format to regular json
* by generating a custom serializer for each class we can add support for serializing `null` values if the property is required AND nullable in OAS
* this is a breaking change as not all properties in the models are nullable by default anymore

* Implement required/nullable for dart

* Changes for set types and enum names after rebase

* Add some comments and fix built_value fields with default being nullable

* More rebase changes and regenerate docs
2021-02-17 21:44:21 +08:00
Peter Leibiger
7704ff3d08 [dart][dart-dio] Allow API key authentication with multiple API keys (#8728)
Remove the break stopping after the first key.
2021-02-17 21:40:27 +08:00
William Cheng
55292dd22b Add ASP.NET Core 5.0 support (#8717)
* add aspnet core 5.0 support

* skip overwriting Org.OpenAPITools.csproj

* update doc

* update doc
2021-02-17 18:58:13 +08:00
Oleh Kurpiak
135c8f45a4 [Java][native] extend native ApiClient (#8557) 2021-02-16 21:47:44 +08:00
Peter Leibiger
683dcb8889 [dart][dart-dio] Raise min Dart to 2.7.0 & update built_value constraint (#8684)
* raise min Dart version to 2.7.0 / Flutter 1.12.0
* update constraints for built_value to support new major versions with null safety
2021-02-16 18:00:59 +08:00
Peter Leibiger
608242b4d8 [dart][dart-dio] Improve prefixing of inner enums with classname (#8685)
* [dart][dart-dio] Improve prefixing of inner enums with classname

* prevent further name conflicts by correctly naming the enum, until now there could potentially occur conflicts e.g. 2x `MapTestInnerEnum` by renaming the `items` child property
* correctly set `enumName` to match `datatypeWithEnum`

* Unrelated test regeneration
2021-02-16 17:59:54 +08:00
Patrick McGleenon
3c4015b897 [REQ] [GO] Added enumClassPrefix option to go-gin-server. Used same appro… (#8681)
* [REQ] Added enumClassPrefix option to go-gin-server.  Used same approach as #7008 (go-server)

	modified:   docs/generators/go-gin-server.md
	modified:   modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoGinServerCodegen.java
	modified:   modules/openapi-generator/src/main/resources/go-gin-server/model.mustache

* Fixed CI error in docs
2021-02-16 17:54:00 +08:00
goexplore
cd0ca65732 [aspnetcore] Improve model inheritance support by including JsonSubTypes to properly handle serialization (#8384)
* Add JsonSubTypes to templates

* Add JsonSubTypes to templates

Co-authored-by: Anders Gilje <agilje@slb.com>
2021-02-16 09:20:47 +08:00
William Cheng
53285e5aa5 update samples 2021-02-16 08:15:04 +08:00
David Hontecillas
51c8fd1520 Fix generated go client cannot upload file (#8393)
* go client send **io.File body

* run generate-samples for Go upload fix
2021-02-16 08:08:27 +08:00
Benjamin Klatt
b294165548 New blog post about OpenAPI Generator added (#8712)
* FIX #8583 [BUG][JAVA] AbstractOpenApiSchema package

Fixed package declaration in AbstractOpenApiSchema.mustache template

* New blog post added
2021-02-16 07:56:57 +08:00
sforst
99b36b9b3a [typescript-fetch] handle uniqueItems correctly in model and api (#8695)
* [typescript-fetch] handle uniqueItems correctly in model and api

uniqueItems produces Set instead of Array as type, but the corresponding code did not treat Set correctly

use `Array.from` and `new Set` to convert from Set to Array and vice versa, if uniqueItems is true.

related to https://github.com/OpenAPITools/openapi-generator/issues/8258, but only fixes typescript-fetch

* [typescript-fetch] update samples
2021-02-14 17:12:00 +08:00
William Cheng
69cf4921c6 Add Gumtree to the user list (#8696)
* update headers

* add gumtree to user list
2021-02-14 11:34:40 +08:00
Reinhard-PTV
1006d2f21e [java native][dotnetcore] Implement QueryParameter deepObject style for client generators java native and dotnetcore. (#8563) 2021-02-14 11:03:08 +08:00
William Cheng
859a066052 add sponsorship message for jim's work (#8650) 2021-02-14 10:43:31 +08:00
Moshe Elisha
90e8dcf3e3 [JAVA][native] - Fix #8027 - import the auto generated supporting JSON class only when discriminator is needed (#8554)
* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Revert "Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true"

This reverts commit 56e2b1fb

* Revert "Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true"

This reverts commit 335c304d

* Fix #8027 - import the auto generated supporting JSON class only when generateSupportingFiles is true

* Fix #8027 - import the auto generated supporting JSON class only when discriminator is needed

* Fix #8027 - import the auto generated supporting JSON class only when discriminator is needed

* Fix #8027 - import the auto generated supporting JSON class only when discriminator is needed
2021-02-12 23:02:13 +08:00
Daisuke Murase
ec39a2ffbf [rust client] upgrade reqwest crate to 0.11 (#8603)
* set reqwest version to 0.11

* update sample
2021-02-12 19:05:20 +08:00
Gary Blaser
0e16eba06a typescript-node: bug in models.mustache with for...in on an empty array. (#8575)
* Fixed typescript bug in models.mustache with for...in on an empty array.

When an empty array comes in, the current for...in syntax results in creating an empty object being created and added to the array. This is the output from receiving an empty array that gets deserialized, resulting in an object with undefined values.

Switching to a for i < array.length loop fixes this issue.

```
body: [
    GroupCustomResource {
      apiVersion: undefined,
      kind: undefined,
      spec: undefined,
      metadata: undefined,
      status: undefined,
      '': undefined
    }
  ]
```

* Fixed typescript deserialization bug that was adding non-existent entries to objects during deserialization.

When an object comes in, the current for...in syntax results in adding an undefined key/value pair to each nested object, with key being empty string and value being undefined. This is the output from receiving an object that gets deserialized.

Adding a check to see if attributeType.name exists before adding it to the deserialized object fixes this.

```
res.body of listGroup for saved group is  [
  GroupCustomResource {
    apiVersion: 'v1',
    kind: 'Group',
    spec: GroupSpec {
      name: 'TestDeploymentGroup67264',
      tenancyId: 'tenancy',
      description: 'TestGroup description',
      '': undefined
    },
    metadata: { additionalProp1: {}, spectra: [Object] },
    status: undefined,
    '': undefined
  }
]
```

* Fixed for array for loop in serialize and added truth check for deserialize

* Made for...in loop a for loop; gets rid of the need for the truth check

* Fixed serialze/deserialize for loops for arrays

Co-authored-by: Gary Blaser <gary.blaser@oracle.com>
2021-02-12 09:01:40 +01:00
miyucy
3c4b1a0c4c Fix syntax error (#8675)
Added missing closing brace in list_invalid_properties model method.
2021-02-11 23:43:19 +08:00
Bruno Coelho
23de86a434 [kotlin][client] update dependencies (#8673)
* [kotlin] update pom.xml

* [kotlin] update pom.xml

* [kotlin][client] update dependencies

* [kotlin][client] restore gradle

* [kotlin][client] try to fix CI

* Revert "[kotlin][client] restore gradle"

This reverts commit 20a2947447.

* [kotlin][client] try to fix CI

* [kotlin][client] try to fix CI

* [kotlin][client] try to fix CI

* install gradle

* [kotlin][client] try to fix CI

* [kotlin][client] try to fix CI

* [kotlin][client] disable integration tests

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-02-11 22:32:29 +08:00
William Cheng
47e697e492 add sponsorship message to the lau generator (#8665) 2021-02-10 12:08:00 +08:00
William Cheng
5193f975bc add lumeris to the user list (#8664) 2021-02-10 09:45:45 +08:00
William Cheng
97bf6d29dd update doc 2021-02-10 08:32:36 +08:00
Bruno Coelho
7a435ac1bb [Kotlin][Client] create request config method (#8617)
* [kotlin][client] create an api method to create the RequestConfig

* [kotlin][client] generate sample projects

* [kotlin] add docs to RequestConfig method

* [kotlin][client] generate sample projects

* [kotlin] improve docs on the RequestConfig method

* [kotlin][client] generate sample projects
2021-02-10 00:13:25 +08:00
Matěj Kašpar Jirásek
5a3ab4299f Update Swift styleguide link in contribution (#8656) 2021-02-10 00:11:36 +08:00
William Cheng
71a8e0afda Add sponsorship message in C generator (#8649)
* update c generator sponsorship message

* add powerofcreation
2021-02-09 21:49:49 +08:00
Kaijia Feng
df1df5c5df Minor fix for typescript-nestjs (#8654) 2021-02-09 13:42:27 +01:00
Reinhard-PTV
6fdd8ea3da Fixed serialization of date-time query parameters. (#8616) 2021-02-08 23:03:29 +08:00
basyskom-dege
578420cfa9 Finished paramter styling(query,path,header,cookie) (#8587) 2021-02-08 20:21:53 +08:00
Reinhard-PTV
df107e2244 Do not use context timezone. (#8614) 2021-02-08 19:25:58 +08:00
William Cheng
1bff357958 Fix HTTP Signing authentication in C# .net 5 client (#8645)
* fix issues with http signing in .net 5

* add new files

* remove comment from yaml
2021-02-08 19:22:09 +08:00
William Cheng
e4b31b7601 add sponsorship message in swift5 generator (#8643) 2021-02-08 19:06:19 +08:00
Jamie Gaskins
d4c76df79f Fix syntax errors and method calls in code generated by Crystal client generator (#8644)
* Fix string interpolation

* Fix syntax error and s/include\?/includes\?/

* Fix more `.include?` and `.key?` calls

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-02-08 19:02:55 +08:00
kalinjul
d57aa95b80 Replace deprecated import for kotlin Parcelize annotation (#8590)
* replace deprecated import

* update kotlin version to 1.4.20, add kotlin-parcelize plugin

* update samples to gradle 6.8.1

* Revert "update samples to gradle 6.8.1"

This reverts commit 2f9bbe804f.

* Revert "update kotlin version to 1.4.20, add kotlin-parcelize plugin"

This reverts commit 5063141c0c.

* Add kotlin-parcelize plugin for kotlin-client
2021-02-08 13:31:21 +08:00
Troy P
75b987104b [JS] the replace statement in parseDate is too greedy (#8632) (#8633)
* updated the regex used in the String.replace for parseDate() to more precisely target ISO-8601
* added the replace function call to the ES6 mustache file
2021-02-08 13:27:59 +08:00
cal
ef9e8b7181 refactor: erefactor/AutoRefactor - Annotation (#8544)
AutoRefactor cleanup 'AnnotationCleanUp' applied by erefactor:

Simplifies annotation uses:
- empty parentheses will be removed from annotations,
- single members named "value" will be removed from annotations and
only the value will be left.

For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor
For erefactor see https://github.com/cal101/erefactor
2021-02-08 11:50:21 +08:00
Stephane Carrez
a06af89be9 Fix #8640: [BUG] [Ada] Server skeleton does not compile when an operation has no parameter (#8641)
- add missing 'use Swagger.Streams;' clause
- add Style_Checks pragma to fix style compilation warnings in generated Ada code
- fix spurious spaces in licence headers that cause Ada style compilation warning
- update the default GNAT project config
2021-02-08 11:20:15 +08:00
Benjamin Klatt
c5ddf463c4 FIX #8583 [BUG][JAVA] AbstractOpenApiSchema package (#8635)
Fixed package declaration in AbstractOpenApiSchema.mustache template
2021-02-08 10:33:57 +08:00
William Cheng
64097ea139 remove release tag 2021-02-06 20:17:58 +08:00
William Cheng
8025e5fe7b update readme 2021-02-06 18:52:09 +08:00
William Cheng
07a4c7b5bf fix meta-codegen pom.xml 2021-02-06 17:58:59 +08:00
William Cheng
3e81876e2c Merge remote-tracking branch 'origin/master' into 5.1.x 2021-02-06 17:52:32 +08:00
William Cheng
c7fcb39a2d Prepare v5.0.1 release (#8627)
* release 5.0.1

* update samples
2021-02-06 16:37:22 +08:00
William Cheng
21d7330aea update samples 2021-02-06 14:55:43 +08:00
Žilvinas Urbonas
90e25f6f4c [BUG][Python] init access token for python client configuration (#7469)
* fix: init access token for python client configuration

* fix: remove duplicate initializations for access_token
2021-02-05 13:09:53 -08:00
Ryan Cloherty
4c3820f66f Fixed incorrect link (#8626)
The link to the Gradle plugin linked to the Maven plugin. I've pointed the link in the right direction.
2021-02-05 23:54:56 +08:00
William Cheng
c33b5a66e7 minor fixes to ts nestjs generator (#8622) 2021-02-05 19:45:10 +08:00
William Cheng
e6cee8eb71 Mark java-vertx as deprecated (#8609)
* mark java-vert as deprecated

* update, clean up samples

* remove entrites related to java-vertx
2021-02-04 16:36:55 +08:00
William Cheng
19eaf73205 update README with new generators 2021-02-04 15:03:11 +08:00
William Cheng
b7ee885805 [C#][netcore] fix binary response (#8593)
* fix binary response

* update test file hash
2021-02-04 11:01:44 +08:00
William Cheng
a5ac2ee1a3 remove import as already stated in the installation instruction (#8608) 2021-02-04 10:50:43 +08:00
Aanisha Mishra
d869544ce1 [Go][Client] Secret key content string in http signing support (#8570)
* accept private key content string

* sample update

* Add comments to new methods

* update samples with comments

* Update modules/openapi-generator/src/main/resources/go/signing.mustache

Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>

* Update modules/openapi-generator/src/main/resources/go/signing.mustache

Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>

* Update signing.mustache

* update sample comments

* Update modules/openapi-generator/src/main/resources/go/signing.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/go/signing.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* update empty checks for privateKey

Co-authored-by: Vikrant Balyan <vvb@users.noreply.github.com>
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
2021-02-04 10:33:17 +08:00
William Cheng
d7bdd7f490 Fix TS tests in Travis CI (#8607)
* remove npm test

* remove npm test

* rearrange tests

* move ts axios tests to circleci

* Revert "move ts axios tests to circleci"

This reverts commit 356f795617.

* add moduleResolution: node

* update tsconfig.json

* add axios installation

* install builds/with-npm-version

* update samples
2021-02-04 09:17:45 +08:00
William Cheng
6fa586635b fix logo 2021-02-03 17:20:37 +08:00
Bruno Coelho
45fc02350b [kotlin] fix Date types usages (#8594)
* [kotlin] fix Date types usages
2021-02-02 20:55:51 -05:00
Jens Oberender
b78d4fce6a Upgraded dependency versions in okhttp generator. (#8604)
Co-authored-by: Jens Oberender <burberius@users.noreply.github.com>
2021-02-02 20:45:09 -05:00
William Cheng
ca225e4827 update samples 2021-02-02 21:15:02 +08:00
William Cheng
5b99d8724c Merge remote-tracking branch 'origin/master' into 5.1.x 2021-02-02 21:04:15 +08:00
Peter Leibiger
1b440e191c [dart-dio] Improve API & API-Client field initialization (#8589) 2021-02-02 18:46:51 +08:00
Peter Leibiger
769b0e0e38 [feature][dart] Add support for uniqueItems/sets (#8375)
* [dart][dart-dio] Add support for set types

* copy `uniqueItems` usage from 2.0 fake spec to `3.0`
* add support for sets in parameters, responses and properties

* Regenerate all other samples

* Fix broken tests due to invalid cast

* Update documentation

* Regenerate samples

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-02-02 18:42:45 +08:00
William Cheng
f01ee4a8d2 Add a link to presentation at Open Source Summit Japan 2020 (#8596)
* Add a link to presentation at Open Source Summit Japan 2020

* rearrange
2021-02-02 15:37:40 +08:00
William Cheng
1baec57de8 remove old script reference in readme (#8595) 2021-02-02 11:47:13 +08:00
Peter Leibiger
26f21bb6a0 [dart-dio] Add missing isRedirect parameter to response (#8588) 2021-02-01 22:29:20 +08:00
William Cheng
19f21acd85 Fix handling of 1xx and 3xx in Rust Reqwest (#8574)
* Remove redundant Rust use statement

* Return errors only for 4xx and 5xx in Rust reqwest

Since 1xx and 3xx are perfectly valid status codes the client might
need to handle.

see: https://docs.rs/reqwest/0.11.0/reqwest/struct.StatusCode.html#method.is_informational

* Regenerate samples

Co-authored-by: Gabriel Féron <feron.gabriel@gmail.com>
2021-02-01 16:29:01 +08:00
Pe-te
c12f6041f7 Added 'hash' to objcReservedWords (#8582)
Fix for https://github.com/OpenAPITools/openapi-generator/issues/7991
2021-02-01 13:31:30 +08:00
William Cheng
6dee98784a Fix auto-generated R doc (#8584)
* fix auto-generated R doc

* better example for enum value
2021-02-01 13:30:31 +08:00
William Cheng
d36ce1225d Add @kannkyo to JMeter tech committee (#8585)
* Add @kannkyo to JMeter tech committee

* rearrange
2021-01-31 15:09:07 +08:00
William Cheng
370d0e82f8 update samples 2021-01-31 14:27:46 +08:00
Matthew Dowdell
b4154be8d0 [Rust Server] Add support for Bearer token authentication (#7840)
* [rust-server] Add support for Bearer auth

- Added bearer auth to the security features for rust server
- Supplemented the basic auth condition in the context template to handled basic auth and bearer auth separately.
- Repurpose an exising sample to confirm the code generation works as expected.

* Update docs

* Update readme for bearer tokens
2021-01-30 12:07:46 +00:00
Richard Whitehouse
4ea4ceb0ff [Rust Server] Serializable responses (#8516)
* [Rust Server] Make responses serializable

* Update samples
2021-01-30 11:49:42 +00:00
Richard Whitehouse
c15a4375e2 [Rust Server] Cargo Metadata Configuration (#8519)
* [Rust Server] Support Cargo Metadata Configuration

This adds support for publish, repository, documentation and homepage metadata.

* [Rust Server] Test Cargo Metadata configuration
2021-01-30 11:49:18 +00:00
Igor Sirotin
328cadb070 [Qt5][C++] Fixed QByteArray::toUtf8 with FILE as request body. Included <stdexcept>. (#8550)
* Multiple cpp-qt5-client bugfixes.

* Added '#include <stdexcept>' where std::runtime_error is used
* Fixed request with FILE body: QByteArray doesn't have ::toUtf8()
* Updated related samples

* Fixed isByteArray section

* updated docs

* Docs changes reverted
2021-01-30 11:35:52 +08:00
Peter Leibiger
5135967c91 [dart] Fix typo added in 57126a19 (#8581) 2021-01-30 11:32:33 +08:00
adpoliak
a4312412fc [PYTHON] use customized default Configuration() objects if configured by the programmer (#8500) 2021-01-29 16:24:10 -08:00
William Cheng
1f8ceb9a1e update samples 2021-01-29 22:08:32 +08:00
William Cheng
de40772939 Add viadee logo (#8573) 2021-01-29 14:16:35 +08:00
Oleh Kurpiak
f0b9e21b6b [Java] fix generation for JavaTimeFormatter (#8348)
* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter

* [Java] fix generation for JavaTimeFormatter
2021-01-29 11:22:37 +08:00
NANASHI0X74
57126a1900 Add getters for private default Headers and authentications (#8509)
* add getters for default headermap and auths

* regenerate samples, make shebangs portable

* Revert making shebangs portable

This reverts commit ec60f60359.

Co-authored-by: nanashi0x74 <rian.lindenberger@mpq.se>
2021-01-29 10:58:07 +08:00
NANASHI0X74
a968fb1e33 make shebangs portable (#8556)
Co-authored-by: nanashi0x74 <rian.lindenberger@mpq.se>
2021-01-29 10:54:54 +08:00
Petr Tůma
061552f5d4 [feature][python-flask] Add CORS support to python-flask server (#8472)
* Add CORS support to python-flask server generator

* Documentation update and CORS support for other generators using the same base class

* Trivial sample changes
2021-01-29 10:54:02 +08:00
Frank Lehmann
64f5dc8077 [swift5] URLSession: Fix memory leak of SessionDelegate (#8558)
* Remove unused stored reference of delegate. URLSession keeps a strong reference anyway.

* Fix cleanup

* Update samples
2021-01-29 10:52:39 +08:00
Justin Black
2553d056dc Removes nulltype from python, updates samples (#8555)
* Removes nulltype from python, updates samples

* Removes nulltype from the python requirements

* Removes nulltype import in models, moves requiredVars to optionalVars when approprieate
2021-01-28 09:30:36 -08:00
William Cheng
f887441591 update samples 2021-01-28 16:47:09 +08:00
William Cheng
d97717ee24 Merge remote-tracking branch 'origin/master' into 5.1.x 2021-01-28 15:52:44 +08:00
Ricardo Zanini
e377eabbc5 Fix #8492 - Use Vertx reference instead of static class (#8501) 2021-01-28 15:26:42 +08:00
MarcelTon
5b82ed9407 [BUG][Java]Fixed defaultValue escaping in Vert.x server template (#5321)
* Fixed defaultValue escaping in Vert.x server template

* Ran all java/vertx scripts in bin folder (java-vertx-*, java-petstore-vertx) and committed result.

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-28 14:00:37 +08:00
Chris Coltsman
a2a88cb8f0 Spring codegen - fix equals and hashCode methods for byte array and binary (#8345)
* Spring codegen - fix equals and hashCode methods for byte array and binary

- they should be compared using Arrays.equals
- they're hash code generated using Arrays.hashCode

* Corrected checkstyle issues

* Revert changes for binary types
2021-01-28 13:04:03 +08:00
Francesco Guardiani
0b2aa21f5d Bumped Vert.x template to Vert.x 4 GA (#8528)
Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2021-01-27 19:44:42 +08:00
William Cheng
b203539869 update doc, move bitrise.yml (#8547) 2021-01-27 13:19:59 +08:00
Frank Lehmann
f6019f00a1 [swift5] Fix #8511 (request closure not being called) (#8537)
* Remove weak self to fix too early deallocations

* Update samples

* Remove podfile lock

* Run pod install on samples/client/test/swift5/default/TestClientApp/

* Revert "Run pod install on samples/client/test/swift5/default/TestClientApp/"

This reverts commit 5ad327c707.
2021-01-27 11:17:42 +08:00
William Cheng
7654356df2 Migrate elixir samples to use OAS v3 (#8538)
* use 3.0 spec for testing

* add new files

* add 200 responses

* update samples, better code format for jaxrs
2021-01-27 11:14:58 +08:00
William Cheng
cbd2038cb5 [Swift] move swift config files under ./bin/config (#8539)
* move swift config files under ./bin/config

* update bitrise config
2021-01-26 19:06:53 +08:00
William Cheng
f6c617d09f Add typescript-nestjs client generator (#8522)
* #3336 add nestjs generator

* #3336 add nestjs generator

* #3336 add nestjs generator

* #3336 add nestjs generator

* remove extra files from building

* Revert "remove extra files from building"

This reverts commit 7f80f961ef.

* fix merge

* fix tests

* Add missing test client options provider for nestjs

* cleanup PRS

* fix compilation error

* remove groovy bin files;

* fix tests

* add samples

* update doc

* update samples

Co-authored-by: Victor Frank <vfrank@lumeris.com>
2021-01-26 09:34:33 +01:00
翠 / green
fb1b62816f [typescript-axios] reduce file size (#8283)
* [typescript-axios] reduce file size

* [typescript-axios] regenerate-samples
2021-01-26 12:23:09 +08:00
William Cheng
84813be309 remove supportJava6 option (#8514) 2021-01-26 10:27:09 +08:00
Michael Ramstein
0ae54911c3 [Elixir] Adds workaround for httpc for post/put/patch requests (#5682)
* Ensures empty body is always present for post/put/patch

* Generate samples
2021-01-26 10:25:21 +08:00
SBNTT
a127aab497 --http-user-agent arg support in javascript generator (#8531)
* add User-Agent header in Javascript generator

* add User-Agent header in Javascript-apollo generator

* update samples
2021-01-26 09:50:16 +08:00
Bruno Coelho
17bb3750c4 [swift 5] fix objc integration (#8534)
* [swift 5] fix objc integration

* [swift 5] fix combine integration
2021-01-25 20:53:42 +08:00
iyzana
ecf905681c Implement useAbstractionForFiles for webclient library (#7567)
* implement useAbstractionForFiles for webclient library

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-25 18:55:26 +08:00
Peter Leibiger
201acbd3de [dart] Fix switch on enums not possible (#8512)
All enum instances are `const` so `equals/hashCode` is not needed.
Removing this allows to `switch/case` on enum instances.
2021-01-25 18:31:19 +08:00
basyskom-dege
c55bee1273 [Qt][C++] Updated cpp-qt5-client doc (#8251)
* Update cpp-qt5-client.md

Added missing security feature support in the documentation

* added missing security features in doc
2021-01-25 18:26:47 +08:00
Benjamin Klatt
55a21bc4fb viadee as using company (#8529) 2021-01-25 18:19:14 +08:00
kannkyo
c7a711697c Support json data in csv (#8461) 2021-01-25 18:17:15 +08:00
kannkyo
bdfe3706f7 Support securityDefinitions (#8459) 2021-01-25 18:13:29 +08:00
William Cheng
4990dd6d8a remove windows batch script (#8526) 2021-01-25 17:54:04 +08:00
cal
8a955255b3 erefactor - AutoRefactor - Collections.addAll() rather than loop (#8464)
Collection related refactorings:
- replaces for/foreach loops to use Collections.addAll() where
possible,
- replaces for/foreach loops to use Collection.addAll() where possible,
- replaces for/foreach loops to use Collection.removeAll() where
possible.

AddAllRatherThanLoopCleanUp from AutoRefactor applied by erefactor.
For AutoRefactor see https://github.com/JnRouvignac/AutoRefactor .
2021-01-25 17:34:52 +08:00
Antonio
cb530d4e75 Add .t in spec generation of Elixir structs (#8159)
* Add .t in spec generation of object types

* update samples

* Adds workaround for free-form maps with propper typespec

* Adds missing typsspec definition for structs

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Michael Ramstein <mr@cyon.ch>
2021-01-25 16:13:23 +08:00
basyskom-dege
58f486651e [Qt5][C++] Removed deprecated functions to support Qt6 (#8234)
* removed depricated functions

* using preprocessor variable. Updated samples

* added version check for random functions

* added another version check to Json functions

* Update modules/openapi-generator/src/main/resources/cpp-qt5-client/HttpFileElement.cpp.mustache

Co-authored-by: Martin Delille <martin@delille.org>

* Update modules/openapi-generator/src/main/resources/cpp-qt5-client/HttpFileElement.cpp.mustache

Co-authored-by: Martin Delille <martin@delille.org>

* Update modules/openapi-generator/src/main/resources/cpp-qt5-client/HttpRequest.cpp.mustache

Co-authored-by: Martin Delille <martin@delille.org>

* Update modules/openapi-generator/src/main/resources/cpp-qt5-client/HttpRequest.cpp.mustache

Co-authored-by: Martin Delille <martin@delille.org>

* Update modules/openapi-generator/src/main/resources/cpp-qt5-client/HttpRequest.cpp.mustache

Co-authored-by: Martin Delille <martin@delille.org>

* Update modules/openapi-generator/src/main/resources/cpp-qt5-client/HttpRequest.h.mustache

Co-authored-by: Martin Delille <martin@delille.org>

* Apply suggestions from code review

Changed version check to Qt 5.15 to remove the warning of the deprecated functions when compiling with Qt 5.15

Co-authored-by: Martin Delille <martin@delille.org>

Co-authored-by: Martin Delille <martin@delille.org>
2021-01-25 15:32:43 +08:00
Bruno Coelho
3a56e3818f [Swift 5] remove old swift sample (#8280)
* [swift] remove old swift sample

* [swift] update bitrise.yml

* [swift] update unit tests
2021-01-25 13:34:10 +08:00
Kuzma
57227e510f Remove servers urls with trailing slash (#7940)
* remove trailing slash

* update sample app

* added tests

* bug fix

* Adds test in DefaultGeneratorTest

* Reverts python files

* Does not modify a value of /

* Stops skipping / use case

* update samples

Co-authored-by: Justin Black <justin.a.black@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-25 13:32:39 +08:00
William Cheng
c5d4dc6d10 fix gradle test in appveyor (#8525) 2021-01-25 09:42:21 +08:00
Christophe Bornet
06ad7a51ef [Kotlin-Spring] Fix properties default value (#8373)
* [Kotlin-Spring] Fix properties default value

* Fix kotlin enum default

* Update go sample
2021-01-24 22:43:58 +08:00
William Cheng
c96764f563 add apideck as the bronze sponsor (#8523) 2021-01-24 16:48:45 +08:00
William Cheng
9286b43dfa remove the bin folder under kotlin samples (#8520) 2021-01-24 14:20:40 +08:00
Richard Whitehouse
5f2ca61862 [Core, Rust Server] anyOf / oneOf support for Rust Server (#6690)
* [Core] Inline Model Resolution of Enums

Enums need to be named types, so handle them as part of inline model resolution

* [Rust Server] Handle models starting with a number correctly

* [Rust Server] Additional trace

* [Rust Server] Add support for oneOf/anyOf

* [Rust Server] Update supported features

* [Rust Server] General template tidy up

* [Rust Server] Implement IntoHeaderValue for wrapped data types

* [Rust Server] Convert from string correctly

* [Rust Server] Test for anyOf/oneOf

* Update samples

* Update docs
2021-01-23 21:32:51 +00:00
William Cheng
0068932470 fix Parcelable option (#8513) 2021-01-23 14:16:41 +08:00
Jean-François Côté
030b75b012 [Play Framework] Update the bean validation to use version 2.0. (#8354)
* Update the bean validation to use version 2.0. For a reason I don't know, it was not working anymore with version 1.

* better format

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-23 10:58:36 +08:00
SBNTT
96da7aaf9d --http-user-agent arg support in dart generator (#8508)
* add User-Agent header

* set User-Agent header only if httpUserAgent is defined

* add User-Agent header in dart-dio generator

* update samples
2021-01-23 10:39:21 +08:00
Frank Lehmann
eecd30c2da [swift5] Fix target SDKs for Combine option (#8476)
* Update min sdks when Combine is used

* Update samples

* Revert "Update min sdks when Combine is used"

This reverts commit e88b8abaa7.

* Wrap import combine with canImport directive

* Update samples

* Wrap functions using Combine with canImport because of compiler error on archive

* Update samples

* Remove unnecessary newline and update samles
2021-01-23 10:35:37 +08:00
William Cheng
ac59ab9201 Update parser to newer version 2.0.24 (#8494)
* update parser to 2.0.24

* update tests
2021-01-23 10:34:26 +08:00
William Cheng
2bd4febd28 update gradlew, gradlew.bat (#8469) 2021-01-23 10:34:06 +08:00
Hugo Alves
a7a5937813 [JAVA][FEIGN]Implement unit tests for java-feign client (#8484)
* Implement unit tests for feign client

Implement tests
Migrate to junit 5

* Default feign client does not support PATCH verb

Default feign client does not support PATCH verb

* Remove test for GET endpoint with request body

* Configure junit in gradle build

* Configure logback for unit tests

* Add missing dependencies to sbt

* Fix gradle dependency

* Add logback to gradle unit test

* Regenerate samples

* Make junit test classes package private

* Make junit test classes package private

* Update samples

* Organize imports

* Organize imports
2021-01-23 10:33:16 +08:00
Peter Leibiger
90ed1290fa [dart][dart-dio] Improve form param handling, respect required flag (#8369)
* [dart-dio] Improve form param handling, respect required flag

* simplify template
* respect required flag (only null check when not rquired)
* minor formatting

* Add additional nullable check
2021-01-22 17:58:27 +08:00
Justin Black
2331432cc0 Adds hasValidation to all java core Schema classes (#8474)
* Adds hasValidation to IJsonSchemaValidationProperties

* Adds model validation examples for maxItems, minItems, minProperties, maxProperties, minLength, maxLength, multipleOf

* Adds schemas with pattern validation

* Adds minimum example schemas

* Adds maximum example schemas

* Adds ArrayWithUniqueItems

* Adds exclusiveMinimum schemas

* Adds exclusiveMaximum examples

* adds testModelGetHasValidation

* Adds testPropertyGetHasValidation

* Adds testQueryParametersGetHasValidation

* Uncomments out query parameters

* Adds testHeaderParametersGetHasValidation

* Adds testCookieParametersGetHasValidation

* Adds length assertions for properties and marameters

* Adds testBodyAndResponseGetHasValidation

* Improves validation setting

* Only sets exclusiveMinimum when minimum is set, only set exclusiveMaximum when maximum is set

* Adds fix for rust

* Fixes min and max setting for integers

* Regenerates python samples

* Updates code so python sample does not change
2021-01-21 09:52:49 -08:00
William Cheng
3d23b99242 minor fix to powershell api doc (#8496) 2021-01-21 21:21:40 +08:00
Jose Tom
b447e4f51d [ plugin docs ] Update gradle plugin version to 5.0.0 (#8490)
* Update gradle plugin version to 4.3.1

1. Updated gradle plugin version to 4.3.1 (to keep in sync with maven sample)
2. Removed modelFilesConstrainedTo  in the gradle sample to generate code for dummies who are pasting and running.

* Update version to 5.0.0
2021-01-21 15:47:49 +08:00
Karsten Thoms
1ceb5f5c96 Update README.adoc (#8488) 2021-01-21 09:48:25 +08:00
Richard Whitehouse
a61b7bbc65 [Rust Server] Reinstate tests (#8477)
* Revert "comment out rust server tests (#8440)"

This reverts commit 32b01cb39b.

* Update to swagger-rs 5.0.2

* Update samples for swagger-rs 5.0.2

* Update swagger multipart usage

- swagger/multipart renamed multipart_form
- Update boundary call

* Update samples
2021-01-20 23:16:54 +00:00
William Cheng
4d75a29991 fix typo in useOneOfDiscriminatorLookup (#8480) 2021-01-20 18:51:56 +08:00
Nicolas Bouvrette
5de112fca5 Update roadmap.md (#8473)
Fixing broken link.
2021-01-19 20:24:13 +01:00
William Cheng
62eecabfa5 [csharp-netcore] add .Net 5.0 support (#8467)
* add net5.0 support to csharp-netcore client gen

* update doc

* update samples
2021-01-19 22:38:34 +08:00
Anh (Duke) Nguyen
8b2ac7b0ac Fix README typo for Crystal (#8470)
* Fix README typo for Crystal

* Fix README typo for Crystal in Mustache template
2021-01-19 16:38:53 +08:00
Noor Dawod
f5c49609d2 Javadoc + operations interface + provider for state(ful/less) handlers (#8346)
* Added Javadoc + meta-data about request/response + abstract class.

* Added one more method to set base path.

* Updated Javadoc for each endpoint.

* Shorten the method name displayed in Javadoc.

* Fix README grammar.

* Separate imports based on type.

* Put operations into their own interface class.

* Update Javadoc.

* Adjust Mustache template to support Java 1.5.

* Add import for HttpServerExchange, suppress warning about using a Lambda.

* Remove @Override from a mgetStatefulHandler().

* Regenrate the samples.
2021-01-19 13:16:20 +08:00
Hugo Alves
ede2a2316c [JAVA][Feign] Replace Apache oltu with scribejava (#8318)
* - Replace apache oltu with scribejava
- Implement the following authentication methods
  - ApiKey header
  - HTTP basic authentication
  - Oauth client credentials flow
  - Oauth Implicit flow
  - Oauth Pasword (deprecated)

* Create class hierarchy for Oauth flows implementation

* Add instructions of how to use the ApiClient to Readme.md

* Update samples

* Remove support for java 6 and 7

* Remove java 6 and 7 support from gradle

* Format pom.xml

* Remove empty line

* Update samples

* Remove oltu dependency from build.gradle and build.sbt.
Replace oltu with ScribeJava

Update samples

* Update samples

* Update samples
2021-01-19 12:41:25 +08:00
Vladimir L
6e4c1307a7 use '{{#hasPathParams}}' instead of '{{#pathParams}}' to avoid path repetiotion if path contains multiple parameters (#8402) 2021-01-19 11:33:17 +08:00
Sakari Bergen
83e9986bba Style fix: correct copy-paste mistake in test package name (#8451) 2021-01-19 11:04:27 +08:00
William Cheng
cd936a66fd [Nim] test the petstore client in drone.io (#8466)
* test nim client in drone.io

* trigger build failure

* Revert "trigger build failure"

This reverts commit 7253c8ad3b.
2021-01-19 10:52:46 +08:00
William Cheng
53a5bfecfd Merge remote-tracking branch 'origin/master' into 5.1.x 2021-01-18 11:33:57 +08:00
Justin Black
e9c850fd4e Adds isNull to codegenX java core classes that represent schemas (#8462)
* Adds isNull to all schema classes

* Adds null model and property samples, adds models test of isNull

* Adds isNull tests for parameter and response also

* Reverts version file
2021-01-17 12:28:17 -08:00
Johannes Wienke
cd2a0db1ce Fix counting for large API solutions in generated Python README (#8403)
* Fix counting for large API solutions

Let 2 follow 1.

* Update Python samples with new readme
2021-01-15 13:51:12 -08:00
Justin Black
c4dbd2cfa3 [python] Fixes file upload + download, adds tests (#8437)
* Adds tests for file upload and files upload

* Adds test_download_attachment

* Fixes test_upload_file

* Adds download_attachment endpoint

* Adds test_download_attachment

* Updates assert_request_called_with signature

* Samples regen

* Adds upload download file spec route and sample gen

* Fixes file upload for application/octet-stream, writes test_upload_download_file

* Changes if into elif

* Improves python code in api_client
2021-01-15 13:27:33 -08:00
Toby Murray
99144252f7 Migrate off deprecate Gradle configurations (#8436)
A bunch of gradle configurations have been deprecated, with drop in replacements. Relevant to this project:

compile -> implementation
testCompile -> testImplementation

They're visible by executing e.g. ./gradlew build --warning-mode all with supporting documentation here: https://docs.gradle.org/6.6.1/userguide/upgrading_version_5.html#dependencies_should_no_longer_be_declared_using_the_compile_and_runtime_configurations
2021-01-15 22:32:50 +08:00
William Cheng
a4b356c8b3 fix typo (#8452) 2021-01-15 22:00:01 +08:00
Sakari Bergen
e78183abde Clarify PR instructions regarding @mentioning the technical committee (#8381) 2021-01-15 18:24:08 +08:00
Ștefan Cenușă
dfcd86f35a [typescript-axios] bump axios version to 0.21.1 to fix vulnerability (#8445)
* fix(typescript-axios): updated axios dependency to new minor version 0.21.1

* fix(typescript-axios): update samples
2021-01-14 20:03:20 +01:00
William Cheng
e2ad6dbc1b [Go] Fix response body (#8439)
* fix go response body

* add missing import
2021-01-14 23:32:19 +08:00
William Cheng
32b01cb39b comment out rust server tests (#8440) 2021-01-14 16:07:38 +08:00
William Cheng
a3952b2beb Add a link to the blog post in nginx blog (#8438) 2021-01-14 14:14:51 +08:00
William Cheng
22ac8faec7 Revert "[GO][Client] return GenericOpenAPIError instead of error in Execute() (#8137)" (#8427)
This reverts commit 1562afea39.
2021-01-14 13:59:21 +08:00
William Cheng
2b7ae4fa46 Consolidate 3rd item into the 4th item in PR template (#8428)
* Consolidate 3rd item into the 4th item

* minor change, use mvnw
2021-01-14 10:53:52 +08:00
Ronny Pfannschmidt
6b6d1b1a97 [python] fix #8404: avoid shadowing the name Endpoint (#8405)
if a type was named Endpoint, its import for use in the api would shadow
the name Endpoint for the internal utility
2021-01-13 08:38:41 -08:00
Thessi
008ddfb1ef [typescript-angular] Fix configuration import in apiInterface.mustache when the configurationPrefix option is used (#8416)
Co-authored-by: Stefan Straka <Stefan.Straka@cloudflight.io>
2021-01-12 17:01:48 +01:00
Sergey Terentyev
a80788d424 Renamed basic authentication function in sttp client (#8396)
* Fix #8395 - changed function name to basic

* Fix #8395 - changed function name to basic

* Fix #8395 - removed test.yaml file

Co-authored-by: sergey <sterentyev@ebay.com>
2021-01-12 11:13:07 +08:00
William Cheng
1c85fdc473 update doc to use colon as the separator (#8411) 2021-01-12 10:47:09 +08:00
Gokul Raj S
ce3e0c7d68 7358 (#8388)
1. unable to use --global-property models="User,Pet" as this creates only User model.
2. to solve the issue, instead of "," separator used ":" separator
3. made some changes with that
2021-01-12 10:36:03 +08:00
agilob
ed9133e77f Make frequently used IO resources autoclosable (#8181)
* Make frequently used IO resources autoclosable

* Autoclose ruby error input stream
2021-01-12 00:26:25 +08:00
Ryan Feeney
e26f440729 Remove modelFilesConstrainedTo from gradle example (#8312) 2021-01-10 10:15:13 -05:00
Hui Yu
0284fcd5c7 [C][Client] Fix the memory leak when a JSON string of model fails to parse. (#8390) 2021-01-10 15:10:05 +08:00
Esteban Gehring
f136b9fd01 docs: improve pull request checklist (#8349)
* docs: improve pull request checklist

include build command before updating samples

* Update PULL_REQUEST_TEMPLATE.md

* Update PULL_REQUEST_TEMPLATE.md
2021-01-10 14:46:31 +08:00
Bruno Coelho
646bcc64ad [Swift 5] code formatting (#8385)
* [swift] improve code formatting

* [swift] update sample projects

* Revert "[swift] improve code formatting"

This reverts commit 0cc280509c.

* [swift] update sample projects
2021-01-10 13:50:19 +08:00
Justin Black
ce893a84ff Fixes object serialization when there is an inline array property which contains a refed enum (#8387)
* Fixes object inline enum defintion with refed enum item

* Adds refed array model example w/ serialization + deserialization
2021-01-08 13:15:55 -08:00
William Cheng
1aa83b978b update meta-codegen 2021-01-08 21:55:56 +08:00
William Cheng
18bec1da28 Merge remote-tracking branch 'origin/master' into 5.1.x 2021-01-08 21:06:47 +08:00
Miroslav Šedivý
f2671fcb78 typescript-fetch: fix isCollectionFormatMulti for arrays of files (#8376) 2021-01-08 08:46:25 +01:00
Peter Leibiger
2ba0e03629 [dart-dio] Fix serialization of map body params (#8367) 2021-01-07 22:30:16 +08:00
Peter Leibiger
02473d8175 [dart] Cleanup, remove leftover inline objects/docs and regnerate tests (#8362) 2021-01-07 22:29:32 +08:00
Peter Leibiger
c43234711a [dart-dio] Generate the correct serializers (#8357)
* only generate actually used serializers (anything used in body or response)
* generate previously missing serializers for collection types
* improve formatting
2021-01-07 22:28:37 +08:00
Peter Leibiger
3b6c2b2342 [dart-dio] Add missing imports for container parameters (#8355)
* also remove redundant needToImport check
2021-01-07 22:27:27 +08:00
Wesley A
f5b2bb5057 Implement optional powershell verb parsing (#8252)
* Implement optional powershell verb parsing #8233

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-07 17:41:43 +08:00
William Cheng
1df719801e Add a new crystal client generator (beta) (#8304)
* add crytsal client generator

* update samples

* update doc

* regenerate spec

* regenerate spec

* various fixes

* test crystal in circleci

* test crystal client in drone ci

* Revert "test crystal client in drone ci"

This reverts commit 317f2cf2a0.

* fix install

* fix installation

* test crystal in travis

* cache image

* add --cache-from

* update doc

* run petstore with mvn

* install crystal

* fix install crystal

* sudo mvn

* run server

* using mvnw

* fix form or body parameter

* remove crystal from circleci

* fix test

* remove cache-from

* update doc
2021-01-07 17:10:22 +08:00
Dor Dadush
c67dc5d7d5 Fix error message templates for some field names (#8321)
some fields may start with a "u" character which causes
Powershell to think it is a unicode escape sequence.
2021-01-07 16:58:58 +08:00
Sascha Grebe
367ba3a2cf [cwiki] Added Enum documentation and fix newline problem for description (#8338)
* create enum documentation in model

* add newline to fix layout when a markdown table follows a markdown list

* avoid escaping of attributes to make sure documentation is displayed as in the spec
2021-01-07 16:57:14 +08:00
Thomas Hervé
4947634a24 Tweak regexp in underscore method (#8230)
The rule to split a capitalized word with plural didn't work properly,
leading to weird name generation in a few languages. This is an attempt
at fixing it.
2021-01-07 16:47:05 +08:00
Christophe Bornet
e73ae8c048 [Kotlin-Spring] Fix required model property deserialization (#8337)
* Fix required model property deserialization

* Update samples
2021-01-07 16:18:21 +08:00
Jon Schoning
4526ca2610 [haskell-http-client] regard mime type as json if "json" appears anywhere in the mimetype (#8361) 2021-01-06 14:33:31 -06:00
William Cheng
923e246fa8 rename titleCase, minor code format (#8350) 2021-01-06 23:48:11 +08:00
Guillaume TOURBIER
9bd2a45e72 typescript-angular: add providedIn for Angular 9+ (#8324)
* feat: add providedIn for Angular 9+

Adding new option, providedIn, for generator typescript-angular
Keep providedInRoot for backward compatibility but mark as deprecated
for Angular 9+

fix: #6432

* doc: providedIn

infos about providedIn
Mark providedInRoot as deprecated

* doc: run generate-samples for typescript

using typescript-angular-v9-provided-in-any.yaml

* refactor: runned ensure-up-to-date locally

* refactor: api.module.mustache rely on providedIn too

* doc: re-generate samples
2021-01-06 15:31:41 +01:00
William Cheng
663c8b2d80 update samples 2021-01-06 18:49:17 +08:00
Luiz Felipe Stangarlin
319bd7eaa8 Add Ktorm schema generator (#7759)
* [ktorm] added support for ktorm

* [ktorm] fixed type mapping

* [ktorm] fixed foreign key

* [ktorm] added variable for the missing package import

* [ktorm] added correct templates

* [ktorm] added relationship metadata

* [ktorm] also support relationships 1:m

* [ktorm] relation to primitive naming fix

* [ktorm] updated mustache templates

* [ktorm] small fixes on templates, assigmentbuilder, docs, sql script syntax.

* fix issue, rename to ktorm-schema

* replace tabs with 4 spaces

* [ktorm] added primarykey automatic generation

* [ktorm] added tests

* [ktorm] added gradle to samples

* [ktorm] fix datatime type

* [ktorm] template fixes array and primarykey

* [ktorm][sample] regenerate

* [ktorm][sample] added manually files from kotlin-client

We inherit from baseTable, so we need those for now

* [ktorm] fix: relation column types hardcoded

* update samples

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-06 17:04:49 +08:00
William Cheng
ae563bcf91 update technical committee (#8336) 2021-01-06 10:56:51 +08:00
fbl100
04dfff83e0 Fixes issue 8052: Stackoverflow in toExampleValue() for python client (#8326)
Added a Set<String> in toExampleValueRecursive() to keep track of which models we have
generated to avoid an infinite recursion for recursive models.  An example of a recursive
model would be a GeoJson GeometryCollection.

Co-authored-by: Frank Levine <frank.levine@blacklynx.tech>
2021-01-05 09:45:43 -08:00
Peter Leibiger
fc22de0522 [dart-dio] Fix failing integration tests (#8335)
This happened due to the merge of #6384 where implicit-dynamics were still allowed.
2021-01-05 22:08:55 +08:00
Dor Dadush
4cdf610be0 Fix fields null check in powershell model template (#8323)
If field is boolean, the value might be $False.
The current null checking does not allow $False to be set.
2021-01-05 21:56:06 +08:00
Hippolyte HENRY
a9c168c400 [ruby] Support aliasing of API keys (#8124)
* Allow aliasing of auth keys

* update sample and add config for feature

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-05 20:04:08 +08:00
William Cheng
c3a21863b5 fix bugs with duplicated decoder (#8223) 2021-01-05 14:58:24 +08:00
NickPak
72869d53a3 [C][Client] Add C++ reserved keywords to C-libcurl client generator, then the C client can be compiled by C++ compiler (#8205)
* [C][Client] Add cpp reserved keywords to C-libcurl client generator

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2021-01-05 14:39:56 +08:00
William Cheng
872f9399cd comment out dart dio tests due to CircleCI failure 2021-01-05 14:35:31 +08:00
William Cheng
3506ad6f17 Ignore docker login error for PR (#8327)
* ignre docker login error

* trigger faiure

* Revert "trigger faiure"

This reverts commit ce17593d28.
2021-01-05 10:46:28 +08:00
Peter Leibiger
9ec1e23c10 [dart][dart-dio] Fix collection and date default values not compiling (#8306)
* empty arrays are now correctly generated
* default arrays with values are empty
* date/dateTime is now always null in order to prevent compile errors
2021-01-05 09:45:27 +08:00
Peter Leibiger
0c4a928ebc [dart][dart-dio] Enable strong-mode and strict types (#8231)
* [dart-dio] Enable strong-mode and strict types

This will make it easier to eventually transition to NNBD. Also fix some formatting things.

* [dart-dio] Add implicit-casts: false to analysis options

* [dart-dio] Add dartanalyzer to integration tests

* raise minimum Dart version to 2.6 (to support spread collection)
* add header to all files for language version
* fix some missing imports that can be fixed (some remain due to missing inheritance support)
2021-01-05 09:43:17 +08:00
Josh Burton
604ac6d90f [dart-dio] Serializes request bodies using a specific serializer so a… (#6384)
* Updates samples

* Handles primitive types
2021-01-05 09:40:32 +08:00
Bruno Coelho
dd9a19ab8f [Swift 5] fix Multipart FormData encoding and add support for Form URLEncoded enconding (#8275)
* [swift5] fix issue with form data with null file

* [swift5] fix issue with form data with null file on alamofire implementation

* [swift5] update sample projects

* [swift5] fix issue with form data with null file on alamofire implementation

* [swift5] add support for form url enconded in URLSession

* [swift5] add support for form url enconded in Alamofire

* [swift] improve code formatting

* [swift] improve code formatting

* [swift] dont defaut to application/json
2021-01-05 09:27:14 +08:00
Bruno Coelho
d2aa40a935 [Swift 5] deprecate retry hook since its no longer needed (#8303)
* [Swift 5] deprecated retry hook since its no longer needed

* [Swift 5] deprecated retry hook since its no longer needed

* [swift] fix generator code formatting
2021-01-04 19:34:28 +08:00
William Cheng
caf52641f0 login dockerhub before pull (#8314) 2021-01-04 13:36:34 +08:00
Peter Leibiger
08fc5bb38f Update maven wrapper (#8305)
* ran `mvn -N io.takari:maven:0.7.7:wrapper`
* this fixes colored output not working in zsh/MacOs/BigSur, not exactly sure what caused it not to work anymore
2021-01-04 11:56:38 +08:00
Arnaud Jeansen
0c5cec8f75 7141: filter out problem+json mime type from JSON mime types fast tra… (#7976)
* 7141: filter out problem+json mime type from JSON mime types fast tracked into the Accept header (resttemplate)

* 7141: ran ensure-up-to-date

* 7141: minimize changes with master (keep using isJsonMime for MediaType)
2021-01-04 11:02:39 +08:00
Nicholas Muesch
00d56375b0 Use Map interface for configureApiKeys (#7982) 2021-01-04 10:54:01 +08:00
Sakari Bergen
ee2f0e04a9 Fix csharp-netcore enum var name underscore handling (#8213) 2021-01-04 10:35:24 +08:00
Hui Yu
a812bf18a8 [C][Client] Does not escape parameter name in URL path (#8243) 2021-01-04 10:30:48 +08:00
Christophe Bornet
bc247664eb [Kotlin-Spring] Fix optional requestBody with delegate (#8299) 2021-01-04 10:22:59 +08:00
Bruno Coelho
163c70e7d8 [Swift 5] create sample for URLSsession and Alamofire bearer authentication (#8302)
* [swift] create a sample of bearer token authentication with URLSession

* [swift] create a sample of bearer token authentication with URLSession

* [swift] create a sample of bearer token authentication with URLSession

* [swift] create a sample of bearer token authentication with URLSession

* [swift] create a sample of bearer token authentication with Alamofire

* [swift] create a sample of bearer token authentication with Alamofire
2021-01-04 10:03:26 +08:00
Bruno Coelho
72d6cff188 iOS - fix XcodeGen deploy target to match cocoapods (#8279) 2021-01-04 09:55:59 +08:00
Bruno Coelho
14efb8c70f [swift 5] update dependencies (#8277) 2021-01-04 09:55:23 +08:00
Tatsuro Shibamura
de3ec75b11 [csharp-netcore] Fixed ApiClient code generation not respecting modelPackage settings (#8272) 2021-01-04 09:52:07 +08:00
Josh Goldberg
566e7ef583 Fix two spaces after get headers() in typescript-fetch (#8294) 2020-12-30 10:32:40 +01:00
Justin Black
7d6063d05c Revert "Fixes issue 8052: Stackoverflow in toExampleValue() for python client (#8054)" (#8293)
This reverts commit fd02bc3d84.
2020-12-29 08:13:36 -08:00
Bruno Coelho
775b64f6c7 [swift5] add URLResponse to ErrorResponse (#8267)
* [swift5] add URLResponse to ErrorResponse

* [swift] improve unit tests

* [swift] improve unit tests
2020-12-29 23:31:12 +08:00
fbl100
fd02bc3d84 Fixes issue 8052: Stackoverflow in toExampleValue() for python client (#8054)
Added a Set<String> in toExampleValueRecursive() to keep track of which models we have
generated to avoid an infinite recursion for recursive models.  An example of a recursive
model would be a GeoJson GeometryCollection.

Co-authored-by: Frank Levine <frank.levine@blacklynx.tech>
2020-12-28 09:30:29 -08:00
Tomofumi Chiba
9889e5dfba [typescript(experimental)] fix for Deno v1.6 (#8265)
* fix for Deno 1.6

* update dependency version of Deno test code
2020-12-28 13:57:00 +01:00
William Cheng
c3220848f2 Update readme after 5.0.0 release (#8250)
* add badge for 5.1.x branch

* add badge for 6.0.0

* minor change

* update pr tempalte
2020-12-21 20:37:40 +08:00
William Cheng
25b0cbe2f1 Prepare 5.0.1 snapshot (#8249)
* update version to 5.0.1-SNAPSHOT

* update samples

* update meta codegen
2020-12-21 17:14:18 +08:00
William Cheng
345b68a107 prepare 5.1.0 snapshot release 2020-12-21 16:35:12 +08:00
William Cheng
d7d5e53f2b Prepare v5.0.0 release (#8247)
* update to 5.0.0

* update samples
2020-12-21 13:04:11 +08:00
Aanisha Mishra
72dc0cfb07 Fix logic for removal of forward slash in RegGen pattern (#8219)
* rxgen version update

* rgxgen version 1.2

* update rgxgen version to 1.3

* remove start end slash in patterns

* Remove debug logs

* fix logic for removal of backslash

* fix logic for forward-slash removal

* fix logic for removing unwanted characters in regex

* add test for example value for string properties

* improvise regex validation logic for example generation

* complicate regex examples

* regex pattern correction

Co-authored-by: aani <aani>
2020-12-21 10:15:32 +08:00
William Cheng
87926d0d1c Add a link to Yahoo! Tech blog (#8246)
* Add a link to Yahoo! Tech blog

* update link to techblog
2020-12-21 09:48:08 +08:00
William Cheng
d4e9f014ac Add a link to qiita blog post (#8245) 2020-12-21 09:42:09 +08:00
Arthur Mogliev
206f698a98 [php-ze-ph][php-mezzio-ph] Migration from Zend to Laminas and corresponding generator rename (#8145)
* Migration from php-ze-ph to php-mezzio-ph

* Sample regen after rebase

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-20 21:48:37 +08:00
randomswdev
d1dcdad3d5 [Go][Server] Use the correct parameter name (#8144)
* Use the correct parameter name

* Minor changes

Co-authored-by: Bernardo Pastorelli <13519917-randomswdev@users.noreply.github.com>
2020-12-20 15:32:57 +08:00
William Cheng
bde631c07f [aspnetcore] Set default version to 3.1 (#8240)
* set default version to 3.1

* rename config

* update doc
2020-12-20 11:00:39 +08:00
Slavek Kabrda
129881d04a Expose Handlebars infiniteLoops setting (#7926) 2020-12-19 21:54:46 +08:00
William Cheng
a2e5d274d6 Test ASP.Net core projects in AppveyorCI (#8239)
* test aspnetcore server in appveyor

* update samples

* to break the build

* Revert "to break the build"

This reverts commit ab23062815.

* ignore csproj. update samples
2020-12-19 21:02:13 +08:00
William Cheng
79a18b0440 [Qt5] rename the extension (#8236)
* rename extension, move config

* purge folder, regenerate samples
2020-12-19 15:16:46 +08:00
sunn
b127cc7b70 Allocate httpcontent (#8217) 2020-12-19 15:13:49 +08:00
basyskom-dege
febd65d3b8 Qt5 parameterized server (#8183)
* first Commit parameterzied Server support

* fixed serverconfig classes

* Defautl constructor f. Config, fixed regex replace

* Polosihed Templates, Added MultiServer support

* Update Readme. Fixed MultiServer. Fixed def. Value

* Passing global Server to mustache. Small fixes

* Updated  samples, fixed mustache for multi server

* added prefixes, removed unused imports

* added newly generated samples

* missing vendorExtension in mustache. Update smaple

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-19 11:34:12 +08:00
William Cheng
0be3fe6104 Set skipFormModel to true by default (#8125)
* set skipFormModel to true by default

* update tests

* regenerate ruby faraday client

* remove inline object spec files

* more clean up on inline object files

* update samples
2020-12-18 23:57:19 +08:00
Ghufran Zahidi
52c63bb325 Fixed the query string for HttpSigning core vs dotnet47 (#8189)
* Fixed the query string for HttpSigning core vs dotnet47

* updated the sample

* replace the tab with space

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-18 12:35:05 +08:00
William Cheng
a407090bef update samples 2020-12-18 12:28:41 +08:00
agilob
13042b76ea [java] Add setBearerToken method in okhttp-gson (#8200)
* Add setBearerToken method in okhttp-gson

* Update generated files
2020-12-18 12:08:30 +08:00
William Cheng
49f55b0d8e Add postProcess method to show donation message (#8142)
* add postProcess method to show donation message

* update comment
2020-12-18 10:16:21 +08:00
Aanisha Mishra
f766735d5c [Python][Client] Python model directory init missing (#8215)
* include model and api dir init mustaches

* update examples

* remove unwanted changes

* revert unwanted changes in sample

Co-authored-by: aani <aani>
2020-12-18 10:13:35 +08:00
Tivadar Bocz
f19f7064be feat(#8038): add url encode feature to WebClient (#8171) 2020-12-18 10:05:55 +08:00
Shinya Sugmoto
6a2ba0e615 test: enable typescript-axios integration test (#8163)
* test: enable typescript-axios integration test

* chore: update old dep & devDep

* refactor: use axios installed in test target

* chore(travisCI): update node version from v8.12.0 to v12.20.0
2020-12-17 11:38:19 +01:00
dependabot[bot]
9b6fd5a27d Bump ini from 1.3.5 to 1.3.7 in /website (#8160)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-17 18:05:32 +08:00
Peter Leibiger
a5377647f4 [dart][dart-dio] Add support for default values (#8201)
* [dart-dio] Generate default value builders

* return `null` when there is no default value instead of `"null"`
* use built_value's `_initializeBuilder` to set default values

* [dart-dio] Fix default value formatting in model doc
2020-12-17 17:50:36 +08:00
Peter Leibiger
67f305608b [dart][dart-dio] Add fake petstore integration tests to master POM (#8209) 2020-12-17 17:49:50 +08:00
Aanisha Mishra
1562afea39 [GO][Client] return GenericOpenAPIError instead of error in Execute() (#8137)
* error to GenericOpenAPIError

* reformatted files

* reformat files

* spaces to tabs

* update petstore examples

* remove extra brackets

* update sample generation

* update go test cases

* update openapi3 go tests

* edit test samples

* update documentation
2020-12-17 16:39:43 +08:00
Aanisha Mishra
c2005ca96e [Java][Client]com.github.curious-odd-man.rgxgen version update (#8139)
* rxgen version update

* rgxgen version 1.2

* update rgxgen version to 1.3

* remove start end slash in patterns

* Remove debug logs
2020-12-16 15:43:32 -08:00
Shinya Sugmoto
145d9c38a0 chore(CircleCI): move circle ci config file to correct location (#8214) 2020-12-17 00:07:46 +08:00
Peter Leibiger
96e6bc4650 [dart-dio] Allow dynamic headers and add additional dio parameters (#8191)
* fixes some compile errors due to header params not being of type `String`
* add optional `extra` and `validateStatus` parameters from dio
2020-12-16 23:24:09 +08:00
Peter Leibiger
e1c43f1356 [dart][dart-dio] Prevent name clashes with existing dart types (#8198)
* [dart][dart-dio] Prevent name clashes with existing dart types

Can not use dart import aliases for now as this is not supported by built_value. This means we need to add potentially clashing names/classes to an `additionalReservedWords` exclusion list. Starting with a basic list of some http/io classes.

Correctly use `importMapping` and `defaultIncludes` this time around. Improve reserved word checking.

This now successfully generates `ModelList`, `ModelFile` and `ModelClient` models which previously were not generated at all or were wrong types.

* Address review comment

* Update generator docs
2020-12-16 17:25:20 +08:00
Peter Leibiger
80df0b0004 [dart-dio] Remove unused code (#8196) 2020-12-16 17:23:48 +08:00
Hui Yu
f0c4fd7ab8 [C][Client] Fix coredump when releasing the memory of an incompleted resource (#8190) 2020-12-16 17:20:36 +08:00
Tomas Sykora, jr
180fae02cd [DART-DIO] [GENERATOR] Make header params with dynamic types (#6915)
* Make header params with dynamic types

Otherwise this will generate code which is not compile-able. Like this:

```dart
        Future<Response<List<StockItemProjectionDirect>>>getAllStockItems(Store storeId,{ int xXChunkNumber,int xXChunkSize,StockItemRequestFilterDto stockItemRequestFilterDto,CancelToken cancelToken, Map<String, String> headers, ProgressCallback onSendProgress, ProgressCallback onReceiveProgress,}) async {

        String _path = "/api/store/{storeId}/stock".replaceAll("{" r'storeId' "}", storeId.toString());

        Map<String, dynamic> queryParams = {};
        Map<String, String> headerParams = Map.from(headers ?? {});
        dynamic bodyData;

        headerParams[r'XX-Chunk-Number'] = xXChunkNumber;
        headerParams[r'XX-Chunk-Size'] = xXChunkSize;
```

See how the func recieves int argument which then assignes into a string... last 2 lines

* FIX: Dynamic header and sync with upstream

* DART-DIO new samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-16 17:13:50 +08:00
William Cheng
fb1661e451 update node-fetch (#8204) 2020-12-16 16:14:46 +08:00
William Cheng
afa750f249 [Protobuf] Fix how map is generated (#8203)
* test map with protobuf

* fix protobuf map

* use unescaped value

* use string

* undo changes to spec
2020-12-16 15:33:41 +08:00
Robert Parini
a4f84b2f8c [Python][Client] Default to system CA instead of certifi (#8108)
* Use system CA by default and remove certifi

See https://github.com/OpenAPITools/openapi-generator/issues/6506

* Use system CA by default in asyncio client

* Update README_onlypackage.mustache

* Result of ./bin/generate-samples.sh

* Add ssl_ca_cert argument for Configuration

* Result of ./bin/generate-samples.sh

* Remove certifi, use system CA by default
2020-12-15 16:36:35 -08:00
Thomas Hervé
952cd9c689 Include description directly in python docstrings (#8154)
* Include description directly in python docstrings

mustache escaping the description make them render weirdly, including
sometimes unsupported characters in python.

* More parameters
2020-12-15 09:30:50 -08:00
Peter Leibiger
ddd11abb87 [dart][dart-dio] Correctly type responses and futures (#8195)
* don't rely on implicit dynamics
* this is a requirement for NNBD
* add space between return type and some method names
2020-12-16 00:52:47 +08:00
Peter Leibiger
95b719814c [dart] Fix some dart files not being post processed (#8193) 2020-12-16 00:51:36 +08:00
Hippolyte HENRY
81a5e44a6c [ruby] Improve ruby client examples (#8040)
* [ruby] Improve ruby client examples

* samples

* quote fixes

* Keep enum value

* better string type handling

* fix failing tests

* add space after comment

* update samples

* use Time

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-16 00:10:04 +08:00
sahan
6f5076edb7 fix: use config basePath instead of the class context basePath (#8186)
* fix: use config basePath instead of the class context basePath

* chore: build samples
2020-12-15 10:54:13 +01:00
William Cheng
ed8b934b27 Add a link to IEEE conference paper (#8188) 2020-12-15 11:50:54 +08:00
Peter Leibiger
70e86a0840 [dart] Fix enums with default value (#8182)
* simplify template expression
2020-12-15 09:56:35 +08:00
Peter Leibiger
f484e0db42 [dart][dart-dio] Formatting improvements (#8180)
* always add trailing commas in arrays and break each line
* make variables final
* improve API formatting (mainly leading spaces)
* remove empty lines and whitespaces
* fix formatting of datatype and description and docs
* consistently use single quotation marks (dart already does this)
2020-12-15 09:55:33 +08:00
William Cheng
d1eda02be6 update samples 2020-12-15 09:52:51 +08:00
Peter Leibiger
e412145a1f [dart][dart-dio] More enum fixes for inner types (#8174)
* correctly generate enums from `mostInnerItems`
* use `datatypeWithEnum` which should always be he correct type
* dart generators prefix inner enums with the classname of the containing class, ensure datatypeWithEnum always matches
2020-12-14 23:05:31 +08:00
William Cheng
c974c512ff [Spring] openapi-generator generates an incorrect stub for types named "Resource (#8178)
* Initial push for fix #1680

* fix yaml

* update samples

Co-authored-by: JBurgess <joel.burgess@gmail.com>
2020-12-14 20:16:25 +08:00
Thibault Duperron
24fda2ab59 [Kotlin] Use array for generated annotation (#7800)
* Use array for generated annotation

fix #7799

* Add generation for kotlin spring delegate pattern

* Sample

restart tests
2020-12-14 17:57:14 +08:00
Michael Czolko
bc6da8c082 Update apiController.mustache (#7248)
If the delegate is optional, put it as optional in constructor
2020-12-14 16:10:26 +08:00
dpolyakov987
0cbf064d2b fix kotlin-spring generator does not add @Valid annotation to nested classes (#8037) 2020-12-14 16:09:06 +08:00
Peter Leibiger
351377ca29 [dart-dio] Fix x-www-form-urlencoded body not working (#8175)
* only use `FormData.fromMap()` for multipart content, `FormData` does not work with `x-www-form-urlencoded`
* use a basic map for `x-www-form-urlencoded` content
* fix formatting
2020-12-14 15:36:18 +08:00
Peter Leibiger
7f9012c554 [dart-dio] Use built_value collection types without string replacement (#8153) 2020-12-14 00:00:18 +08:00
Peter Leibiger
cd0257b0e5 [dart][dart-dio] Enum improvements (#8149)
* [dart] Always use the correct enum data type

* use raw strings for enum string values

* [dart-dio] Use raw strings for built_value enums

`@BuiltValueEnumConst` does some wierd string handling in the generated code `r'\$'` becomes `'$'`. This is different compared to the wireName in `@BuiltValueField`
2020-12-13 23:59:29 +08:00
agilob
79395de9b7 [java] Generate "static final" instead "final static" (#8158)
* Generate java code with "static final" instead "final static"

* Regenerate code with "static final"
2020-12-11 10:51:57 +08:00
William Cheng
e42fdb2b13 Update Dart technical committee with new members (#8151)
* Update Dart technical committee with new members

* add agilob

* remove ircecho
2020-12-11 10:51:13 +08:00
William Cheng
d20d9447a8 update samples 2020-12-10 19:09:27 +08:00
Peter Leibiger
a93a60b6eb [dart] Handle enumVarNames for negative names (#8143) 2020-12-10 18:59:23 +08:00
Aliaksei Zhuk
9e5610488f [Go] Fix for 'Invalid code for files array in multipart/form-data request'… (#8103)
* Fix for 'Invalid code for files array in multipart/form-data request' (OpenAPITools#8093)

* Executed ensure-up-to-date

* Replaced spaces with tabs.
2020-12-10 18:48:45 +08:00
Christophe Bornet
f2d8e3a25b [Java/okhttp] Add dynamic operations option (#7916)
* Add dynamicOperations option to okhttp gen

* Add tests

* Add apiclient tests

* Fix apiclient template

* Add dependencies in gradle and sbt
2020-12-10 18:22:39 +08:00
William Cheng
d2f9d421d4 Update swagger parser to 2.0.23 (#8128)
* update parser to 2.0.23

* upgrade to 2.0.24

* Revert "upgrade to 2.0.24"

This reverts commit d9714770c8.
2020-12-10 17:53:44 +08:00
William Cheng
5521d7745d Fix IndexOutOfBoundsException with no model definition (#8110)
* fix IndexOutOfBoundsException with no model

* better code format
2020-12-09 23:40:48 +08:00
Peter Leibiger
4ad6d0bfe5 [dart] Variable/Operation/Model naming (#8123)
* [dart] Properly escape param/var names that clash with Dart types

* [dart] Add tests for var/enumVar names

* note: public and private are no keywords in Dart
* some tests are still wrong, some are commented out

* Fix typo

* [dart] Improve variable name escaping

* add more tests

* [dart] Fix operationId naming

* [dart] Fix upper case var name with leading underscore

* [dart] Correctly support model prefix/suffix

* [dart] Support spaces in property names

* Call super for empty operationId

* [dart] Fix and improve enumVar naming/generation

* use same handling for all 3 generators
* allow `updateEnumVarsWithExtensions` to have access to the data type
* improve `x-enum-values` handling and add supprt for other enum vendor extensions
* remove duplicate and outdated tests from `DartDioModelTest`
* add more tests to `DartModelTest`
* no longer force lowercase enums for plain dart generator (breaking)
* this change also removes the trailing underscore from plain dart generator (breaking)
2020-12-09 23:21:08 +08:00
Hui Yu
828e924a3e [C][Client] Update free function when a map is deleted (#8122) 2020-12-09 22:34:37 +08:00
Peter Leibiger
2cdbfd63eb [dart][dart-dio] Enum fixes specific to Dart DIO (#8114)
* [dart-dio] Fix wrong escaped serializer names

* [dart-dio] Prevent enum name collisions in inlined enums

Prefix the private built_value instances with the enum class name. Prevents clashes when multiple inline enums contain the same value - for example `EnumTest`.  No breaking changes here as all the changed fields/references are private and automatically re-generated with built_value.
2020-12-09 21:12:03 +08:00
William Cheng
2e70405084 update swift samples, use swiftlint 0.41.0 (#8138) 2020-12-09 18:19:27 +08:00
Alexandre
933a5dc2c6 [Swift] Add default values to model initializers (#8118) 2020-12-09 16:54:12 +08:00
Esteban Gehring
af0adf28cd chore: change name 2020-12-09 09:23:12 +01:00
Jean-François Côté
476dba42d4 Use import play.libs.Files.TemporaryFile instead of import play.api.libs.Files.TemporaryFile because it doesn't work at runtime. (#8130) 2020-12-09 11:31:14 +08:00
William Cheng
7bb72d08b4 add twitter to the user list (#8135) 2020-12-09 11:26:30 +08:00
Peter Leibiger
144e08b4fc [dart] Use raw strings for json/header parameter names (#8131)
This should fix all problems related to unescaped characters in strings that are assumed to be raw - e.g. `json[r'$special[property.name]']`
2020-12-09 11:12:48 +08:00
Josh Burton
e346593766 [dart-dio] fixes Enum classes with integer values (#8129)
* [dart-dio] Enum classes with int values now generate correct BuiltValueEnumConst annotation

* [dart-dio] Address PR comments
2020-12-09 11:09:57 +08:00
Josh Burton
7fb5e2538b [dart-dio] Fixes errors when primitive return types are attempted to … (#7411)
* [dart-dio] Fixes errors when primitive return types are attempted to be deserialized as json

* Updates samples

* Removes old files
2020-12-09 11:07:29 +08:00
William Cheng
61777b4a7c Revise wordings for options (#8127)
* revise wordings for options

* update
2020-12-09 10:42:54 +08:00
William Cheng
681d23d2d3 use local deno install sh (#8126) 2020-12-09 10:28:05 +08:00
Francesco Montorsi
bb6785ad70 [cpp-restbed-server] Allow to implement validation of input data for enumerations (#7717)
* Allow to implement validation of input data for enumerations

* Regen petstore sample
2020-12-09 00:34:35 +08:00
William Cheng
0b6d70d351 add default cache (#8120) 2020-12-08 18:54:34 +08:00
Sampo Kivistö
d1ea6ac839 [Csharp] Bugfix: Updated all C# templates ToJson method not to conflict reference withmodel properties (#8087)
* Updated all C# templates ToJson method not to conflict reference with model properties.

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-08 17:12:40 +08:00
Cody Mikol
f9d6c6fb21 CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 (#7597)
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A
2020-12-08 15:18:07 +08:00
alfabetacain
9e0badb3d7 added support for cookie parameters to jaxrs-spec generator (#8117) 2020-12-08 14:55:33 +08:00
Peter Leibiger
7fae4ab411 [dart] type improvements (#8111)
* [dart] Configure and use import mapping

This prevents models from being generated which would clash with exisiting dart types, e.g. List.

* [dart] Fix decimal format not supported

* [dart-dio] Remove redundant modelToIgnore & ignore dart:core import

* modelToIgnore is now handled via importMappings the same way other generators do this
* choose not to import dart:core as this is available by default

* [dart-dio] EnumClass is a reserved word in built_value

* Review changes

* Fix regenerate docs
2020-12-08 12:00:12 +08:00
fbl100
99d83712a8 Fixes issue #8014, _check_type flag not being honored. (#8053)
* Fixes issue 8014, _check_type flag not being honored.

Updated model_utils.mustache to pass the check_type flag into attempt_convert_item(). Failure to do so
results in type validation errors occurring when the user has specifically requested that they be disabled.

* regenerated samples

Co-authored-by: Frank Levine <frank.levine@blacklynx.tech>
2020-12-07 12:18:16 -08:00
Ülgen Sarıkavak
e00ac502f1 [python] Update python versions (#8042)
* Remove redundant encoding definitions

UTF-8 is already the default encoding in Python 3.

* Remove Python3.4 related requirements

* Remove dead Python version 3.5

* Add Python 3.9 to CI and test configs

* Update petstore example
2020-12-07 12:07:35 -08:00
itaru2622
35d616c9af Fix bug [python][client] generated python client code cannot POST object in multipart/form-data (#8075)
* encode object in json and add content-type:application/json for multipart/form-data

fix issue https://github.com/OpenAPITools/openapi-generator/issues/8068

* update samples by ./bin/generate-samples.sh

* non-ascii chars supported in encoding object to json, and add "content-type:application/json; charset=utf-8"

* update samples again, by ./bin/generate-samples.sh

* update comment(docstring) in parameters_to_multipart according to the discussion in PR review.

* fix default value in parameters_to_multipart function as described in PR review comment.

* update samples again, by ./bin/generate-samples.sh
2020-12-07 09:50:09 -08:00
Peter Leibiger
751ffad8db [dart] Cleanup and OAS3 support (#8085)
* [dart] Cleanup and regnerate old/wrong tests and docs

* docs path seems to be doc now in all dart generators
* generated tests are very old and use wrong classes

* [dart-dio] Improve formatting

* [dart][dart-dio] Restructure tests to same layout

* remove duplicate/old openapi sample for which there is no generation config
* generate to `petstore_client_lib` for both generators
* run generated tests as integration tests for dart2 even if empty - this makes it easier to find compile errors

* [dart] Improve gitignore handling for Dart generators

* globally ignore all dart related files that should not be commited
* remove old ignores that are no longer valid

* [dart][dart-dio] Add OAS3 generation and integration tests

Dart2 doesn't compile, needs fixes.

* [dart] Do not attempt to deserialize binary content from JSON fields

Not sure if that case is ever relevant but for now there doesn't seem to be a better option.

* [dart] Fix integration tests for OAS3 petstore

Some POST operations now return 200 with content.

* [dart] Generate Petstore Fake API but don't add to integration tests yet

Explicitly not adding the new integration tests to the master POM. They do not work but having them allows for quickly iterating on open issues without breaking existing basic OAS2/OAS3 petstore examples. Instead they should be run manually until everything is fixed.
2020-12-07 21:38:39 +08:00
William Cheng
ed72843668 better operationId in elm client generator (#8109) 2020-12-07 18:29:38 +08:00
BrMtssk
e732804a68 [BUG][typescript-axios] Sets 'isCollectionFormatMulti' flag to true on multiple file uploads (#8105)
* [typescript-axios] Sets 'isCollectionFormatMulti' to true on file uploads.

Fixes #8104

* Safely checks if dateFormat is "binary" #8105

Co-authored-by: Bruno Matissek <bruno.matissek@gmail.com>
2020-12-07 09:27:33 +01:00
sahan
a3aa19927e feat(config): pull the basePath from config is exists (#8078)
* feat(config): pull the basePath from config if the basePath doesn't exist

* chore: update samples

* chore: use the basePath from the base class

* chore: update all the samples
2020-12-07 09:25:02 +01:00
Toby Murray
cbe1fd9728 Bump Gradle in generated Java projects to 6.7.1 (#8079)
* Bump Gradle in Java projects from 6.0.1 to 6.7.1

Regular maintenance, 6.0.1 was released November 18th, 2019 and the latest release (November 16th, 2020) is 6.7.1. This updates all the wrapper templatesto the latest version.

* Updated generated Java samples

Generated via `./bin/generate-samples.sh bin/configs/java-*`

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-07 10:44:23 +08:00
Javier Velilla
c0c2f2b804 [Eiffel] various enhancements (#8076)
* Updated Eiffel code generator.
	Added missing language reserved words.

Updated mustache templates to use the latest Eiffel rules to avoid obsolte
feature calls and Cat-Calls.
Updated Eiffel configuration files (ecf's)
Updated comments styles.
Updated Travis CI file to use the latest Eiffel compiler.
Updated EIffel sample to use https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml

* Added missing mapping decimal to REAL_64
Added Eiffel Kernel classes to importMapping to avoid generate models for
them.
Fixed issue with Eiffel feature name generation, updated toOperationId(String) method.
Simplified toInstantiationType method implementaetion.
Improved model.mustache to generate Eiffel models.

* Updated Eiffel sample.

* Removed unneeded tabs.

* Added AnyType mapping to ANY
Removed unneeded tab
Updated model name, remane models that starts with _.

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-07 10:07:03 +08:00
Hui Yu
3195338c47 [C][Client] Fix memory leak when free a map (#8107) 2020-12-07 08:59:03 +08:00
kannkyo
43fa47a51d Support mediaType (#8100) 2020-12-07 08:58:13 +08:00
sullis
b54dade079 mockito 3.6.28 (#8106) 2020-12-07 08:51:31 +08:00
Sergey
13f1c610d9 [python] Re-merge Subclass Python exceptions (#7321) (#8095)
* Subclass Python exceptions (#7321)

* Subclass Python exceptions:
- UnauthorizedException (401)
- ForbiddenException (403)
- NotFoundException (404)
- ServiceException [500 - 599]

Fixes #2151

* add generated sample code

* use Python 2 flavor inheritance

* regenerate samples

* update samples

Co-authored-by: Ryan Rishi <ryan@ryanrishi.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-05 12:02:00 -08:00
Ajith Kumar
3de537062d [Java][Spring] Fixes incorrect request body for map type in reactive spring (#8046)
* [java][spring] updated template to support proper reactive map type

* [java][spring] supporting unit test for spring boot reactive request map issue

* [java][spring] updated samples

* [java][spring] refactoring the issue test spec
2020-12-05 18:32:57 +08:00
Julien Feltesse
adcf54bc09 [ruby] document the *_with_http_info methods (#8094) 2020-12-05 18:27:49 +08:00
fuxs
38dbcdd752 [Go] Fixes missing return statement (#8072) (#8090) 2020-12-05 18:24:22 +08:00
Hui Yu
bac913f384 [C][Client] Fix memory leak when the type of query parameter in request url is integer or boolean (#8096) 2020-12-05 18:23:56 +08:00
kannkyo
5e4d0978dc Support body params for jmeter (#8101) 2020-12-05 18:23:22 +08:00
stephanpelikan
a4f1d1b5b1 Fix for 'Reactive paramter ServerWebExchange's properties appear in Swagger-UI' (#8031) (#8032)
* [Spring] Add @ApiIgnore to parameter ServerWebExchange of reactive style (#8031)

* [Spring] Apply contribution guidelines (#8031)
2020-12-04 15:09:06 +08:00
nitoqq
25c7ccf30c JS Client: Allow dot in path parameter name (#6116)
* JS Client: Allow dot in path parameter name

* JS Client: Allow dot in path parameter name

* Delete ApiClient.js

* Delete ApiClient.js

Co-authored-by: Nikolai Konovalov <konovalov.nikolai@gmail.com>
2020-12-04 12:27:44 +08:00
William Cheng
64c57e3f52 Add a script to detect changes in test files (#8020)
* add script to detect changes in test files

* remove build failure test
2020-12-04 12:22:35 +08:00
William Cheng
bcf4f8ade6 [C#] Fix oneOf derserialization with additional properties (#8057)
* fix oneOf derserializaoneOf deserialization with additonal prop

* fix tests due to better handlding of additional prop
2020-12-04 10:50:26 +08:00
William Cheng
b0ecaab8fb Add a link to massive art blog (#8082)
Add a link to massive art blog
2020-12-03 16:35:02 +08:00
Robert Pyke
7644f3ee83 [R] Bug - Invalid code generated for POST with no request object (#8067)
* Default body to NULL

* update samples

* Update to set body to NULL only when no hasBodyParam

* Revert any whitespace changes.

* Makes defaulting body conditional on hasFormParams also not being set

Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Robert Pyke <robertpyke@fb.com>
2020-12-03 16:21:08 +08:00
William Cheng
ebac0a8ed4 Add a link to saki-engineering blog post (#8081) 2020-12-03 15:06:20 +08:00
Peter Leibiger
033d985cf7 [Dart-dio] Add basic integration testing and fix compile errors (#8025)
* [dart-dio] Add basic integration test POM

This basically just fetches dependencies, runs the built_value generator and empty test cases. Even running empty test cases is more than is currently possible and at least finds compile errors.

There are compile errors atm which need to be fixed.

* [dart-dio] Fix missing BuiltSet import in models that use enums

* [dart-dio] Fix compile error when the return type is a Map

* the compile error was `serializerForType(Map<String, int>)` in `StoreApi` which needs to be  `serializerForType(Map)`
* use final instead of var in response handling

* [dart-dio] Generate docs after changes

* [dart-dio] Add integration test to CI execution list
2020-12-02 21:35:07 +08:00
William Cheng
82c5021df2 Revert "Bugfix swift5 code generation 2966 (#7301)" and provide a better (#8066)
fix for the stackoverflow issue
2020-12-02 21:20:44 +08:00
Thomas Hervé
634c4c09e4 Fix generation of map model examples (#8063)
When generation examples of objects with additional properties, we use
the map syntax inside a model instantiation, which is incorrect. This
fixes it by checking for model at the right place.
2020-12-01 19:04:23 -08:00
Ghufran Zahidi
64ade2ce8f [powershell] Implemented the psdata property for module manifest file (#8048)
* Implemented the psdata property for module manifest file (Tags, LicenseUri, ProjectUri, IconUri, ReleaseNotes)

* fix string.format

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-01 16:52:12 +08:00
William Cheng
e040a5fdde Fix port when the URL doesn't have port specified (#8049)
* fix port missingin oas 3 spec

* update samples
2020-12-01 15:24:28 +08:00
Dalibor Karlović
adcf9ffa20 feature(PHP): include the current value with enum failure (#7993)
When the value is not in the enum, the exception will now
include the actual value, helping spec designers.
2020-11-30 21:49:52 +08:00
Thomas Hervé
a8fbcb0db2 Properly generate email examples (#8035)
Those are not primitive types, but not model either, they need to be
handled explicitely.
2020-11-30 21:48:51 +08:00
sunn
16e9011d5b Add handling of x-www-form-urlencoded and handling float without decimal if model is declared with float/double (#8043) 2020-11-30 21:47:55 +08:00
basyskom-dege
cb1a620628 [C++][Qt5] added Authentication Support (#8004)
* first commit of api Key feature.

* added multi key and URL query key support

* fixed error in mustache files, updated samples and tests

* added Basic Auth with Base64 encoding.

* updated Readme, added bearer token

* added check that authentication credentials are set. fixed typo in README
2020-11-28 15:02:09 +08:00
Ülgen Sarıkavak
045d05fa72 Fix pyhton typo (#8041) 2020-11-28 15:00:23 +08:00
William Cheng
2801c0cb88 [Java][Play] Fix compilation issues when using the supportAsync option (#7864)
* fix async in java play generator

* add async operation option

* Remove the return null and replace with a return at the right place.

Co-authored-by: Jean-François Côté <jcote@stingray.com>
2020-11-27 23:30:46 +08:00
Thomas Hervé
3f75691da2 Fix list examples in Python (for real) (#8034)
The patch in #7967 forgot the prefix, this fixes it, and change the
sampels so that we can see the effect this time.
2020-11-26 14:28:27 -08:00
William Cheng
9334909bcd update samples 2020-11-26 18:44:18 +08:00
Florian Kamella
c950384a5d [JAXRS-CXF] Generate missing jackson annotations in inner enum (#7879)
* [JAXRS-CXF] Introduce petstore sample for jaxrs-cxf-client with additional property jackson (preparational commit)

generated using: ./bin/generate-samples.sh ./bin/configs/other/jaxrs-cxf-client-jackson.yaml

* [JAXRS-CXF] Generate missing jackson annotations in inner enum

fix for generators jaxrs-cxf and jaxrs-cxf-client
2020-11-26 18:26:15 +08:00
Thomas Hervé
616b44f3b1 Improve generated Java examples (#8012)
* Add basic types imports to generated examples

This adds an extension to include basic types imports to generated Java
examples.

* Make some fixes to example generation

* Generate OffsetDatetime correctly

* Create a useful sample for enums, regenerate samples

* Fix BigDecimal as well
2020-11-26 18:14:26 +08:00
Thomas Hervé
157ad1ce73 Fix list examples in python (#7967)
* Fix list examples in python

When a model has an example in an array, it wrongly wraps it again in a
list instead of returning the list examples. This fixes it.

* Add comment
2020-11-26 18:01:34 +08:00
David Yee
cf185d559b Expose JsonSerializerSettings in ApiClient (#7582)
* Expose JsonSerializerSettings in ApiClient

* Update generated petstore sample

* Add XML comments for SerializerSettings and match new OverrideSpecifiedNames default

* Add GetSerializerSettingsTest
2020-11-26 13:06:53 +08:00
Hui Yu
4dc8d2a351 [C][Client] Support progress function of libcurl (#7974) 2020-11-26 00:00:28 +08:00
Julien Feltesse
2b6b7746f3 make the generated ruby oneOf specs pass (#8019) 2020-11-25 23:47:22 +08:00
bgong-mdsol
ca6c63f7e5 fix java incompatible types error for number (#8018) 2020-11-25 17:54:49 +08:00
Troy P
8cfc9b015a [JS] (#7913) Adding support for multi file upload. Also adding the option for individual CodeGens to specify a collectionFormat (#7914)
* updated samples as well
2020-11-25 16:00:08 +08:00
Vithursa
596d9a1d1d [jaxrs-cxf-cdi] Fix issue when generating code for header params when there are defaultValues defined (#7872)
* Update headerParams if there are defaultValue

* remove new line

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-11-25 10:04:53 +08:00
Adam Dobrawy
be07bd13af Allows install typescript client via npm from Git (#7878)
* Allows install typescript client via npm from Git

'prepublishOnly' is run before the package is published. 'prepack' is run before the package is published and after installation local installation eg. via Git.

* Update examples for Typescript
2020-11-24 21:05:07 +01:00
Gilbert Gilb's
9c0850f2d7 [Dart2] Fix compile errors for required enums without default value. (#7877)
Also fix display of minimum/maximum comment.
2020-11-25 00:20:31 +08:00
Nico Schäfer
d64586c223 Fix keyParamName not used for query API token (#7906) 2020-11-24 22:33:53 +08:00
David Ruppelt
4f0e75b32d remove default ContentType for java webclient (#7945) 2020-11-24 22:28:23 +08:00
Christophe Bornet
2e3cfe7695 [kotlin-spring] Fix required requestBoby of kotlin spring (#7985) 2020-11-24 22:27:47 +08:00
Julien Feltesse
522faf835a [ruby] fix oneOf handling (#5706)
* [ruby] fix oneOf handling

* use previous ruby configs due to issue #4690

* check for oneOf model in base_object

* validate the attributes in partial_oneof_module
2020-11-23 22:43:34 +08:00
NickUfer
6f6822a1b7 [php][bug] Fixes exceptions with API's with too high date-time nanosecond precision (#7943)
* [php] Fixes problems with API's with too high date-time nanosecond precision

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-11-23 22:30:57 +08:00
William Cheng
33f4827a06 Add isRange in CodegenResponse (#7854)
* add isRange

* undo changes to spec
2020-11-23 17:16:44 +08:00
William Cheng
4984f9c3d5 Correct allOf with only one child schema (no discriminator) (#7855)
* Correct allOf with only one child schema (no discriminator

* fix tests
2020-11-23 17:16:36 +08:00
Thomas Hervé
14ff8e0ffd Remove links to basic types in java API docs (#7989)
* Remove links to basic types in java API docs

This removes (most) wrong links to basic types in Java API docs.

* Regenerate some more samples
2020-11-23 16:24:31 +08:00
Troy P
70bc472b86 [JS] (#7910) Fixing undefined error caused by no this instances (#7911) 2020-11-23 16:17:09 +08:00
Thomas Hervé
1c1e4f4476 Fixes to go API documentation generation (#7963)
* More fixes to go doc generation

* Regenerate samples

* Fix indent

* Remove additonal bracket on time objects
2020-11-23 16:08:55 +08:00
Noor Dawod
91e64f47fc [DART2] A couple of bug fixes (#7969)
* Fixed a couple of problems with current implementation.

1) When encoding non-String header values, the client will forwar to parameterToString() for encoding.
2) fromJson() now accepts a dynamic value since the type transformer accepts a dynamic value.

* Updated Pet Store files.

* Proper spacing between blocks.

* Adjust spacing.

* Make fromJson() as a static function, thus not instantiating a new object if JSON is null.

* Adjust doc for fromJson() function.
2020-11-23 16:07:38 +08:00
William Cheng
08c8296e33 test openapi3 java native in drone.ci (#8001) 2020-11-23 16:01:34 +08:00
William Cheng
aed8086d0e fix string comparision in go generator (#7998) 2020-11-22 20:55:21 +08:00
William Cheng
67271b72f2 Add contact about security vulnerabilities (#7997) 2020-11-22 15:53:27 +08:00
William Cheng
2578ef5e63 Prepare snapshot (v5.0.0) (#7986)
* Revert "prepare 5.0.0-beta3 release"

This reverts commit 3ebe774df3.

* revert to snapshot

* update samples
2020-11-20 19:19:59 +08:00
William Cheng
2715f1371a Prepare 5.0.0 beta3 (#7984)
* prepare 5.0.0-beta3 release

* update samples

* remove beta3 from readme
2020-11-20 15:18:58 +08:00
William Cheng
dd26e406b5 Fix duplicated mappedModels (#7924)
* fix duplicated mapped models

* replace discriminatorExplicitMappingVerbose with legacyDiscriminatorBehavior in comments

* use mappingName for comparison

* improve template

* fix tests

* update comments

* update ts samples
2020-11-20 11:57:48 +08:00
William Cheng
cf8ea9120a fix additional properties without variables (#7978) 2020-11-20 11:54:39 +08:00
William Cheng
c02fc812fe add warning about unsupported libraries in python client generator (#7981) 2020-11-20 11:54:16 +08:00
William Cheng
5e02a5bd45 Set generateAliasAsModel to false in tests (#7979)
* set generateAliasAsModel false in tests

* add missing import
2020-11-20 10:56:05 +08:00
William Cheng
b5ce7cec8b comment out angular v6, v7 tests 2020-11-18 16:13:09 +08:00
William Cheng
78611b3e38 update samples 2020-11-18 14:46:36 +08:00
William Cheng
3bf8ca7484 [python] Renames python generators (#7965)
* python->python-legacy, python-experimental->python

* test with openjdk8

* test with openjdk11

* comment out rm

* move kotlin tests to circleci

* move kotlin tests

* move tests to circleci

* fix circleci

* rearrange test

* move tests

* use wrapper

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2020-11-18 14:34:00 +08:00
Justin Black
c08f14500e Revert "Do not use cached properties for additionalProperties (#7955)" (#7971)
This reverts commit 057647cf1e.
2020-11-17 21:08:55 -08:00
Justin Black
057647cf1e Do not use cached properties for additionalProperties (#7955)
* Fixes additionalProperties, do not use cached properties for additonalProperties

* Regnerates samples
2020-11-16 11:26:54 -08:00
Alexis Cote
36aba267a0 [typescript-fetch] Allow to generate client without runtime checks (#7894)
* Add CLI options to remove runtime checks (serialization/deserialization).

* Update templates to support the new parameter

- Generates all the models in a same file to avoid import complexity
- Extract interfaces creator templates to reuse them

* Fix formatting and generate client examples

* Add documentation
2020-11-16 14:17:29 +01:00
Alexander Rashed
54d6257865 Fix parameter uniqueness for form- and body-params (#7577)
If a form-parameter had the same name as another (header-, query-,
path-, or cookie-)parameter, a conflict could be caused (for example
in the typescript generator). This fix executes the same uniqueness-
check and renaming for form- and body-parameters as it is done for
all other parameters.

@see issue #7575

Co-authored-by: Alexander Rashed <alexander.rashed@ntsretail.com>
2020-11-16 21:16:53 +08:00
William Cheng
aca6927ce0 add lvm_versicherungen logo (#7946) 2020-11-16 15:35:12 +08:00
patst
023e6dd9ed typescript-angular: Angular 11 support (#7937)
* #7935 typescript-angular: support angular 11

* regenerate angular 11 sample project

* Update ngVersion to 11.0.0 in typescript-angular.md
2020-11-14 08:23:13 +01:00
Kai Brandes
88dc21959d Add "LVM Versicherungen" to list of companies (#7931) 2020-11-13 22:33:08 +08:00
William Cheng
a3a0af7c84 [C#][netcore] Add test for AdditionalProperties in both child and parent (#7921)
* add test for ap in both child and parent

* add cat test to net47
2020-11-13 21:13:16 +08:00
Esteban Gehring
e725c4e56f update typescript-fetch samples (#7936) 2020-11-13 13:42:55 +01:00
berlysia
920eafc9c1 [typescript-fetch] add samples of nullable enum (#7754)
* [typescript-fetch] add sample

* [typescript-fetch] add sample for nullable enums
2020-11-13 13:17:35 +01:00
William Cheng
405aa24737 fix shippable issue (#7932) 2020-11-13 19:48:55 +08:00
Thomas Hervé
777031f24f Fix a few issues with go examples generation (#7873)
* Fix a few issues with go examples generation

This fixes a bunch of issues seen when generating go examples, namely
 - Numbers aren't casted to the right type
 - The time import is missing
 - Enums are treated as regular models

* Rebuild more samples

* Use examples properly

* Handle multiple instances in the same doc

* Fix wrong array closure

* Handle model arrays

* Fix file and enum namespace

* Regenerate samples

* Handle maps of complex types

* Handle oneOf

* Fix padding

* Fix enum doc

* Removes links to basic types in arrays

* Remove links to basic types in maps

* Fix enum links

* Minor indent fix

* Handle review comments
2020-11-12 23:36:40 +08:00
Daniel Varnai
3b84e8bb55 Fix missing parenthesis (#7923) 2020-11-12 11:13:50 +01:00
Jeff Brower
ec13288c02 Fix NPE in CodegenIgnoreProcessor.java (fixes #3356) (#7846)
Fixes NullPointerException when using an override ignore file with no parent.
2020-11-11 10:22:51 -05:00
Justin Black
13673962cb Adds tests case showing not sending optional params (#7918) 2020-11-10 08:52:43 -08:00
William Cheng
eab26d493b Better decimal support in Scala generators (#7876)
* fix decimal mapping in scala generators

* add mapping for decimal, number in scala generators

* update doc

* use scala.math.BigDecimal
2020-11-10 11:29:50 +08:00
William Cheng
f8766d591c [C#][Nancyfx] fix incorrect import (#7907)
* fix incorrect import

* remove importMapping
2020-11-10 09:33:34 +08:00
William Cheng
b1b64cb356 throw exception for invalid framework (#7901) 2020-11-10 09:33:07 +08:00
Rocky Warren
81e0e8dfa8 [typescript-axios]: Check configuration is defined in api.ts so it compiles with strict flag (#7892)
* Check configuration is defined

* Update samples
2020-11-09 20:56:08 +01:00
Nicholas Muesch
eceac6a63c Skip validation if input_value is None (#7845) 2020-11-08 12:27:58 -08:00
William Cheng
eacf61de7e fix decimal mapping (#7875) 2020-11-08 11:46:33 +08:00
Justin Black
08fb59009a Removes secondaryParam and hasMore (#7882)
* Removes secondaryParam and hasMore

* Fixes tests

* Only uses bodyParam in groovy template
2020-11-07 11:04:12 +08:00
Ghufran Zahidi
05515040d5 [csharp-netcore]Fixed the null serialization issue for dotnet47 (#7884)
* Fixed the null serialization issue for dotnet47

* c# codeing style

* Updated the sample for csharp netcore

* corrected the typos
2020-11-06 16:15:38 +08:00
Justin Black
bc76d8e58d Adds vars and requiredVars to Schema classes (#7893)
* Adds vars to all schema classes, adds partial test

* Adds tests and addVarsRequiredVarsAdditionaProps

* Adds CodegenProperty test

* Adds requiredVars

* Adds vars and requiredVars cloning for CodegenProperty
2020-11-05 19:22:50 -08:00
William Cheng
b5473d2fda [c#][netcore] Skip readonly properties in serialization (#7883)
* skip readonly in serialization (c# netcore)

* minor wording change
2020-11-06 10:15:11 +08:00
debugman
01d0b5d478 added serialize option in to_dict function in python generated model (#7555)
* added to_json_dict in python generated model

* update to_dict

* updated to_dict

Co-authored-by: sunkaicheng <sunkaicheng@bigo.sg>
2020-11-05 09:42:35 -08:00
Tomasz Prus
b3bc926b1d [python] check output content-type only if preload_content is set (#7847) 2020-11-04 08:41:00 -08:00
William Cheng
739249917c fix null json payload in net47 (#7870) 2020-11-04 17:19:05 +08:00
Noor Dawod
aff1af7be5 [Dart2] Fix a bug when asking to upload a MultipartFile as body. (#7736)
* Fix a bug when asking to upload a MultipartFile as body.

* Make finalizing MultipartFileRequest simpler.

* Restrict creating a MultipartFileRequest when not part of a multipart-form.

* Simplified the upload to use a StreamedRequest.

* Wrap all requests with try-catch.
2020-11-04 09:35:42 +08:00
Florian Kamella
2f30960349 [JAXRS-CXF] Improve handling of additional properties in JavaCXFClientCodegen (#7866) 2020-11-04 09:32:57 +08:00
Pedro Fonseca
e3121af4b4 [typescript-axios] serialize complex type in multipart/form-data as JSON (#7658) (#7816)
Complex types need to be serialized as JSON to avoid FormData.append() from converting them into strings through .toString().
2020-11-03 17:28:14 +01:00
William Cheng
b6091571aa Add presentation at FEConf 2020 (#7863) 2020-11-03 11:10:52 +08:00
Jean-François Côté
998e0fdaa2 [Play Framework] Update Play Framework Generator to latest version (#7860)
* First iteration to support new mechanism that needs to have the handle of the result.

* Most of the samples now build except "async". Also, everything is messed up.. need to understand the mustache way to handle this.

* New version to support play 2.8

* Fix conflict

* Fix error when multiple file in forms
2020-11-03 10:48:29 +08:00
Matthew Eppelsheimer
ebf2f2e30f Fix use of eslint-config-airbnb-base (#7844)
Closes #7843
2020-11-03 10:36:18 +08:00
Ghufran Zahidi
d179574b4e Fixed the HttpSigning issue for query string (#7859) 2020-11-02 21:32:37 +08:00
William Cheng
9377dbca56 Add "decimal" support (#7808)
* rename BigDecimal to decimal

* add isDecimal

* fix tests

* minor fixes

* fix mapping, update doc

* update test spec

* update c# samples
2020-11-02 21:31:32 +08:00
William Cheng
ca6fcaf92a beter code format for protobuf java files (#7857) 2020-11-02 19:42:52 +08:00
guidoussin
4f2f80766e Fix support for AllOf in protobuf-schema (#7813)
Co-authored-by: Guillaume Doussin <guillaume.doussin@amadeus.com>
2020-11-02 18:28:52 +08:00
Christophe Bornet
ca3fcd882e [Kotlin] Fix Spring Kotlin generation of array/map models (#7829)
* Fix Spring Kotlin generation of array/map models

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-10-31 17:38:37 +08:00
Thibault Duperron
4f1934c3c7 [Spring] Use default jackson-databind (#7744)
* [Spring] Use default jackson-databind

fix #7743

* Samples
2020-10-31 16:52:18 +08:00
Tomohiro Suwa
46b36c2e65 [Ruby][faraday] fix download_file (#7842)
* Fix download_file

* Generate samples with f1df6acdee

* fixup! Fix download_file

* Generate samples with 3e3ea88b0d
2020-10-31 16:20:31 +08:00
William Cheng
d5a7102785 [Protobuf] tests protobuf-schema generator in CI (#7841)
* test protobuf schema

* remove sudo

* use different image

* proto files

* test with go

* test with go

* test with go

* test with go

* break the build

* Revert "break the build"

This reverts commit 81c10e7d96.

* remove comment

* move config

* remove old protobuf-schema.yaml
2020-10-31 14:43:21 +08:00
William Cheng
96efc76ed5 update samples 2020-10-30 11:37:33 +08:00
Hui Yu
8f06876a2a [C][Client]Fix coredump in multi-thread environment (#7835) 2020-10-30 10:57:14 +08:00
William Cheng
70323adf9f [C#] support .NET framework 4.7 (#7833)
* add net47 support to the csharp generator

* update doc, fix appveyor
2020-10-29 22:41:08 +08:00
William Cheng
d5212ac834 add anytype mapping to object in dart (#7822) 2020-10-29 10:59:31 +08:00
William Cheng
a8bd859397 use System.Environment.OSVersion in .net standard (#7831) 2020-10-29 10:54:09 +08:00
William Cheng
0e994eabf7 use WriteRawValue instead of WriteRaw (#7830) 2020-10-29 10:53:50 +08:00
Alexander Presber
ab93cec952 Update users.yml to include Giant Monkey GmbH (#7823)
* Update users.yml

We are happily using this, too!

* add our logo, too

* sort in our company alphabetically

Co-authored-by: Alexander Presber <alexander@giantmonkey.de>
2020-10-28 22:01:58 +08:00
Dalibor Karlović
b43103a029 Tweaks for PHP client Markdown files suggested by markdownlint (#7779) 2020-10-28 14:52:21 +08:00
William Cheng
913ec2019e Add link to React Native Client article (#7826) 2020-10-28 11:47:06 +08:00
William Cheng
87b4f45d40 add adesso logo (#7825) 2020-10-28 11:46:32 +08:00
Steve B
ea2cdd23c2 [python] add socket_options to configuration for the rest client (#7795)
* [python] add socket_options to configuration for the rest client

* (python-experimental) add socket_options to configuration for the rest client

This mirrors work done on the python generator

* (python-experimental) add test to cover socket_options is passed on from configuration

Co-authored-by: steve brazier <steve.brazier@trioptima.com>
2020-10-27 18:22:28 -07:00
Sascha Grebe
44f5f2bdd8 Added adesso as users (#7817)
adesso is using openapi tools as well.
2020-10-27 22:15:17 +08:00
timo-a
d90fd10a75 Update CONTRIBUTING.md with typo corrections - no semantic changes (#7811)
* Update CONTRIBUTING.md

typos

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-10-27 22:14:08 +08:00
William Cheng
44ec0caba4 use originl value in comments (#7803) 2020-10-27 18:14:46 +08:00
William Cheng
042fc81f31 add anyOf support (#7801) 2020-10-27 17:02:05 +08:00
Julien Herr
5d27799bad [typescript-axios] Fix multipart with file array (#7814)
* Force isCollectionFormatMulti in case of binary/file

* Manage multipartFormData in isCollectionFormatMulti

* Update petstore

Co-authored-by: Julien Herr <julien@nabu.io>
2020-10-27 08:58:08 +01:00
Francesco Montorsi
4860eb65e1 [cpp-restbed-server] make the restbed SERVER generator more extensible (#7679)
* Simple fix to allow users to override the Api class and set handlers

* fix definition order

* Regen petstore example files
2020-10-27 15:35:10 +08:00
William Cheng
3d6bd48b67 [JAX-RS] replace isListContainer with isArray (#7806)
* replace isListContainer with isArray

* update serviceFormParams.mustache
2020-10-26 12:38:01 +08:00
Dénes Harmath
1b67171d39 [javascript-flowtyped] Fix Flow error (#7382) (#7786)
* [javascript-flowtyped] Fix Flow error (#7382)

Fix deletion of search field

* [javascript-flowtyped] Regenerate sampe (#7382)
2020-10-26 10:28:33 +08:00
William Cheng
fe38a50365 [Ruby][faraday] fix response streaming (#7734)
* test file return

* fix stream response

* use options

* use local var

* fix nil tempfile

* fix tempfile

* fix tempfile

* use stream

* check content

* open temp file

* test ruby file download

* fix stream data

* test faraday

* catch connection error

* catch Faraday::ConnectionFailed

* catch all error

* use sream

* refactor

* fi download file in faraday

* local fix

* fi streaming download

* undo changess to spec, test

* undo changes to spec
2020-10-26 10:07:45 +08:00
Jon Schoning
37743c059b [haskell-http-client] have applyOptionalParemeter (-&-) append values in headers or querystrings instead of replacing values (#7805) 2020-10-25 19:15:43 -05:00
Maksym Melnychok
b70edd7f1b [python] Add option to return None instead of raising exception when accessing unset attribute (#7784)
* add option to return None instead of raising exception when accessing unset attribute

* update python samples

* reimplement getattr using getitem or get depending on attrNoneIfUnset

* move getattr and setattr to respective templates

* update docstrings, def get/setattr methods to have docstrings in them, use __dict__ to avoid recursion issues

* revert required_properties change

* add manual tests for .get method
2020-10-25 09:13:22 -07:00
William Cheng
07c23f4d1a comment out tests causing failure 2020-10-25 18:54:12 +08:00
itaru2622
3c62cc4867 Fix multi-part binary form parameters for jaxrs-jersey templates (#7363)
* Fix [jaxrs-jersey][java][jersey] multipart/form-data file array issue on generating jaxrs-jersey.

This commit aims to fix https://github.com/OpenAPITools/openapi-generator/issues/7330 with described solution 'choice C'.

* add test code [jaxrs-jersey][java][jersey] for multipart/form-data file on generating

* update test code [jaxrs-jersey][java][jersey] for multipart/form-data file on generating

followed latest master branch of OpenAPITools/openapi-generator

* update samples/* by executing ./bin/generate-samples.sh

* update mustaches for JavaJaxxRS/libraries/jersey1/* and samples/* to resolve failure of CI test on PR.
2020-10-25 18:05:43 +08:00
Aidan Hobson Sayers
c0e36b3ff6 Add impls for Error trait for Rust reqwest (#7462)
* Add impls for Error trait for Rust reqwest

* Update Rust samples
2020-10-25 18:00:50 +08:00
Rainer
e11a427cf5 changed request method from protected to public (#7603)
* changed request method from protected to public

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-10-25 17:54:21 +08:00
Jim Schubert
f30d6c8399 Update check-supported-versions.yaml
Run Maven integration only on Java 8
2020-10-24 11:01:36 -04:00
Dean Eastwood
3be89e4c00 Fixes #7791 (#7792) 2020-10-23 19:51:13 +08:00
Andreas Metsälä
490068ad90 [typescript-fetch] serialize complex type in multipart/form-data as JSON (#7658) (#7677)
Complex types need to be serialized as JSON to avoid FormData.append()
from converting them into strings through .toString(). The generated
ToJSON mapper is used in case the value name has underscores or other
unusual characters.

Signed-off-by: Andreas Metsälä <andreas.metsala@gmail.com>
2020-10-23 09:01:21 +02:00
BenICE
9af73d0a0c [typescript-rxjs] Added support for servers (#7771)
* adding multiple servers support to typescript-rxjs

* regenerated typescript-rxjs samples

Co-authored-by: Schwartz, Benjamin <benjamin.schwartz@cgi.com>
2020-10-22 13:09:03 +02:00
Jim Schubert
a5aeb5fdec [core] Remove java specific imports from DefaultCodegen (#7763) 2020-10-22 17:43:17 +08:00
William Cheng
50f3706c5c Add gitignore to C# 2.0, Nancyfx generators (#7776)
* add gitignore to c# 2.0, nancyfx generators

* comment out csharp netstandard
2020-10-22 15:43:32 +08:00
cgensoul
aa28775295 Fixes #7757. Replace '.' characters by '_' in enum type names since OCaml doesn't allow to use '.' in any kind of identifiers. (#7767) 2020-10-22 15:35:00 +08:00
bullett445
8c084e2dc0 [php] Implement JsonSerializable in php Model class (#7768)
* Update model_generic.mustache

Implemented the JsonSerializable interface which allows to use json_encode() on the model object.
2020-10-22 10:34:15 +03:00
Jakesterwars
7e7bfc74de [cwiki] Path parameter generation fix for split rows (#6894)
* fix: path parameter issues

* chore: run generate samples once again

Co-authored-by: Jacob Keith <jkeith@aegistg.com>
2020-10-22 11:25:25 +08:00
William Cheng
e09d1bee43 [Java][webclient] fix missing dependencies in build.gradle (#7777)
* fix build.gradle in java webclient

* update junit version in samples
2020-10-21 21:29:53 +08:00
William Cheng
ee3dd70636 chagne codegen type to schema (#7775) 2020-10-21 18:56:56 +08:00
Dalibor Karlović
240c046f35 Small tweaks for php generator, PHPStan level 3 (#7616) 2020-10-21 10:38:10 +03:00
William Cheng
ec74b06d2c [Ruby] Replace DateTime with Time (#7656)
* replace DateTime with Time

* add require time

* update doc
2020-10-21 14:13:59 +08:00
William Cheng
b059b786a5 update c# gitignore (#7774) 2020-10-21 13:41:41 +08:00
Justin Black
28e92f9e32 Adds additionalProperties to core schema classes (#7761)
* Implements additionalProperties in CodegenParameter

* Implements additionalProperties in CodegenProperty

* Adds additionalProperties to CodegenModel

* Adds additionalProperties to CodegenResponse

* Adds additionalProperties examples for CodegenModel and CodegenProperty

* Adds test cases for CodegenParameter and CodegenResponse

* Adds testAdditionalPropertiesPresentInModelProperties

* Adds testAdditionalPropertiesPresentInResponses

* Adds underscore name for additionalProperties property, needed for CppTizenClientCodegen

* Changes prop name back to empty string, fixes CppTizenClientCodegen
2020-10-20 12:19:13 -07:00
William Cheng
19249e597c [C#][netcore] Add custom converters for oneOf models (#7766)
* add custom converter for oneof models

* remove custom logic when deserializing oneof response
2020-10-20 23:10:31 +08:00
William Cheng
072b309100 [C#][netcore] Add nullable support to oneOf models (#7750)
* add nullable support to C# oneOf models

* fix null reference exception
2020-10-20 14:50:03 +08:00
Ghufran Zahidi
12acf2eb72 [C#][netcore]Fixed the HTTPSigning to calculate the body diegest without CamelCase (#7755)
* Fixed the HTTPSigning to calculate the body diegest without CamelCase

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-10-20 14:26:38 +08:00
Thibault Duperron
b1ea1ece87 [Ocaml] Fix missing space on models (#7742)
fix #7738
2020-10-20 13:32:12 +08:00
Jim Schubert
b28c3ee14a [maven] Run integration on master checks (#7762)
This adds the Maven integration tests to the Check Supported Java
Versions job which runs on master.

Maven on Windows was previously broken with templateDirectory. This was
fixed previously in a pull request, but the Maven plugin integration
testing did not work in our other CI vendors. This was tested and
verified in a private repo. The difference is likely due to vCPUs
available in GitHub Workflows differing from other free CI we use
elsewhere.
2020-10-19 22:23:36 -04:00
agilob
7318ff72d7 [Java][JVM] Move java specific import mappers to JVM specific code gen (#7569)
* Move java specific import mappers to java specific code gen

* Use JVM specific import mappers in kotlin, scala, groovy

* Update generators docs

* Add autogenerated files
2020-10-19 22:15:44 -04:00
William Cheng
d6c71ff0fb [java][jersey2] add proxy support (#7752)
* add client config getter and setter

* update gradle, sbt config

* update client config

* update samples

* add code sample to set proxy
2020-10-20 10:11:01 +08:00
William Cheng
c1f2b1cad9 [c#][netcore] add proxy support (#7741)
* add proxy support to c# netcore client

* add test, update doc
2020-10-20 10:05:37 +08:00
Go Shibata
5bac98cd99 [kotlin][jvm-retrofit2] Update templates (#7592)
* Fix indent of return tag

* Trim trailing whitespace

* Update samples

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-10-19 21:55:49 -04:00
Alex Facciorusso
1dec9ebfb8 [kotlin][jvm-retrofit2] Better code for OkHttp client passed to Retrofit builder (#7556)
* Better code for building Retrofit

By removing the nullable `usedClient` passed to Retrofit, the code is compatible with newer Retrofit versions which don't allow null as client.

* Updated Kotlin retrofit2 samples ApiClient
2020-10-19 21:48:14 -04:00
William Cheng
b733312707 update doc to include proxy instruction (#7749) 2020-10-19 22:14:34 +08:00
William Cheng
e8ba2901df auto load system web and net (#7748) 2020-10-19 13:55:43 +08:00
Justin Black
3d337db207 Unifies naming for isArray in Schema class properties (#7691)
* Updates key java files

* Adds all lingering isArray fixes

* Adds two files

* Reverts two cs files

* Fixes lingering isListContainer + isArrayModel references

* Some ensure up to date updates
2020-10-18 21:58:59 -07:00
Justin Black
2ee0913d4a Changes lingering isMapContainer to isMap (#7747)
* Changes lingering isMapContainer to isMap

* Adds ensure up to date updates
2020-10-18 20:07:33 -07:00
Cody Mikol
fed9d0637a CHORE[CORE]: replace deprecated methods (#7600)
replace setConfig and setOpenApi with the
non-deprecated config / openAPI methods

Co-authored-by: Peter Somogyvari <petermetz@users.noreply.github.com>
2020-10-18 21:56:43 -04:00
William Cheng
30fad9defa [PS] Add proxy support (#7739)
* add proxy support to powershell

* update api_client

* add proxy tests

* fix check

* add more check

* update samples

* fix proxy setting

* update docstring
2020-10-19 09:30:23 +08:00
Jim Schubert
ee1cbf6f4b [bug][maven] Fix custom windows classpaths in maven plugin (#7587)
* [maven] Fallback to templates using classpath rather than OS-specific paths

Previous checks would cause logic in Windows to return early, for
built-in templates only. This reorganizes and simplifies the ordering
behavior.

* Match classpath check in WorkflowSettings with that in TemplateManager

* [maven] Much needed unit/integration tests

This follows similar approach used in PMD and other plugins managed by
maven.

Unit tests simply verify we can load configuration as expected into the
Mojo.

Integration tests execute actual sample projects bound to the current
build's Maven plugin. This uses maven-invoker-plugin, which also allows
for specifying the maven options in invoker.properties to execute the test.
It also provides a verification framework using groovy files with the
required naming convention of "verify.groovy". This allows us to quickly
and easily check that certain files are outputted by generation, and we
may also spotcheck file contents.

templateResourcePath option is skipped on windows. I've tested back to
version 3.3.3 and this doesn't seem to have worked consistently with how
the property works on non-Windows.

* Set groovy 3.0.5 for test harness

* Print stacktrace on Maven error in Travis

* [maven] Set groovy version in tests to supported in Java 11+

* Puts maven integration tests in separate profile called 'integration'
2020-10-18 12:05:56 -04:00
Ben Sorohan
34d2e25899 [Typescript][Angular] Fix generated README when using apiModulePrefix (#7725) 2020-10-16 17:15:47 +02:00
William Cheng
c387d58d26 remove outdated scala files (#7723) 2020-10-16 22:50:34 +08:00
Ben Sorohan
cc5e0fee2d [FEAT][TYPESCRIPT-ANGULAR] Add configurationPrefix option to allow generating unique configuration token (#7731)
Closes #4101
2020-10-16 15:02:44 +02:00
Jim Schubert
41851b45e1 [bug] Fix FILES sort and path provider issue (#7729)
The FILES metadata is supplementary, but was logging a warning while
generating Ada client that FILES couldn't be written. An exception was
being thrown because Path was being reported as two different "types of
Path". One would be reported as mac file, while the other was reported
as a unix file. The fix here is to disconnect path details from the
underlying file system provider by creating a new Path based on the
file's absolute path. This change also fixes sorting so it works
alphabetically in ascending order.
2020-10-16 00:34:34 -04:00
William Cheng
e1e38c8783 better csharp tests (#7727) 2020-10-16 10:24:11 +08:00
Hippolyte HENRY
8afb067ec9 [go] Improve examples generation (#7576)
* fix go examples

* use constructor with required args
2020-10-16 00:04:30 +08:00
Michał Zubkowicz
e58b1f6abb Fixes #7635: typescript-inversify generator wrongly handles array type parameters (#7636) 2020-10-15 17:10:10 +02:00
Ioannis Ioannou
0ad39cc533 [Java] Fix import mapping for arrays with reference items of type string (#7182)
* fixed import mapping for arrays with component of type string

* changed test title

* generated samples

* Revert "generated samples"

This reverts commit b86a6fcdee.
2020-10-15 22:08:55 +08:00
bgong-mdsol
edf153eede [Java][Native] Support oneOf/anyOf schemas (#7263)
* Java-native add models of oneOf/anyOf

* Java-native refresh samples

* Java-native add a sample project for openapi3
2020-10-15 17:29:51 +08:00
William Cheng
f76d72edf1 [BUG][Ada] Incorrect client Ada code generated (#7719)
* Fix #7594: [BUG][Ada] Incorrect client Ada code generated

- Fix the identification of path parameters
- Fix the model and client to support FreeFormObject

* update doc

* fix errors, update samples

Co-authored-by: Stephane Carrez <Stephane.Carrez@gmail.com>
2020-10-15 17:26:07 +08:00
William Cheng
53eb67166b add cake, sbt integration (#7713) 2020-10-14 16:51:27 +08:00
William Cheng
b888423fd8 Use 3.0 spec in documentations, update docs (#7710)
* update npm set version, use 3_0 spec

* use 3_0 spec in website
2020-10-14 10:13:17 +08:00
William Cheng
6046c3da94 remove github.com/antihax/optional from go.sum (#7692) 2020-10-14 10:11:05 +08:00
William Cheng
b768e42704 Update junit to newer version (4.13.1) (#7690)
* update junit to newer version

* update junit to newer version
2020-10-14 10:10:32 +08:00
Noor Dawod
3c869d5b12 [Fix/Dart2] Resolve an exception with status 204 and no body. (#7647)
* Resolve an exception situation when a remote server returns 204 with no body.

* Only return a value when needed.

* Use HttpStatus codes instead of magic numbers.

* Drop checking for a body as it will consume too much memory.

* Cosmetic changes.
2020-10-13 23:30:49 +08:00
Dmitry Grachikov
177e536bdf [typescript-angular] pass array as a single JSON string to url query when queryParamObjectFormat=json (fix #7620) (#7649) 2020-10-13 08:32:26 +02:00
William Cheng
305d30102b Add back HttpSigningConfiguration.cs 2020-10-13 13:30:51 +08:00
William Cheng
45e6accf99 remove HTTPSigningConfiguration.cs 2020-10-13 13:28:55 +08:00
William Cheng
94c5a80551 add AnyType support to Swift generators (#7644) 2020-10-13 10:58:34 +08:00
William Cheng
a5083398de fix warning, remove trailing spaces (#7659) 2020-10-13 10:32:43 +08:00
Justin Black
0cfe02348b Unifies naming for isMap in Schema class properties (#7640)
* Updates isMapModel + isMapContainer -> isMap

* Removes git conflict characters
2020-10-12 09:12:37 -07:00
William Cheng
f8a71cab5c convert fromjson to static method (#7650) 2020-10-12 15:25:37 +08:00
William Cheng
bd329c13fb update website (#7655) 2020-10-12 15:21:34 +08:00
Justin Black
8fd9991ec2 Adds isDateTime to CodegenModel (#7657)
This reverts commit 2ec96f7f90.
2020-10-12 00:08:08 -07:00
Justin Black
2ec96f7f90 Revert "Adds isDateTime to CodegenModel"
This reverts commit 0a51c81f2e.
2020-10-11 21:14:35 -07:00
Justin Black
0a51c81f2e Adds isDateTime to CodegenModel 2020-10-11 21:12:16 -07:00
William Cheng
874b4a6472 [Ruby] fix DateTime default value (#7648)
* fix ruby default datetime value

* update samples for testing

* use datetime parse

* use Date.parse

* revert changes to spec
2020-10-12 11:49:03 +08:00
Justin Black
ee2a7352a1 Adds isDate to CodegenModel, adds test, adds isDate getter and setter to IJsonSchemaValidationProperties (#7652) 2020-10-11 11:06:47 -07:00
William Cheng
b208a311db [C#][netcore] Rename HTTPSigningConfiguration.cs to HttpSigningConfiguration.cs (#7630)
* rename HTTPSigningConfiguration.cs to HttpSigningConfiguration.cs

* update samples

* minor change
2020-10-11 12:25:38 +08:00
William Cheng
b0fa00b860 Fix typos in templating.md (#7646) 2020-10-11 11:12:35 +08:00
agilob
25d10bb6cc [dart] Move dart-dio to sit with other dart configs (#7593)
* Move dart-dio to other dart configs

* Run ./bin/generate-samples.sh
2020-10-10 18:22:52 +08:00
William Cheng
4acc8eab45 [C#][netcore] Add discriminator support to oneOf lookup (#7626)
* add discriminator support to oneOf lookup

* fix type check, removed unused code

* fix type check

* add options

* setLegacyDiscriminatorBehavior

* fix typo

* replace break with return

* use packageName
2020-10-10 18:20:30 +08:00
William Cheng
931c4e361f update samples 2020-10-10 17:10:32 +08:00
Michael Ramstein
242f648379 [Elixir] Fixes Typespec for multiple return definitions (#7604)
* Respects multiple responses during typespec generation

* Generate Samples
2020-10-10 11:18:04 +08:00
Vlastimil Šenfeld
53fb864c66 fix comment typo (#7605) 2020-10-10 11:12:55 +08:00
Noor Dawod
2984497731 Upgrade Dart2 template to advertised best-practices, plenty of additions too. (#7585)
* Updated Dart2 template.

* Generated Petstore client code for Dart2.

* Use double-quotes instead of single-quotes, to be consistent with output of Dart generator.

* Updated Petstore samples.

* Wrap few more places with triple curly parentheses.

* Generated Petstore files.

* Revert to using single quotes, fix Java generator too.

* Generated Petstore files.

* Lower case the content type value.

* Only lower-case content type when checking its value.

* Generated files from running "./bin/utils/ensure-up-to-date".

* Remove outdated comments for Dart1.

* Regenerate Petstore samples for Dart.

* Added a new option "pubLibrary".

* Added support for (de)serializing a DateTime into an epoch value.

* Make client variable a getter/setter, adjust docs.

* Fixed a small error in class template.

* Fix Dart documentation in API classes.

* Simplify test in HTTP Basic auth, remove unused lint rule.
2020-10-10 11:08:58 +08:00
Ghufran Zahidi
c6ab073a29 Fixed the empty string issue when server returns null (#7633) 2020-10-10 10:15:58 +08:00
Phillip Verheyden
214d81553f Fix typos in Javascript test clients (#7642)
Looks like this did not get propagated to these other JS clients from the original at 90859575eb
2020-10-10 10:15:14 +08:00
Phillip Verheyden
86fd8b1aa4 Add AnyType mapping of Object to Javascript codegen (#7643)
Resolves problems related to '....Module not found: Error: Can't resolve './AnyType' in...' errors when attempting to use generated Javascript code
2020-10-10 10:09:23 +08:00
Maksym Melnychok
8416fff568 [python-experimental] implement in operator for model classes (#7637)
* implement  operator for model classes

* refresh samples
2020-10-09 10:38:15 -07:00
Michael Ramstein
690be29f4b [Elixir] Fixes optional body mapping (#7606)
* Fixes optional body issue

* Generate Samples
2020-10-09 17:21:35 +08:00
William Cheng
fe31b9e2ce java jersey2: remove trailing whitespaces (#7632) 2020-10-09 17:11:23 +08:00
Lukáš Vasek
157c01d031 Fix scopes generation for multiple oauth flows (#7615)
* Fixed generation of oauth2 scopes for multiple oauth2 flows

* Fixed locale in string format

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-10-08 23:15:58 -04:00
William Cheng
44f713fc34 update tests with newer syntax (#7624) 2020-10-09 10:36:39 +08:00
Justin Black
d5002f4beb Adds missing items property to Java classes which store Schema info (#7621)
* Adds items getter and setter in IJsonSchemaValidationProperties

* Adds isModel interface

* Reverts file

* Fixes issue_7613.yaml schema for /array_with_validations_in_items/{items} response body

* Adds isModel to CodegenModel hash and print and comparison

* Updates CodegenResponse hash and comparison and print
2020-10-08 08:45:20 -07:00
William Cheng
3d36d491df replace tab with spaces (#7625) 2020-10-08 23:00:36 +08:00
William Cheng
001533fa63 fix warnings in HTTPSigningConfiguration (#7628) 2020-10-08 22:58:59 +08:00
William Cheng
a1c8e248e7 [C#][netcore] Add oneOf support to C# .NET Core client (#7607)
* add oneOf support to c# netcore

* add oneof support to c# netcore client

* update samples

* remove unused file

* add oneof support to response in api client

* add oneof support to serialize

* update samples

* fix actual instance, add more tests

* fix oneof handling in api client

* update tests
2020-10-08 15:46:36 +08:00
Rocky Warren
8d0053fa9f [typescript-axios]: Only call JSON.stringify on JSON request bodies (#7580)
* [typescript-axios]: Only serialize JSON request bodies

* Remove Regex and instead add a method in Configuration class

* Update samples
2020-10-08 08:15:42 +02:00
Justin Black
bbf9c30c7a Runs ensure up to date (#7622) 2020-10-07 19:21:06 -07:00
Justin Black
1c3d6e5e6f Revert "Adds ensure-up-to-date changes'"
This reverts commit 5fce12321e.
2020-10-07 19:09:38 -07:00
Justin Black
5fce12321e Adds ensure-up-to-date changes' 2020-10-07 19:03:39 -07:00
William Cheng
d8ba49b267 default OverrideSpecifiedNames to false (#7583) 2020-10-07 15:54:00 +08:00
Dalibor Karlović
b1da09625d [PHP] Small tweaks for php generator, PHPStan level 1 (#7528)
* Small tweaks for php generator, PHPStan level 1

Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
2020-10-07 09:21:24 +03:00
Tomohiro Suwa
08a1bdcb57 [Ruby] Feature/ruby client build from hash nullable array (#7609)
* Ruby Client: nullable build_from_hash for array type

* Genearte samples with 8217ecaeb
2020-10-07 02:14:56 +09:00
Hippolyte HENRY
cad0161f7e [ruby] fix default value for referenced schemas and enums (#7611)
* [ruby] fix default value for referenced schemas and enums

* generate samples
2020-10-07 01:27:41 +09:00
Guillaume GILL
9236d5699d Expose batch subcommand (#7608)
Co-authored-by: Guillaume GILL <g.gill@oceasoft.com>
2020-10-05 20:11:30 -04:00
Matthew Dowdell
8c11c8f582 [Rust Server] Fix server example on non-Linux (#7399)
* [Rust Server] Fix server example on non-Linux

The server example is broken because it tries to import `use openssl::ssl::SslAcceptorBuilder;` unconditionally when it won't be present on MacOS, Windows or iOS and then conditionally provides `create` causing compile errors on the aforementioned platforms.

To fix, we simply move the condition from the function to the import and all is happy again :)

* Update Samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-10-05 21:54:50 +01:00
agilob
ae95c2b19b Generate docs on 4 threads (#7586) 2020-10-05 23:31:51 +08:00
Jim Schubert
c0553ddc37 [bug][kotlin] Better escaping of var names (#7598) 2020-10-05 21:03:01 +08:00
henryh-force
e9c6d65f2d Updated keywords to be aligned with website https://developer.salesfo… (#7522)
* Updated keywords to be aligned with website https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_reserved_words.htm

* [samples] Regenerate

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-10-05 21:00:23 +08:00
William Cheng
8c17a01bda add anytype support to c# generators (#7599) 2020-10-05 20:58:51 +08:00
agilob
0e1d131076 Remove redundant browserClient (#7595) 2020-10-05 13:39:38 +08:00
agilob
61b543f03d [Dart] Removal of deprecated Dart generators and generated code (#7568)
* Remove old dart generated code

* Remove uses of SUPPORT_DART2

* Remove dart1 only flag BROWSER_CLIENT

* Remove supportDart2 and browserClient from docs

* Revert removal of credits of dart(1)

* Update getHelp in dartcodegen
2020-10-04 16:21:08 +08:00
William Cheng
4bde3a12d1 [C#][netcore] Add IsRequired to the model properties (#7590)
* add IsRequired to c# model properties

* add deserialization tests for pet

* revise test
2020-10-04 16:19:30 +08:00
Kuzma
4e5ecf271a [Python] correct return types if multiple responses are defined (#7427)
* update python mustache templates

* bug fix

* rm response_type

* generated samples

* resolve conflict

* samples

* set None if a type is empty

* regenerated samples
2020-10-03 08:37:08 -07:00
Sanjin Celeski
48762b5d4e Add TribalScale to the user list (#7579)
Co-authored-by: Sanjin Celeski <celeski.sanjin@gmail.com>
2020-10-02 15:49:29 -04:00
William Cheng
3560cd252b Add link to a blog post on generating Angular client (#7578)
Add link to a blog post on generating Angular client
2020-10-02 20:10:50 +08:00
William Cheng
a287c51b97 update default faraday versions (#7538) 2020-10-02 18:46:49 +08:00
Alexander Smaga
bb4e0c0058 [php][bug] Fix offsetGet in model generic to return offset rather than bool|null (#7571) 2020-10-01 22:15:05 -04:00
Jim Schubert
6ade544904 [ci] Clarify wording in ensure script output (#7512) 2020-10-01 22:06:35 -04:00
Jim Schubert
150e24dc55 [maven] environmentVariables -> globalProperties (#7559) 2020-10-01 21:33:17 -04:00
david1601
206f3f7238 [Java][Spring] Add Spring pagination with vendor extension x-spring-paginated (#5022)
Co-authored-by: Mathias Hinterndorfer <mathias.hinterndorfer@joyn-it.at>
Co-authored-by: Mathias Hinterndorfer <mathias.hinterndorfer@gmail.com>
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-10-01 21:32:22 -04:00
agilob
4fe76fcb01 [core] Make loggers static final where possible (#7562) 2020-10-01 21:28:39 -04:00
Lukáš Vasek
e1fd221898 [core] Enable multiple oauth2 flows (#7570) 2020-10-01 21:26:37 -04:00
William Cheng
626481bb07 Add tests for serialization of special property names (#7544)
* add test for serialization of special propery name

* comment out os dependent test
2020-10-01 20:38:01 +08:00
William Cheng
b7f5265ae5 remove apache license in jaxrs, update samples (#7553) 2020-10-01 15:03:59 +08:00
William Cheng
494c02e60f [core] Skip 443 for port mustache tag (#7531) 2020-09-30 22:30:43 -04:00
Jim Schubert
d854c89272 [docs] Add clarity around configuration options (#7547) 2020-09-30 20:56:28 -04:00
William Cheng
d6783c2f57 add plaid.co.jp logo (#7554) 2020-09-30 17:17:27 +08:00
Masahiro Yamauchi
130109748c Add PLAID, Inc. to the user list (#7552) 2020-09-30 16:58:41 +08:00
William Cheng
4bf81a0263 update microprofile default license info file (#7550) 2020-09-30 16:46:24 +08:00
William Cheng
e852d42693 Add SmartHR to the user list (#7551) 2020-09-30 16:00:16 +08:00
Slavek Kabrda
336521b464 [Python-experimental] Don't mandate passing in required value as argument (#7424)
* [Python-experimental] Don't mandate passing in required value as argument

* Remove usage of have_value

* Address additional review comments

* Fix tests according to the code change

* Does not set None as value initial value, removes hasRequired tag usage, updates docstring

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2020-09-29 10:56:52 -07:00
Jeff Shantz
b8de51f2fd Update RetryConfiguration.mustache (#7495)
* Update RetryConfiguration.mustache

Use Policy<> instead of RetryPolicy<> to allow for use of wrapped policies.

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-29 22:42:58 +08:00
Cody Mikol
6db283c03b [FIX][CLI] handle null result messages (#7472)
swagger-parser has the potential to return null
for messages which will throw NPE on
initialization of the  validationMessages hashset.
rather that allow this to happen we will assume
that a null message collection represents an empty
collection and continue.

Fixes #7453
2020-09-29 20:52:14 +08:00
William Cheng
f7570df5c3 [Aspnetcore] use the term openapi (#7540)
* use openapi in aspnetcore

* move back to other

* add back file
2020-09-29 20:46:12 +08:00
Jakub Surdej
2d30714d5e Allow auth.accessToken to be either function or string (#7484) 2020-09-29 10:56:38 +02:00
lchwe
3f18d0fd10 Dart - Fix default value of enum variables (#7496)
Co-authored-by: Lucas Chwe <lucas.chwe@gmail.com>
2020-09-29 00:27:38 +08:00
Bodo Graumann
54dd18535a [typescript] Fix generation of enum models (#7529)
This fixes #665 for the consolidated typescript generator.
Original fix for typescript-node was in PR #2266, merged as
8417c5bed0 in version 4.1.0.
2020-09-28 16:28:08 +02:00
William Cheng
d7dfcc20c0 Add server URL without variables to the test spec (#7517)
* add server url without variables to the test spec

* fix php tests

* fix tests

* fix assertion
2020-09-28 22:06:42 +08:00
Francesco Marini
785cbbbb63 [Swift5][URLSession] Fix handling of customHeaders between retries (#7527)
* fix: correct handling of customHeaders

Problem: custom headers could be overwritten between 
request retries following, e.g. a token refresh ( for example,
while implementing @4brunu refresh code :
https://github.com/OpenAPITools/openapi-generator/issues/5462#issuecomment-592417371 ).
A simple reordering of the modifiedRequest headers construction
solves the problem.

* fix: correct PetStore samples implementation [PR#7527]

Co-authored-by: Franz Marini <f.marini@opengate.biz>
2020-09-28 21:46:47 +08:00
William Cheng
8b39335859 fix php test using getter (#7525) 2020-09-28 16:09:09 +08:00
William Cheng
7a98580f45 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-09-28 09:35:24 +08:00
William Cheng
b72d5ca81e comment out php test to fix travis failure 2020-09-28 09:29:36 +08:00
henryh-force
ec815ca33a [Apex] better handling of different content-type in the response (#7515)
* PR7500

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-27 21:10:14 +08:00
Dalibor Karlović
2c59f1dc8c [php] Small tweaks for php generator (#7376) 2020-09-27 12:42:51 +03:00
Grigory Entin
a5ee2e0454 [Swift5] Fixed spelling for promise. (#7516) 2020-09-27 16:13:21 +08:00
Jim Schubert
cb4b03fcf3 [Core, HTML2] Rendered docs are incomplete (#7510)
Co-authored-by: Malachi Jones <malachi.jones@metaswitch.com>
2020-09-25 09:07:18 -04:00
Hui Yu
f608803a40 [C][Client]Support data callback function (#7467) 2020-09-25 20:34:17 +08:00
翠 / green
9ace82ae14 [typescript-axios] replace optional chaining (#7476)
To avoid requiring TypeScript above 3.7.2.
refs #7455
2020-09-25 14:27:29 +02:00
翠 / green
5472943134 [typescript-axios] fix refining query (#7475) 2020-09-25 14:01:04 +02:00
Ghufran Zahidi
d6bfecf2ef [powershell] Updated the Api doc with httpsiging script snippet. (#7499)
* Added the httpsigning code snippet for api doc

* Updated the sample

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-25 16:54:14 +08:00
Hippolyte HENRY
9ba943318a [go][client] Fix API docs example generation (#7489)
* [go][client] Fix API docs example

* Generate samples
2020-09-25 14:45:18 +08:00
Jim Schubert
f3fbc7d782 [ci][test] Fix samples (#7509) 2020-09-24 23:42:04 -04:00
Marvin1912
5f3d974a08 [bug][Java] Honor instantiationMap for default values for array, map, set (#4982)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-09-24 23:25:13 -04:00
Aidan Hobson Sayers
9778d970ac Fix stringifying of ~= (#7460)
Fixes #4069
2020-09-25 10:48:57 +08:00
William Cheng
5dffbabc74 minor formatting change (#7503) 2020-09-25 10:16:26 +08:00
Hippolyte HENRY
7b1563326a [ruby] Fix generation when generateAliasAsModel is enabled (#7419) 2020-09-24 22:08:57 -04:00
Jim Schubert
49760f7a34 [sonar][ci] Fixes some new recommended "bug" fixes found via Sonar (#7508) 2020-09-24 22:02:11 -04:00
William Cheng
596bbb9c58 Add option to set recursion limit (#7491)
* add option to set recursion limit

* fix test failure

* update doc

* add tests

* add missing import

* rename option to recursionLimit
2020-09-24 11:47:22 -07:00
William Cheng
29ca272a95 regenerate java pkmst petstore samples (#7502) 2020-09-25 00:25:23 +08:00
William Cheng
5ebf26e0d2 fix issue without http signature auth (#7504) 2020-09-24 23:56:50 +08:00
Jiri Kuncar
bc799b2488 [ruby] Support for per-operation servers (#7415)
* Support server configuration per operation

* regenerated+tests

* base_url fix

* support not templated urls

* revert update of ruby docs
2020-09-24 11:21:43 -04:00
William Cheng
7dd4fd1d98 Add a link to react native tutorial (#7505)
Add a link to react native tutorial
2020-09-24 22:24:56 +08:00
Thomas Beckmann
bdc964a6c1 update of Objective-C model-body.mustache to support discriminator.mappedModels (#7471)
Co-authored-by: Thomas Beckmann <thomas.beckmann@mway.io>
2020-09-24 17:44:14 +08:00
William Cheng
6612c16624 update samples 2020-09-24 16:37:20 +08:00
Jim Schubert
874c2a19d8 [ci] Sonar bug fixes (#7497)
* Fixing java:S3599 - Avoid double brace initializer

Because Double Brace Initialization (DBI) creates an anonymous class with a
reference to the instance of the owning object, its use can lead to memory
leaks if the anonymous inner class is returned and held by other objects. Even
when there's no leak, DBI is so obscure that it's bound to confuse most
maintainers.

* Fix incorrect List.contains typed check

* Avoid potential NPE in DefaultCodegen

* [fsharp] Remove unused boolean and log

* Fix potential NPE in Haskell http client

* Fix potential bugs in JavaCXFExtServerCodegen, found by static analysis
2020-09-24 00:20:40 -04:00
Ghufran Zahidi
94ed8187f9 fixed the backslash issue (#7492) 2020-09-24 10:07:19 +08:00
Ghufran Zahidi
56c9f0dc1e Fix the range check condition (#7482) 2020-09-24 10:02:04 +08:00
Jim Schubert
6e937ba9f9 [batch] Option to clean files before generation (#7465) 2020-09-23 08:50:23 -04:00
Jim Schubert
1716ee3154 [java][groovy] Fix mangled src paths in outputs on Windows (#7487) 2020-09-23 00:03:37 -04:00
William Cheng
d2aabc5f80 remove haskell stack installation in shippable ci (#7481) 2020-09-23 11:49:03 +08:00
William Cheng
8c78f13a41 remove hardcoded PetApi (#7483) 2020-09-22 11:45:29 -07:00
William Cheng
04b39cc86b remove SWGApiResponse.m (not used) (#7478) 2020-09-22 22:34:48 +08:00
William Cheng
2157d526e1 update samples 2020-09-22 20:45:22 +08:00
翠 / green
a5fcb17416 [typescript-axios] support "x-enum-descriptions" (#7477)
refs #1693 #1752
2020-09-22 12:55:09 +02:00
William Cheng
96bba3769b switch to another spec with more oneOf def (#7470) 2020-09-22 08:50:57 +08:00
William Cheng
f8c20c22e1 remove old csharp files under integration tests folder (#7466) 2020-09-22 07:42:41 +08:00
Peter Somogyvari
27680214fd feat(typescript-axios): injectable FormData (#7455)
Signed-off-by: Peter Somogyvari <peter.metz@unarin.com>
2020-09-21 09:07:10 +02:00
William Cheng
7fa02ee5f0 use typeMapping instead of postProcessParameter (#7457) 2020-09-21 15:05:43 +08:00
Aidan Hobson Sayers
be151fca64 Fix Rust codegen for AnyType (#7461) 2020-09-21 13:36:43 +08:00
William Cheng
985c4b36a7 [Ruby] fix port in the Ruby client (#7464)
* fix port in ruby client

* use serverPort instead

* update samples, skip if port is 80
2020-09-21 13:23:45 +08:00
Jim Schubert
a29d9a9ff4 [samples] Regenerate 2020-09-20 23:27:48 -04:00
Sebastien Rosset
4f27939879 [core] Add model cache to speed up code generation (#7250) 2020-09-20 22:15:32 -04:00
William Cheng
8cd503f194 Add a link to a post about angular reactiveforms (#7463) 2020-09-21 10:04:39 +08:00
Philipp Paris
c7d5275b62 [java] jaxrs (all) add usetags option (#6130)
* Adds "useTags" option to all jaxrs code generators (AbstractJAXRSServerCodegen):
  - jaxrs-jersey
  - jaxrs-spec
  - jaxrs-cxf-cdi
  - jaxrs-resteasy
  - jaxrs-cxf
  - jaxrs-cxf-extended
  - java-msf4j
  - jaxrs-resteasy-eap
* jaxrs-spec
  - Changed handling of root paths: e.g "/:", "/{id}:" to simplify code and create a more consistent behaviour
    -- old: use tag for classname
    -- new: use tag only if useTags is enabled, use "DefaultApi" if not
* @path class level annotation
  - for all generators above and the microprofile generator (uses same jaxrs postprocessing)
  - extended the "commonPath" to contain more than only the root path if possible
  - e.g. "/group1/subgroup1/op1" -> "/group1/subgroup1" is moved to class level annotation
2020-09-20 21:18:07 -04:00
Jim Schubert
3ca6bc2518 [sonar] Java 11, use -nsu, exclude maven/online projects (#7459) 2020-09-20 16:02:29 -04:00
spacether
35d42728d9 Adds free form model generation in python-experimental (#7373)
* Adds free form model generation in python-experimental

* Adds hasValidation property to codegenModel

* Adds separate variable val

* Samples regenerated

* Updates test_some_object.py

* Adds two more boolean conditions

* Runs ensure up to date

* Updates tests to check that models are or are not generated

* Removes unused import

* Updates model names in java test

* Removes unneeded test

* Cleans up tests
2020-09-20 10:55:54 -07:00
William Cheng
77f24a4234 [C#][netcore] replace tabs with 4-space (#7456)
* replace tab with 4-space

* add space after if
2020-09-21 00:08:31 +08:00
Yuriy Belenko
5675d5fe61 Fix bug when variables key doesn't exist (#7429) 2020-09-20 20:49:00 +08:00
Francesco Guardiani
80bef2f79a Update Vert.x Web template to Vert.x 4 (#7364)
* Update Vert.x Web template to Vert.x 4

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Bad pom

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Bad pom 2

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Stick to Java 8

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Latest vert.x 4

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2020-09-19 15:43:08 +08:00
William Cheng
ea559b5e20 [C#][NetCore] add multi-server support (#7433)
* multi server support in C# netcore clients

* switch to IReadOnlyDictionary

* minor fixes, add tests
2020-09-19 15:07:12 +08:00
Ghufz
92f7a306a1 [csharp-netcore]Http signing for csharp-netcore sdk (#7437)
* HTTPSigning implementation for CSharpSDK

* Updated the sample for HTTPSigning

* Updated the sample2 for HTTPSigning

* update samples

* HTTPSigning_For_Async

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-19 12:09:35 +08:00
dtiller
3f7a3f2b59 [TYPO] [WEBCLIENT] Issue 7425: Fixed comments that referred to RestTemplate. (#7445)
* Issue 7425: Fixed comments that referred to RestTemplate.

* Ran genreate-samples.sh

* Re-ran generate-samples.sh against all configs.

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-19 12:07:35 +08:00
Jim Schubert
29ed2342e5 Update sonar.yml
Add a 'sonar' branch to sonar scanning
2020-09-18 21:35:38 -04:00
William Cheng
874daad7e7 delete oudated objc files (#7449) 2020-09-18 18:27:33 +08:00
William Cheng
ef42977097 remove old test, regenerate js clients (#7448) 2020-09-18 14:14:23 +08:00
Adam Gray
7424489607 Fix scala-sttp enum generation (#7432)
* #7431 fix sttp enum generation

* avoid unnecessary sample changes
2020-09-18 10:59:45 +08:00
William Cheng
9754748321 [Perl] clean up old files and regenerate Perl petstore clients (#7439)
* clean up old files and regenrate perl petstore

* update samples
2020-09-18 10:30:32 +08:00
William Cheng
bfe4a7ff87 rename ts axios test (#7442) 2020-09-18 10:23:52 +08:00
Mahir Kothary
ca5d384081 [bug][typescript] Fix node client generator import file paths (#7410) 2020-09-17 21:46:39 -04:00
William Cheng
620f8db3d6 Add a link to PS blog post (#7444) 2020-09-17 18:56:59 +08:00
Fabio Mazzone
6a4aed91ca [javascript][client] Add gitignore to template (#7438)
* [javascript][client] add gitignore template file

* [javascript][client] update samples
2020-09-17 17:18:27 +08:00
dtiller
6909c888d2 [cli] Batch: support multiple/nested !include directive (#7354)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-09-16 22:45:26 -04:00
Ella
bb00d88283 [kotlin] Fix optional header params in openhttp client (#7341)
This commit adjusts the kotlin openhttp api template to ignore null headers when building the request rather than convert them to "null" string
2020-09-16 22:09:38 -04:00
Nicholas Muesch
32c591d9a7 Support multiple api keys in python example documentation (#7417)
* Support multiple api keys in config option

* Regenerate samples

* Update rest of examples
2020-09-15 13:40:48 -07:00
Slavek Kabrda
be40dbe540 [Go][client] Re-add deleted model template files (#7423)
* [Go][client] Re-add deleted model template files

* Regenerate samples
2020-09-15 22:25:45 +08:00
William Cheng
c04d9cd59a rename debugging variables (#7422) 2020-09-15 21:25:52 +08:00
William Cheng
c44865279a replace spaces with tabs (#7421) 2020-09-15 18:13:07 +08:00
William Cheng
0b6229607f Add a link to Instana Blog (#7420) 2020-09-15 17:07:10 +08:00
Hippolyte HENRY
8dd3e561fa Use canonical path for template dir (#7388) 2020-09-14 12:22:14 -04:00
Gmtstephane
4e05912ae7 [GO][SERVER] Implement response code (#7397)
* Feature(template) add response with status code generation

* Generate Samples

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-14 23:14:53 +08:00
spacether
8556cb8d71 Adds fix for issue 7372 (#7383) 2020-09-14 17:18:43 +08:00
typhoon2k
0173acd1d3 Fix package declaration (https://github.com/OpenAPITools/openapi-generator/issues/7122). (#7395) 2020-09-14 16:59:49 +08:00
Jim Schubert
bf0bd29ef1 [core][feature] User custom added templates (#7366) 2020-09-12 18:09:59 -04:00
Jason Lee
1a709a731b [Java] add cli option to ignore anyOf in enum (#4498)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-09-12 18:09:39 -04:00
William Cheng
8fad36c898 [Go] minor format change, deprecate "withGoCodegenComment" option (#7375)
* use tab in comment, remove withGoCodegenComment

* deprecated option
2020-09-12 22:05:10 +08:00
Falanwe
634e3eb838 [cpp-ue4] add support for Content-Type containing charset (#7379) 2020-09-12 22:04:45 +08:00
Jean-François Côté
09200eb04e Update the for play 2.7 (#7398)
* Fix the new package that deal with Configuration (the old one is depecrated)

* First version to support Play Framework 2.7

* Fix small problems that prevent compilation of each samples. Now everything is compiling perfectly
2020-09-12 22:01:56 +08:00
Jim Schubert
684b77166b [docs] Add notes on Windows classpath modification (#7404) 2020-09-11 21:42:18 -04:00
William Cheng
0a2ef5a725 [C#][netcore] better support for additional properties in the payload (#7396)
* add OpenAPIAdditionalPropertiesConverter

* fix buges

* fix writeJson

* better code comment

* move converter to model

* use JsonExtensionData

* update hashcode, equal, tostring and more

* update samples
2020-09-12 01:39:19 +08:00
Ghufz
00e20ffb2c Fix the ECDSA signature issue for PowerShellSDK (#7386)
* Fix the ECDSA signature issue for PowerShellSDK

* updated the sample for ECDSA HTTPSigning

* fix the sample doc
2020-09-11 12:35:44 +08:00
Jean-François Côté
df441fe2ee Fix the new package that deal with Configuration (the old one is depecrated) (#7391) 2020-09-11 12:11:37 +08:00
William Cheng
f396da4c7e update vonage logo (#7387) 2020-09-10 18:53:45 +08:00
Jim Schubert
1eb8c2991d [gradle][plugin] Fix tests (#7384)
Tests running under Gradle 5.6.4 were breaking due to a change in
informational output. It's not clear when this was introduced, but it
looks like the upgrade to Gradle 5.6.4 may have stopped running tests
during builds.
2020-09-09 23:42:33 -04:00
Andrey Mochalov
4d8ac0e055 [typescript] Fix incorrect enum literal case (#7378)
* Fix incorrect enum values for typescript clients

* Fix incorrect enum values for typescript clients

* Fix incorrect enum values for typescript clients
2020-09-09 15:58:45 +02:00
JR Andreassen
37de486c43 Rust reqwest/api_mustache Missing api Vec in parameter (#7049)
* Rust reqwest/api_mustache Missing api Vec in parameter

Not using #isListContainer in parameters

* incorrect value for supportAsync

supportAsync set to "false" should be false

* Sample updates for CI

* Fixed Double Vec

Only check for special case...  "dataType" case includes Vec

* update samples

* remove old files

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-09 21:56:31 +08:00
Michael Wirth
7b6cc2032a [kotlin] Fix imports of generated class (#7314) 2020-09-08 20:56:48 -04:00
sbu
e7f83595e5 Properly decode $ref (#7191)
* Properly decode $ref
fixes #5720

* Specify decoding encoding

* Nicer syntax

* UTF-8 typo

* Unescape special characters

* Change order of unescaping to prevent escaped sequences by accident

* Comment for special decoding

Co-authored-by: Jim Schubert <james.schubert@gmail.com>

* Add unit test for simple ref decoding

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-09-08 23:12:56 +08:00
William Cheng
67ba67ef96 fix typo, update caption 2020-09-08 18:25:16 +08:00
Ramanth Addala
c39aef2a79 feat(r): retry configuration for status codes (#5925)
* feat(r): retry configuration for status codes

* fix(r) : fixing review comments
2020-09-08 14:34:32 +08:00
Gichan Im
f9514705a1 [json][codegen] Add option: outputFileName (#7348) 2020-09-07 15:29:47 +08:00
Ghufz
7ac7974ef5 RSACng class is not supported on linux replacing it by RSA (#7349)
* RSACng class is not supported on linux replacing it by RSA

* update PS samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-09-07 15:24:36 +08:00
Pete Kruskall
089e1f7271 Adds cookie auth support to ApiKeyAuth in dart2 templates (#7346)
* Adds cookie auth support to dart2 templates

* Updating pet store sample templates
2020-09-06 22:54:46 +08:00
Jim Schubert
9a6e3fa74a [js][flowtype] Bump lodash from 4.17.15 to 4.17.19 (#7359)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)
2020-09-06 22:53:52 +08:00
Markus Wandersee
06434fcfce Bugfix swift5 code generation 2966 (#7301)
* Bugfix StackOverflow Crash in Swift5 Code Generation (#2966)

* Bugfix StackOverflow Crash in Swift5 Code Generation (#2966)

* Bugfix StackOverflow Crash in Swift5 Code Generation (#2966)
2020-09-06 22:05:16 +08:00
spacether
681e821b71 Syncs validation properties for arraymodels (#7357)
* Syncs validation properties for arraymodels

* Adds arrayModelHasValidation test
2020-09-05 18:02:00 -07:00
Ryan Rishi
2d5b2726d0 Subclass Python exceptions (#7321)
* Subclass Python exceptions:
- UnauthorizedException (401)
- ForbiddenException (403)
- NotFoundException (404)
- ServiceException [500 - 599]

Fixes #2151

* add generated sample code

* use Python 2 flavor inheritance

* regenerate samples
2020-09-05 10:22:04 -07:00
spacether
b38968456a Adds fix for issue7262 and a test of it (#7328)
* Adds fix for issue7262 and a test of it

* Updates inline schema to not include properties

* Adds null check of discriminator

* Updates issue sample file
2020-09-05 08:51:51 -07:00
William Cheng
dd42e0e428 add spacether to pom developer section (#7355) 2020-09-05 23:48:47 +08:00
Hui Yu
0e2e031ece [C][Client][Clang Static Analyzer] Fix uninitialized argument value for valueHeader_ and valueForm_ (#7332) 2020-09-04 21:37:31 +08:00
Robin Eggenkamp
5e512e8aa4 Remove duplicate jackson-datatype-jsr310 dependency (#7338) 2020-09-04 21:35:13 +08:00
Falanwe
662c77a283 [cpp-ue4] add support for empty response (#7333) 2020-09-04 21:32:29 +08:00
William Cheng
2fd23f505e Prepare 5.0.0-SNAPSHOT (#7347)
* Revert "Prepare 5.0.0-beta2 release (#7345)"

This reverts commit 212b4f7847.

* update readme
2020-09-04 15:31:54 +08:00
William Cheng
212b4f7847 Prepare 5.0.0-beta2 release (#7345)
* update version

* update doc

* update samples
2020-09-04 13:03:45 +08:00
William Cheng
14d41310b9 [Go] replace go generator with go-experimental generator (#7337)
* replace go with go-experimental

* update samples

* extends with abstract go class

* rearrange

* remove deprecated

* minor fix

* remove go deprecated samples

* update pom, clean up samples

* mark generator as deprecated
2020-09-04 09:56:42 +08:00
William Cheng
1f50207bda [doc] Update new-generator steps (new.sh) (#7336)
* [doc] Update new-generator steps (new.sh) (#7334)

* remove CommonMarkDocumentationCodegen

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-09-03 22:04:43 +08:00
William Cheng
e0ec332e38 Revert "[doc] Update new-generator steps (new.sh) (#7334)" (#7335)
This reverts commit 151752aa9d.
2020-09-03 14:21:26 +08:00
Jim Schubert
151752aa9d [doc] Update new-generator steps (new.sh) (#7334) 2020-09-02 22:14:52 -04:00
Jim Schubert
a6d30cac9d [core] Templating: limit compilation to supported extensions and constrain target paths (#6598) 2020-09-02 15:52:35 -04:00
Hippolyte HENRY
91ea6a17d9 [Java] Unalias type when generating default value for model property (#5017)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-09-02 07:52:38 -04:00
William Cheng
966b87e66c add aws v4 signature support to go-experimental (#7326) 2020-09-02 15:28:22 +08:00
William Cheng
d50d31cd5e add structPrefix support to go-experimental (#7327) 2020-09-01 20:51:37 +08:00
William Cheng
20eb4d0b91 Add a link to SmartHR Tech Blog (#7324) 2020-09-01 11:01:23 +08:00
Jim Schubert
26bb348354 Revert "Correct allOf with only one child schema (no discriminator)" (#7323)
This reverts commit 972120c35a.
2020-08-31 22:46:57 -04:00
William Cheng
972120c35a Correct allOf with only one child schema (no discriminator) (#6901) 2020-08-31 21:47:18 -04:00
Arvind Thirunarayanan
ab5b0fa8d4 [Go]: Interface definitions for api functions (#5914)
Introduces a new "generateInterfaces" option, allowing for better testability of generated clients
2020-08-31 21:43:40 -04:00
William Cheng
9fd66fbbcb Update bug_report.md (#7320) 2020-08-31 21:09:13 -04:00
William Cheng
19c5ed783a update samples 2020-08-31 23:17:55 +08:00
Oleh Kurpiak
14a500c6fe [Java][Client] Use java8 OffsetDateTime for clients (#7190)
* use java8 OffsetDateTime for clients

* use java8 OffsetDateTime for clients

* fix javadoc

* add javadoc to JavaTimeFormatter.mustache

* add javadoc to JavaTimeFormatter.mustache

* add javadoc to JavaTimeFormatter.mustache
2020-08-31 22:31:28 +08:00
Patouche
b9662dc25d [java] Intro openApiNullable property to enable/disable OpenAPI Jackson Nullable library (#6154)
* Add option to prevent usage of jackson-nullable (#2901)

Add a option for all java client and server to prevent
usage of third party library (jackson-databind-nullable)
which may be forbidden in some company

Add samples for Vertx, Spring MVC, Spring Cloud, Feign and Play

Upgrade dependencies for org.openapitools:jackson-databind-nullable

* Samples - Remove dependency org.openapitools:jackson-databind-nullable (#2901)

* Fix generation of gradle file for vertx (#2901)

* Regenerate samples (#2901)

* Fix documentation and up to date (#2901)

* Fix forgotten regeneration of vertx after dependency integration (#2901)

* Regenerate template after rebase (#2901)

* Use yaml config files introduce in #6509 to manage samples (#2901)

* Regenerate template using the config (#2901)

* Fix bad version during testing generated samples (#2901)

* Regenerate template after fix bad version (#2901)

* Fix merge, allow for set importing on codegen model

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-08-31 21:25:18 +08:00
William Cheng
7032c401ea [Spring Boot] update dependencies, mark java8 option as deprecated (#7306)
* update springboot dependencies

* update doc

* update samples
2020-08-31 13:53:50 +08:00
Gmtstephane
15de43f7e4 Remove dot in golang type (#7307) 2020-08-31 13:50:20 +08:00
Jim Schubert
8eea149e14 [doc] Document usage of post-process file feature (#7315) 2020-08-31 13:44:44 +08:00
QP Hou
30074833cd fix http bear auth documentation for go clinets (#7312) 2020-08-31 13:43:34 +08:00
Jiri Kuncar
d5a680e85f [Extensions][Go][Java] Test x-auth-id-alias (#6642)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-08-30 21:46:55 -04:00
Yuriy Belenko
da9f2f7c9b [php-slim4] Move config to a separate file (#6971)
* Move config into separated file

* Restrict access from web to config folder

* Exclude config folder from code base

* Update documentation

* Refresh samples

* Fix misplaced pathes
2020-08-29 00:27:03 +08:00
Hui Yu
2c65605289 [C][Client][Clang Static Analyzer] Remove the useless free operation for (#7309)
buffContent
2020-08-29 00:17:55 +08:00
Richard Kolkovich
f681016ffd Fix typescript-node generation when only models are generated (#7127)
* add model/index.ts

- move export of all models to model/index.ts
- move RequestFile definition to model/index.ts

This fixes #7126

* update samples

* Back out models/index.ts

Make this backwards-compatible:

- move `RequestFile` definition to `model/models.ts`
- remove `model/index.ts`
- re-export `RequestFile` from `api/apis.ts`
- make generation of `ObjectSerializer` conditional

* for some reason, Symfony isn't up to date

* reverts changes to php-symfony sample

* moves comment to mustache comment rather than TS comment

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>

* removes stale files from samples (no longer generated)

* updates samples

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2020-08-28 17:19:53 +02:00
William Cheng
1f95199f82 update spring config to use java8 (#7308) 2020-08-28 19:17:20 +08:00
Hui Yu
08fe44c764 [C][Client][Clang Static Analyzer] Fix uninitialized argument value (#7305) 2020-08-28 09:44:55 +08:00
William Cheng
26c17c5774 [Java] remove deprecated jackson classes (#7304)
* [java/resttemplate] Generate valid code if no Authentication implementations present

Take the logic used to decide which instances to add to the authentications map and re-use to not import classes or offer non-functional util methods

* parameterize formParams

fixes #5782

* replace use of ISO8601DateFormat and ISO8601Utils with StdDateFormat

fixes #5779

* add constructor to intialise calendar

* Revert "[java/resttemplate] Generate valid code if no Authentication implementations present"

This reverts commit 6e450907ba.

* Revert "parameterize formParams"

This reverts commit 7a26ce5dd2.

* also override single arg parse method to avoid throwing exception

* also override single arg parse method to avoid throwing exception

* update samples

* update samples

* fix jersey1 tests

* fix jersey2 test

* update resteasy dependencies

* fix java jersey2 oas3 tests

* use java8 in springboot-beanvalidation

Co-authored-by: Jon Freedman <jon.freedman@zoho.com>
2020-08-27 23:13:56 +08:00
spacether
892836f772 Adds generator unaliasSchema method, uses it to refactor python-experimental (#7274)
* Adds generator specific unaliasSchema method

* Adds unaliasSchema and hasValidation methods in python-experimental generator

* Removes primitive models with no validations, docs, tests, and models

* Uses unaliasSchema in getSchemaType and adds todos

* Deletes handleMethodResponse and fromResponse

* Simplifies fromRequestBody

* Removes unneeded handleMethodResponse

* Updates javadoc

* Updates fromModel

* Adds python-exp java test defaultSettingInPrimitiveModelWithValidations, removes model NumberWithValidationsAndDefault form v3 sample spec

* Deletes getSimpleTypeDeclaration

* Removes straggler file

* Deletes hasValidation and modelWillBeMade

* Uses super in fromFormProperty

* Regenerates samples for python-experimental

* Updates postProcessAllModels
2020-08-27 08:07:33 -07:00
William Cheng
b4edfe477a [Rust][reqwest] prefix local variables with "local_var" (#7299)
* use local_var prefix in rust variables

* minor fixes
2020-08-27 11:43:35 +08:00
William Cheng
8c1f6fcdc1 [Java][jersey2]Support enum discriminator value in child objects (#7267)
* support enum discriminator value in child (java jersey2)

* update samples

* add tests, use public
2020-08-27 11:42:48 +08:00
Hui Yu
f11b2e6772 [C][Client][Clang Static Analyzer] Fix memory leak before function returnning (#7302) 2020-08-27 09:38:22 +08:00
William Cheng
11a674f248 add extension for hashable in swift5 (#7300) 2020-08-26 19:29:29 +08:00
Bruno Coelho
98582d5780 [kotlin][client] fix warning Extension is shadowed by a member (#7286) 2020-08-26 11:21:40 +08:00
William Cheng
6913b0520c Add wbt-solutions logo (#7298)
* add wbt solutions logo, rearrange logo

* reduce logo size
2020-08-26 10:38:31 +08:00
William Cheng
e6d3201623 [c-sharp] Fix default values with discriminator (#7296)
* [c-sharp] Fix #6225 default values with discriminator

* [c-sharp] Fix #6225 default values with discriminator

* update samples

Co-authored-by: Tom E <1036527+thommy101@users.noreply.github.com>
2020-08-26 09:36:11 +08:00
William Cheng
bc4994e82c Add x-is-json to csharp generators (#7293)
* add x-is-json to csharp generators

* add docstring
2020-08-26 09:34:42 +08:00
itoz
2e243abf25 Add raksul (#7295)
Co-authored-by: itokazu masafumi <m.itokazu@raksul.com>
2020-08-25 20:44:48 +08:00
sbu
546bc37935 Add wbt-solutions as using company (#7292) 2020-08-25 17:21:44 +08:00
Hui Yu
1852f61f3a [C][Client][Clang Static Analyzer] Fix memory leak in apiClient_invoke (#7285) 2020-08-25 11:16:19 +08:00
Niels Pardon
d868fd6dc8 [Java][clients] remove java.lang prefix from Object (#6806) 2020-08-24 22:06:19 -04:00
Jim Schubert
a97feaf533 [core] Add x-is-free-form vendor extension (#6849)
This adds an x-is-free-form vendor extension to allow users to skip our
"free-form" logic which would previously prevent object schemas with no
properties to be considered "free-form". The previous behavior was due
in part to Swagger Parser not exposing `additionalProperties: false` to
us (which should be similar behavior to this extension).

A free-form object is considered a dynamic object with any number of
properties/types. DefaultGenerator does not allow for generation of
models considered free-form. However, a base type with no properties and
no additional properties is allowed by OpenAPI Specification and is
meaningful in many languages (e.g. "marker interfaces" or abstract
closed types).
2020-08-24 19:00:47 -04:00
Kim T
54a6c791f7 [NodeJS] Auto populate config using schema servers.url (#6980)
* [NodeJS] nodejs-express-server fix /api-docs path

* Auto populate config using schema servers.url

* [NodeJS] Auto populate config port 3000
2020-08-24 22:42:10 +08:00
Oleh Kurpiak
1dc65f0033 Remove warning when type importer manually (#7264) 2020-08-24 08:20:51 -04:00
Oleh Kurpiak
8bd2dd4c9d [Java] [Spring] Spring new mapping annotations (#7189)
* Spring new mapping annotations

* update other spring mvc templates
2020-08-24 17:03:21 +08:00
4d-shibasawa
19140dc00d typescript: added conditional for Subscriber importing (#7266) 2020-08-24 10:14:36 +02:00
taqm
3e734a0b54 [docs] Fix go-gin-server additional property docs. (#7188)
* [docs] Fix go-gin-server additional property docs.

* add cli option for serverPort, apiPath

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-24 14:19:23 +08:00
Mohamed EL HABIB
c893b92775 [BUG][MARKDOWN] Extra (back)slashes added to links from Api to Model #6095 (#6834)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-08-24 00:13:17 -04:00
William Cheng
029fd669e5 Add a link to Think IT(シンクイット)blog post (#7279)
Add a link to Think IT(シンクイット)blog post
2020-08-24 11:41:21 +08:00
Don Bowman
5e79aaaf0a fix: update base image to maven supported (#7001)
* Updates docker images for CLI and Online to JDK 11 and Maven 3.6.3 builders
* Uses openjdk:11.0.8-jre-slim-buster rather than alpine as new image publishes CVEs
2020-08-23 23:40:32 -04:00
Alex-e
c1de6c2651 [scala][play] Update apiTrait.scala.mustache (#6891)
https://github.com/OpenAPITools/openapi-generator/issues/6889
2020-08-23 23:24:19 -04:00
Jim Schubert
f70d48ea73 [java] Appropriate instantiation of model with dynamic properties (#6052) 2020-08-23 17:41:49 -04:00
Jim Schubert
0747694636 [docs] Update README badges (#7276)
* Add Apache 2.0 and OpenCollective badges
* Update bitrise and github workflow badges to use shields and better match other badges
2020-08-23 15:01:58 -04:00
ParakhMittal
7bb8a8d9ff Update apiInvoker.mustache and sample file for akka-scala client for issue #7258 fix (#7259)
* Update apiInvoker.mustache

In scala-akka-client code that is getting generated, addAuthentication method is called after setting headers using header parameter in the below mentioned line
addAuthentication(request.credentials)(
      httpRequest.withHeaders(headers(request.headerParams))
    )

However, in addAuthentication method, we are using withHeaders method that overwrites the headers set using header parameters. So, I am proposing to
change the addAuthentication method be replacing withHeaders() method to addHeader() to add authentication header to the list of already existing headers.

* Update ApiInvoker.scala

Added changes to sample for the client generator code change
2020-08-23 21:42:16 +08:00
sbu
fff5bfe8cb [Dart] Get all enum values in a list (#7166)
* Provide getter `values` for all enum values

* Add values getter also to inline enum

* Generate samples

Co-authored-by: SimonIT <simonit.orig@gmail.com>
2020-08-23 21:37:52 +08:00
Jim Schubert
f371f7ff07 Update .gitattributes
Revert changes which attempted to resolve windows ensure script functionality
2020-08-23 00:28:41 -04:00
Jim Schubert
2e61a37833 [ci] Set ubuntu workflow verification to autoclrf=true, safeclrf=false 2020-08-22 23:14:05 -04:00
Jim Schubert
027f752613 Update check-supported-versions.yaml
Disable "Verifies integrity of the commit on windows-latest" job in Check Support Versions workflow
2020-08-22 22:29:18 -04:00
Jim Schubert
0e9c6dd9a8 [ci] Update gitattributes and allow skipping docs generation for Windows CI workflows (#7273) 2020-08-22 22:14:04 -04:00
Jim Schubert
da84d8e3bf [core][bug] FILES is now path relative with no prefixes (#7271)
* FILES is now path relative with no prefixes

some Java implementations don't honor .relativize documentation fully.
When outDir is /a/b and the input is /a/b/c/d, the result should be c/d.
Some implementations make the output ./c/d which seems to mix the logic
as documented for symlinks. So we need to trim any / or ./ from the start,
as nobody should be generating into system root and our expectation is no ./

This resolves regeneration issues for those on such Java
implementations, although we've not been able to track down the exact
vendor or configurations which might lead to these differences.

* Ensure windows outputs FILES paths in same format

* Normalize FILES paths to remove relativization mid-path
2020-08-22 15:49:00 -04:00
Jim Schubert
a78a72b3d7 Update check-supported-versions.yaml
Stage openapi-generator-cli.jar only from ubuntu
2020-08-22 11:15:05 -04:00
Jim Schubert
301cd4093d Update check-supported-versions.yaml (#7268) 2020-08-21 22:33:49 -04:00
TIm Clark
cbdedff0ad [Java][jersey2] Add jersey injection dependencies (#7240)
* Adds the jersey injection dependency to gradle and sbt to match
the maven dependency.
* Update jersey version in sbt
2020-08-21 16:51:11 +08:00
Hui Yu
e8e6229d1b [C][Clang Static Analyzer] Remove the useless variable when assembling URL (#7255) 2020-08-21 16:22:19 +08:00
sbu
f0fd2cbb22 Date format dart (#6389)
* Correct date format of date formatted strings

* Update petstore

* Regenerate samples on linux

* Remove final for letting the user configure custom date formats

Co-authored-by: SimonIT <simonit.orig@gmail.com>
2020-08-21 10:23:44 +08:00
William Cheng
06ab5b5c0f minor enhancement to java client generator (#7253) 2020-08-21 00:35:26 +08:00
Frank Essenberger
d3017ffba8 typescript: Fix Union Types Import Issue (#6789)
* First approach for discussion

* typo

* add addiotional method

* polish a bit

* remove call of super method

* fix javadoc error

* com.google.common.collect.

* merge master regenerate samples

* sort imports alphabetically

* sort imports alphabetically with right key

* typo

* add type previous imports are still there.

* add type previous imports are still there.

* remove new test to see if they are the problem.

* merge master add tests back in

* align changes which should not lead to failing test but you never know.

* remove formatting changes

* dummy change

* revert spaces

* revert spaces

* revert functional changes

* comment out test

* remove model

* remove interface method

* remove test class completely

* put test class back - test body commented out

* rename test methods

* put back logic and tests

* remove generated APIs

* remark amakhrov

* check in one generated file to test

* adjust call super

* add comment use set.
2020-08-20 15:15:09 +02:00
Troy P
71321bd049 Modifying the es5 and es6 templates for javascript to handle default values (#6649)
for required fields better. This change ensures the required field isn't
overridden with undefined when the object is constructed - especially through
a chain of constructFromObject calls..
2020-08-20 15:24:11 +08:00
spacether
866df36c94 [python-exp] simplify examples (#7157)
* Adds example setting code in python-experimental with one fn setting example values

Fixes sample indentations

Handles composed schema models, object model and arraymodels

Adds brackets in arraymodel input

Sets modelName with map schemas

Removes included_schemas arguments, dicriminator examples do not include property examples

Refactors modelName into toExampleValueRecursive argument

Fixes bug where example models contained themselves

Stops using model ExampleGenerator examples because they are inconsistent with the ones in python-experimental

Uses example values if they exist

Removes single quotes from enum examples

Fixes password example

Adds commented our regex handling, commented out because it breaks

Handles AnyType schema examples

Adds x_example values for simple string properties, uses toExampleValue for all example generation

Adds examples for simple string parameters

Updates comments in toExampleValueBase

Fixes the double nested bug for AdditionalPropertiesWithArrayOfEnums

Fixes bug where NumberWithValidations had double nesting

Updates simple string examples in arrays

Fixes array string examples

Fixes example for string endpoint body example

Adds exampleFromStringOrArraySchema

Adds regex examples, pegs slf4j-version to v1.7.29 for rgxgen

Adds comment about regex seed

Updates pattern matcher to not handle ^ and $

Updates used sample values

Adds ensureQuotes

Adds ensureQuotes

Fixes double quote bug

Updates mustache file

Adds ensureQuotes to key handling

Adds modelNameToSchema map, reduces run time by using it

Fixes java tests

Regenerates python-experimental samples

Fixes python test

* Rebased on master

* Adds getModelNameToSchemaCache

* Updates toDefaultValue to not mutate schemas

* Has all dates and datetimes default and example setting use the same helper function

* Samples regenerated

* indentation tweak, removes txt from sample file
2020-08-19 21:27:31 -07:00
Aljaž Pavišič
c19350b179 Support for KumuluzEE microprofile runtime (#5944)
* Added library and edited generator to support server stub generation with Kumuluzee framework.

* Trimmed and tweaked pom.xml template and removed unnecessary template files from generator and library.

* minor edits

* Added new library to Java client codegen (microprofile-kumuluzee). A
functional KumuluzEE REST client can now be generated.

* Edited README for microprofile-kumuluzee

* Edited docs to include new KumuluzEE library options.

* Updated kee-rest-client client POM dependency version to latest

* fixed pom, edited REAMDE

* Trimmed redundant dependencies from KEE client pom

* Removed unnecessary DefaultGenerator edit, modified config template accordingly.

* Made mp framework an additional property for microprofile instead of being another library option, removed now redundant library files.

* Updated documentation with microprofile framework

* Fixed errors caused by removed functions and variables

* update doc

Co-authored-by: Chuckledog <aljaz.pavsic@gmail.com>
Co-authored-by: Jan Meznaric <jmezna@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-20 10:25:05 +08:00
William Cheng
81d0f72bd5 [C#][netcore] minor improvements and bug fixes (#7244)
* update spec

* fix datetime default value

* fix the issues when the class name is not in pascal case

* Update modules/openapi-generator/src/main/resources/csharp-netcore/modelGeneric.mustache

Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>

* update samples

Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>
2020-08-19 22:26:47 +08:00
William Cheng
cf0385676b Deprecate Flash (ActionScript) client generator (#7231)
* deprecate flash client generator

* update doc

* add doc

* remove left-over doc

* add back flash-deprecated.md

* remove flash.md
2020-08-19 13:53:00 +03:00
Ramanth Addala
ed1e30e75e feat(csharp): adding retry configuration (#5929)
* feat(csharp): adding retry configuration

* fix(csharp-retry) : adding retry policy through configuration

* fix(csharp): moving RetryConfiguration out of Configuration class

* fix(csharp): minor changes

* fix(csharp): fixing tabs

* fix(csharp): reverting FILES

* fix(csharp) :reverting some file changes

* fix(csharp): reverting changes

* update samples

* fix(csharp-retry) : fixing merge conflicts and build failure

* fix(chsarp-retry) : FILES changes

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-19 18:18:09 +08:00
William Cheng
98c606c32d Revert "[codegen][Python] Add model cache to speed up code generation (#7220)" (#7245)
This reverts commit bee03685f0.
2020-08-19 14:47:22 +08:00
Sebastien Rosset
bee03685f0 [codegen][Python] Add model cache to speed up code generation (#7220)
* Add modelName to schema cache.

* Add modelName to schema cache.

* add cache optimizations

* add cache optimizations

* remove unused variable
2020-08-18 11:40:49 -07:00
Tatsuro Shibamura
1ff16d0db7 [csharp-netcore] Adding ConfigureAwait(false) using async methods call (#7234) 2020-08-18 13:38:37 +08:00
William Cheng
86240f476b better wordings for CLASS_MODIFIER (#7233) 2020-08-18 12:52:25 +08:00
alanngloux
5bb27c22ec [Typescript-redux-query] Fix issue on api template when we have non empty header (#7179)
* Update apis.mustache

* add import

add httpheaders import

* add model httpHeader and remove useless import

* regeneration of sample

* regenerate sample

Co-authored-by: Alann GLOUX <agloux@efront.com>
2020-08-17 11:16:10 +02:00
Sshnyari
528c2f6bd4 [typescript-redux-query] fixed array requests (#7198)
* fixed typescript-redux-query array requests

* switched to a second solution

* regerating typescipt-redux-query samples
2020-08-17 11:14:51 +02:00
William Cheng
b7b009082a Update csharp-netcore dependencies to the latest stable version (#7194)
* update csharp-netcore dependencies

* update test sdk version

* set tests.sdk version to 15.9.2

* rearrange test

* vs 2019 image

* rollback to v4.61.0

* update Microsoft.NET.Test.Sdk version

* Revert "update Microsoft.NET.Test.Sdk version"

This reverts commit 7a86bfc415.

* rollback Microsoft.NET.Test.Sdk
2020-08-17 14:51:31 +08:00
Anthony Rouneau
e26a4222c7 C-Libcurl client: fix enum model generation (#5604)
The "..._parseFromJSON" template was buggy because the name of the _e type used was not the same than the generated.
See the first argument of "..._convertToJSON" to see that the _e type used there was not the same
2020-08-17 09:51:03 +08:00
Yuriy Belenko
9a03850828 [php] Exclude composer.lock in root gitignore (#7224)
* Add samples composer.lock to root .gitignore

composer.lock may produce CI errors when you need to test build against
different PHP versions. However users most likely want to commit this
file, so I think it's better to exclude it only in root .gitignore.

* Commit composer.lock in default PHP templates

* Refresh samples
2020-08-17 00:13:50 +08:00
William Cheng
31d5652c3d [C++][Cpprest] update cmakelist to fix issue on Linux (#7223)
* fix cmake in linux with cpprestsdk_DIR

* update sample
2020-08-16 22:12:21 +08:00
maschoene
f0e2e372db avoid 'servers not defined in the spec' warn-spam on maven console (#6837) (#6838) 2020-08-16 13:47:30 +08:00
Jean-François Côté
14c14bf9a2 [Play Framework] Update minor version + scala version + swagger-ui version (#7200)
* Update play framework minor version + scala + swagger-ui + Remove bugs in the url of swagger-ui.

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-15 17:25:30 +08:00
Brendan Burns
554747d59c Fix a missing return in the C client sslConfig_create function. (#7217) 2020-08-15 10:35:16 +08:00
ryutah
b3b4526bf7 [go-server] Modified go-server templates to allow services to receive http request's context. (#7214)
* adds context arguments to go-server templates (#6657)

* updates go-api-server samples (#6657)
2020-08-15 00:11:44 +08:00
William Cheng
2b0c5819c0 [C#][netcore] auto-generate appveyor.yml (#7212)
* auto-generate appveyor.yml

* Update modules/openapi-generator/src/main/resources/csharp-netcore/appveyor.mustache

Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>

* Update modules/openapi-generator/src/main/resources/csharp-netcore/appveyor.mustache

Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>

* Update modules/openapi-generator/src/main/resources/csharp-netcore/appveyor.mustache

Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>

* Update modules/openapi-generator/src/main/resources/csharp-netcore/appveyor.mustache

Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>

* update samples

Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>
2020-08-14 18:55:01 +08:00
William Cheng
208106d179 remove supportsUWP from template (#7211) 2020-08-14 13:30:53 +08:00
William Cheng
85e1fa1b68 remove packages.config.mustache (#7202) 2020-08-14 12:45:39 +08:00
Tatsuro Shibamura
b6f1f0172e [C#][csharp-netcore] Improvement to standard code format (#7206)
* [csharp-netcore] Improvement to standard code format

* Generate sample clients
2020-08-14 12:26:09 +08:00
William Cheng
dc90adb539 better sync support (#7203) 2020-08-14 11:40:07 +08:00
William Cheng
ae6abfc5f3 better code format (#7197) 2020-08-13 23:45:51 +08:00
Oleh Kurpiak
c9939a2754 [REQ][Java] Additional annotations with String params (#7117)
* Additional annotations with String params

* Additional annotations with String params. Missed sample update

* Additional annotations with String params. Use Jackson annotations

* insert unescaped content

* fix imports

* fix imports
2020-08-12 16:31:03 +08:00
Jon Freedman
9ba34b2805 [Java] parameterize formParams (#5784)
* parameterize formParams

fixes #5782

* sync generated code

* update to latest version of spring, replace MultiValueMap#put with #addAll, remove unused imports

* restore java.util.HashMap import

* update spring version in pom/gradle templates

* re-generate resttemplate samples

* fix test

* fix test

* parameterize an additional usage of LinkedMultiValueMap

* re-generate resttemplate samples

* re-generate webclient samples

* manually edit FILES to replace \ with /
2020-08-12 15:55:53 +08:00
beytun
a1484dac77 [Java] Update templates not to add @Pattern on byte array property (#7153)
* Update Java templates to skip generating @Pattern on byte array properties

* Revert separator changes

* Revert separator changes
2020-08-12 14:29:50 +08:00
TIm Clark
6653cedcc7 [python-experimental] Fix model tests (#7139)
* [python-experimental] Fix model tests

* Fixes model tests to template off the classname instead of
the model's description.
* Uses python-experimental templates when generating
python-experimental samples

* Fix sample file manifest

* Restore remaining tests
2020-08-11 18:38:58 -07:00
TIm Clark
f609120236 [WIP][python-exp] Force camelization of imports (#7186)
* [python-exp] Force camelization of imports

* Add unit test
2020-08-11 14:11:07 -07:00
stgraham2000
b48112d941 Fixes #6942: Added ability to prepend a basePath to typescript-redux-query generators (#6943)
* Added a Configuration object in the Runtime that can be used to update a base path.

Added a new Configuration object that has attributes that can be used to alter the behaviour of the query config generators.  In particular, added a basePath field which can be used to prepend to the urls in the query configs.  The old behaviour only used relative paths for the urls which means cross domain support was not possible.

* Ran script to update the samples after making the template change

Co-authored-by: Steve Graham <stgraham2000@gmail.com>
2020-08-11 11:52:45 +02:00
Masaki Ikeda
13c94eeea0 [Typescript] Import path is invalid in windows. (#7175)
Use `/` instead of `File.Separator`. `File.Separator` is `/` in Windows.
2020-08-11 11:39:43 +02:00
Oleh Kurpiak
c89a5c416d Fix JaxRS Spec generator additional model types (#7180) 2020-08-11 10:28:38 +08:00
Christian Gibson
d37216a411 [python{,-experimental}] Obey floating point timeouts provided to RESTClientObject.request(...) (#7154)
* [fix] support floating point timeout durations

* [lint] generate samples, rebuild project
2020-08-10 13:11:29 -07:00
William Cheng
1ee57ea853 [C#] Switch the spec to OAS v3 from v2 (#7176)
* switch to 3.0 spec in c# clients

* remove samples/openapi3/client/petstore/csharp

* remove samples/openapi3/client/petstore/csharp-netcore/OpenAPIClient

* remove samples/openapi3/client/petstore/csharp-netcore/OpenAPIClientCore/

* update samples
2020-08-10 20:48:13 +08:00
Troy P
780b55a518 [Javascript] Fixing the handling of non primitive types in paramToString (#7171) (#7172) 2020-08-10 16:58:55 +08:00
Shinya Sugmoto
256d498d0e [typescript-node] Fix invalid type when using node@10 and ES5 (#7133)
* replace ClientResponse with IncommingMessage in
mustache

* updated samples

* updated integrationtests
2020-08-10 09:37:13 +02:00
William Cheng
69a410550a Minor fix to github workflow badge 2020-08-10 12:10:31 +08:00
HenningWaack
e4c858cd25 [gradle] Enabling up-to-date checks and gradle caching for openapigenerator tasks (#6716) 2020-08-09 21:40:19 -04:00
Sai Giridhar P
6f0bef61ba feat(csharp-netcore): Adding response headers to the ApiException (#7169) 2020-08-10 00:10:57 +08:00
Jim Schubert
5bbcf30c9c [ci] Verify supported JDK versions on master push (#7085) 2020-08-09 18:19:13 +08:00
Vincent Leon
930c622d11 Issue #6830: Java server - Add getter to ApiException templates (#7150) 2020-08-09 18:17:51 +08:00
William Cheng
f1989cc70f update kotlin samples 2020-08-09 09:49:53 +08:00
tgerth
d78e91517e [Kotlin] Make ApiClient in jvm-retrofit2 be able to use own OkHttpClient (#6999)
* added okHttpClient as parameter to the constructor, adapted createService

* updated sample
2020-08-08 20:59:41 +08:00
Kasper Kondzielski
2a17625e1f Sttp - wrap query params (#6884)
* Wrap query params with additional curly braces

* Sttp - remove unused file
2020-08-08 20:58:43 +08:00
William Cheng
03a0dc7713 Add a link to https://medium.com/@everisBrasil blog post (#7160)
Add a link to https://medium.com/@everisBrasil blog post
2020-08-07 17:13:14 +08:00
William Cheng
5abf8b8378 [C#][netcore] fix regular expression when it contains double quotes (#7147)
* escape special characters in regular expression in csharp netcore client

* escape double quote
2020-08-07 09:51:56 +08:00
William Cheng
4811785c43 remove duplicated cancellationToken in comment (#7148) 2020-08-07 09:51:41 +08:00
William Cheng
57ee092abd update samples 2020-08-06 18:55:21 +08:00
devhl-labs
159936d85a [csharp-netcore] renamed async methods to end with async (#7062)
* renamed async methods to end with async

* update samples

* updated samples

* updated test to use new name

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-06 18:49:53 +08:00
William Cheng
227fb50b2b Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-08-06 17:40:31 +08:00
William Cheng
5ad2c8315e update samples 2020-08-06 17:33:32 +08:00
William Cheng
5a68bcf532 update image to vs 2019 (#7143) 2020-08-06 17:18:37 +08:00
debugman
742b8bd650 added int32 support for go-server (#7123) 2020-08-06 17:17:07 +08:00
William Cheng
4a7c4ac81d add helper methods to anyOf in java models (#7130) 2020-08-06 15:12:44 +08:00
William Cheng
201ac77d0c [Go] minor improvements (#7134)
* fix boolean option, add eum prefix option

* update code format

* optimize code
2020-08-06 15:11:20 +08:00
William Cheng
be02a33c72 better error handling when publishing module (#7131) 2020-08-06 14:05:43 +08:00
Erik Müller
f752f29af2 [typescript-axios] add promise to bearer and oauth tokens (#7132) 2020-08-05 14:23:06 +02:00
William Cheng
f5775f483a update doc 2020-08-05 16:43:11 +08:00
Mike Raineri
51c45eb28b [REQ] Added enumClassPrefix option to Go server generation (#7008)
* Added enumClassPrefix option to Go server generation

* Using literal 'true' instead of string
2020-08-05 16:33:58 +08:00
William Cheng
c1b8c294aa [Java][jersey2] Add helper methods for oneOf Java classes (#7115)
* add helper methods for oneOf java class

* better test comment
2020-08-05 10:27:38 +08:00
William Cheng
aa698633b3 [Kotlin][Retrofit2] fix missing import for file (#7121)
* fix missing import for file

* test in shippable

* test retrofit2 fx3 kotlin sample

* add pom.xml
2020-08-05 10:24:31 +08:00
Troy P
9f1d012d14 adding handling for epoch dates in javascript ApiClient mustache file (#6497) (#6504) 2020-08-04 23:55:38 +08:00
William Cheng
c1b53df345 update doc 2020-08-04 18:25:25 +08:00
William Cheng
cbcb7ff848 comment out cpanm in travis 2020-08-04 18:07:41 +08:00
tgerth
66cd0f6511 [Kotlin] Rxjava3 support (#6998)
* added rx3 support

* fix rx3 support

* generated samples

* updated samples

* update samples

* changed rxjava3 adapter to the one from squareup

* changed dependency of RxJava3CallAdapterFactory

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-04 16:58:27 +08:00
Dmitry Mavrichev
0cb4c43c42 [BUG][JAVA] Fix error handling in okhttp-gson async api client (#7089)
* Fix error handling in okhttp-gson async api client

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-04 11:44:18 +08:00
Nathan Mische
b8e87bb6fc Update to reset httpRepsonse.Body (#6948)
* Update to reset httpRepsonse.Body such that is available to client consumers via the returned httpResponse variable.

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-04 10:34:41 +08:00
Yuriy Belenko
ba8a50137a [php-lumen] Set required PHP version to ^7.2.5 (#6949)
* Set required PHP version to ^7.2.5

* Write .gitignore into srcBasePath

* Update dependencies

* Copy latest Lumen sources to templates

* Add Lumen license template

* Use Lumen license in templates

* Fix typo in readme

* Add Init App Config readme section

* Add composer.lock to root gitignore

* Add Travis-CI task

* Set OAS 3.0 input spec file for samples

* Refresh samples
2020-08-04 10:33:10 +08:00
Jim Schubert
ca3fa4b9cb [contrib][docs] Assert importance of title/description/repro steps (#7103) 2020-08-04 09:59:08 +08:00
mikesaurus
34f0d02f38 ISSUE-4222: Prevent conflicts with accept(s) local variables in generated Java RestTemplate ApiClient (#7101)
* ISSUE-4222: Change accept(s) to localVarAccept(s) in Java/resttemplate/api.mustache

* ISSUE-4222: Regenerate samples
2020-08-04 09:52:16 +08:00
Jim Schubert
7a846a193a [bug][core] Copy all attributes (not properties) on composed schemas when flattening models (#7106) 2020-08-03 21:16:47 -04:00
Yuriy Belenko
6a08ec59c0 [core] Add type and format properties to model of inline response (#6153) 2020-08-03 18:37:37 -04:00
William Cheng
1be98b4920 [PowerShell] better publishing workflow (#7114)
* better publishing workflow in ps

* use package name in appveyor
2020-08-03 22:56:47 +08:00
Sshnyari
1ffe2a780a [aspnetcore] Typo issues in docs and generated code (#7094)
* fixed a typo issue in aspnetcore generator #4829

* solved an issue with integration tests using WebApplicationFactory

* updated aspnetcore samples impacted by the change
2020-08-03 21:26:40 +08:00
William Cheng
a9576a1e2b fix http signaure auth in build.sbt (#7110) 2020-08-03 10:10:47 +08:00
ngp-star
93159de77d fix for the issue facing spec invlolving arrayschema structure with ref (#6310)
fix for the issue facing spec invlolving arrayschema structure with ref
2020-08-03 00:16:25 +08:00
devhl-labs
761364eec9 [csharp-netcore] added cancellation tokens to async calls (#7077)
* added cancellation tokens to async calls

* changed variable name for consistency

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-08-02 17:53:53 +08:00
William Cheng
43471bacbc [PS] Allow CI to publish the module (#7091)
* better code format in powershell code

* add code to publish ps module
2020-08-02 16:57:40 +08:00
sbu
647d253ac8 [Dart] Treat float as double (#6924)
* [Dart] Treat float as double

* [Dart] Treat float as double in mustache with isNumber
2020-08-02 16:46:50 +08:00
TIm Clark
800d9453a4 [Java][jersey2]Fix gradle HttpSignatureAuth dependencies (#7096)
* Corrects tag for including HttpSignatureAuth in gradle builds
* Updates version of org.tomitribe:tomitribe-http-signatures in
gradle template to match version from maven template
* Updates samples
2020-08-02 16:18:44 +08:00
William Cheng
44726ef471 move maven,gradle tests to shipppable ci (#7108) 2020-08-02 13:32:28 +08:00
Tetiana Servirog
828bdebdac [MARKDOWN] Fix issue 6089 with property and parameter names (#6105)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-08-01 17:21:18 -04:00
Valentin Valchev
5b22d08d41 [BUG] Multi-Part content type in response ignores properties of composed schema (allOf/oneOf) (#6073) 2020-08-01 08:51:02 -04:00
Jim Schubert
62e5950799 [online] Fix for version conflicts with springfox/boot (#7102) 2020-08-01 06:35:55 -04:00
William Cheng
d143f8db5c skip some installations to shorten build time 2020-08-01 10:45:25 +08:00
William Cheng
a7ccc4addd [Go][Exp] better code format (#7088)
* go-exp-format

* replace spaces with tabs
2020-08-01 10:12:28 +08:00
William Cheng
f49ab2a7ed Fix Shippable CI (#7097)
* disable elixir tests due to shippable ci issue

* comment out kotlin test
2020-08-01 09:30:36 +08:00
Daniel Ludwig
b838e1885f typescript-node: clean up require and import (#6947)
* Fix for issue 4656 typescript-node generate invalid require statement instead of import statement

* Fixed broken link under testing templates

* Result of run generate-samples.sh / typescript-node*

* import stmt depending on flag supportsES6

* Update petstore sample for typescript-node

* import ... from stmt for http/request module

* update samples

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-31 17:58:43 +08:00
William Cheng
0f3edb13f5 commented out perl, bash tests to reduce build time 2020-07-31 15:29:02 +08:00
William Cheng
c93fcd7514 Add a link to conference paper (#7086) 2020-07-31 11:19:51 +08:00
William Cheng
b2293cc363 Add a link to the blog post at qiita (#7084) 2020-07-31 10:42:44 +08:00
William Cheng
e12009907e migrate typescript.sh to new config format (#7078) 2020-07-30 22:55:52 +08:00
William Cheng
6621f46d70 update protobuf samples 2020-07-30 11:30:29 +08:00
k0ral
0494d27f73 [Protobuf] Generate enum fields (#7073) 2020-07-30 11:22:32 +08:00
sbu
472ff9c657 Fix 2d list generation for dart (#6913) 2020-07-30 10:19:43 +08:00
William Cheng
720f864b64 surpress warnings in plantuml generator (#7071) 2020-07-29 19:01:26 +08:00
William Cheng
8a3994e000 update doc 2020-07-29 16:56:08 +08:00
William Cheng
4e59122264 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-07-29 15:44:53 +08:00
William Cheng
f64a4d1a4f update samples 2020-07-29 15:44:28 +08:00
William Cheng
789b158cd4 Add "Allow edits from maintainers" tips to the doc (#7068)
Add "Allow edits from maintainers" tips to the doc
2020-07-29 15:41:19 +08:00
Marcus Berndt
0c173fb519 typescript-axios: add Set as language primitive (#6931)
* fix(typescript-axios): add Set as language primitive

* fix(typemapping): added lowercased set as primitive type

* fix(samples): regenerated ts samples and added Set as language primitive to ts docs
2020-07-29 15:35:30 +08:00
William Cheng
fdc0b5b0e2 [PHP] Fix sending array of files with multipart/form-data in PHP template (#7067)
* Fix sending array of files with multipart/form-data in PHP template

* update php samples

Co-authored-by: Aleh Tanasiuk <atanasiuk@hubspot.com>
2020-07-29 15:07:51 +08:00
William Cheng
adc3fef247 improve travis in R client (#7063) 2020-07-29 09:56:11 +08:00
Justin Black
798ad2f87d [python-experimental] simplifies json serialization (#7061)
* Requires python >= 3.5, adds type hints to call_api method

* Adds type hints to files_parameters and __call_api

* Adds and uses a new json encoded to prepare data before it is sent

* Removes nose name from gitlab testing invocations

* Also updates travis to py>=3.5

* Collapses encoder back into sanitize_for_serialization
2020-07-28 08:16:19 -07:00
Calvin Young
fa75469828 Export models package when using withSeparateModelsAndApi flag (#6873)
* Export models package when using withSeparateModelsAndApi flag

* Update typescript-axios samples

* Revert "Update typescript-axios samples"

This reverts commit ac0db6ba940bb78d37b41a5655918cbef9bc2f26.

* Update typescript-axios samples

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-28 16:54:52 +08:00
Dragos CIULICA
86eb1b9112 Bugfix/5.0.0 beta/6853 fixed reactor conditions in template (#6993)
* fixed flux<part> generation

* updated petstore samples

* fixed flux<part> generation

* updated petstore samples

* update samples

Co-authored-by: Dragos CIULICA <atlassian-masernet@bit-factor.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-28 16:02:08 +08:00
Benjamin Seiller
1cb34be8fe [Java][okhttp-gson] prevent UnsupportedOperationException by removal from ImmutableList on setDebugging(false) (#7024)
* fix https://github.com/OpenAPITools/openapi-generator/issues/6934

* fix https://github.com/OpenAPITools/openapi-generator/issues/6934

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-28 10:22:46 +08:00
William Cheng
321ad3c820 fix string comparison in cpp ue4 generator (#7029) 2020-07-28 10:15:46 +08:00
Justin Black
ee0686e13f Python-exp clean up model classnames (#7054)
* Adds lazy_import, removes python-exp java class renaming code, partial removal of getPythonClassName call sites

Fixes PythonClientExperimentalTest.java

Python-exp smaples regeneration

Revers makefile

Reverst pom.xml

Fixes model imports in models.__init__

Updates docstring, omits lazy import in additional properties if we dont need it

Improves additional_properties_type assignment if None

Removes getPythonClassName

Fixes python-exp tests

* Removes unused makefiles
2020-07-27 18:35:41 -07:00
William Cheng
2743242ef4 fix string comparison in fsharp test (#7052) 2020-07-27 22:56:42 +08:00
Moshe Elisha
39c4a123b3 #6715 - Use Resource interface instead of AbstractResource when useAbstractionForFiles=true. (#7051) 2020-07-27 22:54:00 +08:00
William Cheng
312082c168 Add a link to Laracon EU presentation (#7055)
* Add a link to Laracon EU presentation

* add url
2020-07-27 13:53:46 +08:00
William Cheng
08612d8e52 fix string comparison in java pkmst generator (#7050) 2020-07-26 23:14:28 +08:00
k0ral
8d63f75966 [Protobuf] Make it possible to override field index using x-protobuf-index (#7002) 2020-07-26 17:25:35 +08:00
Andrew Kehrig
9bfd9545cc Add empty checks using hasAuthMethods (#6983)
* Add empty checks using hasAuthMethods

* Add regenerated sample for kotlin multiplatform
2020-07-26 17:10:06 +08:00
QP Hou
dba14f5ac6 [Go] support problem details HTTP API (#6793)
Based on https://tools.ietf.org/html/draft-ietf-appsawg-http-problem-00, the content-type would be `application/problem+json`
2020-07-26 15:36:19 +08:00
TIm Clark
9592754e57 [Java][jersey2] Test HttpSignature verification (#7047)
* [Java][jersey2] Test HttpSignature verification

Tests that `HttpSignatureAuth` headers can be verified after
signing.

* Fix formatting
2020-07-26 15:24:59 +08:00
patst
468d80be4b typescript-angular: Angular 10 support (#7037)
* 7036- angular 10 support

* update example files

* fix jersey exmaple file bc of circle ci fail

* add ./ to FILES manually to pass tests
2020-07-24 14:30:58 +02:00
William Cheng
a00521f260 add justin to core team in public page (#7043) 2020-07-24 18:46:48 +08:00
William Cheng
04c41d47a2 [Java][jersey2] fix query parameters in applyToParams (#7028)
* fix query parameters in applyToParams

* update samples
2020-07-24 18:44:15 +08:00
Matthew Davis
9139f91b48 add missing space for flask basic auth header (#7031)
Co-authored-by: Matthew Davis <Matthew.Davis.2@team.telstra.com>
2020-07-24 16:44:50 +08:00
William Cheng
5f8e28a39d Fix string comparison in Python generator's abstract class (#7030)
* fix string comparison in PythonAbstractConnexionServerCodegen.java

* rename abstract class

* put public first
2020-07-24 16:43:39 +08:00
Ravisankar-Challa
276a983fe8 Add property additionalModelTypeAnnotations on the top of pojo class (#6037) 2020-07-24 12:08:30 +08:00
William Cheng
1897f6f96c update samples 2020-07-24 12:07:23 +08:00
Alexandre
83f64dbc15 [Swift5] Fix Datetime default value (#7003)
* [Swift5] Fix Datetime default value

If a default value is provided by the API spec for a date-time attribute,
this commit fixes the generation code to build a correct Swift `Date` object.

* update samples with swiftlint

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-24 11:56:18 +08:00
William Cheng
8e150ab94e fix string comparison (#7027) 2020-07-23 23:01:57 +08:00
Slavek Kabrda
03e8aee8ea [java][jersey2-client] Disable coercion of scalars (#6811)
* [java][jersey2-client] Disable coercion of scalars

* Respect the coercion objectmapper setting in deserializers

* Update jackson in maven plugin to get version that has ALLOW_COERCION_OF_SCALARS
2020-07-23 16:33:15 +08:00
Slavek Kabrda
3199ddc615 Add 'x-generate-alias-as-model' extension to allow enabling generating alias as model per-schema (#6937) 2020-07-23 16:26:18 +08:00
William Cheng
d1fe2e17f1 update samples 2020-07-23 15:01:22 +08:00
Michał Zubkowicz
1bfd86a350 typescript-inversify: client compile error, type casting warning and apostrophes (#6970) 2020-07-23 08:09:27 +02:00
agilob
90d8c32906 [Dart] Fix enum generation (#6729)
* [Dart] Fix enum generation

* Update generated Order file

* Re-add constructor

* Generate dart2 files

* Dart - nicer enum formatting

* Dart - generate enum name as className+enumName

* Dart - dont initialize vars to null by default

Fixes #3633

* Dart - Generate inlined enums and deserialize them

* Merge branch 'master' of github.com:agilob/openapi-generator into 6727

* Dart - Fix using default value

* Fix typo

* Regenerate add dart files

* dart Revert override for dart dio and jaguar

* Fix dart model tests

* Fix dart1 generated template

* Use {{{datatypeWithEnum}}}

* Dart - throw when enum not known

* Fix generating enum with datatype from list
2020-07-23 11:26:25 +08:00
William Cheng
d6549f78b4 Add a link to the dev.to article (#7026) 2020-07-23 11:20:37 +08:00
William Cheng
9899315aab [Java][jersey2] Fix serializeToString (#6956)
* fix empty get body in serializeToString, add tests

* add new file

* fix serialize to better handle null string

* update test comments
2020-07-23 10:39:04 +08:00
William Cheng
6e21ca5930 Add a link to datadog blog (#7025) 2020-07-23 10:32:52 +08:00
Slavek Kabrda
763b8fbe3e [go-experimental] Fix generating array aliases as models (#6939)
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-23 00:27:02 +08:00
William Cheng
e9c231b50a rollback feign version to 10.11 (#7012) 2020-07-22 21:21:11 +08:00
agilob
df2c927dcb [Dart] Annotate required named parameters in model (#6798) 2020-07-22 17:14:36 +08:00
mvistein
454ceb45fa Enabling forward declarations also for cpp-restsdk generator (#6996) 2020-07-22 17:06:14 +08:00
agilob
a59e506c9e [dart] fix toJson does not handle complex type (#6730)
Co-authored-by: arndt <17650715+dont1like1this@users.noreply.github.com>
2020-07-22 16:52:54 +08:00
Dheeraj Nalluri
3784f459e9 [typescript-angular] Unify authorization lookup (#6953)
* [typescript-angular] Unify authorization lookup

* [typescript-angular] Update samples.

* [typescript-angular] Fix typo.

* [typescript-angular] Revert changes to some of the sample files.

* [typescript-angular] Fixed compile error.

* [typescript-angular] Use arrow functions to avoid "this" issues

* Document usage of credentials map.
2020-07-22 10:29:28 +02:00
William Cheng
5e2306446f add occ to the user list (#7011) 2020-07-22 15:55:25 +08:00
Patrice De Saint Steban
b1dcf65c5b [Avro] Default value for no required fields to null (#7006)
* Default value for the non required fields to null

When a field is not required, the avro schema has no default value.
Has described in an [avro issues](https://issues.apache.org/jira/browse/AVRO-1803), the property default: null must be set.

If we don't do this in the avro file, when we generate java code from generated avro schema, the builder fail if the data isn't set in the avro data class.

* Update generated avro sample
2020-07-22 13:13:59 +08:00
William Cheng
2ab35e0386 add JsonTypeName (#6995) 2020-07-21 14:21:10 +08:00
William Cheng
6053f7b17b add ~/.sbt to circleci cache (#7000) 2020-07-21 14:01:52 +08:00
William Cheng
3305ac962a add nokia as the user (#7005) 2020-07-21 13:09:49 +08:00
Moshe Elisha
0a394bc883 [Java][RestTemplate] Use abstraction for files (#6912)
* Fix dir path in PR request template

* Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed (#6715)

* Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed (#6715)

* Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed (#6715)

* #6715 - Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed.
2020-07-20 22:54:14 +08:00
daiscog
95bd845f79 Typescript-angular generator: Mark deprecated operations with @deprecated JSDoc tag (#6973) 2020-07-20 16:12:42 +02:00
Kim T
383b1e9db8 [NodeJS] nodejs-express-server fix /api-docs path (#6977) 2020-07-20 18:57:50 +08:00
William Cheng
1cfa8141a8 fix config path in pull request template 2020-07-20 15:48:28 +08:00
Justin Black
0e0f8eb74c [python-experimental] Removes python2 (#6991)
* Removes future from python-exp v3 sample

* Removes future from python-exp v2 sample

* Deletes future from remaining python-exp files

* Removes six from python-exp templates

* Removes six from python-exp samples

* Removes mock from python-exp

* Python-exp switched to py3

* Removes python 2.7 for python-exp ci testing

* Requires python>=3.3 for python-exp

* Reverts unnecessary changes to two templates
2020-07-19 09:45:56 -07:00
Justin Black
ed84280108 Python-exp remove codegemodel mutation, allow mixed OneOf types (#6797)
* Stops converting primitive models into object models, adds ComposedSchemas with mixed type

* Samples update for python-exp
2020-07-18 10:13:22 -07:00
William Cheng
44d3f717f8 update java samples 2020-07-18 22:02:16 +08:00
Sebastien Rosset
968f32b55e [Java][Jersey2] Add JsonTypeName annotation (#6551)
* Mustache template should use invokerPackage tag to generate import

* add JsonSubTypes annotation to handle scenario when OAS name has special characters

* add JsonSubTypes annotation to handle scenario when OAS name has special characters. Add unit test

* run sample scripts

* fix unit test

* run sample scripts

* add minimal openapi document to show issue with special characters and discriminators

* Add 'isClassnameSanitized' tag

* Add 'isClassnameSanitized' tag

* Add 'isClassnameSanitized' tag

* Add 'isClassnameSanitized' tag

* Add 'isClassnameSanitized' tag

* Add 'isClassnameSanitized' tag

* Add unit tests for unmarshaling of discriminators with special characters

* Add unit tests for unmarshaling of discriminators with special characters

* use JsonTypeName

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-18 21:56:41 +08:00
William Cheng
8a774f636b add coinapi logo (#6984) 2020-07-18 18:04:03 +08:00
William Cheng
dd6e8ccc3d replace ~ with $user.home (#6985) 2020-07-18 17:07:03 +08:00
William Cheng
0707b4bb20 [Scala] setup Ivy cache directory (#6978)
* use ivy2 cache

* use ~/.ivy2 cache dir

* add pom.xml to openapi-generator-ignore

* update scala-akka sample

* use ~ for home directory
2020-07-18 15:48:47 +08:00
William Cheng
49f088ec8e [CircleCI] rebalance tests (#6981)
* rearrange tests

* move java tests to others
2020-07-18 15:47:46 +08:00
Artur Pietrzyk
da50523f3b Update README.md (#6974) 2020-07-18 14:00:30 +08:00
William Cheng
d2161c8ad1 update c# samples 2020-07-18 11:18:21 +08:00
mh03r932
ffdd7000a4 fix: make accept header consistent with sync vers. (#6922)
* fix: make accept header of async apis consistent with sync version

* make sync and async version use same logic
* generate samples for csharp-netcore using generate-samples.sh

* fix: make accept header of async apis consistent with sync version

* change tabs to spaces to match existing code
2020-07-17 18:08:51 +08:00
bgong-mdsol
8cd52033e4 [Java][Native] added WithHttpInfo method for async-native (#6903)
* [java-asyncNative] add withHttpInfo

* update api template for async-native
2020-07-17 15:30:02 +08:00
Tomohiro Suwa
9318833fa5 [Ruby] ruby client build from hash nullable (#6945)
* Ruby Client: nullable for build_from_hash

* Generate sameples with a8eed9ce38
2020-07-17 00:39:21 +09:00
Bodo Graumann
7cb8766a5c [Typescript] Fix array model of alias to array (#6888)
* Add failing test

* Add model unaliasing

* Regenerate samples

Not really related to this bug fix, but probably necessary for ci
checks.
2020-07-16 16:31:41 +02:00
翠 / green
fce74884f8 [typescript-axios] switched to new URL API (#6960)
* [typescript-axios] switched to new URL API

* [typescript-axios] fix tests
2020-07-16 15:35:41 +02:00
William Cheng
a348f5a170 [Go] fix unmarshal for models with parents (#6946)
* set disallowAdditionalPropertiesIfNotPresent to false in go exp oas3

* fix unmarshal in go

* remove fields from embedded structs

* fix typo
2020-07-16 14:52:30 +08:00
William Cheng
02a8207b91 skip test for enum model, update readme (#6936) 2020-07-15 19:00:14 +08:00
William Cheng
cef1bec466 fix null payload in java jersey2 (#6933) 2020-07-15 00:50:37 +08:00
Sebastien Rosset
38368c9bda [Java][jersey2] Fix format of Date header in HTTP signature (#6925)
* Use RFC 1123 date format for Date header in HTTP signature

* Use RFC 1123 date format for Date header in HTTP signature
2020-07-15 00:19:55 +08:00
William Cheng
9d76ca291e add nullable body support to powershell (#6930) 2020-07-15 00:19:13 +08:00
Sebastien Rosset
b86a51ae17 fix typo (#6928) 2020-07-14 14:03:04 +08:00
William Cheng
5980c420e3 minor fix to sample code (java jersey2) (#6921) 2020-07-14 12:36:05 +08:00
Justin Black
dad931a25a Python exp sample component renaming + additions (#6917)
* Stops converting primitive models into object models, adds ComposedSchemas with mixed type

* Reverts java and mustache changes

* Reverts mroe files

* Samples regen

* Fixes remaining tests
2020-07-13 10:22:03 -07:00
William Cheng
29183e0280 [PowerShell] support default value in models (#6920)
* support default value in ps

* revert changes to the spec
2020-07-13 13:41:10 +08:00
William Cheng
1044c30293 add cake addin (#6918) 2020-07-13 10:19:06 +08:00
William Cheng
a7446983e8 Add a link to Go article in Qiita Blog (#6919) 2020-07-13 10:18:43 +08:00
William Cheng
53950f8aff Add a link to DreamFactory blog (#6910) 2020-07-11 23:09:52 +08:00
William Cheng
6a49c4ec02 add option disallowAdditionalPropertiesIfNotPresent to ps generator (#6909) 2020-07-11 22:41:24 +08:00
William Cheng
57bf9e85a1 [Go][Experimental] Add the option disallowAdditionalPropertiesIfNotPresent (#6908)
* add disallowAdditionalPropertiesIfNotPresent to go exp generator

* update cache key

* fix spring.xml with 5.0.0-SNAPSHOT
2020-07-11 16:53:28 +08:00
William Cheng
47b4e16420 Remove JDK7 tests in CircleCI (#6890)
* remove jdk7 tests in circleci

* test microprofile-rest-client in jdk8
2020-07-09 17:46:52 +08:00
William Cheng
850c958d83 add splitit as the user (#6887) 2020-07-08 16:45:47 +08:00
William Cheng
ffac26face replace x-additional-properties with isAdditionalPropertiesTrue (#6886) 2020-07-08 16:45:30 +08:00
jekkel
0be0a06d84 [Java][Client][vert.x] Support per-call authentication and JsonNullable in client request bodies, fix path parameter encoding (#5732)
* Support per-call authentication and JsonNullable in client request bodies

Extensions
----------
Since vertx is an asynchronous/reactive toolkit usage of mutable fields
of `ApiClient` to store authentication prohibits delegation of
authentication from incoming call without recreating the client
everytime (which is prohibitively expensive due to instantiation of objectmapper).
This commit adds a per call authentication override which takes precedence
over the mutable fields so a single client can be safely reused. To ease
usage a simple builder-style auxiliary `AuthInfo` object is provided
providing methods for each specified authentication.

A new configuration option for `ApiClient` has been added: `timeout`. It gets
applied as timeout for the vertx http request.

Fixes
-----
Request bodies have been wrongly serialized using vert.x built-in
objectmapper instead of the embedded instance thus usage of beans with
`JsonNullable` wrapped fields in request bodies led to bad requests.

* update vertx samples

* Client Java Vertx: Add url encode for path parameters.

* update vertx samples
2020-07-08 16:30:31 +08:00
William Cheng
ce177a7fb6 Add isAdditionalPropertiesTrue (#6880)
* move postProcessModel to the end

* add isAdditionalPropertiesTrue

* remove supportsAdditionalPropertiesWithComposedSchema from go exp

* remove x-additional-properties

* update comment
2020-07-08 11:30:16 +08:00
Harald Fernengel
566b2b7647 Revert "[typescript-fetch] Support deepObject query params (#6075)" (#6860)
This reverts commit 354f195ec0.

It became superfluous due to some other changes in runtime and changing
of the queryParameters in d9a6f4d
2020-07-07 13:44:25 +02:00
Sebastian Appl
b3bc69c8f1 [typescript] Add default values for typescript types (#6871)
* Typescript:
* Added default values for DateTimeSchema, DateSchema and BooleanSchema.
* Added simple tests for default value parsing

* Fixed date tests for default value parsing
2020-07-07 13:41:57 +02:00
William Cheng
3e69d73ec9 Update JS dependencies (#6867)
* update JS dependencies

* test js in circleci

* remove js test in travis

* remove node version
2020-07-07 12:26:35 +08:00
Jim Schubert
c072291c28 Remove jimschubert from C# technical committee (#6865)
I've not used C# since shortly after my initial contributions to the C#
and asp.net generators, and have not followed the .NET Community closely
for a few years now. As I'm focused on other initiatives I am
removing myself from the C# technical committee so that others may
maintain the generator(s) according to the C# community needs.
2020-07-06 13:36:32 +08:00
Yuriy Belenko
f11b0f886e Add Mock Server client modification feature (#6747) 2020-07-05 16:58:43 -04:00
William Cheng
47b7a0d243 Update documentation with global propperty (#6863)
* update documentation with global propperty

* remove java opts

* remove KotlinNewServerCodegen

* update contributing.md
2020-07-05 18:20:26 +08:00
Jon Schoning
8c5c0597ae [haskell-http-client] avoid depending on ParseTime,FormatTime (#6861)
* [haskell-http-client] avoid depending on ParseTime,FormatTime

* [haskell-http-client] update haddocks
2020-07-04 19:52:52 -05:00
Jim Schubert
6c1aecb151 Update docker-tag-latest-release.yml
Include openapi-generator-cli, run each tag update "always"
2020-07-04 09:29:25 -04:00
William Cheng
61789475ea update python samples 2020-07-03 18:51:31 +08:00
Matthew Davis
f15acbc700 clarify direction of py client side validation flag (#6850)
* clarify direction of py client side validation flag

* change pet store py cli validation disable example

Co-authored-by: Matthew Davis <Matthew.Davis.2@team.telstra.com>
Co-authored-by: EC2 Default User <ec2-user@ip-172-31-37-8.ec2.internal>
2020-07-03 18:39:53 +08:00
Matthew Davis
c4cb8e46c5 fix erronous cmd arg example for docker in readme (#6846)
Co-authored-by: Matthew Davis <Matthew.Davis.2@team.telstra.com>
2020-07-03 18:28:38 +08:00
Jorge Rodríguez Martín
068ad02bc8 [BUG] [JAVA] Fix multiple files upload (#4803) (#6808)
* gh-4803: Fix bug java client multiple files upload

* gh-4803: Fix bug java client multiple files upload

* gh-4803: Fix bug java client multiple files upload

* gh-4803: Fix bug java client multiple files upload

* gh-4803: Fix bug java client multiple files upload
2020-07-03 00:23:17 +08:00
Bruno Coelho
f0157b8c0f [kotlin][client] fix retrofit dependencies (#6836) 2020-07-03 00:03:17 +08:00
William Cheng
aed5be9b9c [PowerShell] add more fields to be customized (#6835)
* more fields to be customized

* set powershell version

* fix psData
2020-07-02 23:50:50 +08:00
grzegorz-moto
23f57a7290 [Java][WebClient]remove the dead code from java ApiClient.mustache (#6556)
* remove the dead code

Remove the dead code from ApiClient
The code is not used and it contains vulnerability of Log Forgery when it writes unvalidated http header to the log. An attacker could take advantage of this behaviour to forge log entries or inject malicious content into the log.

* update Petstore samples

* whitespace
2020-07-02 18:34:28 +08:00
Ian Lord
eaa3c730fa [PHP] Better handling of invalid data (array) (#6760)
* Update ObjectSerializer.mustache

If the $data is a wrongly formatted Json or if data is not an array, php gives error:

Invalid argument supplied for foreach() at line 257 (Now line is 262)

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-02 18:33:22 +08:00
tgerth
38ab7383f2 Make ApiClient in retrofit2 be able to use own OkHttpClient (#6699)
* set adapterBuilder.client() only if okBuilder was used in retrofit2

* updated the samples

* added field okHttpClient and updated samples

* bug fixed, added exception if okBuilder is null

* added semicolon

* added space, changed Exception to RuntimeException and changed its message

* updated the samples
2020-07-02 15:37:57 +08:00
William Cheng
c6cb7ebe2a mark python2 support in flask as deprecated (#6653) 2020-07-02 15:16:53 +08:00
William Cheng
520f87abae update samples 2020-07-02 12:00:27 +08:00
Hippolyte HENRY
63c1b1350d [Java][jersey2] Add a getter for the User-Agent header value (#6831)
* [Java][jersey2] Add a getter for the User-Agent header value

* generate samples
2020-07-02 11:45:30 +08:00
Alessio Zurru
1fe7d703d7 Provides a default nil value for optional init parameters (#6827)
The following change can be helpful to create Swift model objects more simply, in particular when they have many parameters.
In addition, projects switching from swagger-codegen to OpenAPI will not encounter compilation errors and will not need to refactor old code
2020-07-02 00:13:08 +08:00
William Cheng
fa97333a5c [Java] Deprecate feignVersion option (#6824)
* deprecate feign option

* update doc

* udpate samples
2020-07-02 00:12:32 +08:00
Marcel Ramos
8e95298653 [R] Enum R6Class Support, closes #3367 (#5728)
* wip: fix documentation tags

* update model.mustache

* update template for documentation

* update mustache templates

* update mustache templates

* run ./bin/r-petstore and update R pkg docs

* use loadNamespace instead of package:pkgName string

* update R package code

* wip: enum

* update enum function

* use httr::content to unwrap response

* update enum table and functions

* include simplifyVector and auto_unbox arguments

* remove mapping and return strings

* use triple stash values and update enum class methods

* remove extra comma

* minor: formatting

* update and run ./bin/r-petstore.sh

* move helper for template

- export tag does not coincide with original model function
- move helper down so it does

* update tests based on generator

* Revert "update tests based on generator"

This reverts commit b6314c8927.

* Update tests with engine

- preserve test_petstore.R

* restore apiResponse

* restore simplifyVector to TRUE value

* update api.mustache templates

* fix and add tests to package

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-01 15:48:09 +08:00
Benoît Courtine
fa72c63b62 [Rust][Client] Unify sync/async client structure (#6753)
* Unify sync/async client structure (configuration as first param instead of a struct).

* Fix: Hyper client requires the client.rs file.

Co-authored-by: Henning Holm <git@henningholm.de>

* Add API method comments (description and/or notes when available).

Co-authored-by: Henning Holm <git@henningholm.de>
2020-07-01 15:24:20 +08:00
Yuriy Belenko
6224f5e397 [php-ze-ph] Set required PHP version to ^7.2 (#6763)
* Bump required PHP version to ^7.2

* Update required PHP version in readme

* Change samples input spec to OAS 3.0

* Refresh samples
2020-07-01 15:11:34 +08:00
Jochen Schalanda
d9957ad0a9 [Java][client][native][Gradle] Add missing jackson-databind-nullable (#6802)
* Add missing jackson-databind-nullable to java-native Gradle build

Closes #6801

* Regenerate java-native samples

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-07-01 15:08:28 +08:00
Kasper Kondzielski
323cd38b5c Improve sttpOpenApiClient generator (#6684)
Co-authored-by: eugeniyk <keatrance@gmail.com>
2020-06-30 21:14:34 -04:00
Jim Schubert
dae329d8e1 Update docker-tag-latest-release.yml
Chance cron schedule to every other day
2020-06-30 19:01:40 -04:00
Chris Tankersley
d433c2d42f [php-laravel] Upgrade php-laravel to 7.x (#6346)
* Update laravel from 5.6 to 7.0

* Updated petstore example, removed missing files

* Updated PHP version to match composer.json

* Add samples generation config with OAS3 input spec

* Fixed gitignore compile errors, updated to newest petstore example

* Add composer.lock to .gitignore

* Fix generator gitignore location

* Add integration tests

* Refresh samples

Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
2020-06-30 12:22:32 +03:00
William Cheng
978b455f11 Add links to tech blog, youtube video (#6817)
Add links to tech blog, youtube video
2020-06-30 17:15:57 +08:00
William Cheng
f05aa8e80d Prepare 5.0.0-SNAPSHOT (#6812)
* Revert "Prepare 5.0.0-beta release (#6803)"

This reverts commit a77fd443ad.

* prepare 5.0.0 snapshot

* update non-java-invalid-spec.xml
2020-06-30 01:19:46 +08:00
William Cheng
cf0920110c add 5.0.0-beta2 release date 2020-06-30 01:09:23 +08:00
William Cheng
e7672f32bf update readme with 5.0.0-beta 2020-06-30 00:39:54 +08:00
William Cheng
a77fd443ad Prepare 5.0.0-beta release (#6803)
* prepare 5.0.0-beta release

* fix java-client pom
2020-06-29 23:06:47 +08:00
Bernd Hacker
156c4bfb70 [typescript-rxjs] add support for raw response and progressSubscriber (#5465)
* feat(typescript-rxjs): add support for returning statusCode and progressSubscriber via function overloading

* feat(typescript-rxjs): use ?? instead of || to support relative basePath of "", upgrade to typescript 3.7

* feat(typescript-rxjs): regenerate samples

* refactor(typescript-rxjs): change explicit undefined checks to shorthand return

* feat(typescript-rxjs): add missing progressSubscriber key when building RequestArgs

* feat(typescript-rxjs): regenerate samples

* style(typescript-rxjs): remove whitespace, add colons

* feat(typescript-rxjs): regenerate samples

* refactor(typescript-rxjs): destructure configuration in BaseApi

* fix(typescript-rxjs): returning empty string for apiKey and accessToken

* feat(typescript-rxjs): replace withStatusCode option with response = raw option, reuse rxjs AjaxRequest and AjaxResponse types

* feat(typescript-rxjs): regenerate samples

* Prints out the parameter name in throwIfNullOrUndefined

* Fixed misspelling

* feat(typescript-rxjs): add withProgressSubscriber additional-properties flag to cli, remove unused withInterfaces flag

* refactor(typescript-rxjs): use backticks instead of String constructor in encodeURI

* feat(typescript-rxjs): replace Object.keys() with Object.entries() in queryString helper

* style(typescript-rxjs): improve indentation of new withProgressSubscriber checks within templates

* feat(typescript-rxjs): use entire es2017 lib in tsconfig.json for building with target es6

* feat(typescript-rxjs): regenerate samples

* feat(typescript-rxjs): adjust sample generation, regenerate samples

* docs(typescript-rxjs): regenerate docs

Co-authored-by: Justin Van Dort <justinvandort@gmail.com>
2020-06-29 16:01:15 +02:00
Mathias Lykkegaard Lorenzen
d9a6f4d726 typescript-fetch: Fix compile error (#6538)
* Fix annoying compile error

Fixes an annoying compile error that happens when a .NET Core 3.1 Swashbuckle generated `swagger.json` has a Controller with a request class.

> Type 'ApproveBrandRequest[]' is not assignable to type 'string | number | boolean | HTTPQuery | (string | number | boolean)[]'.
  Type 'ApproveBrandRequest[]' is not assignable to type '(string | number | boolean)[]'.
    Type 'ApproveBrandRequest' is not assignable to type 'string | number | boolean'.
      Type 'ApproveBrandRequest' is not assignable to type 'true'.

* generated template files.

* update samples

Co-authored-by: Mathias Lorenzen <mathias.lorenzen@broelstaerk.dk>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-29 15:08:28 +02:00
ngp-star
6a61910df1 fix for operation defination containing ref schema (#6676) 2020-06-29 16:13:28 +08:00
William Cheng
e3cdb4c328 [Java][jersey2] Add nullable body support (#6784)
* add nullable body support

* update serializeToString with nullable body

* add nullable support to body parameter

* minor code format change

* Revert "minor code format change"

This reverts commit 3af1838a9b.

* code format fix
2020-06-29 16:08:42 +08:00
Jim Schubert
d949c8181d Run Docker Tag latest-release every 2 days
Runs every minute on the 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29 and 31th of every month
2020-06-28 22:33:36 -04:00
Jim Schubert
16197edac4 Fix syntax error in docker-tag-latest-release.yml
There was a missing apostrophe in echo command.
2020-06-28 22:19:59 -04:00
Jim Schubert
7aa7c738a9 Temp reduce in docker tagging workflow schedule
Allow faster trigger of docker latest-release tagged image to evaluate correctness, will then bump back up to every 48 hours.
2020-06-28 21:55:47 -04:00
Jim Schubert
108275affe [docker] Tag latest-release for stable latest tagging (#6573) 2020-06-28 21:50:42 -04:00
Ben Wells
7ea6c35508 Remove bvwells from Go technical committee (#6791) 2020-06-28 16:36:36 -04:00
Sebastien Rosset
6dfd029c63 [java][jersey2] Add support for (expires) and (created) fields in HTTP signature (#6632)
* Add support for (expires) and (created) fields in HTTP signature

* Add support for (expires) and (created) fields in HTTP signature
2020-06-28 23:14:22 +08:00
William Cheng
6041acd225 [PowerShell] fix hardcode method name in test files (#6794)
* fix hardcode test

* update FILES
2020-06-28 10:49:16 +08:00
Jan Gassen
a69fcddbe2 Copy vendor extensions from request body (#6766) 2020-06-27 15:14:53 +08:00
agilob
1798fea3e7 Dart - generate constructor with named params (#6751)
* Dart - generate constructor with names params

* Test if constructor exists
2020-06-27 15:11:36 +08:00
Tomofumi Chiba
1f277002a1 Add Deno support to typescript(experimental) generator (#6732)
* add 'deno' to typescript platforms

* add Deno support to typescript generator

* add Deno support to typescript generator

* add Deno support to typescript generator

* add Deno support to typescript generator

* add Deno support to typescript generator

* add extensionForDeno property for typescript generator

* add URLParse Deno wrapper for typescript generator

* update deno version in .travis.yml
2020-06-27 08:32:43 +02:00
Ghufz
f1142948c0 fix the json depth for nested object (#6787)
Co-authored-by: Author <>
2020-06-27 10:12:26 +08:00
William Cheng
720ab3d39b run swiftlint latest version on swift samples (#6788) 2020-06-26 17:46:55 +08:00
William Cheng
5cce9dc7d3 replace tab with spaces in swift 5 codegen 2020-06-26 16:55:35 +08:00
Seth
933b285568 Add Ability to use isSet when Array is uniqueItems (#6773) 2020-06-26 16:37:29 +08:00
William Cheng
919b3b6bef [Java][jersey2] Add debugging to OAuth (#6757)
* add debugging to oauth

* use fine instead
2020-06-26 16:25:55 +08:00
Jiri Kuncar
8b9c070e5d [Python] Support for per-operation servers (#6557)
* Dynamic server support

* regenerated

* Apply suggestions from code review

Co-authored-by: Thomas Hervé <thomas.herve@datadoghq.com>

* regenerated

* Add ParameterizedServer feature to Python experimental

* Fix lookup of server variables

* Add tests and change default value for servers

* Fix server variables

* Return base path when index is None

* Use HOST

* Apply suggestions from code review

* Apply suggestions from code review

* regenerated

* Add specific tests for dynamic servers

* regenerated

* add docstring

* regenerated

* Fix wrong merge resolution

Co-authored-by: Thomas Hervé <thomas.herve@datadoghq.com>
2020-06-25 21:28:54 -07:00
agilob
50071aed11 Protect from NPE when paths aren't provided (#6734)
* Protect from NPE when paths aren't provided

* Add regression test for NPE when paths aren't provided

* Replace logger.debug with logger.error
2020-06-25 23:32:26 +08:00
William Cheng
36930fe5cc [PS] better code format, vendor extension naming (#6778)
* better code format, extension

* show php version

* set php version to 7.2.15
2020-06-25 18:09:44 +08:00
Ghufz
13fe079901 [PowerShell] discard readonly properties in Initialize cmdlets (#6754)
* ValidatePattern having double quote(") throws exception on running Build.ps1

* fix tab with space

* [powershell-experimental] : http signature auth

* fix the tab issue

* merge cnflict fix for powershell experimental

* Htpp signing : added support for ecdsa

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* HttpSigningHeader accepts any header available in request to calculate the signature.

* Update modules/openapi-generator/src/main/resources/powershell/http_signature_auth.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Incorporated the review comments

* addressed the merge conflict

* discard readonly property in initialize cmdlets

* update doc

* update powershell sample

Co-authored-by: Ghufran Zahidi <gzahidi@cisco.com>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-25 16:34:38 +08:00
William Cheng
6b877efe1f [Java][jersey2] fix oneOf, anyOf documentation (#6695)
* fix oneOf doc in Java jersey2

* fix sample code

* add new files

* minor tweat to the doc
2020-06-23 21:58:16 +08:00
Benjamin Gill
a2a1ac93a4 Remove bjgill from Rust technical committee (#6631)
It's now been several months since I last contributed. I'm no longer working with Rust on a regular enough basis to be confident reviewing changes to the Rust generators. In my absence, the other members of the technical committee have been doing a great job. Thus, I intend to remove myself from the Rust technical committee.

Once this has been merged, I'll also remove myself from the organisation and delete any other permissions I might have accumulated.

I'm one of the owners of the [swagger crate](https://crates.io/crates/swagger), a dependency of code generated by the rust-server generator. I'll remove myself as an owner of that as well. That will leave two owners (one being @richardwhiuk) - let me know if you want me to add a replacement.

I'll leave this for a few days before merging. Please shout if there's something I've missed or need to hand over.

Thanks to everyone who's contributed to the Rust generators - I enjoyed my time as part of the technical committee. Thanks in particular to @wing328 - your help with rust-server was invaluable.
2020-06-23 08:04:18 +01:00
Jiri Kuncar
33328977d1 [Python] enum serialization (#6746)
* [Python] enum serialization

* Fix serialization of nested enum
2020-06-22 11:07:18 -07:00
Nalaxon
cb87e341d1 typescript-jquery: create empty array to prevent pushing to undefined (#6743)
Co-authored-by: Rapp Bernhard <bernhard.rapp@lec.tugraz.at>
2020-06-22 14:23:25 +02:00
William Cheng
bcefbe99c1 Migrate PHP client samples to use OAS v3 spec (#6722)
* consolidate php samples

* restore EnumTestTest.php
2020-06-22 16:56:03 +08:00
bgong-mdsol
8400d4c6f9 java-native added WithHttpInfo (#6704)
remove /t
2020-06-22 16:15:11 +08:00
agilob
1d86d7e3ac Update plugins.md (#6738)
Update maven plugin version in docs
2020-06-22 11:32:24 +08:00
William Cheng
0cf31704cc remove silex samples, config (#6736) 2020-06-22 11:01:43 +08:00
Jiri Kuncar
b47f3fadee [go] Required fields are not pointers (#6698)
* [go] Required fields are not pointers

* regenerated
2020-06-21 23:19:26 +02:00
sunn
ec4e44a5f4 [C++]Enable forward declaration for C++ (#6654)
* Enable forward declaration for C++

* Change local var name for readability and remove newline char

* Rename variables and refactor if statements
2020-06-21 23:17:03 +02:00
William Cheng
11f0b3d39f update php slim4 samples 2020-06-21 23:06:13 +08:00
Yuriy Belenko
e49804fd7f [php-slim4] Move Data Mocker to external repo (#5930)
* Remove package from sources

* Add Mocker package

* Add BaseModel

Beside setters and getters this class implements three methods required
for mocking: getOpenApiSchema, createFromData and jsonSerialize.

BaseModel keeps all data values in $dataContainer like PHP client does.
I don't see other way to support scalar models(enum for instance).
That's why I've removed class variables generation.

* Update documentation

* Update PHPUnit section in readme

* Add constant with models namespace

This constant will be required for data deserialization when handling
refs.

* Refresh samples

* Add samples generation config
2020-06-21 22:16:44 +08:00
Falko Modler
313d205f56 [maven] Avoid "Schema unaliasing" INFO-spam on the Maven console (#6687) 2020-06-21 19:19:35 +08:00
Michał Cichoń
195b376f48 Fix objc template (#6725)
- A static set needs a static lock or we get multiple locks if the class is inherited
- If this fix is not included and SWGObject is accessed from a second thread then we get EXC_BAD_ACCESS error (crash)
2020-06-21 19:12:46 +08:00
Ravisankar-Challa
4bb5afdefb [Java][Microprofile] JSON enum processing fix (#6700)
* When withXml=false we shouldn't add the jaxb imports

When users are just dealing with json and set withXml=false jaxb (Java Api XML binding) imports are not needed.

* Updated the microprodile-rest-client samples

* Removed cxf-rt-rs-extension-providers dependency

* Fix processing of enum values

* Remove unwanted changes

* Remove spaces
2020-06-21 19:02:44 +08:00
sunn
efafc58170 The templateDir for aspnet is not set correctly (#6724) 2020-06-21 18:52:29 +08:00
William Cheng
61f0532ec1 Improve objc tests and samples (#6731)
* improve objc tests and samples

* update objc core-data
2020-06-21 18:49:13 +08:00
William Cheng
177bd52957 map AnyType to mixed in php generators (#6710) 2020-06-21 14:56:19 +08:00
William Cheng
155acae088 remove php slim samples, config (#6721) 2020-06-21 14:35:36 +08:00
William Cheng
979dfd131a Mark typescript-angularjs as deprecated (#6723)
* mark angularjs as deprecated

* add new files
2020-06-21 14:35:12 +08:00
William Cheng
06327da4f0 better logic when using useOneOfDiscriminatorLookup (#6707) 2020-06-19 23:52:51 +08:00
YishTish
5cdc9e9e35 Pass body to service (#6041)
* Fixed a bug where request body names were not being transferred appropriately based on openapi definitions

* Added changes made to output samples

* Fixed formatting on Controller.mustache

* Added sample code generated after last change
2020-06-19 20:44:08 +08:00
Benoît Courtine
93bd8571d3 [Rust][Client] Multiple returns becomes optional (fixes #6650). (#6673)
* fixes #6650. Rust client: multiple returns becomes optional.

* Rename new param "supportMultipleReturns" into "supportMultipleResponses".

* Remove redundant `UnknownList` enum option.

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-19 14:57:01 +08:00
Douglas McConnachie
4e352cb282 add query param object format options (#5790)
fixes: #5781

Signed-off-by: Douglas McConnachie <dougal83+git@gmail.com>
2020-06-18 18:12:45 +02:00
Sebastien Rosset
5811b05cdb [java][jersey2] Fix processing of additional, undeclared properties (#6647)
* Add unit tests for additional properties

* add unit tests

* Add unit tests and fix processing of additionalProperties

* fix deserialization issue with additional properties
2020-06-18 23:17:00 +08:00
William Cheng
ca3a23bfa8 remove incorrect type mapping (#6693) 2020-06-18 20:47:14 +08:00
William Cheng
b2ae0b18fe Postpone 5.0.0-beta release date for a week 2020-06-18 11:24:31 +08:00
Hui Yu
b86f6c8015 [C][Client] Convert integer/boolean to string for query parameter in request url (#6652) 2020-06-18 11:19:24 +08:00
William Cheng
3ba0e05342 clean up samples (#6696) 2020-06-18 00:14:59 +08:00
William Cheng
951aa7a9d9 add getActualInstanceRecursively (#6636) 2020-06-17 22:45:26 +08:00
Ravisankar-Challa
b729e1d723 Fix issue: Microprofile dateLibrary java8 not working (#6062) 2020-06-17 15:30:10 +08:00
Ravisankar-Challa
42784ee1cc [Java][MicroProfile] Use jsonb imports for serializing and deserializing enum (#6064)
* Use jsonb imports for serializing  and deserializing pojo

* Fix: Exclude jsonbProperty class when withXml=true

Co-authored-by: Ravisankar Challa <ravisankar.challa@qantas.com.au>
2020-06-17 14:56:02 +08:00
Thomas Hervé
380b173e50 [Python] Remove duplicate definition of Endpoint class (#6667)
* Remove duplicate definition of Endpoint class

The class is copied in every API modules, we can share it alongside the
API client.

* Regenerate examples
2020-06-16 07:52:45 -07:00
William Cheng
213c38c5cc [java] Specify Java version for maven-javadoc-plugin (fixes Java 11 error) (#6679)
* Add jersey2-experimental to petstore build script

on-behalf-of: @nqminds <info@nquiringminds.com>

* [java] Add <source> to javadoc in pom.mustache

We add the following <source> tag to the <configuration> of
maven-javadoc-plugin for most pom.mustache files that use it.
This tells javadoc which version of java the compiler used.

This fixes the following error when running Java 11:
[ERROR] Exit code: 1 - javadoc: error - The code being documented uses
modules but the packages defined in
https://docs.oracle.com/javase/8/docs/api/ are in the unnamed module

Additionally, we also add maven-compiler-plugin to jersey2/pom.mustache
to specify that the source code is Java 6/7/8.

on-behalf-of: @nqminds <info@nquiringminds.com>

* [java-jersey2-java6] Update failing old tests

Pull-request #4666 changed jersey generation, but didn't update the
test samples Tests now succeed.

on-behalf-of: @nqminds <info@nquiringminds.com>

* [java-retrofit2-play24] Fix integration-tests

Running mvn integration-test failed in
samples/client/petstore/java/retrofit2-play24

This merges pull requests #1735 and #5527 into
retrofit2-play24.

Also removes the jackson-databind-version field,
since it should always be the same as jackson-version,
and updates build.gradle/build.sbt

on-behalf-of: @nqminds <info@nquiringminds.com>

Co-authored-by: Alois Klink <alois@nquiringminds.com>
2020-06-16 22:08:59 +08:00
wing328
748190a049 update samples 2020-06-16 11:24:56 +08:00
Nikita Karnaukh
53eff43184 [Kotlin][Client] Fix url path for Retrofit, Fix optionals for @Query @Body, Set List as default collection for Kotlin data class (#6456)
* Replace typeMapping kotlin.Array with kotlin.collections.List, because its doesn't work with Kotlin Data Classes(required manually implementing  hashCode&equals)
Replace typeMapping kotlin.Array<kotlin.Byte> with efficient primitive implementation kotlin.ByteArray
Replace instantiationTypes array to kotlin.collections.ArrayList, for extending Array we should provide element count to its constructor.

* Fixed path(removed slash on begin path) for Jvm Kotlin Retrofit

* Fixed handling optional bodyParams for Jvm Kotlin Retrofit

* Fix kotlin tests

* Fixed code format for detekt inspections #2

* revert formatting

* Added ability to generate optional @Query params.

* Update Kotlin docs.

* Update Kotlin openapi3 client samples

* Update Kotlin client samples

* Update Kotlin openapi3 client samples after merge with master

* Revert hardcoding List instead Array

* Set List as default collectionType

* Update Kotlin samples

* Fixed Kotlin multiplatform api template. fix mapper for Array type.
Fixed Kotlin multiplatform api template Code style.

* Update Kotlin multiplatform sample

* Fix Kotlin multiplatform template code style

* Update Kotlin multiplatform sample

* Fix Kotlin multiplatform converting Array to List in Api.

* Update Kotlin multiplatform sample #3

* Fix Kotlin tests

* Fix Kotlin jackson Application.kt

* Fix Kotlin tests #2

* Fix merge conflict with master

* Generate samples after merge with master

* Generate samples after merge with master #2

* Generate samples after merge with master #3

* Generate samples after merge with master #4

* update kotlin samples

* update all samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-16 10:33:34 +08:00
William Cheng
6f2e84db04 Decommission Retrofit play24, play25 (#6665)
* deco play24, play25 in retrofit

* update pom.xml

* update doc
2020-06-16 10:31:23 +08:00
Richard Whitehouse
c094effd90 [Core, Rust Server] Support JSON query parameters (#6577)
* [Core] Record content type for parameters

* [Rust Server] Support query parameters in JSON

* [Rust Server] Add test for JSON query parameter

* Update samples
2020-06-15 23:06:03 +01:00
Richard Whitehouse
45655c2235 [Rust Server] Support arrays within additional properties (#6576)
* [Rust Server] Support arrays within additional properties

* [Rust Server] Add test for additional properties with lists

* Update samples
2020-06-15 23:05:35 +01:00
Richard Whitehouse
3ba787c5aa [Core, Rust Server] Support optional headers (#6575)
* [Core] Set whether a header is required

* [Rust Server] Support optional headers

* [Rust Server] Add test for required header

* Update samples
2020-06-15 23:05:11 +01:00
Richard Whitehouse
c65363eb71 [Rust Server] Pass context to client middleware (#6574)
* [Rust Server] Pass context to client middleware

When creating a client with middleware, pass the context.

This allows users to pass contextual data about the requests through to the
client middleware.

* Update samples
2020-06-15 23:03:25 +01:00
Jiri Kuncar
aa201b3d9f [Python] Add attribute_map to simple model (#6669)
* [python] Add missing attribute_map definition

* regenerated
2020-06-15 12:53:43 -07:00
Hippolyte HENRY
2460cfccfa [go-experimental] Fix error message when unmarshaling wrong enum value (#6663)
* Use actual value in error message

* Generate samples
2020-06-15 20:36:36 +08:00
William Cheng
55d8e759de Update bitrise.io config (#6661)
* update bitrise config

* update bitrise.yml

* add back --no-snapshot-updates
2020-06-15 15:50:10 +08:00
Esteban Gehring
f91064c0f6 re-generate docs to fix build (#6662) 2020-06-15 09:46:02 +02:00
sunn
e658c49f77 [C++] [restsdk]Update CMakeLists.txt for seamless building on Windows and Linux (#6658)
* Update CMakeLists.txt for seamless building on Windows and Linux

* Update CMakeLists.txt

Missing the line ending

* Indent if statements and use target specific directives

* Change Client CMakeLists.txt to non Debug
2020-06-15 09:08:35 +02:00
Tino Fuhrmann
ff68128c15 [TypeScript] Rewritten TypeScript client generator supporting fetch & jquery (#6341)
* Added http module draft

* Added generic enum

* Modified http lib, added config & middleware definition to ts-fetch

* Added model generation with imports

* Added auth module

* Added servers

* Added sample for typescript client

* WIP: Models & API

* Updated auth

* WIP: api modeling

* Implemented RequestFactory and Processor completely

* Implemented fetch client

* Ignore dist folder in typescript client sample

* Added middleware to fetch

* Restructured TypeScript generator

* Reverted: http library.send returns string again

* Removed TODOs

* Added pom.xml files to TypeScript PetStore client samples

* Removed tabs from TypeScriptClientCodegen

* Added ts client codegen to root pom.xml and travis

* Added server variable configuration to ts-refactor

* [TS-Refactor] Added tests for Object Serializer

* Added simple test for PetApi

* Fixed ObjectSerializer test

* Added handling for different http status codes and test for deletePet

* Removed tabs in TypeScriptClientCodegen

* Removed tabs in DefaultCodegen

* Additional tests for pet store api

* Fixed file uploads

* Made api call configuration separately settable

* Use string union for enums

* Remove tab

* Restructured module layout

* Use observables internally

* Added promise based middleware

* Made discriminator and attributeTypeMap readonly

* Configure discriminator correctly

* Set discriminator value automatically

* Fixed date-time and date handling

* Added comments & license info

* Added comments

* Ignore openapi-generator-cli/bin

* Removed accidentally created generated code

* Fixed compilation issues in TypeScriptClientCodegen

* Added typescript to docs/generators

* Updated docs

* Added gitignore and git_push

* Added jquery library

* Added pom.xmls, fixed packagejsons and hopefully webppack

* Removed tabs in TypeScriptClientCodegen

* Fixed a couple issues with pom.xml

* Ensured up to date

* Fixed missing fetch definition in TS default tests

* Updated typescript docs

* Refactor typescript merge master (#4319)

Merge master into ts-refactor

* Typescript refactor: stub rxjs (#4424)

* Remove unused supportsES6 field from codegen

* Add a new switch for RXJS

* Remove redundant npm dependency on rxjs4 types

* Fix return type of PromiseMiddleware methods

* Install webpack dependency to run jquery tests

* Update form-data to 2.5 which includes typings

* Add missing dependency on node typings

* Fix test artifact name typo

* Stub rxjs when it is not explicitly enabled

* Typescript refactor: Platform select for browser and node (#4500)

* Use string form of filename parameter

This works for the form-data library and is also compatible with the
browser FormData object.

* Add new option to select platform node or browser

When no platform is selected, a default is chosen by the framework
option and likewise the file data type option is implied by the
platform.

* Remove redundant import of node dns module

* Only use form-data library for node platform

* Generate npm package from npmName option

* Use method convertPropertyToBooleanAndWriteBack

* Generate typescript samples with ensure-up-to-date

* Removed tab from DefaultCodegen

* Readded missing change

* Mark typescript client codegen as experimental

* Removed whitespace

* [TS-Refactor] Top-level exports for fetch & jquery (#6138)

* Added top-level exports
* Updated generator README
* Updated typescript generator docs

* Allow browsers File type for files (#5521)

* Allow passing file parameters as File objects
* Add test for jquery upload
* Use HttpFile object for node platform
* Regenerate samples

This is by far the most common use case. A `File` object already
contains the name attribute. This commit allows that information to be
used directly.
When sending a `Blob`, in most browsers the `File` constructor can be
used to assign a file name. In all other browsers the alternative is
```typescript
Object.assign(data, { name: "foobar.txt" });
```
That is why we explicitely pass the name as third parameter to
`FormData.append`. This `Object.assign` method also works for `Buffer`
objects in node.

If one really does not want to touch the data object in the browser it
is possible to define another reference to the data with
```typescript
new Blob([data], { type: data.type })
```
or in node via
```typescript
Buffer.from(data)
```

* [TS-Refactor] Added options for npm version, repository, name and updated readme (#6139)

* Added options for npm version, repository, name and updated readme

* Removed `this`  where not required

* Updated typescript docs

* Typescript refactor fixes (#6027)

Fixes a handful of issues identified in https://github.com/OpenAPITools/openapi-generator/issues/802#issuecomment-617262139

List of changes

* Clean: Remove redundant cliOption definition

* Remove redundant directory structure in templates

If we need to have different index.ts files for the different
frameworks, we can mostly do that in the one mustache file. In the cases
where that is not possible, we can still add a new override file later.

* Use File.separator consistently

* Only export selected api type

* Simplify promise polyfill import

The behaviour should be the same, according to the es6-promise docs.
Previously tsc would report the error:
> error TS2307: Cannot find module 'es6-promise'.

* Import HttpFile in all models

* Export server configurations

* Use undefined as default body value

The empty string is not interpreted as "no body" by the browser fetch
api and thus leads to an exception during get requests

* Improve codestyle: prefer guards to nesting

* Remove verbose debug output

This should not be commited, because every developer has very different
requirements what debug information he needs to see.

* Fix: Use cleaned model names for imports

* Fix: do not call toString on undefined

* Fix typo in doc comment

* Introduce RequestBody type and remove method check

* Support media types other than json (#6177)

List of changes:

* Add */* as fallback to accept header

* Use more sophisticated media type selection

* Handle object stringify in ObjectSerializer

* Parse response with ObejctSerializer

* Fix: Correctly extract response headers in browser

* Create HttpFile objects from responses

* Handle binary responses

* Clean up dependencies and replace isomorphic-fetch

Instead of isomorphic-fetch, which is unmaintained, we directly use
node-fetch and whatwg-fetch polyfills.

* Updated versions in ts-default/jquery and ts docs

* Replaced isSuccessCode with is2xx

* [TypeScript-Refactor] Use OAIv3 spec and fix bugs in JQuery Blob download (#6416)

* Change to OAIv3 spec for TS-Refactor

* Moved samples to oaiv3 folder

* Updated package-lock

* Update pom to use OAIv3 paths for Typescript-refactor

* Renamed ts-refactor samples & tests in pom.xmls

* Fixed compile issues in ts-refactor jquery http test

* Fixed bugs in blob handling of jquery

* [Typescript] Support http bearer authentication with token provider (#6425)

* Add http bearer security

* Update typescript to 3.9

* Fix: Use Authorization header for basic and bearer

* Allow asynchronous tokenProvider in bearer auth

* Add TS-Rewrite-Jquery tests node_modules to travis caching

* Remove NoAuthentication

* Added file to generate TS samples on Windows

* Exclude btoa in browser

* Regen samples

* Remove outdated ToDo comments

* Document and optimize `getReturnType` in TSClientCodegen

* Added option to generate objects for operation function arguments

* Upgrade typescript docs

* Updated generators

* Updated samples

* Updated docs

* Readded pom.xml

* [Typescript] Support InversifyJS (#6489)

* Add config option to enable InversifyJS

* Add pascal case lambda for mustache

* Generate a class for each auth method

* Add service identifiers and service binder helper

* Split Configuration into interface and factory

This way we don't need to import the factory everywhere to do
typechecking.

* Define minimal interface for ServerConfiguration

* Add annotations for inversify when enabled

* Always expose list of server configurations

* Add samples and defalt tests for useInversify

* Simplify sample generation script

* Fix: Add object_params arg description to help

* Fix: Properly enable inversify with bool property

* Build tests in pom instead of prepublish

Otherwise running `npm install`, when the build failed was impossible.

* Update dependencies for inversify tests

* Test basic api service resolution

* Remove Promise and Observable prefix from exports

* Fix, RxJS: Import Observable in object params api

* Add ioc service identifier for object param api

* Add hint about unimpeded development

* Simplify api service binder syntax

* Remove default tests for inversify

* Add wrapper for easy promise based http libraries

This wrapper allows defining and injecting http libraries that do not
need to know anything about observables, especially when useRxJS is not
enabled. I will employ this in the tests for InversifyJS.

Not sure if we should also use this wrapper internally.

* Add named injects for remaining auth parameters

* Directly inject promise services without RxJS

* Add tests for api service binder

* Add convenience method to bind all api services

* Fix: Rename inversify test artifact

* Run bin/utils/copy-to-website.sh

* Restore changes to CONTRIBUTING.md from PR #6489

Co-authored-by: Bodo Graumann <mail@bodograumann.de>
Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
2020-06-15 08:12:39 +02:00
William Cheng
4deea5a7dc add thales as bronze sponsor (#6659) 2020-06-15 10:47:25 +08:00
William Cheng
6c24239bac Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-06-15 09:47:20 +08:00
William Cheng
46f9c27d86 update doc 2020-06-15 09:47:06 +08:00
Jonathan Goldman
1a2097e81d [Java] Add add constructor to BYO OkHttpClient (#6401)
* [Java] Add add constructor to BYO OkHttpClient

* client example

* this client changed too
2020-06-15 09:35:58 +08:00
Jens Reimann
171337e5f3 Add some AsciiDoc tweaks (#6436)
* Fix a section level issue in the parameters section
* Allow to use an introduction section instead of abstract
* Allow to use table titles rather than wrapping with sections
* Allow to use HTTP method and path as operation title
* Allow to skip examples sections
2020-06-15 09:29:26 +08:00
James Gilliland
6f5ec7deef Fix table layout for additionalProperties property (#6563) 2020-06-15 09:24:35 +08:00
Grímur Kristinsson
982491e117 Use supplied packageName instead of hardcoded (#6561)
Hardcoding open_api_utils there breaks this package if packageName option is used for generating the server code
2020-06-15 09:18:50 +08:00
Yuriy Belenko
4f1d7c0f04 [php] Set required PHP version to 7.2 (#6603)
* Set PHP 7.2 as minimum version

* Update PHPUnit to 8 || 9

* Set Bionic environment in Travis config

* PHPUnit 8 requires void return in static methods

* PHPUnit 8 requires void return in static methods

* Fix curl exception message test

When I run "curl http://wrong_host.zxc" output is:
curl: (6) Could not resolve host: wrong_host.zxc
Maybe this message is different across versions.

Tested curl version:
curl 7.54.0 (x86_64-apple-darwin18.0) libcurl/7.54.0 LibreSSL/2.6.5 zlib/1.2.11 nghttp2/1.24.1

* Update assertions of deprecated assertInternalType

* Migrate to expectException method of PHPUnit 8

* Fix PHPCS Fixer errors

* Replace deprecated 'assertRegExp' assertion

* Exclude PHPUnit and php-cs-fixer cache

* Refresh samples

* Set root Travis CI environment to PHP 7.2.5

* Change to 7.3 as 7.2.27 is highest preinstalled

* Fix testWrongHost test
2020-06-14 22:41:03 +08:00
Yuriy Belenko
e282a052bf [php-slim4] Set required PHP version to 7.2 (#6530)
* Bump required PHP version to 7.2

* Update rest dependencies to meet php 7.2

Latest phpunit 9 requires PHP 7.3, so I've set phpunit 8 as a fallback.

* Fix TestCase inheritance

* Add phpunit cache file to gitignore

* Put license @phpdoc into separate mustache

* Bump readme PHP version to 7.2

* Bump @phpdoc PHP version to 7.2

* Update Zend Diactoros with suggested package

* Refresh samples

* Remove broken tests

These tests will be fixed in next PR which moves Mock feature to
external repo.

* Point root Travis CI environment to PHP 7.3
2020-06-14 22:40:06 +08:00
Yuriy Belenko
90f904a669 [php-slim4] Throw specialized HttpNotImplementedException (#6544)
* Use HttpNotImplementedException from Slim

Specialized HttpNotImplementedException from Slim makes possible to
distinguish general exceptions from case when implementation isn't
complete. This update doesn't change API call results.

* Refresh samples
2020-06-14 17:26:20 +08:00
Yuriy Belenko
c7de5e2268 [php-slim4] Mark generated tests as incomplete (#6541)
* Mark generated unit tests as incomplete

PHPUnit has special "markTestIncomplete" method which is perfectly fits
our generation flow.
Ref: https://phpunit.readthedocs.io/en/7.0/incomplete-and-skipped-tests.html

* Refresh samples
2020-06-14 17:23:17 +08:00
Jochen Schalanda
32adeddd8f Fix usage of javax.annotation (#6645)
* Fix usage of javax.annotation:javax.annotation-api

* Regenerate samples

```
bin/generate-samples.sh bin/configs/java-* bin/configs/jaxrs-* bin/configs/spring-* bin/configs/kotlin-* bin/configs/other/java-* bin/configs/other/jaxrs-* bin/configs/other/kotlin-* bin/configs/other/openapi3/jaxrs-cxf-client.yaml bin/configs/other/openapi3/kotlin-*
```
2020-06-14 17:01:18 +08:00
Jiri Kuncar
e07f084e2a [Python] Additional properties with array types (#6594)
* [Python] Additional properties with array types

* fix addditionalProperties

* fix issue

* ensure-up-to-date

* Use separate spec for java
2020-06-13 15:57:14 -07:00
William Cheng
a4e42e1651 [Java][Retrofit2] deprecate RxJava 1.x (#6641)
* deprecate rxjava1.x

* update samples
2020-06-13 14:30:22 +08:00
William Cheng
8fc65d04a5 Add PowerShell to ensure-uptodate (#6638)
* add powershell to ensure-uptodate

* remove API

* add back API
2020-06-13 14:27:19 +08:00
Benoît Courtine
8e2bf99ffb [Rust][Client][Reqwest] Better http error handling (#6481)
* Stronger typing for http errors with Rust client. (#5609).

* Error structure can be parametrized (but is still hardcoded with `serde_json::Value` in generated code).

* Each API method has is own enum of functionnal errors.

* Fix the missing "Debug" derivation for API error enums.

* Generate models for error deserialization.

* Handle several 2xx success models.

* Expose new API objects, required to use the API (params, success, error structs/enums).

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-13 12:28:53 +08:00
William Cheng
eb26fe51db Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-06-13 00:15:41 +08:00
Sebastien Rosset
690f36d946 [java][jersey2] Add hook to customize SSL context, trust manager and host verifier (#6633)
* Add hook to customize SSL context, trust manager and host verifier

* run sample scripts
2020-06-13 00:15:24 +08:00
William Cheng
f36b807091 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-06-13 00:14:58 +08:00
William Cheng
e84ec710d8 update objc samples 2020-06-13 00:05:14 +08:00
Sebastien Rosset
3626bc4bf4 Fix URL encoding problem for HTTP signatures (#6637) 2020-06-13 00:02:45 +08:00
onlymate
a0f229302d added basic bearer authentication to objc template (#6640) 2020-06-12 23:57:50 +08:00
William Cheng
e2e83fc7bf Remove jacoco from pom.xml (#6558)
* remove jacoco from pom

* test run-in-docker

* Revert "test run-in-docker"

This reverts commit d97fc2365a.

* Revert "remove jacoco from pom"

This reverts commit f5d0cc2e20.

* add -Djacoco.skip=true
2020-06-12 21:48:46 +08:00
William Cheng
b049a5d466 update doc 2020-06-12 17:59:01 +08:00
William Cheng
f092b98a90 update samples 2020-06-12 17:36:54 +08:00
tgerth
146bfeb6d6 [JAVA] RxJava3 support (#6622)
* rx3 support

* ran the shell script ./bin/generate-samples.sht

* added missing rx3 migration, removed tabs
2020-06-12 17:23:42 +08:00
William Cheng
8689625af3 Fix default response (#6625)
* fix isDefault in response

* fix response

* update samples

* fix scala akka template

* fix elm template

* remove commented code

* remove eof

* update elm samples
2020-06-12 15:49:26 +08:00
Jim Schubert
defb0bceeb Update building.md (#6635)
Fix invalid yaml in building docs
2020-06-11 23:07:22 -04:00
Jiri Kuncar
046ba7de8e [feature][python] Support aliasing of API keys (#6469)
* [python] Support aliasing of API keys

* Support for aliasing and prefix

* Make more realistic usage

* Regenerate

* Document alias in generated code

* Support override of aliased keys

* Use diferent id and name for api keys

* ensure up-to-date

* Simple example without x-auth-id-alias

* regenerate docs

* Regenerate

* Provide separate spec for x-auth-id-alias

* Apply suggestions from code review

* regenerated
2020-06-11 09:19:57 -07:00
Jim Schubert
0cb080d5f1 [ci][cli] Allow invoking generate-samples.sh with single file + args (#6609) 2020-06-11 23:39:26 +08:00
johnthagen
28387a09bc Add missing brew tap command to README instructions (#6629) 2020-06-11 23:30:25 +08:00
Alexander Karkossa
2128f2875e Enhancement/kotlin/apiclient and auth (#6585)
* Add multiple auth methods to ApiClient. ApiClient more configurable

* Fixed missing close tag for isMultipart in api.mustache

* Generated samples ./bin/kotlin-client-all.sh

* Generated samples./bin/openapi3/kotlin-client-petstore-all.sh

* Use of better way to add supporting files based on conditions

* Fixed missing check for retrofit generating auth files

* Generated samples

Co-authored-by: Alexander Karkossa <alexander.karkossa@dataport.de>
2020-06-11 22:09:13 +08:00
Mostafa Moradian
3b9cb14025 [fix] Fix delete http verb (the k6 equivalent is del) (#6624) 2020-06-11 20:59:21 +08:00
Ben Drucker
f373f20639 go: use PathEscape instead of QueryEscape to escape path params (#6618) 2020-06-11 17:53:52 +08:00
Warren Gray
933ab0640a [python-client] Enable per-request auth settings (#6569)
* Enable per-request access token in Python client.

* Add missing regenerated sample files.

* Rework to the more general case of overriding the auth settings for a request.

* Add unit tests.

* Update api_client.mustache so that request_auth overrides all other auth settings when specified.
2020-06-10 23:40:10 -07:00
Jiri Kuncar
ebcce67419 [Python] Update docstring and fix a typo (#6612)
* [Python] Update docstring and fix a typo

* regenerate
2020-06-10 19:06:39 -07:00
sunn
31d05f3f48 Fix compilation on Windows (#6608) 2020-06-10 16:09:04 +02:00
sa9sha9
9fdcbec64b Disabling linting for typescript-axios (#6613)
* Disable linting for typescript-axios

* Update samples of typescript-axios

* Regenerate petstore samples of typescript-axios
2020-06-10 14:25:57 +02:00
bgong-mdsol
71dc054d82 Use builder pattern for requests (#5961) 2020-06-10 18:50:35 +08:00
Pierre Bérubé
a014915e62 Fix Basic Bearer auth examples for HTML2 Docs (#6579)
* add missing basic bearer auth examples

* fix basic bearer auth header

* add bearerFormat

* fix all template formats and whitespacing
2020-06-10 17:38:22 +08:00
William Cheng
104a2a39b8 remove localVariablePrefix (#6588) 2020-06-10 17:22:06 +08:00
Julien Feltesse
5c893d5664 remove the json dependency (#6580) 2020-06-10 17:20:16 +08:00
William Cheng
f2a615d693 Update PR checklist for Windows users (#6599)
* Update PR checklist for Windows users

* update contributing

* update building doc

* update doc
2020-06-10 16:43:26 +08:00
William Cheng
db10bba1e3 Update rust config (#6600)
* update rust config

* update rust reqwest async sample
2020-06-10 16:23:15 +08:00
Sebastien Rosset
a4d679f9e5 [Golang] enable unit test for ecdsa keys (#6593)
* Mustache template should use invokerPackage tag to generate import

* Enable unit tests for ECDSA keys

* fix unit test

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
2020-06-10 15:47:13 +08:00
Sebastien Rosset
4bbe3cdbc9 [Java][jersey2] Fix Java compiler warnings (#6605)
* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* support for discriminator in jersey2

* fix typo in pom.xml

* disable unit test because jersey2 deserialization is broken

* disable unit test because jersey2 deserialization is broken

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* Add code comments

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts

* resolve merge conflicts

* Add unit tests

* fix unit tests

* continue implementation of discriminator lookup

* throw deserialization exception when value is null and schema does not allow null value

* continue implementation of compose schema

* continue implementation of compose schema

* continue implementation of compose schema

* Add more unit tests

* Add unit tests for anyOf

* Add unit tests

* [java][jersey2] Add support for discriminator, fix nullable typo and nullable deserialization (#6495)

* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* support for discriminator in jersey2

* fix typo in pom.xml

* disable unit test because jersey2 deserialization is broken

* disable unit test because jersey2 deserialization is broken

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* Add code comments

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts

* resolve merge conflicts

* Add unit tests

* fix unit tests

* continue implementation of discriminator lookup

* throw deserialization exception when value is null and schema does not allow null value

* continue implementation of compose schema

* continue implementation of compose schema

* continue implementation of compose schema

* Add more unit tests

* Add unit tests for anyOf

* Add unit tests

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>

* update samples

* add tests to oas3 java jersey2 petstore

* Fix 'method too big' error with generated code

* resolve merge conflicts

* comment out jersey2 ensure uptodate

* fix compiler warnings

* Jersey2 supports additional properties with composed schema (#6523)

* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* support for discriminator in jersey2

* fix typo in pom.xml

* disable unit test because jersey2 deserialization is broken

* disable unit test because jersey2 deserialization is broken

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* Add code comments

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts

* resolve merge conflicts

* Add unit tests

* fix unit tests

* continue implementation of discriminator lookup

* throw deserialization exception when value is null and schema does not allow null value

* continue implementation of compose schema

* continue implementation of compose schema

* continue implementation of compose schema

* Add more unit tests

* Add unit tests for anyOf

* Add unit tests

* Set supportsAdditionalPropertiesWithComposedSchema to true for Java jersey2

* Support additional properties as nested field

* Support additional properties as nested field

* add code comments

* add customer deserializer

* Fix 'method too big' error with generated code

* resolve merge conflicts

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>

* [Jersey2] Fix code generation of 'registerDiscriminator' method for large models (#6535)

* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* support for discriminator in jersey2

* fix typo in pom.xml

* disable unit test because jersey2 deserialization is broken

* disable unit test because jersey2 deserialization is broken

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* Add code comments

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts

* resolve merge conflicts

* Add unit tests

* fix unit tests

* continue implementation of discriminator lookup

* throw deserialization exception when value is null and schema does not allow null value

* continue implementation of compose schema

* continue implementation of compose schema

* continue implementation of compose schema

* Add more unit tests

* Add unit tests for anyOf

* Add unit tests

* Fix 'method too big' error with generated code

* resolve merge conflicts

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>

* Add unit test for date time

* Add unit test for date time

* update samples

* comment out tests

* support additional properties in serialize and deserialize

* add discriminator lookup

* remove oneof/anyof logic in apilcient

* add serializer to mammal.java

* add serialize to oneOf model

* add serializer to anyof model

* comment out test cases that are subject to further discussion

* add back files

* update configs, samples

* resolve merge conflicts

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-10 11:52:38 +08:00
Sebastien Rosset
0b561d6075 fix import of JSON class (#6606) 2020-06-10 11:50:25 +08:00
William Cheng
fd2976b89c use legacy discriminator mapping (#6604) 2020-06-10 11:27:53 +08:00
William Cheng
233087c5aa [Java][Jersey2] various improvements (#6518)
* [java][jersey2] Add support for discriminator, fix nullable typo and nullable deserialization (#6495)

* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* support for discriminator in jersey2

* fix typo in pom.xml

* disable unit test because jersey2 deserialization is broken

* disable unit test because jersey2 deserialization is broken

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* Add code comments

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts

* resolve merge conflicts

* Add unit tests

* fix unit tests

* continue implementation of discriminator lookup

* throw deserialization exception when value is null and schema does not allow null value

* continue implementation of compose schema

* continue implementation of compose schema

* continue implementation of compose schema

* Add more unit tests

* Add unit tests for anyOf

* Add unit tests

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>

* update samples

* add tests to oas3 java jersey2 petstore

* comment out jersey2 ensure uptodate

* Jersey2 supports additional properties with composed schema (#6523)

* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* support for discriminator in jersey2

* fix typo in pom.xml

* disable unit test because jersey2 deserialization is broken

* disable unit test because jersey2 deserialization is broken

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* Add code comments

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts

* resolve merge conflicts

* Add unit tests

* fix unit tests

* continue implementation of discriminator lookup

* throw deserialization exception when value is null and schema does not allow null value

* continue implementation of compose schema

* continue implementation of compose schema

* continue implementation of compose schema

* Add more unit tests

* Add unit tests for anyOf

* Add unit tests

* Set supportsAdditionalPropertiesWithComposedSchema to true for Java jersey2

* Support additional properties as nested field

* Support additional properties as nested field

* add code comments

* add customer deserializer

* Fix 'method too big' error with generated code

* resolve merge conflicts

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>

* [Jersey2] Fix code generation of 'registerDiscriminator' method for large models (#6535)

* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* support for discriminator in jersey2

* fix typo in pom.xml

* disable unit test because jersey2 deserialization is broken

* disable unit test because jersey2 deserialization is broken

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* Add code comments

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts

* resolve merge conflicts

* Add unit tests

* fix unit tests

* continue implementation of discriminator lookup

* throw deserialization exception when value is null and schema does not allow null value

* continue implementation of compose schema

* continue implementation of compose schema

* continue implementation of compose schema

* Add more unit tests

* Add unit tests for anyOf

* Add unit tests

* Fix 'method too big' error with generated code

* resolve merge conflicts

Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>

* update samples

* comment out tests

* support additional properties in serialize and deserialize

* add discriminator lookup

* remove oneof/anyof logic in apilcient

* add serializer to mammal.java

* add serialize to oneOf model

* add serializer to anyof model

* comment out test cases that are subject to further discussion

* add back files

* update configs, samples

Co-authored-by: Sebastien Rosset <serosset@cisco.com>
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
2020-06-10 00:38:11 +08:00
Jim Schubert
60ceded171 [ci][cli] Moving ensures script to config-based batch generation of samples (#6509)
* Ensure CLI-level generator settings are available in additional properties

* Initial conversion to yaml configs

Configs prefix with 1- need to be manually evaluated.

* Add "other" configs not in ensure-up-to-date

* Add other/openapi3 files

* Cleanup all generation scripts

* Clean up: add missed configs and fix some openapi 3 diffs

* Move generate-samples script, error on batch failures

* Temporarily disable elm which requires skip validation of spec

* CI updates (todo: run all generators through appveyor or move to github workflows)

* Add success count to batch generation command output

* [samples] Regenerate

* Remove bin/windows

* Generate swift5 samples in bitrise

* Expand user input glob pattern

* Regenerate samples

* Update PR template

* Support config based generateAliasAsModel

* [samples] Regenerate

* [rust] Generate as alias for all samples configs

* [csharp] Move test staged file changes to in-directory

* Include "live" test files and ignore test cache files from samples.ci

* Remove concept of samples.ci staging

Generators support .openapi-generator-ignore, allowing maintainers to
explicitly ignore the regeneration of files which have been modified.

Note that the tooling does not overwrite test files whenever those files
exist, and it's not entirely necessary to add test files to the ignore
file.

* Re-add meta generator scripts

* Modify ensure-up-to-date to log stdout, so script does not look like it hangs on slower machines

* [csharp] Regenerate sample

* Set generateAliasAsModel CodegenConfigurator#toContext

This ensures the property (which is effectively a thread-local) gets set
as expected if the caller resets GlobalSettings as is done in the
GenerateBatch command.

* [rust] Regenerate samples

* Re-enable elm

* [java] Support OffsetDateTime example, fail ensures script on any generation error

* [samples] Regenerate

* Fix jersey2-java8 ignore file

* Fix elm spec validation

* Force UTC in sample generation to avoid timezone conflicts during generation (user vs ci)

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-09 18:28:58 +08:00
Michele Mancioppi
765752f952 Add Instana to the list of users (#6584) 2020-06-09 18:15:23 +08:00
William Cheng
c176bdcb3e [rust][reqwest] fix broken export (#6586)
* fix broken export

* add tests
2020-06-09 15:56:56 +08:00
dependabot[bot]
2c3721720e Bump websocket-extensions from 0.1.3 to 0.1.4 in /website (#6578)
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-07 19:32:21 -04:00
dumitru-petrusca
057c4294de Issue 5497: Support the use of tags in the delegated Spring Kotlin generator. (#5499)
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-06-07 19:24:20 -04:00
Michael Kreis
7baa72eefa add use-site target field for JsonProperty annotation in kotlin data classes (#6186) 2020-06-07 19:23:15 -04:00
William Cheng
57d75e75e7 fix elm test spec (#6572) 2020-06-06 23:16:25 +08:00
Jim Schubert
835dab4b50 Fix typescript generator for parameter collectionFormat for pipes ssv (#6553)
Co-authored-by: David Biesack <David.Biesack@apiture.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Vikrant Balyan <vvb@users.noreply.github.com>
Co-authored-by: Michele Albano <michele.albano@gmail.com>
Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
2020-06-05 19:32:32 -04:00
Mateusz Szychowski (Muttley)
c102ced044 [C++][Pistache] Catch HttpError from user-provided handler (#6520)
* [C++][Pistache] Catch HttpError when user-provided handler has thrown

This allows for returning valid http code through exception

* [C++][Pistache] Update Petstore sample
2020-06-05 17:08:40 +02:00
William Cheng
d5ea62f966 remove scala related profile from the pom (#6554) 2020-06-05 13:51:11 +08:00
William Cheng
2956ae028a move ruby tests to travis (#6555) 2020-06-05 12:35:00 +08:00
William Cheng
734d6d9f09 [Java][jersey2] fix cast error for default value in DateTimeOffset object (#6547)
* fix cast error for datetimeoff in java

* add back files

* fix datetime initialize

* comment out ensure uptodate
2020-06-05 11:42:09 +08:00
Bruno Coelho
8da06b038a [Swift] fix GET request with array parameter (#6549)
* [Swift] fix get request with array paramters

* iOS - update pet projects
2020-06-05 11:39:08 +08:00
sylvainmoindron
388218bdf9 [kotlin][spring] Fix ApiUtil compilation (#6084) 2020-06-04 21:29:40 -04:00
William Cheng
dc9a898e11 update python samples 2020-06-05 08:44:27 +08:00
Alexey Volkov
6f6c8ede79 [Python] Fixed docstrings in api.mustache (#6391)
* [Python] Fixed docstrings

Fixes https://github.com/swagger-api/swagger-codegen/issues/9630

* Updated generated files

* Fixed python-experimental

* Updated generated files

* Fully fixed the format of the docstrings

* Updated generated files

* Updated generated files in openapi3
2020-06-04 08:46:35 -07:00
Jiri Kuncar
e708cdc83e [BUG][python] Support named arrays (#6493)
* [python] Support named arrays

* Fix named array type

* Use ModelSimple

* Reset samples

* Regenerated

* Animal farm test

* Array of enums

* Clean-up

* Clean-up

* Clean-up

* Fix array type generation

* simplify

* array model is not alias

* Array model has one value field

* ensure up-to-date

* ./bin/utils/ensure-up-to-date --batch

* Solve issue with missing import for array model

* regenerate
2020-06-04 07:50:53 -07:00
William Cheng
2be0afffe2 [Go] whitelist AdditionalProperties in the field name (#6543)
* whitelist AdditionalProperties in Go field name

* code format
2020-06-04 21:55:10 +08:00
Bruno Coelho
ae790ea74e [kotlin][client] remove tabs usage (#6526)
* [kotlin] remove tabs

* [kotlin][client] update pet projects
2020-06-04 21:29:08 +08:00
William Cheng
176c439a6d [PS] automatically derive discriminator mapping for oneOf/anyOf (#6542)
* infer mapping based on oneOf/anyOf schemas

* update files
2020-06-04 21:13:42 +08:00
Samuel Kahn
0f627e70fb [C++][Ue4] various bus fixes (#6539)
* Fixed compilation on linux and UE4.23

* Added string and enum type definition support

* Better handling or variable names, should avoid conflicts with reserved keywords or empty variable names in edge cases

* Updated samples
2020-06-04 20:37:39 +08:00
Reijhanniel Jearl Campos
83a0f7d65b Fix incorrect npx command (#6537)
The current `npx ` command says to use:

```
npx openapi-generator generate -i petstore.yaml -g ruby -o /tmp/test/
```

This however, pulls a similarly-named but different project: [zhang740/openapi-generator](https://www.npmjs.com/package/openapi-generator).

This commit fixes this, by using the appropriate package `@openapitools/openapi-generator-cli`
2020-06-04 20:24:51 +08:00
William Cheng
859e7f7228 update pester to 5.x (#6536) 2020-06-04 15:05:08 +08:00
William Cheng
b2c615b253 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-06-04 11:50:34 +08:00
William Cheng
a25359e91c comment out openapi3 java jersey2-java8 tests 2020-06-04 11:46:16 +08:00
William Cheng
5cf4ee1de8 add additional properties support to powershell client generator (#6528) 2020-06-04 11:37:56 +08:00
William Cheng
a6bf956df5 [Go][Experimental] Support additionalProperties (#6525)
* support additonal properties in go

* support additonal properties marshal in go exp

* update go samples
2020-06-04 11:33:21 +08:00
sylvainmoindron
b2305d731c #5476 [kotlin] [spring] fix swagger and spring annotation for defaultValue (#6101) 2020-06-03 22:36:21 -04:00
Jim Schubert
244683d46a [samples] regenerate (#6533) 2020-06-03 21:28:25 -04:00
Jiri Kuncar
d07f459ce3 [python] Fix date-time parsing (#6458) 2020-06-03 21:26:30 -04:00
Dennis Melzer
e2e3405689 Register OAuth2ClientContext as bean (#6172)
* Register OAuth2ClientContext as bean

#6171

* Add tab

#6171

* Modify tests

#6171

* Add import for test

#6171

* Modify spring cloud async test

#6171
2020-06-03 15:36:19 +08:00
William Cheng
4d68953ded [Go][Experimental] Fix discriminator lookup (#6521)
* bug fix, better code format

* update oas3 sample
2020-06-03 01:11:41 +08:00
Justin Van Dort
8fc7ec8458 Typescript-rxjs: print param name (#6368)
* Prints out the parameter name in throwIfNullOrUndefined

* Fixed misspelling

Co-authored-by: Justin Van Dort <justinvandort@gmail.com>
Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
2020-06-02 12:46:30 +02:00
William Cheng
66a3ec7cf0 add oneof discrimistrator lookup to go experimental (#6517) 2020-06-02 16:50:35 +08:00
William Cheng
c1cf63e81c [PowerShell] Add useOneOfDiscriminatorLookup option (#6516)
* add useOneOfDiscriminatorLookup option

* update doc
2020-06-02 14:07:05 +08:00
William Cheng
0fbbbe8a95 add discriminator support to anyOf powershell client (#6512) 2020-06-02 10:55:56 +08:00
William Cheng
4c3eb0d973 [Go][Experimental] Add discriminator support to anyOf (#6511)
* add discriminator support in anyof

* update samples
2020-06-02 10:54:57 +08:00
Jim Schubert
58ed6afc0d Update Generate.java (#6515)
Removed missed -D messages
2020-06-01 21:08:50 -04:00
William Cheng
f91a5f7108 Undo PR #6451 (#6514)
* Revert "Minor enhancement to Python client generator's code format (#6510)"

This reverts commit 3ddc78393c.

* Revert "[Python][Client] Fix delimiter collision issue #5981 (#6451)"

This reverts commit 6783b90fe2.
2020-06-01 20:01:06 +08:00
William Cheng
3ddc78393c Minor enhancement to Python client generator's code format (#6510)
* minor enhancement to python java class code format

* minor format python experimental
2020-06-01 00:36:18 -07:00
Justin Black
d8c422398e [python-experimental] Quicken package loading (#6437)
* apis and models contains all apis and models, omits loading them in the package namespace

* Runs git add -a and commits it

* Fixes test_outer_enum.py

* Fixes test_fruit.py

* Updates test_fruit and test_mammal

* Fixes test_parent_pet

* Updates test_discard_unknown_properties.py

* Updates test_deserialization.py

* Updates v2 docs md files for apis + the readme

* Fixes v2 tests

* v2 doc updates

* Updates v3 docs

* Reverts python_doc_auth_partial.mustache

* Adds sys to v3 tests

* Adds FILES update

Co-authored-by: Justin Black <justinblack@justins-air.lan>
2020-06-01 00:25:37 -07:00
fullcircle23
6783b90fe2 [Python][Client] Fix delimiter collision issue #5981 (#6451)
* [python][client] Fix delimiter collision (#5981)

* [python][client] Fix delimiter collision (#5981) update samples

* [python][client] Fix delimiter collision (#5981) update samples

* [python][client] Fix convert to enum var name (#5981)

* [python][client] Fix convert to enum var name (#5981) update samples
2020-06-01 14:12:24 +08:00
William Cheng
15be875275 [Java][Jersey2] add petstore integration tests (#6508)
* add tests to jersey2 client

* remove import
2020-06-01 11:08:15 +08:00
Samuel Kahn
e3eb3c2f7d UE4 client generator fixes (#6438)
* Added the possibility for a codegen to set the location of the generated model files, similarly to API files.

* Removed std::shared_ptr from the generated types. Types in UE4Codegen are handled as POD structs, not shared pointers.

* Fixed handling of body parameters as per the specification, the single body object is written directly as the payload.

* Fixed handling of files and binaries, if a field is both isFile and isBinary, file will take precedence.

* Updated cpp-ue4 client samples

* Fixed handling of enums in models

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-01 00:13:12 +08:00
Frieder Bluemle
a96e783f06 Fix docs typos (#6478) 2020-05-31 23:03:12 +08:00
Yuriy Belenko
39eb32ec27 [php-laravel] Show required PHP version in docs (#6502)
* Add required PHP version to readme

* Add requried PHP version to @phpdoc
2020-05-31 23:02:35 +08:00
Yuriy Belenko
5877e3001d [php-lumen] Show required PHP version in docs (#6501)
* Add required PHP version to readme

* Add requried PHP version to @phpdoc
2020-05-31 23:02:17 +08:00
Sebastien Rosset
54e2574013 [Java][Jersey2] Fix typo and script, Log enhancements, HTTP signature, deserialization (#6476)
* Mustache template should use invokerPackage tag to generate import

* fix typo, fix script issue, add log statement for troubleshooting

* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme

* Add sample for Java jersey2 and HTTP signature scheme

* Add unit test for oneOf schema deserialization

* Add unit test for oneOf schema deserialization

* Add log statements

* Add profile for jersey2

* Temporarily disable unit test

* Temporarily disable unit test

* fix typo in pom.xml

* fix duplicate jersey2 samples

* fix duplicate jersey2 samples

* fix duplicate artifact id

* fix duplicate jersey2 samples

* run samples scripts
2020-05-31 22:45:01 +08:00
Jim Schubert
7e5f720f20 Remove deprecations 5.0 (#6060)
* [breaking] Enforce vendor extension naming convention

* [breaking] Rename system properties to global properties

* [docs] Update site with global properties list and usage explanation

* Use proper vendor extension casing in all templates

* Set remaining vendor extensions to convention of lower kebab-cased with x- prefix

* [samples] Regenerate

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java

Before we were adding hasPathParams twice, once with !op.pathParams.isEmpty(), and then again with hasPathParams. This was probably caused by a mistaken merge.

This is causing the difference in samples

Co-authored-by: Richard Whitehouse <richard.whitehouse@metaswitch.com>

* [Samples] Regenerated!

* Fix -D conversion to additional-properties, missed in bat files

* JERSEY2 option changed

* [samples] Regenerate

* [scala][finch] Fix remaining vendor extensions format to conventino

* [scala] The -D option was replaced with --global-property

* [samples] Regenerate

* Fix -DskipFormModel usage which has been moved to --global-property skipFormModel=true

* [samples] Regenerate

Co-authored-by: Richard Whitehouse <richard.whitehouse@metaswitch.com>
2020-05-31 19:14:31 +08:00
Kamil Breguła
40a7e53b19 Improve handling spaces in example command (#6482) 2020-05-30 23:15:53 +08:00
William Cheng
6477a3c431 fix maven plugin snapshot version 2020-05-30 18:28:48 +08:00
William Cheng
5b6d12e15f comment out erlang server test (#6499) 2020-05-30 17:50:51 +08:00
William Cheng
1efeb92f6b Migrate Perl samples to use OAS v3 spec (#6490)
* update perl samples to use oas3

* test perl in travis ci

* fix uri query

* fix comment

* fix bearer token

* fix add pet

* update body to pet
2020-05-30 17:00:22 +08:00
Jim Schubert
a47e522fae [core] Refactor templating management (#6357)
* [core] Refactor templating management

This refactors template management to get logic out of DefaultGenerator
and to provide a cleaner API to template search and read/compile.

Deprecates MockDefaultGenerator, which is not a mock and causes
in-memory retention of file contents. Maintainers should prefer
executing a "dryRun" with new DefaultGenerator(true) or do true
mock/spies if evaluating template intermediaries is truly necessary.
Tests may read written files with lower overhead than the in-process
retention of those bytes.

This attempts to maintain some compatibility with existing templating
adapter interfaces. Any breaking change here would be unintentional but
minimal effort to retarget the new interface.

* Tests for dry run file outputs

* Update API usage in Meta, test TemplateManager

* Wait on lastModified, lookup by filename in SpringCodegenTest

* Test DefaultGenerator + ignore file

* Move config.processOpenAPI in DefaultGenerator

* Fix wrong use of libraries templateDirector (java)

The samples scripts for Java incorrectly referenced the libraries
directories directly rather than the upper-level Java directory. This
was incorrect usage of template directories, because the generator
expects to be given the "language" directory and perform a lookup for
missing templates in the order:

* user defined libraries directory
* user defined language root
* embedded libraries directory
* embedded language root
* _common directory

This is incorrect in our samples scripts because a user or maintainer
has the expectation that any template change to files at the Java/ root
should also be honored on generation if the script specifies a custom
template directory.

* Fix handlebars extension usage, clean up Meta tasks

HandlebarseEngineAdapter previously didn't handle files without
extensions in the same was as the MustacheEngineAdapter. This now allows
for files without extension (or dotfiles) to lookup in the same
location.

Meta tasks are cleaned up to use template manager only, rather than
attempting to create an "empty" generator to use the previous templating
specific methods.

* Update kotlin-multiplatform gradle wrapper

* Rename GraphQL .gitignore template

The .gitignore file is unable to load via classpath resource from the
graphql node server resource directory (for unknown reasons). Before
this change, the missing template would fail silently.

A .gitignore file may exist in other directories and load as expected.
Added a default .gitignore to _common as a fallback so as not to break
any custom generators which may also be failing silently.

* Log entire stacktrace in go sdk built by gradle in AppVeyor

* Rename PHP .gitignore to gitignore

Java resources may not load .gitignore, this follows suit with other
generators and uses "gitignore" (some use "gitignore.mustache").

* [php] Rename .gitignore templates to gitignore

* Use same classpath lookup in common locator

* [rust] Properly escape empty triple-braces

* [samples] Regenerate
2020-05-30 00:19:03 -04:00
William Cheng
74584eb734 migrate apex samples to use oas3 spec (#6488) 2020-05-30 11:17:19 +08:00
William Cheng
5ef626be53 add new file in php-symfony sample 2020-05-30 10:24:40 +08:00
Ghufz
8480706da1 [PS] Refactor the http signing auth with ecdsa support (#6397)
* ValidatePattern having double quote(") throws exception on running Build.ps1

* fix tab with space

* [powershell-experimental] : http signature auth

* fix the tab issue

* merge cnflict fix for powershell experimental

* Htpp signing : added support for ecdsa

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Update modules/openapi-generator/src/main/resources/powershell/configuration.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* HttpSigningHeader accepts any header available in request to calculate the signature.

* Update modules/openapi-generator/src/main/resources/powershell/http_signature_auth.mustache

Co-authored-by: Sebastien Rosset <serosset@cisco.com>

* Incorporated the review comments

* addressed the merge conflict

Co-authored-by: Ghufran Zahidi <gzahidi@cisco.com>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
2020-05-30 00:15:38 +08:00
Richard Whitehouse
82410ae90b [Rust Server] Hyper 0.13 + Async/Await support (#6244)
* [Rust Server] Hyper 0.13 + Async/Await support

Upgrade dependencies to Hyper 0.13 and use async/await.

* [Rust Server] Add missing hyper-tls dependency

* [Rust Server] Add missing models import

* Update samples
2020-05-29 15:18:30 +01:00
William Cheng
c3ac84cec2 [Rust] set supportAsync to true as the default (#6480)
* set supportAsync to true

* set reqwest as the default lib
2020-05-29 21:18:15 +08:00
Yuriy Belenko
83bad102ea [php-symfony] Set required PHP version ^7.1.3 (#6181)
* Set PHP 7.1.3 required version

I've tried to specify ^7.0 version at first, but main package which is
symfony/framework-bundle@v4.4.8 requires PHP ^7.1.3.

* Bump Symfony FrameworkBundle to ^4.4.8

Current Symfony Framework stable version is v5.0.8, but I guess it
requires significant codebase upgrade, so I've sticked with 4.4.8 which
shouldn't cause any breaking changes. Old requirement was ^3.3|^4.1
which compatible with 4.4.8.

* Bump PHPUnit version to ^7.0

PHPUnit 8.x version required PHP ^7.2, so I'm setting 7.x version to
support PHP 7.1.
There is new way to specify Kernel class, related PR:
https://github.com/symfony/symfony/pull/22668

* Bump PHP CS Fixer version to ^2.16.3

Configuration and all renamed rules fixed.
Config file renamed to .php_cs.dist as recommended in migration guide.
Migration guide from 1.x to 2.x:
https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/UPGRADE.md#config-file

* Remove PHP_CodeSniffer package

Second linter doesn't make sense. I think Symfony user would prefer
PHP CS Fixer over PHP_CodeSniffer because first one maintained by Symfony
members.

* Remove satooshi/php-coveralls package from Composer

This package is abandoned and Coveralls recommends to install it directly
in Travis-CI task script.

* Update Travic-CI config

I've changed test versions to PHP 7.1.3 and 7.2. PHPUnit generates
coverage report in report/logs/clover.xml file. Then PHP CS Fixer runs
with --dry-run option to not override anything just to show coding style
errors.

* Add basic Coveralls config

This is basic recommended config for a PHP based project.

* Add symfony/yaml package

This package was part of satooshi/php-coveralls, now it should be
defined as dev dependency.

* Do not commit composer.lock

I think committed composer.lock can cause CI errors while tests on fresh
installs are better.

* Remove confusing Ruby comment
2020-05-29 18:35:11 +08:00
William Cheng
30caeedb98 update doc 2020-05-29 18:16:55 +08:00
Jim Schubert
cc59367909 [csharp] Rename netstandard to netstandard1.3 (#6460) 2020-05-29 17:32:52 +08:00
ShakedH
a64f547c2a feat: support deprecated parameters for typescript-axios generator (#6475)
Add @deprecated to JSDoc for a parameter when it is marked as deprecated

Co-authored-by: Shaked Hazon <s.hazon@f5.com>
2020-05-29 08:14:54 +02:00
Jose Camara
3bf28be4bb [REQ][typescript-axios] useSingleRequestParameter should mark parameter optional if all properties are optional (#6477)
* Include map for `AnyType` in `typescript`

* Exclude `any` from the list of types extracted from `anyOf`, `allOf`, `oneOf`

Exclude if there are other meaningful types

* Include new scripts and `yaml` to test the new case

* Execute the new sample for `typescript-axios`

* Filter out only `AnyType` instead of all `any` types

* Renamed and modified samples

- Included more examples using `oneOf, `allOf`, `anyOf`
- Includede examples when types that are translated to `any` are involved (`file`)

* Changes in mustache file

Set default value to empty object when the `requestParameter` doesn't have any required param

* New schema with operations without required params

* Generate the sample
2020-05-29 08:14:16 +02:00
William Cheng
7cef7b7591 better struct alias in rust (#6470) 2020-05-29 13:13:08 +08:00
William Cheng
52fcdd5974 Migrate Go server samples to OAS 3 only (#6471)
* migrate go server samples to oas3

* add back pom.xml
2020-05-29 11:42:07 +08:00
William Cheng
bde0d77c8f [Rust][reqwest] add async support (#6464)
* fix rust sync client

* update doc
2020-05-29 00:45:51 +08:00
Sebastien Rosset
f7f41410e7 [codegen][python-experimental] Composed schema with additionalProperties (#6290)
* Mustache template should use invokerPackage tag to generate import

* Add a unit test for allOf and additionalProperties

* Fix getAdditionalProperties

* Add code comments

* Add code comments

* set nullable for additionalproperties

* add variants of additionalProperties

* Add more unit tests

* Handle additionalProperties for composed schemas

* improve code comments

* Add code comments

* Add code comments

* Add code comments

* Add code comments

* Add code comments

* Add assertions in unit tests

* Add new property to support the 'additionalProperties' keyword with composed schemas

* run sample scripts

* fix unit tests to handle additionalProperties

* Handle additional properties and composed schema

* Handle additional properties and composed schema

* Add support for additionalProperties and composed schema

* Format java code

* Add more unit tests for Python

* Handle reference in additionalProperty keyword

* Handle reference in additionalProperty keyword

* Add use case for additionalProperties and reference

* run sample scripts

* resolve schema reference

* Add OpenAPI argument

* Add OpenAPI argument

* Add OpenAPI argument

* Add OpenAPI argument

* Add OpenAPI argument

* Handle additional property keyword with reference

* Handle additional property keyword with reference

* Handle additional property keyword with reference

* Handle additional property keyword with reference

* add additionalproperties attribute with boolean values

* Run sample scripts

* handle additional properties

* Handle additionalProperties boolean values

* Run sample scripts

* fix javadoc issues

* fix javadoc issues

* Add Locale to String.toLowerCase

* execute sample scripts

* handle additional properties

* Add code comments

* Handle imports of referenced models in additional properties

* Handle isNullable class

* handle nullable type

* improve documentation, run sample scripts

* improve documentation, run sample scripts

* execute sample scripts

* execute sample scripts

* Execute sample scripts

* Run samples scripts

* set legacyAdditionalPropertiesBehavior to true by default, except python

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* create separate yaml file to avoid having lots of changes in the pr

* Change name of CLI option

* Generate doc

* Add TODO statement

* add code comments

* run samples scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* refactor cli option for additional properties

* refactor cli option for additional properties

* run samples scripts

* run sample scripts

* run sample scripts

* run sample scripts

* run sample scripts

* Add yaml comments

* small refactor

* small refactor

* run sample scripts

* run sample scripts

* fix unit tests

* Set disallowAdditionalPropertiesIfNotPresent flag

* reduced size of test yaml file

* simplify code and add imports directly

* rename some of the properties used in tests

* Handle more scenarios for nullable types

* add code comments

* Adds *args input to __init__ method to fix test testFruitNullValue

* Resolve merge issues

* run samples scripts

* run doc generator

* fix merge conflicts

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2020-05-29 00:40:48 +08:00
William Cheng
07647b1a31 [Java] Decommission Retrofit 1.x support (#6447)
* decommission retrofit 1.x support

* remove retrofit 1.x from pom.xml
2020-05-28 21:43:38 +08:00
William Cheng
34ccec889a remove scala oas3 samples (#6446) 2020-05-28 21:42:10 +08:00
Sebastien Rosset
b87c927fc2 [Java][jersey2] Fix RuntimeException when HTTP signature parameters are not configured (#6457)
* Mustache template should use invokerPackage tag to generate import

* fix runtime exception when HttpSignatureAuth is not set

* fix runtime exception when HttpSignatureAuth is not set
2020-05-28 21:35:16 +08:00
Sebastien Rosset
2712bbd7c1 [Java][jersey2] Improve http signature code comments (#6463)
* Mustache template should use invokerPackage tag to generate import

* fix typo and improve code comments
2020-05-28 21:34:00 +08:00
Esteban Gehring
ec39005ae5 [typescript-angular] drop support of angular below 6.0.0 (#6360)
* typescript-angular: drop support for angular below 6.0.0

* typescript-angular: re-generate samples

* typescript-angular: re-generate docs
2020-05-28 11:28:11 +02:00
Jim Schubert
7d4bbcc29b [cli] new 'author template' command (#6441)
* [cli] new 'author template' command

This new command allows users to extract templates for authoring
(customization) without the complexity of finding and downloading a
specific directory for their versioned artifact.

Example usage:

```
openapi-generator author template -g java --library webclient
```

This will write all templates with library-specific templates to the
'./out' directory relative to the current directory.

CLI will refer the user to
https://openapi-generator.tech/docs/templating after generation

* [docs] Usage of author template command

* Log warning if author template fails to output requested library
2020-05-28 00:12:59 -04:00
Justin Black
a017f3a892 python-experimental updates ancestor + adds descendant discriminator tests (#6417)
* Updates comments in new method

* Adds missing line in model_utils.py

* Removes biology examples, adds ParentPet ancestor example + test, adds Pig schemas

* Updates comment and var names in get_discriminator_class, adds testMammal test

* Updates comment
2020-05-27 20:33:43 -07:00
Rhuan
dc48cfdf74 Fix ruby deprecation error (#6450)
* Update obsolete config in rubocop.

* Update generated petstore clients
2020-05-28 09:33:06 +08:00
William Cheng
ae9d4ee222 [Java][Feign] decommission 9.x support (#6445)
* decommission feign 9.x

* update ci
2020-05-28 09:30:41 +08:00
William Cheng
e3faeac0f5 fix struct export in rust reqwest (#6453) 2020-05-28 09:30:00 +08:00
William Cheng
105efd3c68 [Rust][reqwest] add tests to CI (#6454)
* add tests to rust reqwest petstore client

* add rust reqwest tests to ci
2020-05-28 09:29:42 +08:00
William Cheng
92a350ed72 set pester version (#6448) 2020-05-27 17:22:50 +08:00
William Cheng
64ddad5919 update datadog logo 2020-05-27 16:33:22 +08:00
William Cheng
301901bbbc update groovy petstore samples 2020-05-27 16:27:34 +08:00
William Cheng
45fc71b06a add datadog as sponsor (#6444) 2020-05-27 15:21:11 +08:00
William Cheng
ddcda1ee50 Migrate Groovy samples to oas3 (#6435)
* migrate groovy samples to oas3

* update samples
2020-05-27 10:59:53 +08:00
Jim Schubert
e6ba9451e8 [samples] Renerate Kotlin coroutines 2020-05-26 21:51:32 -04:00
Bruno Coelho
fac233b3a3 [kotlin][client] add support for coroutines with OkHttp (#6362)
* [kotlin][client] add support for coroutines with OkHttp

* [kotlin] fix petstore project
2020-05-26 23:04:52 +08:00
William Cheng
0a5b02eee5 update package-json.lock (#6430) 2020-05-26 22:26:44 +08:00
William Cheng
029ce2c0b3 fix hardcoded match type (#6431) 2020-05-26 21:47:55 +08:00
William Cheng
707a88d998 java jersey2 enhance anyOf (#6420) 2020-05-26 10:26:39 +08:00
William Cheng
0572030e79 [Java][jersey2] minor improvement to jersey2 tests (#6418)
* minor improvement to jersey2 test, remove script/bat

* remove tests for java7 jersey2

* remove log from abstrct java class

* undo change to jaxrs path
2020-05-26 10:26:25 +08:00
William Cheng
c73cafec6b ps minor style change (#6424) 2020-05-26 10:17:02 +08:00
William Cheng
d49de5b577 [JS] mark ES5 as deprecated (#6408)
* mark js es5 deprecated, remove samples, migrate samples to use oas3

* update test in pom.xml

* update js samples

* delete js es5 samples

* update js petstore

* remove openapi3 js petstore

* fix tests

* skip test/model/AdditionalPropertiesArray.spec.js

* fix test

* update doc
2020-05-26 09:55:00 +08:00
Jim Schubert
fb57b602c2 [ci] Execute maven and verify with no-snapshot-updates (#6415) 2020-05-25 14:30:12 -04:00
William Cheng
8bbce3397d add new file in ts axios samples 2020-05-26 00:13:41 +08:00
William Cheng
6abc4fdab2 Migrate all scala generators to use OAS3 (#6407)
* migrate all scala generators to use oas3

* add back pom.xml for scala-sttp

* skip form model in scalaz

* fix scala lagom tests

* add new files

* skip form models in scala finch petstore

* update samples
2020-05-25 23:09:34 +08:00
William Cheng
db4c4917e2 migrate ruby samples to oas3 (#6414) 2020-05-25 23:02:30 +08:00
William Cheng
f4897ea4a4 [PS] check if JSON properties is defined (#6419)
* check if json properties not defined

* add new files
2020-05-25 21:06:59 +08:00
William Cheng
c000eaef73 Add C++ UE4 client generator (#6399)
* Added new language: UE4 C++ client

* rename generator

* add copyright

* update doc

* fix with Locale.ROOT

* add new file

* minor improvements

* remove postProcessModels

Co-authored-by: Samuel Kahn <samuel@kahncode.com>
2020-05-25 18:33:48 +08:00
William Cheng
6be3bc0f8a Add a link to the article in dev.to (#6421) 2020-05-25 17:17:40 +08:00
Jose Camara
4dbb5c9e0d typescript-axios anytype is not defined (#6335)
* Include map for `AnyType` in `typescript`

* Exclude `any` from the list of types extracted from `anyOf`, `allOf`, `oneOf`

Exclude if there are other meaningful types

* Include new scripts and `yaml` to test the new case

* Execute the new sample for `typescript-axios`

* Filter out only `AnyType` instead of all `any` types

* Renamed and modified samples

- Included more examples using `oneOf, `allOf`, `anyOf`
- Includede examples when types that are translated to `any` are involved (`file`)
2020-05-25 10:21:58 +02:00
Slavek Kabrda
205514c455 [Java][jersey2] Make (de)serialization work for oneOf models, add convenience and comparison methods (#6323) 2020-05-25 15:17:52 +08:00
William Cheng
202d184ce2 Migrate OCaml petstore to use OAS v3 spec (#6348)
* migrate ocaml petstore to use oas3

* break the build

* Revert "break the build"

This reverts commit a7c12d90fe.
2020-05-25 09:09:22 +08:00
Sebastien Rosset
583aa24152 [Python-experimental] Fix type error if oneof/anyof child schema is null type (#6387)
* Mustache template should use invokerPackage tag to generate import

* Fix runtime exception when composed schema has 'null' type

* Fix runtime exception when composed schema has 'null' type
2020-05-24 17:21:00 -07:00
Sebastien Rosset
afb3188fab [Python-server] Fix blueplanet 'file not found' error (#6411)
* Mustache template should use invokerPackage tag to generate import

* fix 'cannot remove file error
2020-05-24 16:49:02 +08:00
Sebastien Rosset
60d5ed350c [nodejs] Fix deprecation notice when running sample nodejs script (#6412)
* Mustache template should use invokerPackage tag to generate import

* Remove deprecation notice
2020-05-24 16:48:23 +08:00
Sebastien Rosset
e38168c2b5 [java-jersey2] Conditionally include http signature mustache template (#6413) 2020-05-23 17:32:06 -04:00
Jim Schubert
284a90f7b1 [bug] Fix path provider bug on CI (#6409)
* Fix path provider bug on CI

Previous path sorting logic failed on CI due to one or more files in the
cpp-qt5 script being associated with different path providers. This
caused a ClassCastException from Path#compareTo

This change uses Apache Commons PathFileComparator to sort by full path.

File list is copied to avoid sort side effects. Log on all exceptions.
2020-05-23 10:56:11 -04:00
William Cheng
3d0c4e1909 decomission nodejs server generator (#6406) 2020-05-23 18:41:52 +08:00
Jon Freedman
950508fd4b [Java] Generate valid code if no Authentication implementations present (#5788)
* generate valid code if no Authentication implementations present

resurrects https://github.com/OpenAPITools/openapi-generator/pull/2861

* remove what I assume are human generated test cases

* need to iterate over authMethods in order to pull out name

* fix another test

* update more tests

* rename hasTokenAuthMethods to hasApiKeyAuthMethods

* remove duplicate methods, fix hasHttpBearerMethods check

* update templates

* update windows java-petstore files

* update windows java-petstore files

* re-generate

* re-generate

* restore samples.ci tests

* restore samples.ci tests
2020-05-23 18:36:03 +08:00
William Cheng
f200122c09 update java jersey2 samples 2020-05-23 15:47:10 +08:00
Sebastien Rosset
b3555d6801 [Java] Fix mustache tag in pom template for HTTP signature (#6404)
* Mustache template should use invokerPackage tag to generate import

* Fix tag for http signature in pom.xml
2020-05-23 15:35:01 +08:00
Sebastien Rosset
1da9092dad [Python-experimental] Rename from_server variable to json_variable_naming (#6390)
* Mustache template should use invokerPackage tag to generate import

* Add unit test showing how to construct objects from a JSON dict

* rename from_server to json_variable_naming

* rename from_server to json_variable_naming

* fix code so it can execute in python 2.x

* rename variable

* fix typo

* fix typo

* fix deprecation warning

* fix deprecation warning

* fix deprecation warning
2020-05-22 19:09:12 -07:00
William Cheng
ed84e4542f Add a link to medium blog post (#6403) 2020-05-23 09:28:19 +08:00
William Cheng
ce1967a82b Clean up debug in test (#6398)
* remote system out println

* remove typeo
2020-05-23 09:28:02 +08:00
William Cheng
8cf59384f7 readding bin/swift5-petstore-readonlyProperties.json 2020-05-23 09:17:03 +08:00
William Cheng
029f7aa39c remove ./bin/swift5-petstore-readonlyProperties.json 2020-05-23 09:15:14 +08:00
Jim Schubert
b828860614 [samples] Regenerate python-experimental 2020-05-22 17:07:37 -04:00
Jim Schubert
70ca93570e [core][general] Add metadata file tracking to aid in "Golden Tests" regeneration (#6325) 2020-05-22 16:48:32 -04:00
Sebastien Rosset
19e14237aa [python-experimental] Add support for pep 3134, attach cause of exception (#6388)
* Mustache template should use invokerPackage tag to generate import

* Add exception cause

* using six module for exception chaining in Python 3.x
2020-05-22 09:44:15 -07:00
Sebastien Rosset
912604f3dc [Java-jersey2] Add new ApiClient constructor with auth objects (#6393)
* Mustache template should use invokerPackage tag to generate import

* Add new constructor for Java ApiClient

* Add constructor with auth map
2020-05-22 23:54:05 +08:00
William Cheng
693e640872 Add links to blog post, youtube video (#6396) 2020-05-22 15:50:34 +08:00
William Cheng
573682e56d Add @wing328 as the creater of PowerShell client generator (refactored) (#6395) 2020-05-22 15:41:47 +08:00
William Cheng
a8f9ea4873 add nullable support to oneof, anyof (#6392) 2020-05-22 15:03:51 +08:00
William Cheng
f10de73ed5 Add helper methods to determine if the spec has certain authentication defined (#6347)
* better import, add security methods

* add helper method to determine auth type when adding supporting files

* better docstrings

* fix boolean return

* update tests

* Revert "update tests"

This reverts commit 29cfc8ad66.

* add test in shippable

* rename variables

* check if auth files are needed

* update tests

* revert check

* set java8 to true

* fix auth check

* better npe handling

* reoder methods

* undo changes to shippable.yml
2020-05-22 12:57:44 +08:00
Sebastien Rosset
69177517ef [Python-experimental] Should accept float value serialized without decimal point (#6386)
* Mustache template should use invokerPackage tag to generate import

* A float may be serialized as an integer, e.g. '3' is a valid serialized float

* A float may be serialized as an integer, e.g. '3' is a valid serialized float

* add unit tests
2020-05-21 18:59:31 -07:00
Jon Schoning
3603dee3fb [haskell-http-client] Ensure newytpes are generated when necessary (fixes #6350) (#6383) 2020-05-21 12:48:41 -05:00
Slavek Kabrda
cac4170c0f [go-experimental] Fix marshalling of of go oneOf structures to work on non-pointer receivers (#6314) 2020-05-21 21:02:21 +08:00
Januson
c49d8fda8e [M][REQ][JAVA]: Add option to generate arrays with "uniqueItems" true as Sets rather than Lists (#5466)
* [REQ][JAVA]: Add option to generate arrays with "uniqueItems" true as Sets rather than Lists
 - Update Java code generation to use sets instead of lists when uniqueItems is set to true
 - Add import resolution for sets
 - Add tests and fix broke tests

resolve #5254

* Update Javascript, Perl, Python and Ruby to preserve current functionality.

* Switch set implementation to LinkedHashSet

* Fix missing import for uniqueItems used on param.

* Fix missing import and return type for responses with uniqueItems

* Fix default values for array of enum

* Update generated samples

* fix merge issue

* Update generated samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-05-21 13:27:57 +08:00
Diogo Nunes
dec1365619 Use webclient exceptions in java webclient client (#6304) 2020-05-21 00:46:34 +08:00
William Cheng
2ec0754596 add pub to struct in single parameter (#6381) 2020-05-20 22:36:44 +08:00
Ramanth Addala
a0bfc3c1f2 replacing caTools dependency with base64enc (#6349)
* replacing caTools dependency with base64enc

* adding review fixes

* fix(r) : updated the cran repo url
2020-05-20 21:19:13 +08:00
Slavek Kabrda
5f2979c434 [go-experimental] Ensure that all oneOf/anyOf models have their Nullable<Model> defined (#6363) 2020-05-20 17:29:03 +08:00
Sebastien Rosset
755336f9d9 [Java] Upgrade http signature library to version 1.4 (#6370)
* Mustache template should use invokerPackage tag to generate import

* upgrade to http signature library version 1.4

* Use updated HTTP signature library

* Run sample scripts

* Add code samples in README file for HTTP signature

* fix java imports

* Update http-signature version
2020-05-20 15:51:08 +08:00
Jérémie Bresson
e66aaa29c0 Update swagger parser to 2.0.20 (#6372) 2020-05-20 12:00:33 +08:00
Natan Laverde
40a329f0f7 [BUG] [Server: C++] [Qt5] Fix missing headers and wrong status code (#6345)
Change helper method '''writeResponseHeaders''' implementation to just set the headers, instead of write them, and also rename the method to '''setSocketResponseHeaders''', to maintain the new semantic.
The implementation of '''QHttpEngine::Socket::write''' or '''QHttpEngine::Socket::writeJson''' implementations will call '''Socket::writeData''' that writes the Headers and Status Code before write the content if they are not already written.
If these methods are not called (e.g.: empty reply), we could set the headers just before close the socket.
2020-05-20 11:12:13 +08:00
William Cheng
5fe34fbd74 Add oneof/anyof support to PowerShell client generator (#6361)
* add oneof/anyof support to powershell client gen

* fix tests
2020-05-19 21:42:17 +08:00
William Cheng
096b8f8828 [Go][Experimental] Avoid duplicated import in enum model (#6355)
* avoid double import of fmt

* update go exp petstore oas3

* import for go client exp only
2020-05-19 20:17:45 +08:00
Ermolay Romanov
2f9aa282e5 [typescript-rxjs] restore prototype inheritance for clone & its clients (#6001)
* [typescript-rxjs] restore prototype inhertance

- previously clone() and its clients in the BaseAPI class were generic
- with removal of the generic argument, these methods became unavailable
  to the API classes inheriting from BaseAPI
- original generic was imprecise, as these are not statics
- return type of `this` is the correct notation

* [typescript-rxjs] Chery-pick from #5465 by @denyo

  - this is done to prevent the changes slated for 5.0 from conflicting
  - apply destructuring changes from
      - denyo:feature/rxjs-statuscode-and-progress@673d67c
2020-05-19 10:06:08 +02:00
William Cheng
d92b8833b0 reset to nil, replace tab wtih space (#6352) 2020-05-19 15:34:53 +08:00
Natan Laverde
f8a144bdc1 [C++] [Qt5] [Server] read json (#6343)
* [C++] [Qt5] [Server] [Bug] fixed Incomplete Read JSON

Emit signal requestReceived only after request content is entirely received.

* [C++] [Qt5] [Server] [Bug] fixed Incomplete Read JSON

Emit signal requestReceived only after request content is entirely received.
2020-05-18 11:32:13 +02:00
William Cheng
d4b55d6767 update php petstore oas3 samples 2020-05-18 17:27:46 +08:00
alxnegrila
e5c72a0ab6 [PHP] ObjectSerializer fix for array of objects (#6331)
* [PHP] ObjectSerializer fix for array of objects 

Array of objects translate to "map[string,object][]" and they fail to deserialize. This is because the deserialization does not parse the mapping string correctly. A quick fix is trying moving array deserialization before object deserialization.


Example object
    ObjectExample:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            additionalProperties: true

* Update sample

Co-authored-by: Alexandru Negrila <alex@arntech.ro>
2020-05-18 17:23:27 +08:00
Slavek Kabrda
634291f4b8 [go-experimental] Ensure enum deserialization checks enum values (#6315) 2020-05-18 16:42:40 +08:00
Nikita Karnaukh
eefcd62d5b [Kotlin][Client] Added supporting Retrofit2(RxJava/RxJava2/Coroutines) (#5750)
* Added support Retrofit2(RxJava/RxJava2/Coroutines) to Kotlin client code generator

* Added generated samples for Retrofit2(RxJava/RxJava2/Coroutines) on Kotlin

* Fixed generating retrofit2 without Rx/Coroutines

* Fixed MultipartBody template, remove redundant space after MultipartBody.Part annotation

* Fix documentation diff.

* Fix generating build.gradle file for samples.
Add dependencies for rxJava/rxJava2 and rx retrofit's adapter.

* Update generated sample with rx dependencies

* Update generated sample with coroutines

* Update generated sample with RxJava 2 dependencies

* Update and refactoring scripts for sample generation

* Update generated sample code

* revert changes by mistake

* revert changes by mistake #2

* Fix return type for first RxJava

* Add RxJavaCallAdapterFactory to ApiClient scheme for RxJava 1/2

* Fix script loggin

* Update generated code for RxJava 1/2

* Fix kotlin.md documentation by script export_docs_generators.sh

* Update Kotlin samples project in pom.xml

* Revert "Update Kotlin samples project in pom.xml"

This reverts commit 9de4d0ba

* Fixed "" wrapping number types for annotation value
Fixed generating polymorphic interfaces for Gson, interface fields can't be marked with @SerializedName annotation, it's enough to mark it in child model.
Fixed instantiationTypes(array, list, map) for Kotlin generator

* Update Kotlin samples project after last fixes

* Update Kotlin samples project for kotlin-jvm-*

* Update Kotlin readme.md documentations

* Update Kotlin client sample changes

* Fixed encoding braces for generics model

* Update Kotlin client sample changes

* Update Kotlin client sample after merge with master

* Fixed adding empty braces for inherit from Map/Array

* Update sample model after last fix with empty braces

* Revert adding @SerializedName to Kotlin interface fields through @get:SerializedName as for Jackson

* Update Kotlin client samples with adding @get:SerializedName
2020-05-18 16:26:27 +08:00
Slavek Kabrda
d1e8d632ef [go-experimental] Add convenience wrapper function for oneOf members (#6316) 2020-05-18 15:57:05 +08:00
Bruno Coelho
43f7134b15 [swift] improve combine available and openapi3 deprecated (#6340) 2020-05-18 09:39:40 +08:00
Sebastien Rosset
b4954b0d80 [codegen][python-experimental] Add configuration knob to disable JSON schema validation (#6227)
* Add knob to disable JSON schema structural validation

* Add knob to disable JSON schema structural validation

* Fix formatting issues

* execute sample scripts

* execute sample scripts

* fix multipleOf validation issue

* Add validation log for multipleOf. Add customizable validation checks. add unit tests for JSON schema validation

* Add validation log for multipleOf. Add customizable validation checks. add unit tests for JSON schema validation

* Add validation log for multipleOf. Add customizable validation checks. add unit tests for JSON schema validation

* Add validation log for multipleOf. Add customizable validation checks. add unit tests for JSON schema validation. Fix for python 2

* address review comments
2020-05-17 09:11:01 -07:00
Sebastien Rosset
04ff319502 [python-experimental] Support schema property which has $ref to 'oneOf' schema and child schema is null type (#6275)
* Handle null type

* Handle null type

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* improve documentation

* Handle 'null' type

* Handle 'null' type. Add unit tests

* Add NullType for go

* Add NullType for go

* fix modeling of AnyType for go-experimental

* execute scripts in bin directory

* Add review comments

* Add 'null' type in oneOf

* Improve OAS YAML file for golang openapi3 samples

* 'Any type' includes the null value, so 'isNullable' should be set to TRUE

* 'Any type' includes the null value, so 'isNullable' should be set to TRUE

* Handle AnyType and NullType

* handle anytype for go-experimental

* Log warning instead of error

* anyOf/oneOf

* Change x-golang-is-container extension to x-golang-has-wrapper

* Add code comments

* Handle Object and any type

* Handle Object and any type

* Handle object and any type

* add code comments

* handle additional properties

* handle additional properties

* handle additional properties

* handle anytype and objecttype for go-exerimental

* Move golang changes to a separate branch

* Move golang changes to a separate branch

* Better names for the OAS document test properties

* Move golang changes to a separate branch

* Run samples scripts

* Run samples scripts

* fix unit test issues

* Handle none type

* Fix index out of range exception

* fix formatting issues

* fix formatting issues

* fix formatting issues. Finally figured out how to check formatting in local workspace

* fix formatting issues

* Add reference to oneOf schema

* Add model showing unit test failure with ref to oneOf schema

* Updates get_discriminator_class to return visited_composed_classes

* Fixes broken test, adds is_valid_type

* run samples scripts

* move unit test to  test_drawing.py file

* Add more unit tests

* invoke git pull from spacether fork

* invoke git pull from spacether fork

* Improve unit tests

* Add is_nullable_type util function

* Add unit test for null value

* Add 'ShapeOrNull' type to handle the oneOf/anyOf scenario when the child schema is the null type

* Support schema property which has  to 'oneOf' schema and child schema is null type

* Support schema property which has  to 'oneOf' schema and child schema is null type

* Support schema property which has  to 'oneOf' schema and child schema is null type

* Mustache template should use invokerPackage tag to generate import

* handle null type in oneOf/anyOf

* handle null type in oneOf/anyOf

* Add more unit test for nullable shape

* resolve merge conflicts

* resolve merge conflicts

* handle null type in oneOf/anyOf

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2020-05-17 09:06:12 -07:00
Slavek Kabrda
66948e6570 [Java][jersey2] Allow setting serverIndex to null (#6321) 2020-05-17 23:44:54 +08:00
William Cheng
c81359304d fix gradle in some java clients (#6339) 2020-05-17 17:59:57 +08:00
William Cheng
a4e55ea7e5 [Swift] clean up samples, scripts for deprecated swift generators (#6327)
* decomission swift, swift3

* remove swift batch files, update doc
2020-05-17 14:32:30 +08:00
Bruno Coelho
b7c8b6e6a5 [Swift] implement support for openapi3 deprecate (#6336) 2020-05-17 14:31:52 +08:00
William Cheng
77f2a25c3d Add @spacether to the core team 2020-05-17 00:07:59 +08:00
William Cheng
2c2c83df79 [Java] update jackson databind versions (#6328)
* update databind version

* update gradle build
2020-05-16 23:56:31 +08:00
William Cheng
0c2541fc93 fix commnented code in api/model tests (#6329) 2020-05-16 22:36:39 +08:00
Arun Nalla
f34b06725d Update username (arun-nalla) (#6319) 2020-05-16 14:04:15 +08:00
Jose Camara
311ca7826d [typescript-axios] Implement useSingleRequestParameter option (#6288)
* Changes in mustache file to include new option

- New options `useSingleRequestParameter` to use a single param for the request, instead of one param per request param.

* Chanes in the documentation

Include new parameter `useSingleRequestParameter`.
Default value = `false` to keep compatibility with previous versions.

* Include script to generate samples

Also included script in the script that runs all

* Generate new samples

- Previous samples have a minor change (one line is deleted)
- New sample generated with the new parameter set to true

* Include scripts for windows

* Include new CLI option in codegenerator class

* Change the order for the new parameter in the docs
2020-05-15 21:51:30 +02:00
Alexey Makhrov
56fc5f57f1 [typescript] Remove "v4-compat" value of enumSuffix (#6308)
* Remove ENUM_NAME_SUFFIX_V4_COMPAT mode

* Regenerate samples

* Regenerate docs

* Regenerate docs for js-flowtyped
2020-05-15 21:50:58 +02:00
William Cheng
26830bf3bc Mark swift4 generator as deprecated (#6311)
* mark swift4 generator as deprecated

* add new files
2020-05-15 20:50:45 +08:00
William Cheng
20242fd479 Remove @nickmeinhold from Dart technical committee (#6309) 2020-05-15 17:26:44 +08:00
William Cheng
654e94c645 Migrate Erlang samples to use OAS 3 spec (#6297)
* erlang samples switch to oas3 spec

* add new files

* update samples
2020-05-15 11:24:37 +08:00
William Cheng
d77ab6b9e2 update dart samples 2020-05-15 09:44:00 +08:00
https://gitlab.com/selankon
9a0058f577 Improve parameter documentation (#6092) 2020-05-15 09:39:01 +08:00
William Cheng
62d103d501 Minor improvements to plantuml doc generator (#6298)
* minor improvements to plantuml doc generator

* various improvements

* fix windows batch file
2020-05-15 09:16:19 +08:00
William Cheng
00a706b760 undo changes to petstore.yaml oas3.0 (#6299) 2020-05-15 09:12:12 +08:00
adg-mh
7f8118069e Allow passing progress callbacks through client methods. (#6261) 2020-05-15 09:02:25 +08:00
b1rdG
942035a411 Create method to json (#6111) 2020-05-15 09:02:00 +08:00
Josh Burton
2dd5477c24 [dart-dio] Adds support for generating inline enums (#5668)
* [dart-dio] Adds support for generating inline enums

Previously these were generated as strings if declared inline in the spec.

* Adds more detailed comment about inline enums
2020-05-14 21:11:27 +08:00
Andrei Chugunov
ae2b693ccc [BUG] Failed to add required=false (#2062) (#5573) 2020-05-14 21:10:12 +08:00
Patrick Burls
f03458dde4 Add new Plantuml generator for creating a schema diagram (#6255)
* add scaffolded new documentation generator files

* add openapi3 plantuml bin scripts

* change plantuml codegen to only generate a schemas.plantuml file

* initial plantuml schema diagram

* add item type to Lists

* add inheritance relationships

* add list one-to-many relationships

* add newline between model definitions and relationships

* add composition data type relationship

* remove allOf models and interface references

* add new entities data to SupportingFileData

* add List dataType support to entity fields

* remove composed types and remove allOf suffix from inline types

* add inheritances to supporting files data object

* add aggregation relationships to supporting file data

* add isList to compisition relationships

* refactor PlantumlDocumentationCodegenTest

* add property name to relationships

* remove old code form PlantumlDocumentationCodegen

* add plantuml generator sample output

* remove use of javafx.util.Pair

* fix casing of complex data type for fields

* add plantuml generator docs

* fix bug caused by assumption that inline _allOf types will always be unique but apparently they can be shared if they have identical properties!

* fix bug with missing relationships caused by shared identical _allOf schemas

Co-authored-by: Patrick.Burls <patrick.burls@bskyb.com>
2020-05-14 18:20:26 +08:00
William Cheng
9f95f0cf3d Add a link to android blog post (#6296) 2020-05-14 17:51:13 +08:00
William Cheng
56da2c00ca Migrate schema samples to use OAS3 samples instead (#6294)
* migrate mysql samples to oas 3.0

* update apache2 to use oas3 spec

* migrate graphql samples to use oas3 spec

* move avro script under bin

* update protobuf samples to use openapi3 spec

* add new files
2020-05-14 17:24:19 +08:00
William Cheng
c95bc4dfb0 [Java] Fix repeated OAuth files being generated (#6285)
* fix repeated oauth files being generated

* fix oauth check
2020-05-14 17:23:54 +08:00
William Cheng
9c4b37299a migrate doc samples to oas3.0 spec (#6293) 2020-05-14 12:22:40 +08:00
William Cheng
81d307d8ca add composed schema check (#6286) 2020-05-14 10:05:15 +08:00
William Cheng
7f3f7063ab Add null type support to Go (experimental) oneOf/anyOf schemas (#6280)
* add null type support to go oneof/anyof

* fix anyof
2020-05-14 00:23:08 +08:00
Sebastien Rosset
1a6cc67fcc [python-experimental] Support schema property which has $ref to 'oneOf' schema (#6262)
* Add reference to oneOf schema

* Add model showing unit test failure with ref to oneOf schema

* Updates get_discriminator_class to return visited_composed_classes

* Fixes broken test, adds is_valid_type

* move unit test to  test_drawing.py file

* Add more unit tests

* invoke git pull from spacether fork

* invoke git pull from spacether fork

* Improve unit tests

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2020-05-13 09:11:43 -07:00
William Cheng
a5b410993b Set java8 to true by default (#6278)
* set java8 to true by default

* update samples

* update java-petstore-jersey2-java6.bat
2020-05-13 17:59:22 +08:00
William Cheng
505d6e7a1c update kotlin samples 2020-05-13 17:09:34 +08:00
Sebastien Rosset
dc1bdac820 [Python-experimental] JSON schema 'null' type should be modeled as 'none_type' (#6121)
* Handle null type

* Handle null type

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* Handle null type. Add 'null' type in the OAS document for testing purpose

* improve documentation

* Handle 'null' type

* Handle 'null' type. Add unit tests

* Add NullType for go

* Add NullType for go

* fix modeling of AnyType for go-experimental

* execute scripts in bin directory

* Add review comments

* Add 'null' type in oneOf

* Improve OAS YAML file for golang openapi3 samples

* 'Any type' includes the null value, so 'isNullable' should be set to TRUE

* 'Any type' includes the null value, so 'isNullable' should be set to TRUE

* Handle AnyType and NullType

* handle anytype for go-experimental

* Log warning instead of error

* anyOf/oneOf

* Change x-golang-is-container extension to x-golang-has-wrapper

* Add code comments

* Handle Object and any type

* Handle Object and any type

* Handle object and any type

* add code comments

* handle additional properties

* handle additional properties

* handle additional properties

* handle anytype and objecttype for go-exerimental

* Move golang changes to a separate branch

* Move golang changes to a separate branch

* Better names for the OAS document test properties

* Move golang changes to a separate branch

* Run samples scripts

* Run samples scripts

* fix unit test issues

* Handle none type

* Fix index out of range exception

* fix formatting issues

* fix formatting issues

* fix formatting issues. Finally figured out how to check formatting in local workspace

* fix formatting issues

* run samples scripts
2020-05-12 23:09:25 -07:00
Sebastien Rosset
2c5675a48f Mustache template should use invokerPackage tag to generate import (#6277) 2020-05-13 14:01:42 +08:00
Ilya Buzlov
a842e1c3a3 [cwiki] Show enum values for URI parameters (#6174)
* Show enum values for URI parameters

* Update petstore
2020-05-13 11:44:00 +08:00
Alexander Eggers
ca436cb393 [Kotlin-Client] Implemented missing openapi3 deprecate property usage (#6235)
* Implemented missing openapi3 deprecate property usage

* Implemented deprecated usage for operation and data class
2020-05-13 10:54:29 +08:00
William Cheng
de3b9e8b9e update jsflow dependencies (#6276) 2020-05-13 10:36:33 +08:00
Sebastien Rosset
6c5621d97e [Java] Enable discriminator recursive lookup (#5895)
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap

* Requires that discriminators be required properties

* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples

* Adds oneOf and anyOf invalidDiscriminator tests

* Updates incorrect addOneOfInterfaceModel invocation

* Runs ensure-up-to-date

* Adds updates from Sebastien Rosset

* Removes newlines

* Uses df.isString

* Fixes tests be correctly setting df.isString

* Updates discriminatorExplicitMappingVerbose description per PR feedback

* Adds description of how mappedModels is populated

* enable discriminator lookup

* Adds the suggestion exception raising when a MappedModel mappingName is null

* Actually resolves merge conflicts

* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap

* Requires that discriminators be required properties

* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples

* Adds oneOf and anyOf invalidDiscriminator tests

* Updates incorrect addOneOfInterfaceModel invocation

* Runs ensure-up-to-date

* Adds updates from Sebastien Rosset

* Removes newlines

* Uses df.isString

* Fixes tests be correctly setting df.isString

* Updates discriminatorExplicitMappingVerbose description per PR feedback

* Adds description of how mappedModels is populated

* Adds the suggestion exception raising when a MappedModel mappingName is null

* Actually resolves merge conflicts

* Switches two methods to package private because they are needed for testing

* Allow nulls in MappedModel.getMappingName

* Address Jim Schubert review comments

* Updates CLI flag name to legacyDiscriminatorBehavior, default=true

* Change discriminator CLI option. Remove exception when mappingName is null value

* resolve merge conflicts

* Execute scripts under bin directory

Co-authored-by: Justin Black <justin.a.black@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-05-13 01:02:55 +08:00
William Cheng
f8be3926f4 add null type support to oneof/anyof java jersey2 (#6269) 2020-05-13 00:46:53 +08:00
Yuriy Belenko
a77e038cb3 Remove Silex broken link (#6263)
There are no deprecated generators in that doc. I've deleted Silex too.
2020-05-12 22:33:37 +08:00
William Cheng
15794f8026 Fix build failure due to flake8 (#6265)
* fix flake8 folder

* fix flake8 folder in python2

* comment out flake8

* comment out flake8

* comment out flake8

* comment out flake8

* comment out flake8
2020-05-12 21:41:55 +08:00
Mike Welsh
5f0e7e81b1 Unwrap the AnyHashable and use the base value in Models.mustache (#6241)
* Unwrap the `AnyHashable` and use the `base` value in Models.mustache

- Unwraps the `AnyHashable` base in `NSURLResponse.allHeaderFields` instead of the `AnyHashable` itself

* Update samples (just running the script)

* Update samples
2020-05-12 20:09:17 +08:00
William Cheng
deec5da8a7 [Java][jersey2] replace jersey2 with jersey2-experimental (#6251)
* replace jersey2 with jersey2-experimental

* better handling of oauth

* add jersey2 java8 samples

* add dependency to test pom

* fix test, update doc
2020-05-12 18:27:33 +08:00
sunn
1f82facf82 Fix datatypes in headers other than strings (#6233) 2020-05-12 08:51:24 +02:00
Sebastien Rosset
c1d47a580b [codegen][Python-experimental] Discriminator NPE fix, handle 'null' type, #4906 enhancements (#5809)
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap

* Requires that discriminators be required properties

* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples

* Adds oneOf and anyOf invalidDiscriminator tests

* Runs ensure up to date

* Updates incorrect addOneOfInterfaceModel invocation

* Runs ensure-up-to-date

* Fix NPE when at least one extension is defined but not x-discriminator-value

* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap

* Requires that discriminators be required properties

* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples

* Adds oneOf and anyOf invalidDiscriminator tests

* Updates incorrect addOneOfInterfaceModel invocation

* Runs ensure-up-to-date

* Adds updates from Sebastien Rosset

* Removes newlines

* Add documentation and new getValidDiscriminatorMappings function

* Add documentation and new getValidDiscriminatorMappings function

* Add documentation and new getValidDiscriminatorMappings function

* Add documentation and new getValidDiscriminatorMappings function

* Add documentation and new getValidDiscriminatorMappings function

* Add documentation and new getValidDiscriminatorMappings function

* throw exception if discriminator mappingName argument is null

* handle scenario when composed schema has 'null' type

* remove extraneous characters in comments

* Uses df.isString

* Traverse discriminators to resolve discriminator mapping

* Fixes tests be correctly setting df.isString

* Remove unused method

* Updates discriminatorExplicitMappingVerbose description per PR feedback

* Adds description of how mappedModels is populated

* Adds the suggestion exception raising when a MappedModel mappingName is null

* Actually resolves merge conflicts

* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap

* Requires that discriminators be required properties

* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples

* Adds oneOf and anyOf invalidDiscriminator tests

* Updates incorrect addOneOfInterfaceModel invocation

* Runs ensure-up-to-date

* Adds updates from Sebastien Rosset

* Removes newlines

* Uses df.isString

* Fixes tests be correctly setting df.isString

* Updates discriminatorExplicitMappingVerbose description per PR feedback

* Adds description of how mappedModels is populated

* Adds the suggestion exception raising when a MappedModel mappingName is null

* Actually resolves merge conflicts

* Switches two methods to package private because they are needed for testing

* Allow nulls in MappedModel.getMappingName

* Remove exception when mappingName is null value

* Remove exception when mappingName is null value

* resolve merge conflicts

* resolve merge conflicts

* Execute scripts in the bin directory

* Fix CI issues and address PR review comments: better documentation and fix white space issues.

* Fix CI issues and address PR review comments: better documentation and fix white space issues.

* run sample scripts

* resolve merge conflicts

* fix end-of-line issue

* resolve merge conflicts

* resolve merge issues

* Handle case when discriminator is not specified in input data

* minor changes and add code comments

* Refactor get_discriminator code

* Add unit test with missing discriminator property

* improve get_discriminator function

* Run sample scripts

* add unit tests for recursive get_discriminator_class

* fix unit test issues

* fix formatting issues

* fix formatting issues

* fix formatting issues

* fix index out of range exception

* fix formatting issues

* fix formatting issues

* fix formatting issues. Finally figured out how to check formatting in local workspace

Co-authored-by: Justin Black <justin.a.black@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-05-11 16:57:49 -07:00
William Cheng
0d6f8763eb add cookie auth support to csharp-netcore (#6254) 2020-05-12 00:35:38 +08:00
Sebastien Rosset
4488db60b3 [python-experimental] Improve error message for regex matching, add unit tests. (#6226)
* Improve error message

* Add unit tests for regular expressions
2020-05-11 18:18:34 +08:00
William Cheng
edb94f7ece [Go][Experimental] better oneOf and anyOf implementation (#6166)
* diff oneOf implementation

* update oas3 samples

* fix imports

* remove commented code
2020-05-11 17:25:38 +08:00
William Cheng
d22bea216c Add "useSingleRequestParameter" option to Rust client generator (#6230)
* add useSingleParameter option

* fix group parameter in rust reqwest

* rust-single-param
2020-05-11 15:27:59 +08:00
William Cheng
4effa739eb Add AnyType support to Java generators (#6246)
* add anytype support to java

* fix test

* fix primitive type

* update tests

* update samples
2020-05-11 15:27:03 +08:00
Christophe Bornet
779b176648 Add full OAuth2 support to jersey2-experimental codegen (#6183)
* Add full Oauth2 support to Jersey client

* Regenerate jersey2-experimental sample

* Regenerate all java clients
2020-05-11 15:18:47 +08:00
Pierre-Yves FARE
3de587826a Remove extra bracket in --http-user-agent example. (#6247) 2020-05-11 14:30:20 +08:00
sullis
0398053b41 testng 7.1.0 (#6249) 2020-05-11 14:29:42 +08:00
William Cheng
6ed9bd8f29 minor fix to aspnetcore scripts (#6250) 2020-05-11 14:28:46 +08:00
sullis
8338bcb920 scala-maven-plugin 4.3.1 (#6248) 2020-05-11 14:27:45 +08:00
DK99
5693cb9863 [c-sharp] generator added CancellationToken to async api calls (#6243)
* csharp generator CancellationToken added to async methods

* update samples
2020-05-10 23:55:48 -04:00
Roman Klevtsov
57c986f7fa Do not reset templateDir in setAspnetCoreVersion (#6216) 2020-05-11 11:46:32 +08:00
Sebastien Rosset
fa37a696a8 [python-experimental] Raise builtin AttributeError instead of custom ApiKeyError (#6229)
* Use AttributeError instead of ApiKeyError because that's what the hasattr builtin function uses

* Use AttributeError instead of ApiKeyError because that's what the hasattr builtin function uses

* fix unit tests

* create ApiAttributeError exception

* fix formatting

* run samples scripts
2020-05-10 19:02:41 -07:00
William Cheng
44b51a136f update C# netcore samples 2020-05-10 22:51:33 +08:00
Jesper Nysteen
7f58c57249 Fix locale issue for numeric string conversions (#6194)
* Fix locale issue for numeric string conversions

Using a generated C# client from an application with a locale that formats numbers with a comma as a decimal separator will make the client send invalid numeric parameters to the API. Any numeric parameter with decimals will added to the URL with a comma ('0,15' instead of '0.15'), potentially breaking the API integration.
In my specific use case, the API interpreted '0,15' as '15', resulting in pretty funky errors.

This commit ensures that parameters are parsed with the invariation culture, fixing the mentioned error.

* Add missing reference to System.Globalization

* Update ClientUtils.mustache
2020-05-10 22:41:03 +08:00
William Cheng
a986867a95 add vonage to the user list (#6245) 2020-05-10 21:34:33 +08:00
Sebastien Rosset
a093a9d5d5 [python-experimental] Make the array items attribute optional (#6133)
* Make the array items optional

* Handle any type schema

* Handle any type schema

* remove prefix and fullSuffix

* Remove prefix and suffix

* fix Java code comment

* Add code comments, use recursion for any type

* Address review comments
2020-05-09 18:49:10 -07:00
Falko Modler
3f174d8a30 [maven] Introduce addTestCompileSourceRoot (#6120) 2020-05-09 14:32:54 -04:00
William Cheng
6ae61e2dfd update java inflector samples 2020-05-09 22:03:32 +08:00
David Lee
20931b1daa Fix java-inflector to reference the correct openapi.yaml file (#6228)
java-inflector references wrong openapi file (swagger.yaml)
2020-05-09 21:53:16 +08:00
William Cheng
b81a9fa4f4 add new powershell files 2020-05-09 15:10:54 +08:00
adg-mh
2b1bc73f03 Support responses which are binary files (#6201) 2020-05-09 14:34:03 +08:00
Yuriy Belenko
d2b925769e Mark Silex server generator as deprecated (#6220)
Quote from Silex package on Packagist:
https://packagist.org/packages/silex/silex
WARNING: Silex is in maintenance mode only. Ends of life is set to June
2018. Read more on https://symfony.com/blog/the-end-of-silex.
2020-05-09 14:27:52 +08:00
William Cheng
d5304055ab Minor improvements to the Lua client generator (#6219)
* minor improvement to lua client gen

* add new files
2020-05-09 14:26:54 +08:00
William Cheng
d6d241bdab remove web.config (#6214) 2020-05-08 22:47:16 +08:00
William Cheng
f327f01c19 Replace powershell generator with powershell-experimental generator (#6213)
* replace powershell generator with powershell-experimental generator

* add back samples

* add back scripts

* remove outdated script

* update doc
2020-05-08 20:13:01 +08:00
Robin Wood
6e619e0a15 [Docker] Added a check to make sure an argument is passed (#6207)
* added a check to make sure an argument is passed

* list available commands
2020-05-08 11:22:03 +08:00
Yuriy Belenko
8c6236b341 [php] Set required PHP 7.1 in code comments and readme (#6188)
* Bump PHP version to 7.1 in readme

* Bump PHP version to 7.1 in class templates

* Remove HHVM from Travis CI config

PHPUnit dropped support of hhvm, so build unlikely will pass tests.
https://github.com/sebastianbergmann/phpunit/issues/3320#issuecomment-426325646

* Remove sudo: false from Travis-CI config

Official doc recommendation:
https://docs.travis-ci.com/user/reference/trusty/#container-based-infrastructure

* Change tested versions to 7.1, 7.2 in Travis-CI

* Remove PHP_CodeSniffer from dev dependencies

There is another linter(PHP CS Fixer) which is fully configured while
CodeSniffer isn't configured at all.

* Use caret instead of tilde in dependencies

^2.12 equals (>= 2.12.0 && <3.0.0) while ~2.12 is (>=2.12.0 && <2.13.0)

* Refresh samples
2020-05-08 10:55:36 +08:00
Bruno Coelho
577ebb687e [swift] remove urlsession kvo usage (#6211) 2020-05-08 10:13:13 +08:00
William Cheng
b23ec9a7dd map any type in rust server generator (#6209) 2020-05-08 10:11:58 +08:00
Ghufz
13f329eafe [powershell-experimental] : http signature authentication implementation (#6176)
* ValidatePattern having double quote(") throws exception on running Build.ps1

* fix tab with space

* [powershell-experimental] : http signature auth

* fix the tab issue

Co-authored-by: Ghufran Zahidi <gzahidi@cisco.com>
2020-05-07 22:46:40 +08:00
adg-mh
5f2270a0e8 Add missing AnyType type mapping (#6196)
Without the AnyType type mapping, the generated dart code uses `AnyType` instead of  `Object`, which does not compile.
2020-05-07 21:09:55 +08:00
William Cheng
7800dbe35a remove pubspec.lock (#6208) 2020-05-07 20:45:14 +08:00
William Cheng
fa8c9908be Minor fixes post-release (#6204)
* minor fixes post release

* update gradle version

* comment out rust server test
2020-05-07 16:41:24 +08:00
William Cheng
98e54f0cc1 Merge remote-tracking branch 'origin/5.0.x' 2020-05-07 14:27:56 +08:00
Alofredo
3bfd6de327 [cpp][Qt5] Add the ability to pass QNetworkAccessManager as a parameter (#6053)
* [C++][Qt5] Add the ability to pass QNetworkAccessManager as a parameter
* connect to QNetworkReply::finished instead of QNetworkAccessManager::finished

* [C++][Qt5] regen samples for cpp-qt5-client

* [C++][Qt5] disconect from reply by timeout

* [C++][Qt5] regen samples for cpp-qt5-client

Co-authored-by: alfredotg <alfredotg@tu.ru>
2020-05-07 08:05:29 +02:00
William Cheng
adb6bf9d81 comment out dart2 test due to failure 2020-05-07 13:43:18 +08:00
Vikrant Balyan
9e8cc284e0 adds the missing typeMapping for AnyType (#6199) 2020-05-07 11:55:55 +08:00
Richard Whitehouse
046b4acdff [Rust Server] Support boolean headers, and fix panic handling headers (#6056)
* [Rust Server] Support headers containing booleans

* [Rust Server] Fix panic handling headers

* [Rust Server] Fix issue with Results

* Update samples
2020-05-06 19:27:52 +01:00
William Cheng
4beea9d90d update samples 2020-05-07 00:30:12 +08:00
William Cheng
c588db682d update 5.0.0 release date 2020-05-06 22:53:08 +08:00
William Cheng
1d606499ee Merge remote-tracking branch 'origin/5.0.x' 2020-05-06 22:51:05 +08:00
William Cheng
1b0ec0cd83 update readme with new release 2020-05-06 22:34:48 +08:00
William Cheng
003165c2c2 Prepare 4.3.1 release (#6187)
* prepare 4.3.1 release

* update doc
2020-05-06 17:10:31 +08:00
Luis Ballabeni
30ee3f343e Fix #6157: Updated native template to fix null async return (#6168)
* Fix #6157: Updated native template to fix null async return

Should fix issue: https://github.com/OpenAPITools/openapi-generator/issues/6157

* fixed uncaught json exception in java native api gen

* cleaning up

Co-authored-by: Luis Ballabeni <luis.ballabeni@lexisnexis.com>
2020-05-05 13:40:22 +08:00
Yuriy Belenko
90ff4926b9 Show description when summary is missing (#6159) 2020-05-05 11:23:59 +08:00
Sebastien Rosset
a58441cf68 Make the array items optional (#6132) 2020-05-04 20:31:55 +08:00
William Cheng
9afa154a5e [aspnetcore] test petstore samples in drone.io (#6148)
* test aspnetcore 3.0/3.1 in drone.io

* switch images

* trigger build failure

* Revert "trigger build failure"

This reverts commit f5c2c1578d.
2020-05-04 15:09:28 +08:00
William Cheng
b369f9bfea fix bearer auth in c# netcore async call (#6136) 2020-05-04 14:28:54 +08:00
William Cheng
138276a7c4 skip web.config for aspnetcore 3.x (#6147) 2020-05-04 10:45:02 +08:00
Justin Black
cbc006a938 Adds memoization and deserialization through 2 or more discriminators (#6124)
* Adds cached_property decorator, adds feature to move through n discriminators

* Adds v3 sample with 2 discriminators

* Adds tests of Shape, Tringle, and Quadrilateral traveling through 2 discriminators

* Adds test_deserialization.py:test_deserialize_shape

* Simplifes XTriangle sample spec schemas

* Simplifies Shape schema definition, updates go+python-experimental samples

* Fixes python-experimental test_dog tests

* Separates off python-experimental spec
2020-05-03 11:44:04 -07:00
Paul Hatcher
e4cbaa721b Implement Asp.Net Core 3.0/3.1 generator (#6009) (#6025)
* Minor changes to 2.1 templates to make them work or improve documentation

* Support for ASP.NET Core 3.0 and 3.1

* Update aspnetcore test scripts and results

* Update generated documentation

* update doc

* Update modules/openapi-generator/src/main/resources/aspnetcore/3.0/Startup.mustache

Co-Authored-By: Tatsuro Shibamura <me@shibayan.jp>

* Update modules/openapi-generator/src/main/resources/aspnetcore/3.0/Startup.mustache

Co-Authored-By: Tatsuro Shibamura <me@shibayan.jp>

Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>
2020-05-03 16:32:26 +08:00
William Cheng
f8a7475c7b update doc, samples 2020-05-03 16:18:33 +08:00
Ukonn Ra
f4fa00fefa Add async native Java Client (#4721)
* Add async native Java Client

* UPDATE: Reformat the samples

* test java native async in drone.io

* update test count

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-05-03 16:06:18 +08:00
William Cheng
ec0db2f1ee Test java 11 native client in drone.ci (#6144)
* test java 11 native clientin drone.ci

* trigger build failure

* Revert "trigger build failure"

This reverts commit e52ad39ec1.
2020-05-03 14:46:17 +08:00
William Cheng
c98499454c update go samples 2020-05-03 12:42:48 +08:00
minenok-tutu
cd88c06372 File return type fix (#5644)
* file return type fix

* Update client.mustache
2020-05-03 12:21:22 +08:00
William Cheng
15d58dc89b Add paladinzh to rust technical committee (#6137) 2020-05-03 00:18:55 +08:00
Sebastien Rosset
afa66f858b fix documentation (#6131) 2020-05-02 23:48:43 +08:00
Sebastien Rosset
77d6c04b24 [Java] Enhancements for HTTP message signature (#6090)
* Add code comments

* Change 'setup' method to setPrivateKey

* Add support for configuring digest algorithm

* run script in bin directory

* format generated code

* Revert "format generated code"

This reverts commit 3b52778437.
2020-05-02 23:31:45 +08:00
Aleksandr Nekrasov
03c3c64d23 [scala][akka-http] fix non-default packages for api, model and invoker (#6129)
* [scala][akka-http] fix non-default packages for api, model and invoker

* remove default invoker additionalProperty

* fix invoker package for scala-akka and sttp

* fix invoker package and settings for scala-akka

* fix tests compatible with windows paths

* test output

* test output

* fix base output path for test

* fix output path for test

* fix sttp invoker package
2020-05-02 21:49:34 +08:00
Tatsuro Shibamura
973258912c [csharp-netcore] Fixed handling of nullable enum values (#6112)
* [csharp-netcore] Fixed handling of nullable enum values

* Update sample code

* Remove unnecessary method calls
2020-05-02 21:39:24 +08:00
https://gitlab.com/selankon
6439990463 Add listFromJson method to fix #4887 (#5355) 2020-05-02 21:27:27 +08:00
Jaumard
7d5695e551 dart-dio improvements (#6047)
* fix runtime deserialisation

* add security support for dart dio

* regenerate dart dio sample

* update dio pubspec.mustache deps

* check response type before parsing

* add default dateTime serializer

* regenerate sample
2020-05-02 21:23:52 +08:00
Åsmund Grammeltvedt
c08e80f49b Propagate deprecated property through $ref's (#6093)
* Propagate deprecated property through $ref's

As $ref is supposed to completely replace the definition of a property,
make sure we also include the 'deprecated' property when generating the
type of a $ref property.

This makes a property $ref'ing a deprecated schema also become deprecated.

* Clarify why we're messing around with $ref
2020-05-01 22:01:01 +08:00
William Cheng
6484c03518 Test scala akka petstore client in CI (#6118)
* test scala akka in ci

* fix compilation error

* fix scala akka test

* add tests
2020-05-01 16:47:38 +08:00
William Cheng
f7ba9354e8 update oas3 petstore go exp sample 2020-05-01 14:15:43 +08:00
adg-mh
c38b52919f [dart-dio][client] Handle x-www-form-urlencoded form data (#5597) 2020-05-01 11:02:45 +08:00
William Cheng
b23c52f2ca [Go][experimental] provide code samples in the API doc (#6115)
* provide code samples in api doc

* update petstore samples
2020-05-01 10:50:01 +08:00
Artem
0032e04530 [php-symfony] Fix return type in model setters. (#6085)
* Fix return type in model setters.
Previously return type was same, as method arguments. It`s wrong, and cause errors like
"Return value of Foo::setSuccess() must be of the type bool, object returned"
We cant use self and current {{classname}} as return type, because that can break class inheritance. So, better remove type hint on setters, until PHP-devs dont make realization for return static

* Add return self type hint for setters

* Revert "Add return self type hint for setters"

This reverts commit 07dd9715
2020-04-30 22:03:05 +03:00
William Cheng
3bbaedd9bc Better "Any Type" support (#6091)
* better anytype support

* add tests for any type

* fix test with any_value

* fix tests

* fix case additionalProperties: {}

* test with CI

* remove check in map schema

* Revert "remove check in map schema"

This reverts commit e016c4155f.

* fix tests, comment out map schema fix

* fix tests

* fix tests with correct codegen model

* fix tests

* fix tests for map of any type

* fix array of any type

* fix array of any type

* update samples, remove log

* add typemapping to go, python
2020-04-30 21:23:55 +08:00
Jim Schubert
cc623ba429 [cli][build] Relax the git id plugin (#6094)
* [cli][build] Relax the git id plugin

* Guard against null on missing build properties
2020-04-30 08:49:07 -04:00
Artem
3e2c933dec [php-symfony] Fix problem with clients, that put charset in content type header. (#6078)
* Fix problem with clients, that put charset in content type header.

With this fix header "Content-Type: application/json; charset=utf-8" working same as "Content-Type: application/json" for parse input data

* Fix code style, add $consumes length check.

* Add isContentTypeAllowed static method and tests

* Fix old tests

Right now serializer doesn't support anything beside json and xml.
Call tests with application/json instead of form data.

Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
2020-04-30 12:22:44 +03:00
Aleksandr Nekrasov
8e4452e383 [scala-akka-http] fixed getOffsetDateTimeHeader and removed broken test due invalid v2 spec (#6109) 2020-04-30 10:53:14 +08:00
William Cheng
001d9cb36d better docstring for jersey2 client (#6104) 2020-04-29 23:43:21 +08:00
Geoff Brown
bc097cfdde [C#] Fixed valuetype parameters and discriminator deserialization (#5680)
* Fixed valuetype parameters and discriminator deserialization

- Made non-required valuetypes nullable, and flagged required valuetypes as "x-csharp-value-type"
- Made sure to camelCase discriminator property names in Subtype converter

* Ran pet store sample script

* Ensure that readWriteVars and readOnlyVars are also marked as isEnum and isPrimitiveType where appropriate

* Updated petstore sample with enum fix

* Fields that are required should emit default values (otherwise the consuming API might throw a fit

* Added missing sample updated

* Re-ran petstore example script to grab all changes

* Rebased and re-ran example update script

* update csharp samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-04-29 21:36:27 +08:00
William Cheng
a8885e838a update swift5 samples (#6102) 2020-04-29 18:03:19 +08:00
Jim Schubert
a8cc42d170 [validation] Warn on duplicate tags (#6061)
The specification requires that tags are unique. This isn't caught by
swagger-parser, so we will issue a warning if duplicate tag names are
found.
2020-04-29 11:48:05 +08:00
iliaskarim
e01c1a9b72 Readonly properties for Swift 5 (#6048)
* Generate readonly properties in Swift5 with additional readonlyProperties parameter

* add sample
2020-04-29 11:17:00 +08:00
Dennis Ameling
7424582210 [TypeScript-Angular] Add AuthService example to README.md (#6087)
* Add AuthService example to TypeScript Angular README.md

* Update generated Angular libs
2020-04-28 17:13:41 +02:00
Justin Black
a2b613c1b3 Fixes md docs (#6079)
* Fixes md docs

* Separates out boolean enum options into legacyDiscriminatorBehaviorOpts

* Updates docs, adds true and false descriptions
2020-04-28 22:30:56 +08:00
n0idea
6bb4bd8ebe fixed typescript-axios pattern data integrity by removing escapeText() call (#5974) 2020-04-28 16:22:21 +02:00
Harald Fernengel
500fb472b0 [typescript-fetch] Allow multiline documentation (#6088)
Add a lambda that formats the documentation correctly even if it
contains newlines. The generated docs with typedoc looks a lot better
and also renders Markdown correctly.

Also remove the "no description" fallback for APIs because we don't have
it anywhere else, other generators don't generate a default fallback and
I'd rather have no documentation than a "no description" string.
2020-04-28 16:20:26 +02:00
Jim Schubert
f12fb86a1a [feat] Allow configuration of yaml minimize quotes (#5933)
There are cases where minimizing quotes results in invalid YAML. For
example, an input YAML with string "1234_1234" will be converted to YAML
value 1234_1234 which is an int in YAML 1.1
(https://yaml.org/type/int.html)

THe only option in these cases is to either:

* Revert the option completely to always quote values
* Provide a user-customization to disable quotes minimization

This applies the latter with the assumption that this is an edge case
and users who are unaffected will default to the "prettier" version.

An alternative would be to write a custom serializer for strings, and if
they are in the format of of any of the valid formats defined in YAML:

[-+]?0b[0-1_]+ # (base 2)
|[-+]?0[0-7_]+ # (base 8)
|[-+]?(0|[1-9][0-9_]*) # (base 10)
|[-+]?0x[0-9a-fA-F_]+ # (base 16)
|[-+]?[1-9][0-9_]*(:[0-5]?[0-9])+ # (base 60)

Then wrap the result in quotes. That approach was not taken because of
the potential for significant performance impact on very large specs,
which our users are often tasked with transforming.
2020-04-28 22:20:15 +08:00
Harald Fernengel
6f9d8259b0 [typescript-fetch] Make FormData optional (#6077)
Check "typeof FormData" first. This allows the code to also work in
nodejs with isomorphic-fetch.
2020-04-28 15:21:53 +02:00
William Cheng
46216cd796 Merge remote-tracking branch 'origin/master' into 5.0.x 2020-04-28 20:35:28 +08:00
Harald Fernengel
354f195ec0 [typescript-fetch] Support deepObject query params (#6075)
deepObject query parameters need to be specially marshalled.
Unfortunately, they're quite tricky to distinguish in mustache because
there's no boolean property for deepObject, so add a vendorExtension
property to ease the mustache template.
2020-04-28 10:37:31 +02:00
jerbob92
3d5b140c3d Fix URLSessionImplementations file upload (#6043)
* Fix URLSessionImplementations file upload

* Generated petstore
2020-04-28 00:28:21 +08:00
Alexander Hirner
eccdf1d667 add MoonVision user (#6076)
* add MoonVision user

* add moonvision to readme list
2020-04-28 00:10:42 +08:00
William Cheng
588023686a Add HTTP signature authentication support to Java (jersey2-experimental) (#6058)
* add fmt-maven-plugin to jersey2 exp

* update samples

* add http signature auth template

* minor fix

* fix http beaer auth, update sample

* fix http signature auth

* fix http signature auth

* header support

* add query string to path

* undo changes in default codegen

* ignore fake test

* add serialize to string method

* add serialzie to string method

* add get mapper

* auto format java source code

* remove plugin

* update pom.xml

* change back AbstractOpenApiSchema to T

* skip mvn code formatter in bin script

* undo changes to spec

* update samples

* add back HttpSignatureAuth.java
2020-04-28 00:09:30 +08:00
William Cheng
3b0bd368a6 Update Java (feign) client dependency (#6068)
* update feign dependency

* update feign samples
2020-04-28 00:09:14 +08:00
Justin Niessner
db5941379f [Python] Fix Python UTF-8 Encoding Issue (#5679)
* Try decoding but don't bail on error

* Switch binary and ByteArray to bytes

* Read content type and parse appropriately

* Remove response parsing

* Remove response parsing and just return the data

* Update petshop examples w/ new generator code

* Fix copy/paste error with naming

* Update petstore examples

* Move response decoding to inside _preload_content block

* Update the clients again

* Use a raw string for the regex pattern

* Regenerate petstore clients

* Add bytes to python primitives as it's supported in 2.7 and 3

* Add bytes to the exports from model_utils

* Import bytes from model_utils

* Add conditional typing for regex pattern to match variable type

* Regenerate petstore clients

* Use read() instead of text() for asyncio

* Regenerate petstore clients

* Remove unused six import

* Regenerate petstore clients

* Add newline to kick Circle to re-run

* Remove whitespace from tox.ini

* Update more examples after ensure_updated

* Add sample updates that didn't run with the --batch flag

* Remove extra bracket in regex to remove warning

* Stop printing debug messages

* Add bytes examples to python doc generators

* Update generated FakeApi docs

* Regenerate api_client.py

* Remove print statements from generated clients

* Update bytes example in FakeApi.md. Again. I swear.

* Add yet another seemingly missing doc update

* Catch the error, decode the body, and re-throw

* Remove the updates now that the change is non-breaking

* Regenerate client

* Add bytes deserialization test

* Update exception parsing

* Add exception parsing for python-experimental

* Regenerate client with minor changes

* Revert test changes

* Regenerate model_utils.py

* Update confusing test name

* Remove bytes from mapping and examples

* Add back in the old binary/ByteArray to str mapping

* Update docs and api_client template

* Add experimental api_client changes

* Regenerate samples again

* Add Tornado handling to early return

* Try fixing Tornado python returns

* More documentation changes

* Re-generate the client code

* Remove bytes from test_format_test

* Remove more leftover bytes usages

* Switch bytes validation back to string

* Fix format_test template and regenerate

* Remove unused bytes var

* Remove bytes import from models and regenerate

* Remove bytes import from test_deserialization

* Reduce nested ifs

* Remove byte logic for now

* Regenerate client after latest changes

* Remove another bytes usage

* Regenerate after removing dangling byte string usage

* Reduce the scope of the try/catch in api_client

* Regenerate after try/catch cleanup

* Swap catch for except

* Regenerate Python client after api_client change

* Fix lint error on the generated api_client

* Add binary format test back in w/ string

* Add decoding to python-experimental and regenerate

* Import re into python-experimental api_client

* Ensure file upload json response is utf-8 encoded bytes
2020-04-26 13:33:42 -07:00
Richard Whitehouse
f36a319316 [Rust Server] Rust 2018 Edition (#5942)
* [Rust Server] Rust 2018 Edition
* [Rust Server] Fix unused warning
* Update samples
2020-04-26 12:00:46 +01:00
William Cheng
cef5470ea8 Add Http signature authentication test to fake petstore spec (#6054)
* add endpoint to test http signature

* update plugin version
2020-04-25 23:39:41 +08:00
Kieran Simpson
0e276bef19 Add input flag for Gradle openApiGenerate task (#5966) 2020-04-24 22:20:40 -04:00
Sebastien Rosset
e8f486ba7f [Python experimental] Readme improvements (#6031)
* Python experimental readme improvements

* Python experimental readme improvements

* execute scripts in bin directory
2020-04-25 00:10:32 +08:00
Sebastien Rosset
58908e6494 [codegen] change x-oneOf-name to x-one-of-name. Consistency with naming conventions and x-all-of-name (#5820)
* change x-oneOf-name to x-one-of-name.

* Add code comments

* Add code comments
2020-04-25 00:07:15 +08:00
Justin Black
8e8471c1fd [CORE] Fixes composed schema discriminator map (#4906)
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap

* Requires that discriminators be required properties

* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples

* Adds oneOf and anyOf invalidDiscriminator tests

* Updates incorrect addOneOfInterfaceModel invocation

* Runs ensure-up-to-date

* Adds updates from Sebastien Rosset

* Removes newlines

* Uses df.isString

* Fixes tests be correctly setting df.isString

* Updates discriminatorExplicitMappingVerbose description per PR feedback

* Adds description of how mappedModels is populated

* Adds the suggestion exception raising when a MappedModel mappingName is null

* Actually resolves merge conflicts

* Switches two methods to package private because they are needed for testing

* Allow nulls in MappedModel.getMappingName

* Updates CLI flag name to legacyDiscriminatorBehavior, default=true

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-04-25 00:01:02 +08:00
William Cheng
45bbe4922b Add test for allOf without object type (#6042)
* add test for allof without object type

* add comments to test cases
2020-04-24 23:41:42 +08:00
sunn
234053fed9 Export response code to worker (#6021) 2020-04-24 14:46:25 +02:00
sunn
649daed9a9 Export valid and set status of properties (#6020) 2020-04-24 14:44:48 +02:00
Sebastien Rosset
6ad5e5fb45 [Python experimental] Add __setattr__ function to ensure signing_info.host is the same as configuration.host when the user assigns signing info (#6033)
* Add __setattr__ function to ensure signing_info.host is the same as configuration.host when the user assigns signing info

* Add __setattr__ function to ensure signing_info.host is the same as configuration.host when the user assigns signing info
2020-04-23 23:16:31 -07:00
Sebastien Rosset
1e01c380e8 [python-experimental] Minor doc update, code comments and exception handling (#5945)
* add support for any type, i.e. when 'type' attribute is not specified in OAS schema

* fix typos, add code comments

* Handle case when 'type' attribute is not present in the OAS schema

* fix python formatting rule

* fix python formatting rule

* remove 'object' as a type
2020-04-23 22:59:31 -07:00
William Cheng
93dd4a5138 Add jersey2-experimental to Java client generator (#6024)
* add jersey2 experimental

* add new files

* add abstract one of class

* read the stream multiple times

* rename to getActualInstance

* update petstore

* fix jackon check

* test new java petstore in ci

* fix broken tests

* remove todo

* better exception message, primitive type handling

* add anyof support

* update samples

* add new files

* update all java client samples

* update doc, fix pom

* better null check for allOf

* add primitive types support in oneof, anyof

* better validation

* update python exp samples

* remove primitive type support in allOf
2020-04-24 12:47:25 +08:00
Andy.Yang.cn
d911fd73bd [Rust Server] Bugfix #5948 (Generated client code "Disabled because there's no example") (#5949)
* [Rust Server] Fix RustServerCodegen type: object example "Disabled because there's no example" issue.

* [Rust Server] Add test case yaml with "Disabled because there's no example" issue.

* [Rust Server] Fix example-client-main param.example character escaping issue with raw string.

* [Rust Server] Add test case yaml new generated code after fix.
2020-04-24 11:04:36 +08:00
William Cheng
3db7f65e3e Add a link to the blog post in Nordic APIs (#6038) 2020-04-24 10:56:12 +08:00
iliaskarim
bafed337b5 Fix OpenAPI link in broken Swift4/5 README templates (#6035)
* Fix Swift README templates

* Update Swift4/5 samples
2020-04-24 10:36:52 +08:00
William Cheng
4ed3421a77 update resttemplate sample 2020-04-23 23:32:47 +08:00
Francisco A. Lozano
c981535579 Change access updateParamsForAuth to protected (#5940)
So that it can be overridden with a custom behaviour.
2020-04-23 23:25:35 +08:00
chenqping
140f823465 fix generate java-inflector crash issue on windows (#6011) 2020-04-23 13:31:42 +08:00
Andy.Yang.cn
38dfed4104 [Rust Server] Fix #5947 multi tag generate multi method issue. (#5928)
* [Rust Server] Fix issue with multiple tags on an operation generating duplicate methods.

* [Rust Server] Add test case yaml with multiple tags on a single operation.
2020-04-22 18:00:21 +01:00
Harald Fernengel
00ffcea6ef [typescript-fetch] Fix map API return type (#5995)
Fix APIs that return a map.
2020-04-22 14:25:26 +02:00
Harald Fernengel
b431d65099 Make "Index" a reserved word (#6000)
Some APIs have a model called "Index" which would create a file
"Index.ts" which would override "index.ts" on case-insensitive file
systems (e.g. macOS, some Windows versions). Make "Index" a reserved
word to prevent this clash.
2020-04-22 14:24:42 +02:00
Harald Fernengel
63b4429775 Escape clashing model names (#6004)
Closes #6002
2020-04-22 14:23:24 +02:00
William Cheng
e38498dd5d Merge branch '5.0.x-sync-master4' into 5.0.x 2020-04-22 16:26:10 +08:00
William Cheng
46b0421fa5 update java restassured jackson 2020-04-22 15:36:31 +08:00
William Cheng
02717e6076 update samples 2020-04-22 14:48:27 +08:00
William Cheng
47a9294a99 Merge remote-tracking branch 'origin/master' into 5.0.x-sync-master4 2020-04-22 12:15:45 +08:00
William Cheng
f91908689b Merge branch '5.0-sync-master3' into 5.0.x 2020-04-22 12:01:59 +08:00
William Cheng
5de72a79f0 Revert "Sync master to 5.0.x (#5968)"
This reverts commit 90dd7a0341.
2020-04-22 11:59:27 +08:00
William Cheng
90dd7a0341 Sync master to 5.0.x (#5968)
* Change the Model template (#5222)

* Add a link to Xero blog post (#5426)

* Removal of Encoding in the Query-Params in order to prevent double Encoding. (#5255)

This way letting WebClient do its Job in encoding the URL.

* update java webclient sample

* [kotlin][client] Add Jackson as serialization library (#5236)

* [kotlin][client] Add Jackson as serialization library

* [kotlin][client] Add kotlin-client-jackson.sh to kotlin-client-all.sh

* update kotlin client samples

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>

* include kotlin jackson in CI tests (#5438)

* [Ruby] Add error output (#5428)

* Add error output to the log so that we can make sure why the error occurred

* Fix forbidden method invocation using default charsets

* Update usage.md (#5443)

* fix NPE for enum (#5445)

* [Java][WebClient] better code format (#5433)

* better code format for java webclient

* prefix local varaible with localVar

* fix issue with online service (#5461)

* Support for additionalProperties in the C generator "Client: C" solves #5395 (#5440)

* Support for additionalProperties in the C generator.

* Support for additionalProperties in the C generator.

* [docs] Enable Algolia search (#5472)

* Fix #5420 add headers from configuration object (#5422)

* Fix #5420 add headers from configuration object

* Add baseOptions undefined checking #5420

* Update the samples and replace array to object #5420

* Update sample

* [typescript] Clean up modelPropertyNaming across generators  (#5427)

* [typescript] Clean up modelPropertyNaming across generators
Fixes https://github.com/OpenAPITools/openapi-generator/issues/2976

Generators without runtime models conversion use "original" property naming by default. It's still possible to change it via cli options

Generators with runtime conversion keep using "camelCase"

* Refactoring: use enum instead of string for modelPropertyNaming

* Restore the original camelCase for var names, decouple it from property names

* Swap toParamName and toVarName logic (looks like I've mistaken them)

* Regenerate docs

* Remove a no longer used private method

* Added support for msvc builds in cpp-qt5-client generator (#5468)

* Added support for msvc builds

Moved GCC-specific compile flags to non msvc builds, and added equivalent flags for msvc.

* CMakeLists condition cleanup

* [all] Move feature set setter (#5460)

When I originally implemented the feature set code, I added the
getter/setter on DefaultCodegen and CodegenConfig as well as on
GeneratorMetadata. GeneratorMetadata also includes the library variation
features. When I went to add library-specific features, I realized the
discrepancy.

This removes the public setter from DefaultCodegen/CodegenConfig, and
adds a protected modifyFeatureSet which accepts a lambda and hides the
builder logic away in the method.

This will be a breaking change for anyone who's created a custom
generator in 4.2.3, so the impact is very limited.

* [Swift5] small improvements to Objc compatibility (#5410)

* [swift] make some small improvements

* [swift][client] revert model to use allVars

* PostProcessModelProperty with allVars

* PostProcessModelProperty with vars

* [swift] improve objc interoperability

* [swift] fix swift4 for CI to pass

* [swift] improve objc interoperability

* [swift] improve objc interoperability

* Swift - try to fix build

* [swift] remove pods from git

* [scala] [template] scala sttp client (#5429)

* scala-sttp-client template

* invoker for sttp fixed and tests added

* clean up pet api test from redunant comments

* docs updated

* fix artefact name, model comments and redunant generic

* code optimization

* cross scala versions 2.11 2.12 2.13

* date serializers extracted and joda enabled as default

* basic and bearer authorization added, apikey in query supported

* [Ruby] Fix obsolete configuration of Rubocop and Rubocop's warns (#5417) (#5474)

* fix obsolute configuration in generated .rubocop.yml

* fix style of `expect` with block in generated ruby client's test code

* update sample of ruby client

* [scala] strip model class name for all scala generators (#5439)

* stripped parameter enabled for all scala based generators

* scala samples updated

* docs generators updated

* fix scalatra. regenerated by openapi3 script.
manually removed enum default value from scalatra example due bug in schema extraction

* [Scala][sttp] various improvements (#5475)

* various improvements to scala sttp

* update ScalaSttpClientCodegen.java

* add windows batch file

* test scala sttp in jdk8

* fix tempalte directory

* Use the dataType if the baseType is not set (#5372)

* Use the dataType if the baseType is not set

* add tests for passing enum as parameter

* updated requirements file in samples

* Update spec to explicitly name objects and prevent `inline_object`

* use the correct scripts to generate samples (`bin/openapi3/python-flask*`)

* [python] Adds python oneOf/anyOf models + tests (#5341)

* Adds oneOf + anyOf schemas, models and tests to python-experimental

* Adds setUpClass and tearDownClass

* Removes newline in method_init_shared.mustache

* Regenerated v3 spec sample for python-experimental

* Fxes test for discard_unknown_keys

* Moves new models into existing spec, regen python-exp and go-exp

* Also fix python-exp windows file

* fix CVE-2020-8130 (#5483)

* [go] Add Ptr method to const enum values (#5257)

* fix rubocop warns in Ruby client's custom spec (#5488)

* [C-libcurl] The name in API parameter should not be escaped even though it includes a C key word. (#5487)

* [go-experimental] Support aliasing of API keys (#4940)

* [go-experimental] Support aliasing of API keys

* Use {{.}} inside condition

* Use name instead of keyParamName for lookup

* x-lookup to x-auth-id-alias

* [java] Support aliasing of API keys (#4966)

* [java] Support aliasing of API keys

* Rebuild Java Jersey2 sample client

* x-lookup to x-auth-id-alias

* Regenerated

* [cli][gradle] Validate now uses parseOptions w/setResolve (#5471)

* [cli] Validate now uses parseOptions w/setResolve

The validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.

* [gradle] Validate now uses parseOptions w/setResolve

The Graldle validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.

* [kotlin]Fix ktor doesn't generate nullable types (#5258)

* If not required, need `? = null`

* run  ./bin/kotlin-server-petstore.sh

* Added `?` when value is `required` and `isNullable`

* Rerun ./bin/kotlin-server-petstore.sh. But No differences

* [C++] Add an option to allow having lowercase variables in models, Pistache: allow using reservedWords in models (#5434)

* [C++][Pistache] Use reserved words to replace incorrect names

discard old decision to truncate reservedWords

* [C++][Pistache] Update struct model to use name instead of baseName

* [C++][Pistache] Update Petstore sample

* [C++] Add option to have lowercase variables

* [C++] Update generated docs

* [BUG] [JAVA | Spring] Cookie in parameter is not correctly generated (#5393)

* Cookie in parameter is not correctly generated

* gh-5386: Fix cookie parameter in

* gh-5386: Fix cookie parameter in

* gh-5386: Update test file

* gh-5386: Fix cookie parameter in

* gh-5386: Fix cookie parameter in

* gh-5386: Regenerate samples

* gh-5386: Fix test

* Added Spring CookieValue tests

Co-authored-by: Gonzalo <gonzalo.nom.es@gmail.com>

* Add missing `@Generated` annotation. (#5384)

The annotation is present on other generated files when using jaxrs-spec, but it missing on model classes.

* [scala] [template] scala model property style (#5486)

* Model property naming style generic for scala

* scala templates based on abstractScala regererated

* docs generators updated

* property format tests

* add Agoda as the user (#5494)

* Hide timestamp in Scala Play server samples (#5495)

* hide timestamp in scala play server output

* add chameleon82 to scala tech committee

* Add a link to tech blog tech.medpeer.co.jp (#5498)

* Add links to blog posts about OpenAPI Generator (#5508)

* Typescript array alias array (#4981)

* Add failing tests for typescript type declaration

* Refactor array and map child type string fallback

* Add unaliasSchema to typescript getTypeDeclaration

* TypeScriptRxjs: Use Blob as file type declaration

This was inadvertantly changed in
https://github.com/OpenAPITools/openapi-generator/pull/5266

* [core] Sanitize/underscore/camelize cache expiry (#5484)

The helper methods for sanitize/underscore/camelize were recently
updated to cache values in static maps. This would lead to a memory leak
in hosted environments as the maps had no cleanup/expiry.

This moves those cached entries to Caffeine caches with expiry based on
last access to allow the edge-case performance improvement gains on very
large documents, without the memory leak in hosted or embedded
environments.

* Update README.md

* Add a link to the conference paper (#5510)

* Add a link to the conference paper

* fix author list

* [Slim4] Add Data Mocker middleware (#4978)

* [Slim4] Store response schemas

* [Slim4] Add Data Mocker middleware

* [Slim4] Enhance Slim router

* [Slim4] Enhance config

* [Slim4] Fix data format key in object mocking

* [Slim4] Add tests for Data Mocker middleware

* [Slim4] Add Mock feature documentation

* [Slim4] Refresh samples

* [Java][Spring][Spring-Cloud] Fix #5144 - Use conditional package declaration to avoid unnecessary dependencies (#5145)

* FIX: Use conditional package declaration to avoid unnecessary dependencies

* DEV: Adjusted sample ClientConfiguration.java for async spring-cloud

* fix(php): no need to serialize collections, Guzzle does that, fix #2292 (#3984)

* fix(php): only serialize collections if !explode, Guzzle handles the rest, fix #2292

* fix(php): update petstore samples

Co-authored-by: Mahdi Dibaiee <mdibaiee@pm.me>

* [php] replace $collectionFormat with $style (#5517)

* php - remove $collectionFormat

* update php openapi3 petstore sample

* [BUG][scala][template] scala generate java.math.BigDecimal instead of scala type (#5514)

* [BUG] scala generate java.math.BigDecimal instead of scala type

* update docs/generators

* [PHP] complete support for form style (#5519)

* [BUG][PHP] Parameter property style not fully implemented (related to comment on PR #3984)

* [AUTOGENERATED][PHP] Sample Files

* update jackson dependency to newer version (#5527)

* Fix Swift4 CI tests (#5540)

* comment out swift 4 order tests

* comment out store tests

* Test Dart petstore client in CircleCI (#5544)

* test dart2 in circle ci (jdk7)

* fix tests

* update package

* fix dart installation

* Add serialization of ModelComposed (#5551)

* Fixes kwargs typos, removes E501s (#5552)

* Update generic model to support nullable properties (#5568)

* [DOC] Add link to integration test wiki in CONTRIBUTING.md (#5570)

* Add link to integration test wiki

* Add link to integration test wiki

* [Kotlin][client] fix file upload (#5548)

* [kotlin] fix file upload

* [kotlin] fix file upload

* [kotlin] fix file upload

* [kotlin][client] fix jackson integration

* [kotlin] fix file upload

* [kotlin] fix file upload

* update doc

* [Java] Fix exception when OAuth2 token URL is a relative URL (#5535)

* Add support for case when OAuth2 token URL is a relative URL

* Add support for case when OAuth2 token URL is a relative URL

* run scripts under bin

* [Java] fix runtime exception when there are multiple auth methods (#5530)

* fix runtime exception when there are multiple auth methods

* Refactor a bit so that it does not cause conflict with relative url token branch

* [markdown] Fix broken links when generating markdown (#5569)

* [markdown] Fix broken links when generating markdown

The `api.mustache` file generates links to the markdown model files.
These links were previously brokeen.

Additionally, the defaultPackage for markdown is "/Models", so this
looked pretty in the heading for model files. So this prefix has been
stripped from the header in `model.mustache`.

* Re-generate Petstore samples for markdown

* typescript-angular: fix zone-js version for angular 8 (#5585)

* Add a link to the slide (#5590)

* [Swift] fix URLSession file upload (#5546)

* [swift5] - fix URLSession file upload

* [swift5] - fix URLSession file upload

* [swift5] fix file upload

* [swift5] - fix URLSession file upload

* [swift] add unit tests for file upload

* [swift] update samples copyright

* [swift] add option for API prefix (#5567)

* [swift] add option for API prefix

* [swift] update docs

* [haskell-http-client] update stack; exclude problem time versions (#5589)

* [go-experimental] Do not generate HTTP signature unit test for every generated SDK (#5588)

* Do not generate HTTP signature unit test for every generated SDK

* Add golang 1.14 to CI environment

* fix unit test issues

* remove script commands that were commented out

* add support for ed25519 private keys

* PR to solve 2 open issues on enums: #5091 and #4293 (#5477)

* PR to solve 2 open issues on enums:
Issue 5091 needs to generate enums also when the enum is directly in a param to a API call, instead than in a model. I did that by copying and adapting enum code from *model* to *api*
Issue 4293 needs to decorate enums, for when enum names or enum values are repeated over the yaml definition.

* PR to solve 2 open issues on enums:
Issue 5091 needs to generate enums also when the enum is directly in a param to a API call, instead than in a model. I did that by copying and adapting enum code from *model* to *api*
Issue 4293 needs to decorate enums, for when enum names or enum values are repeated over the yaml definition.

* Enums decorated: with {{projectName}}_{{classVarName}}_{{enumName}}_ in the models, with {{projectName}}_{{classVarName}}_{{enumName}}_ in the operations.

* Changes to the c client:
- Removed white space.
- Removed ToJSON and FromJSON function for the enums, since they are not used
- Sanitized project name in the .java file. For example, this solves a problem with the issue #2338, where the yaml file had title: "Skycoin REST API."

* Changes to the c client:
- Removed white space.
- Removed ToJSON and FromJSON function for the enums, since they are not used
- Sanitized project name in the .java file. For example, this solves a problem with the issue #2338, where the yaml file had title: "Skycoin REST API."

* Adds parseFlattenSpec (#5526)

* Adds parseFlattenSpec, updates tests and helper functions

* Adds parseSPec invocation inside parseFlattenSpec

* Scala-Akka: Add missing body to PATCH requests (#5605)

* NodeJS - Adds missing keyword (#5606)

* [jaxrs-cxf-cdi] Support PATCH httpMethod (#5574)

Update the required CXF version to 3.1.2 since PATCH support appeared
with this version.

Add the cxf PATCH annotation to the imports so that the generated code
when defining a PATCH api compiles.

* fix default value for abstract scala and scalatra server impl (#5578)

* [Java] Generated API class has wrong dataType and does not compile Issue (#5331)

* add unit test assertion

* add check for composed schema

* add support for x-allOf-name

* change x-allOf-name to x-all-of-name

* Add more troubleshooting information

* Add more troubleshooting information

* Add more troubleshooting information

* Add more troubleshooting information

* [swift5] stop hiding network error (#5603)

* [swift5] stop hiding network error

* [swift5] stop hiding network error

* [scala][templates] java 8 dates support (#5291)

* [scala][akka-http-client] java8 dates support

* scala-akka readme doc updated

* DateSerializers renamed

* rename serializers

* move date-library option to abstractScala

* generators docs updated

* enum defined for date libraries

* Backport to scala-http-client

* fix scala-akka-client date serializers

* fix typo in docs

* switch scala templates to java8 (jsr-310) date library by default

* update scala samples with java8 date library

* update scala generators docs with java8 default date library

* fix scala-play-server generator cli options as only java8 dateLibrary supported

* fix scalaz DateTimeCodecs template to support java8

* scalaz ci test againt java7 removed as it generate scala 2.11.8 client which is java8 based

* update doc

* Adding Response Interceptor (#5500)

* added Response interceptor for native clients

* added Response interceptor for native clients

* [k6] Add blog post about using the k6 generator (#5608)

* [Kotlin] Remove kotlin-reflect dependency when not needed (#5502)

* Remove kotlin-reflect dependency when using CodeGen

* Update Kotlin tests

* Regenerated unit test samples

* Remove newline in generated build.gradle files

* [typescript-fetch] add interfaces, withInterfaces (#5612)

* typescript-fetch: interfaces, first draft

* fix name in description

* [scala] Regenerate akka sample (#5622)

* scala-version 2.11.12 (#5618)

* micheleISEP->michelealbano (#5625)

* [Powershell] refactor the client generator (#5629)

* add api client

* add local variables

* add configuration

* add header/query/form parameter support

* add partial header

* add auth, fix parameters type

* fix accept, content type

* url query string

* fix path, header

* remove dep on C# client

* fix method naming with package name

* fix object

* convert result from json

* better response handling

* remove tostring method

* fix model doc

* fix default module

* generate api test files

* better api, model tests

* fix add pet

* add appveyor

* fix accept, content type

* add petstore tests

* fix form parameters

* test delete

* better file handling (upload)

* better code sample

* add package version, better doc

* delete unused files

* fix header parameters

* clean up api client

* update samples

* support query parameter

* better method and parameter naming

* minor formatting change

* better doc, fix cookie parameter

* better doc

* add api prefix support

* better api nam prefix option

* fix configuration

* throw errors for required parameter

* fix authentication

* add try catch block to sample code

* rename model

* use debug, clean up comment

* revise code

* move bin script

* update doc

* add new file

* better map support

* [PowerShell] minor improvements and bug fixes (#5635)

* add output type, minor format fix

* minor test improvement

* Port client updates to server (#5634)

* Revert "scala-version 2.11.12 (#5618)"

This reverts commit 6b984a926a.

* update release date

* Handle negative response from the server (#5649)

* Fix integration tests (Travis, CircleCI) (#5672)

* fix php tests

* fix scala tests

* update ts angular v6 rest

* fix user create test

* fix spring cloud test

* comment out user delete

* fix angular v7 tests

* fix user test

* fix tests

* fix go exp tests

* commented out delete user tests

* comment out delete user tests in go openapi 3

* fix clojure tests

* [PowerShell] Fixes typo (#5648)

* Solving issue #5623 and supporting bools for C client label:"Client: C" (#5624)

* Removed stray "printf"s in
modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java

* Support for booleans in C client

* Update README.md

* Change to C API mustache files to solve issue #5623

* Debugging of C's modle-body.mustache, as suggested by ityuhui

* Final changes suggested by ityuhui

* [PowerShell] Fix map type (#5638)

* fix map type

* remove output type, fix appveyor

* test macos

* comment out failing scala test

* fix typo: configuration

* Revert "comment out failing scala test"

This reverts commit 1dcf84ffcb.

* [powershell-experimental] Protects against stackoverflow when OAS spec has circular references (#5646)

* protects against stackoverflow when OAS spec has circular references

* protects against stackoverflow when OAS spec has circular references

* Adds configuration option to skip certificate check. Fixes a typo. Fixes an issue which was restricting from cookie to get consumed (#5657)

* [k6] bugfixes to improve the output script (#5614)

* [k6] Skip appDescription escaping

* [k6] Fix variable identifier in output

* [k6] Fix bug with reserved words handling

* [C][Client] Check the pointer before deleting operation to avoid core dump label:"Client C" (#5626)

* [C-libcurl] Check the pointer before deleting operation to avoid core dump

* [C-libcurl] Check the pointer before deleting operation, update sample

* [kotlin][client] Add Jackson to interface properties and remove extra line feed (#5459)

* [kotlin][client] Ensure Jackson annotations are consistent with interface vars

* [kotlin][client] Rebuild samples

* [kotlin][client] Some kotlin client enhancements

- Don't use JsonFormat for Date objects, this should be controlled via
  a custom serializer/deserializer or a turning on and off serialization
  features of Jackson.  I've updated the jacksonObjectMapper config to
  write the dates as strings, which I think was intended in the original
  commit.
  https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/SerializationFeature.html#WRITE_DATES_AS_TIMESTAMPS
  https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/cfg/MapperConfig.html#getDateFormat--
- Dont' use @JsonFormat(shape = JsonFormat.Shape.OBJECT) for enums.
  This causes Enums to be formatted as objects with an internal "value"
  field.  In reality, OpenAPI enums are just strings without properties
  and should be treated as a string.
  https://www.baeldung.com/jackson-serialize-enums#2-enum-as-json-object
- Add's Kotlin use site annotation @get: to JsonProperty for parent interface
  properties.  Otherwise Kotlin will warn:
  "This annotation is not applicable to target 'member property without
  backing field or delegate'"
- Add's JsonTypeInfo annotations to interfaces for inheritance.  This
  was copied verbatim from the kotlin-spring generator.
  https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/kotlin-spring/typeInfoAnnotation.mustache

* [kotlin][client] Rebuild kotlin samples

* Remove scala version in parent pom (#5647)

* [asciidoc] Allow the inclusion of additional documentation to t… (#5260)

* [asccidoc] Allow the inclusion of additional documentation to the asccidoc generated

Resolves #5228

* [jaxrs-reasteasy-eap] Fix invalid Bean Validation annotations for Longs (#5659)

* fix issue #5658

* update samples

* [PowerShell] Test powershell petstore client in Appveyor (#5674)

* remove scala version in parent pom

* test ps petstore in appveyor

* fix command

* build and import

* fix import module

* fix import

* skip module import

* run multiple commands

* move to test script

* test ps exit

* fix exit

* check last status code

* clean tests

* exit last code

* add import

* change dir

* skip build failure

* fix check

* trigger build failure

* fail fast

* restore c# test

* new line comment

* add powershell exp to ensure up to date script

* [PowerShell][Experimental] Better docstring (#5688)

* add docstring to powershell module

* add doc string

* Nodejs express js packages update (#5675)

* Updated to new nodejs packages, depending heavily on express-openapi-validator. Requires quite a change in code.
Updated the business-logic in the controllers/Controller.js file.
Logger now records also timestamp of events.
Files are uploaded according to definition in config.js file

* Removed commented-out code; Changed openApi document extensions to suit new express-openapi-validator definition; multipart and file uploading is supported now; Automatic response returns the values the were sent in the request

* fixed README documentation, fixed a mistage in package.json/mustache

* added generated files that were created when running the ./bin/test file

* [go-experimental] Fix nullable support (#5414)

* Fix nullable support in go-experimental client

* Fix support for models with parents and container fields

* Make sure that oneOf interfaces serialize properly even if they're required (non-pointers) on other models

* Spaces => tabs

* Regenerate samples

* Make some methods of nullables pointer-receivers, add tests

* Improve the Get/Set logic to make usage more convenient

* Address review

* [kotlin][client] make base path globally configurable (#5450)

* [kotlin][client] make base path configurable

* [kotlin][client] update pet project

* [kotlin][client] set default base path

* [kotlin][client] set default base path

* [kotlin][client] set default base path

* Add michelealbano to C technical committee (#5692)

* [Go][Experimental] Rename extensions from x-basetype to x-go-base-type (#5691)

* rename go vendor extension

* update go exp petstore samples oas3

* comment out powershell petstore in uptodate script

* remove processing of http_signature_test.mustache (#5696)

* Fix generation of oneOf interfaces for oneOf usage in properties (#5400)

* Fix generation of oneOf interfaces for oneOf usage in properties

* Only generate oneOf interface models when oneOf is defined

* use basic parsing (#5702)

* [python/asyncio] explicitly close client session via async context manager (#5621)

* [gradle] Include engine option for handlebars generation (#5686)

* [codegen][Go] Fix compilation error of generated go code when schema is free form object (#5391)

* Fix code generation for free-form objects in go-experimental

* Execute scripts in bin directory

* Add more use cases for open-ended types

* Add more use cases for open-ended types

* Add more use cases for open-ended types

* add code comments

* Better name for test properties

* handle scenario when type is arbitrary

* handle interface{} scenario

* handle interface{} scenario

* add helper function isAnyType

* isAnyType function

* implementation of isAnyType function

* fix javadoc issue

* handle interface{} scenario

* use equals comparison instead of ==

* merge from master

* Add code documentation

* add code comments, remove unused min/max attribute, fix equals method

* Handle 'anytype' use case

* add code comments

* override postProcessModelProperty to set vendor extension

* Use vendorExtensions.x-golang-is-container

* fix compilation error of generated code

* fix compilation error of generated code

* fix compilation error of generated code

* [Java] Update version of maven-surefire-plugin (#5509)

* use more recent version of maven-surefire-plugin

* use more recent version of maven-surefire-plugin

* higher debug level for troubleshooting ci issue

* temporarily increase debug log to help troubleshoot

* Use local instance of pet store service for unit test purpose

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* use random ID for Java unit test instead of fixed id

* add code comments and specify URL for java unit test

* reenable quiet argument

* fix java unit test issues

* fix java unit test issues

* Revert "fix java unit test issues"

This reverts commit e8508416ff.

* fix java unit test issues

* Generator for JavaScript/Apollo Client (#5645)

Co-authored-by: William Cheng <wing328hk@gmail.com>

* Add yutaka0m to Kotlin Technical Committee (#5716)

* Add Scala client scripts to ensure-uptodate process (#5712)

* add scala client to ensure-upto-date

* new scala-akka petstore oas3 folder

* regenerate scala akka oas2 petstore

* remove script

* Minor improvments to JS apollo generator (#5714)

* minor improvments to js apollo generator

* comment out apollo

* [Rust Server] Handle text/xml correctly (#5660)

* [Rust Server] Handle text/xml correctly

  Treat application/xml the same as text/xml as per RFC 7303

* [Rust Server] Add test for text/xml

* Update samples

* 4.3.0 release (#5721)

* update samples (#5722)

* 5211 - Use allVars instead of vars for Kotlin client (#5396)

* [C++] [Qt5] fixed cpp-client-qt5 HttpRequestWorker requests crashing on timeout... (#5651)

* - fixed cpp-client-qt5 HttpRequestWorker requests crashing on timeout when they have actually NOT timed out (were calling back into a deleted struct).

* #minor fixes after review

* Regenerate changed files

Co-authored-by: valentin Bisson <valentin@inrosoftware.com>
Co-authored-by: etherealjoy <sunn.ssb@live.com>

* Fix SSL setting in checkout script (#5725)

* fix ssl setting in checkout script

* add check for sbt-openapi-generator

* [C] fix decode funtion (#5642)

* fix function names and add parameter to return decoded bytes length from base64decode function

* format base64decode function to avoid unnecessary malloc and fix wrong length assigning

* update the pointer assigning

for some reason var++ / *var++ cannot be done on int *var, hence making a local variable which is incremented and at the end it is assigned to the pointer.

* Update bump.sh to go SNAPSHOT to version (#5727)

* Fix CI failures (#5734)

* update ci to use petstore 1.0.4

* comment out test

* comment out test

* comment out update user test

* comment out more tests

* use latest petstore

* comment out updatePetWithForm

* comment out update pet test

* fix file path in release_version_update_docs (#5724)

* better appveyor test (#5739)

* better readme, type mapping, new option (#5740)

* Remove warning for unused camel case vendor extension for Qt5 client and server (#5731)

* [PS][Experimental] Add multiple server support (#5741)

* code comment

* add get host setting

* add multiple server support

* add default headers support (#5746)

* [C][Client] Support SSL client authentication for the c client (#5719)

* [C][Client] Support SSL client authentication

* [C][Client] Support SSL client authentication, update sample

* [kotlin] Fix #5247 incorrect enum parameter type for arrays (#5435)

* [Erlang-Server] security definition context changes don't propagate to handler (#5751)

* Map Merge Context & Params

handler requires context and params to be merged before returned to user defined request_handler.

* post build & shell script

* Delete VERSION

* [PS][PowerShell] fix passthru, use switch instead of bool (#5768)

* fix passthru, use switch

* remove line

* comment out kotlin vertx server test (#5767)

* add support for common verbs (#5771)

* fix request.on_complete message when tempfile is nil (#5745)

* fix request.on_complete message when tempfile is nil

* update faraday client sample

* add openapi3 client samples

* use prepare instead of new (#5773)

* use Initialize instead of prepare (#5777)

* add map example (#5778)

* [PS][Experimental] Better common verb handling (#5783)

* better common verb handling

* better debugging

* add option to customize common verb

* [cli][docker] Better expose version/sha information of builds (#5736)

* [cli] Some CLI improvements…

* Introduce --version
* Introduce --help
* Add --sha to version command for short SHA display
* Output Version and SHA details
* In new --version output, display repo and doc site

Additional cleanup to suppress warnings and code quality.

* [docker] Adds labels for metadata

This adds image labels to store metadata on the online and cli docker
images, using standard labels:

* org.opencontainers.image.created
* org.opencontainers.image.revision
* org.opencontainers.image.title
* org.opencontainers.image.version

These can be inspected via 'docker inspect IMAGE_NAME' and may be useful
in tooling/automation or bug reports submitted by users.

For more details on these labels, see:
https://github.com/opencontainers/image-spec/blob/master/annotations.md

* Include version --full for equiv to --version

* [cli] Add --global-property for -D replacement (#5687)

-D option has been deprecated as it was previously used to:

* Pass "system properties"
* Pass additional properties

This was confusing because we already have --additional-properties and
because Java System Properties are passed as -D before program
arguments.

Confusion around the -D option had existed for some time, but when we
introduced the thread-safe GlobalSettings to avoid overwriting Java
System Properties, we created a hard break from Java System Properties
in the generator. This also disconnected the previous "system
properties" from accepting additional properties.

Once these newly deprecated methods are removed, we will have a clear
separation of concerns between:

* Java System Properties
* Global generator properties (used as workflow context)
* Additional properties (used as generator options)

This commit marks multiple places for cleanup in 5.0. These will be
breaking changes, and lower effort to break in 5.0 with deprecation
warnings now rather than adding sibling properties throughout the code
and potentially introducing logic errors.

* [dart-dio] Fixes --model-name-suffix having no effect (#5669)

Fixes #5409

* [go-experimental][go][client] Remove unreachable code in go client API methods (#5611)

* [go-experimental][go][client] Remove unreachable code in go client API methods

* Properly regenerate all samples

* please add openVALIDATION Project to readme (#5534)

* added openVALIDATION Project to readme

* Update README.md

Co-Authored-By: Akihito Nakano <sora.akatsuki@gmail.com>

Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>

* [Csharp-client] Complex form parameters are not serialized as application/json (#5787)

* [csharp-client] Complex form parameters are now correctly serialized as json.
Reference: http://spec.openapis.org/oas/v3.0.3#special-considerations-for-multipart-content

* Updated bin/windows csharp sample generation scripts to point to the correct directories

* Updated csharp samples

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* fix scala-akka java8 serializers (#5742)

* fix scala-akka java8 serializers

* regenerate samples for akka-http

* [typescript-axios][client] Unnecessary imports occurs when using withSeparateModelsAndApi (#5797)

* add ts-ignore

* add petstore sample

* use write verbose in auth, better api doc (#5804)

* [PS][Experimental] add withHttpInfo support, fix "null" return (#5811)

* add with http support

* use full name in tests

* using full name in test

* skip type check

* [PS][Experimental] Add tests for array of object in response (#5814)

* debugging array response

* fix find pet tests

* better tests to ignore order

* [codegen] Use once(LOGGER) to reduce amount of identical warning messages (#5808)

* Warn once instead of many times when the log statement does not have contextual information

* Warn once instead of many times when the log statement does not have contextual information

* make name cache configurabl (#5775)

* [codegen] Cachesize config seconds (#5816)

* make name cache configurable

* Address review comments

* [Python-experimental] Documentation enhancement for oneOf schema and minor err msg improvement (#5791)

* Add documentation to generated code

* Improve error message

* Improve documentation

* Improve documentation

* Improve documentation

* Improve documentation

* Improve documentation

* Improve documentation

* Run sample scripts

* Address review comments

* Address review comments

* Fix problem in python error message

* rename hostsetting, validate base url (#5821)

* fix array return (#5822)

* Scala akka-http server (#5758)

* Scala akka-http server base implementation

* [scala-akka-http-server] petStore samples

* Improved the formatting of generated files

* Updated scala-akka-http server samples

* [scala-akka-http-server] the groupId, artifactId and artifactVersion default value are used as intended.

* Fixed the default operation not being correctly generated on parameterless operations

* Added build.sbt.mustache supporting file

* Updated scala-akka-http server samples

* ScalaAkkaHttpServer: Fixed a String.format call to use Locale.ROOT for locale

* [scala-akka-http-server] Fixed defaultValue being escaped during generation

* Added scala-akka-http.md

* Replaced all "⇒" character with "=>" to retain compatibility with scala 2.13

* [scala-akka-http] Added a config option akkaHttpVersion
It's set in the generated build.sbt.

* Updated scala-akka-http server samples

* [scala-akka-http] More accurate akkaHttpVersion parsing

* Updated scala-akka-http.md

* [scala-akka-http] Changed the akka-http version check to fix the generation of StringDirectives

* Updated scala-akka-http samples

* updated scala-akka-http.md

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* Minor improvements to scala akka server (#5823)

* minor improvements to scala akka server

* add samples

* update doc

* Update swagger parser to 2.0.19 (#5413)

* update swagger parser to 2.0.18

* fix online server exception

* Revert "fix online server exception"

This reverts commit fe3cb5221f.

* update parser to 2.0.19

* [jaxrs-cxf-cdi] fix allOf equals and hashCode (#5756)

When generating model that use allOf, the equals and hashCode methods
must take the parent class into account.

* [BUG] [KOTLIN] Fix default value generation for Kotlin Strings (#5776)

* fix default value generation for kotlin

* add updated pet templates

* Revert "add updated pet templates"

This reverts commit 7e8168ad

* regen pet store projects code

* tests  for models for C-libcurl generator (#5699)

* First try to generate unit tests for the models of the C-libcurl client. Models into models are not supported yet.

* Added unit tests for the modules of the C-libcurl client to the git repository.

* Support for objects having other objects as properties, for the C-libcurl client generator

* Proper formatting of generated code

* use allVars to cover all properties (#5835)

* support enum in parameters (#5838)

* [C++] [Qt5] [Client] fixed cpp-client-qt5 HttpRequestWorker contentCompression variables initialization (#5834)

When contentCompression is not enabled, the variables isRequestCompressionEnabled and isResponseCompressionEnabled in HttpRequestWorker are not being initialized.
Without initialization the compress function could be called and the request content could be an empty QByteArray instead of original request body.

* minor fix to http basic auth (#5839)

* Scala akka http server - normalization of some vendor extensions (#5829)

* [scala-akka-http-server] Normalized vendor extension "paths" to "x-paths"

* [scala-akka-http-server] Normalized vendor extension "hasDefaultValue", "isDefault", "specificMarshallers", "fileParams", "nonFileParams"

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* Add Bouill to the Scala technical committee (#5843)

* C client generator improvements to support petstore. Solves #5836 (#5837)

* C client generator improvement to support:
openapi-generator/modules/openapi-generator/src/test/resources/3_0/petstore.yaml

* Improvements to the C client generator:
- moved base64* from apiClient.c to binary.h/binary.c
- changed CR/LF to LF in binary.h/binary.c

* C client generator: better support for base64encode / base64decode

* Add openapi.yaml file to Java clients (#5765)

* Add openapi.yaml file to Java client

* Move supporting template file to Java root

* Update petstore clients

* [codegen] Fix 'super.HashCode' for oneOf and allOf Implementations (retry) (#5830)

* Added hasVars after completion of all model post-processing (#5587)

* Post ensure-up-to-date

* Update to check the size of vars and not assume non-null

* update mysql samples

* Add default case to handle response code (#5825)

* add default case to handle response code

* fix default response code

* add test for isDefault

* fix user id in scala tc

* Fix for Issue #4840 [BUG][JAVA][spring-mvc] Generated Code for Map of Maps Return Type does not compile (#5240)

* add parent for allOf only (#5851)

* Add pythonSrcRoot option to python servers (aiohttp/flask/blueplanet) to support src/ layout projects [and reenable/fix all python server tests] (#5423)

* python server: Add pythonSrcRoot option

This will allow the python project to be in a subdirectory (as specified
in pythonSrcRoot). That could mean following the src layout with sources
under src/ or lib/. Multi-language projects might use a sub directory
like python/, or whatever makes sense for the project.

By default, the pythonSrcRoot is "", meaning the existing behavior is
the default.

* python server: update template files to support pythonSrcRoot

* python server: update docs to add pythonSrcRoot option

* python server: add pythonSrcRoot sample script

* python server: build sample srclayout project

* [Python] copy test files preserving history

* [Python] Make a conflict to preserve file copy history

* [Python] customize pom.xml for src layout tests

* [Python] add python-aiohttp-srclayout tests

* [Python] Fix server tests by updating requirements

Reverts the PR that disabled python2 server tests:
https://github.com/OpenAPITools/openapi-generator/pull/4949

Reverts commits that disabled python3 server tests:
9adfedbfbb
17ee990baa

Issue about the python 3 tests:
https://github.com/OpenAPITools/openapi-generator/issues/5235

I couldn't find an issue about the python2 tests being disabled.
I'm guessing build errors like the following were the trigger:
https://travis-ci.org/github/OpenAPITools/openapi-generator/builds/634238181

Let's see what breaks!

* [Python] Copy setup.py to python-aiohttp

* [Python] Save history while copying setup.py to python-aiohttp

* [Python] Add aiohttp server setup.py

* [Python] Fix python server tests with src layout

* [Python] bump Flask-Testing version

* [Python] Pin pyyaml for py2.7 flask server

* [Python] simplify flask server requirements

* consolidate server tests

* [Python] rebuild python server samples

* [Python] Fix python server requirements for older pythons

Documented minimum python version for our aiohttp server is 3.5.
Documented minimum python version for our flask server is 3.4.
Connexion 2.3 is the last version to support python 3.4 and 3.5, so fix
the version pinning to correctly select <=2.3 for these EOL python
versions. Newer pythons should get the latest if possible as there many
relevant bug fixes.

Werkzeug also needs to be pinned for these old versions in the aiohttp
server just like for the flask server.

3.4 and 3.5 are EOL. We really should increase the minimum supported
version, but that is for another PR to do.

* stop error globally (#5858)

* [PS][Experimental] Add validations to model (#5842)

* add validations to model

* better error message

* improve validation

* Updates to allow the setting of the dateTime format string (#5763)

* [PS] Select Content-Type in the response (#5872)

* better return type handling

* update tempalte

* better documentation

* fix greater than

* various enhancement to ps exp generator (#5875)

* [C#] dependency upgrade (#5870)

* Updating packages version (#5313)

* Add support to RestSharp version 106.10.1

Restsharp 106.10.1 needs the Content Lenght as a parameter to AddFile method

* Updating RestSharp Version

Updating RestSharp Version

* Update netcore_project.mustache

* Update netcore_testproject.mustache

* Update Project.mustache

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Execute task async obsolete

Use ExecuteAsync instead

* update csharp samples

Co-authored-by: William Cheng <wing328hk@gmail.com>

* [csharp] Library upgrade fix (#5848)

* On .net45 framework, Restsharp version is updated to 106.10.1 Otherwise, it stays on version 105.1.0

* Added additionalProperties for library versions and target frameworks

* Removed unused properties

* Added an additional property to test for a specific version of RestSharp

* Updated csharp samples

* Fixed nuspec.mustache to use library specific additional properties

* Updated csharp samples

* Updating CI/samples.ci csharp petstore test project file.

* Updated csharp.md

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* [csharp-client] Restored tests on csharp samples (#5879)

* Restored tests on csharp samples

* Restored a reference to the file used to test file uploads

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* update samples

Co-authored-by: Igor Quirino <iquirino91@gmail.com>
Co-authored-by: Bouillie <34162532+Bouillie@users.noreply.github.com>
Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* [Csharp-client] Complex form parameters are not serialized as application/json (#5849)

* [csharp-client] Complex form parameters are now correctly serialized as json.

* Updated csharp samples

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* docs: removes Nico from technical committee (#5883)

* [PS] better handle special variables (#5885)

* add variable

* fix reserved words

* update ps doc

* [PS] add file post-processing to the PowerShell generator (#5864)

* add post process to ps generator

* add import

* fix merge issue

* consolidate header selection functions (#5889)

* [Java-client] Add maven-compiler-plugin in pom.xml and enable linter checks by default (#5866)

* Add maven-compiler-plugin plugin in Java pom.xml and enable linter checks by default

* Add maven-compiler-plugin plugin in Java pom.xml and enable linter checks by default

* Update enum.mustache (#5793)

https://github.com/OpenAPITools/openapi-generator/issues/5792

* Update modelGeneric.mustache (#5378)

* Update modelGeneric.mustache

If maxlength is specified for a property type enum it there should be .ToString() appended before length check

* ran the csharp petstore bar and updated the file

Co-authored-by: Shweta Shukla <shshukl@microsoft.com>

* Fix Scala sttp generator packages (#5890)

* Fix Scala sttp generator packages

* Change package to parameterised

* [Dart] Fix "basic" auth method and  Add Bearer token support (#5743)

* added auth check and lint

* fixed basic auth condition

* Added bearer auth

* updated samples

* update dart petstore samples

Co-authored-by: William Cheng <wing328hk@gmail.com>

* Add date time format annotation on pojo for model query parameters (#5437)

* Add date time format annotation on pojo for model query parameters

* Regenetare samples

* update spring samples

Co-authored-by: William Cheng <wing328hk@gmail.com>

* [mysql] Add basic SQL queries (#5757)

* Add basic SQL queries template

* Add namedParametersEnabled option

* Move model related SQLs into Model folder

* Update README template

* Refresh samples

* [enhancement] [jaxrs-spec] Add builders to models (#4930)

* Update formatting in jaxrs-spec POJOs

* Add generateBuilders option

* Update formatting in jaxrs-spec POJOs

* Disable the builders generation by default

* Ensure samples are up-to-date

* Revert newline change

* Run ensure-up-to-date

* update doc

* fix merge conflicts

Co-authored-by: Artem Shubovych <ashubovych@atlassian.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>

* Update generated build files for REST Assured (#5873)

* REST Assured 4.3.0
* Jackson 2.10.3
* Gson 2.8.6, GSON-Fire 1.8.4
* Okio 1.17.5
* Joda-Time 2.10.5
* ThreeTenBP 1.4.3
* Added missing dependencies for Bean Validation
* Added missing dependencies for `@Generated` annotation
* Refresh REST Assured sample project

* [Java][Feign] Bug fix in @Param annotation (#5250)

* FIX-5249 fix @Param annotation for Feign-client code generation

Use paramName instead of baseName in order to make mapping in @Headers
section fit the param-value.

* update samples

* FIX-5249 fix @Param annotation for Feign-client code generation

Use paramName instead of baseName in order to make mapping in @Headers
section fit the param-value.

Co-authored-by: Christoph Preißner <christoph.preissner@blu-pa.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>

* [Java] Increase java compiler stack size to handle large files (#5901)

* increase java compiler stack size to handle large files

* increase java compiler stack size to handle large files

* Added emineo to list of companies on website (#5905)

* add emineo to the list

* [swift5] fix warning (#5900)

* update bitwise config (#5904)

* [Java] Discriminator lookup should not be case insensitive by default (#5894)

* Add 'discriminatorCaseSensitive' property

* Discriminator value lookup should not be case insensitive

* fix typo

* run scripts

* execute ./bin/utils/export_docs_generators.sh

* fix discriminator mapping, add code comments

* minor fix to users.yml

* Add a link to optim blog post (#5922)

* [Java] Fix inclusive max validation (#5908)

Co-authored-by: erikmolin <erik@zaver.se>

* add bearer auth support to csharp netcore (#5921)

* [Python][aiohttp] create venv as rule (#5913)

* create venv as rule

* create venv as rule II

* Fix for Result Model Name collision (#5923)

* Fix for Result Model Name collision

* Run Scripts

Co-authored-by: Sebastian Ohm <sebastian.ohm@ubimax.com>

* [Dart] Remove content type from header when content type is not specified (#5752)

* accept empty content type

* fixed test

* updated samples

* additional comment out

* update dependency for java client (#5926)

* Update axios dependency to the new minor version 0.19.0 (#5867)

* Update axios dependency to 0.19.0

Axios (version 0.18.0) used by typescript-axios generator is more than two years old (released in Feb 2018). Axios 0.19.2 released earlier this year contains a lot of fixes and functionality, I recommend updating to 0.19.2.

* Ran ./bin/typescript-axios-petstore-all.sh to update package.json in ./samples

Co-authored-by: Chandra Yalangi <chandra.yalangi@appklenz.com>

* fixed README/doc of bearer auth support for csharp-netcore (#5931)

* fix duplicated semi-colon in c# model (#5934)

* [Python-experimental] Use DER encoding for ECDSA signatures, add parameter to configure hash algorithm (#5924)

* Use DER encoding for ECDSA signatures

* Use DER encoding for ECDSA signatures

* Use DER encoding for ECDSA signatures

* Use DER encoding for ECDSA signatures

* fix python unit tests for http message signature

* Fix error message

* format python code

* format python code

* [Python-experimental] Fix TypeError: unhashable type: 'list' (#5810)

* handle scenario when value is a list, fix TypeError: unhashable type: 'list'

* Add __hash__ function

* use list instead of set

* use list instead of set

* use list instead of set

* use list instead of set

* use list instead of set

* use list instead of set

* [python/asyncio] fix passing proxy parameters to aiohttp (#5943)

* [C][Client]Fix data lost when libcurl write-data callback function is called multiple times (#5828)

* [C][Client]Fix the defect of data lost when libcurl write-data callback function (configured by CURLOPT_WRITEFUNCTION) is called multiple times.

* [C][Client]Fix data lost when libcurl write-data callback function is called multiple times (Reset count)

* [typescript-axios][client] Allow apiKey type Promise. (#5953)

* change apiKey type

* recreate sample

* Add YITU Technology to the user list (#5967)

* add yitu to the user list

* use yitu technology

* Use model as body param for generateAliasAsModel (#4569)

* generateAliasAsModel: Use model name as body param

* Update samples

* resolve merge conflicts in the core generator files

* fix merge conflicts in pom.xml

* Resolve Elm merge conflicts

* [Rust Server] Fix up merge conflicts

* Update samples

* [Rust Server] Add debug log for rust-server-petstore.sh

* update samples

* update more samples

* fix dart openapi-generator version

* remove deprecated c# files

* update meta codegen

* fix port in pom.xml

* fix port in sample

* update jaxrs cxf version

Co-authored-by: sunn <33183834+etherealjoy@users.noreply.github.com>
Co-authored-by: dwlabcube <46682038+dwlabcube@users.noreply.github.com>
Co-authored-by: Herve DARRITCHON <herve.darritchon@orange.com>
Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
Co-authored-by: Johnny Peck <johnnypeck@users.noreply.github.com>
Co-authored-by: Michele Albano <michele.albano@gmail.com>
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
Co-authored-by: Nikita <nickita.davidenko@gmail.com>
Co-authored-by: Alexey Makhrov <amakhrov@gmail.com>
Co-authored-by: val <onzeonline@gmail.com>
Co-authored-by: Bruno Coelho <4brunu@users.noreply.github.com>
Co-authored-by: Aleksandr Nekrasov <snake_nas@mail.ru>
Co-authored-by: Akira Tanimura <autopp.inc@gmail.com>
Co-authored-by: Justin <JustinBusschau@users.noreply.github.com>
Co-authored-by: Justin Black <spacether@users.noreply.github.com>
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
Co-authored-by: Hui Yu <ityuhui@gmail.com>
Co-authored-by: Yutaka Miyamae <48900426+yutaka0m@users.noreply.github.com>
Co-authored-by: Mateusz Szychowski (Muttley) <muttleyxd@users.noreply.github.com>
Co-authored-by: Jorge Rodriguez <jorgerod84@gmail.com>
Co-authored-by: Gonzalo <gonzalo.nom.es@gmail.com>
Co-authored-by: ChristianCiach <christian.ciach@gmail.com>
Co-authored-by: Bodo Graumann <mail@bodograumann.de>
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Co-authored-by: Daniel Klessing <sakanaou@users.noreply.github.com>
Co-authored-by: copypasta-g <53397163+copypasta-g@users.noreply.github.com>
Co-authored-by: Mahdi Dibaiee <mdibaiee@pm.me>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
Co-authored-by: siada <siada@users.noreply.github.com>
Co-authored-by: Samuel Hoffstaetter <samuel@hoffstaetter.com>
Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
Co-authored-by: Jon Schoning <jonschoning@gmail.com>
Co-authored-by: Marcin Kubala <marcin@mkubala.pl>
Co-authored-by: anoohya-n <51289018+anoohya-n@users.noreply.github.com>
Co-authored-by: Antoine Reilles <areilles@gmail.com>
Co-authored-by: Clemens Angermann <clemens.tirsch@web.de>
Co-authored-by: Mostafa Moradian <mostafa@loadimpact.com>
Co-authored-by: Adam <adkapx@gmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: sullis <github@seansullivan.com>
Co-authored-by: Vikrant Balyan <vvb@users.noreply.github.com>
Co-authored-by: Matt Traynham <matt.traynham@pureport.com>
Co-authored-by: LEZIER-S2 <60382243+LEZIER-S2@users.noreply.github.com>
Co-authored-by: Thomas Enderle <dommaes@users.noreply.github.com>
Co-authored-by: YishTish <yishail@gmail.com>
Co-authored-by: Slavek Kabrda <slavek.kabrda@datadoghq.com>
Co-authored-by: Tomasz Prus <tomasz.prus@gmail.com>
Co-authored-by: Erica Kastner <dkastner@gmail.com>
Co-authored-by: Richard Whitehouse <richard.whitehouse@metaswitch.com>
Co-authored-by: valentin Bisson <valentin@inrosoftware.com>
Co-authored-by: etherealjoy <sunn.ssb@live.com>
Co-authored-by: Hemant Zope <42613258+zhemant@users.noreply.github.com>
Co-authored-by: Even André Fiskvik <even@myworkout.no>
Co-authored-by: ehansen31 <e.hansen31@live.com>
Co-authored-by: Timur Platonov <tpltn@users.noreply.github.com>
Co-authored-by: Josh Burton <josh@arklabs.nz>
Co-authored-by: Ilja leyberman <7ilya@gmx.de>
Co-authored-by: Bouillie <34162532+Bouillie@users.noreply.github.com>
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
Co-authored-by: tanmen <yt.prog@gmail.com>
Co-authored-by: Alex Buchkovsky <alex.buchkovsky@gmail.com>
Co-authored-by: Natan Laverde <natanlaverde@gmail.com>
Co-authored-by: Nicholas Muesch <nicholas.muesch@datadoghq.com>
Co-authored-by: jburgess <11861789+jburgess@users.noreply.github.com>
Co-authored-by: emileonhardt <40421857+emileonhardt@users.noreply.github.com>
Co-authored-by: Jacob Floyd <cognifloyd@gmail.com>
Co-authored-by: Igor Quirino <iquirino91@gmail.com>
Co-authored-by: Nico König <npunktkoenig@gmail.com>
Co-authored-by: https://gitlab.com/selankon <selankon@selankon.xyz>
Co-authored-by: Shweta Shukla <25539662+shwetashukla@users.noreply.github.com>
Co-authored-by: Shweta Shukla <shshukl@microsoft.com>
Co-authored-by: Bartek Kowalik <bkowalik@users.noreply.github.com>
Co-authored-by: Shinya Sugmoto <34866626+gasugesu@users.noreply.github.com>
Co-authored-by: Artem Shubovych <shybovycha@gmail.com>
Co-authored-by: Artem Shubovych <ashubovych@atlassian.com>
Co-authored-by: Jochen Schalanda <jochen@schalanda.name>
Co-authored-by: Chr1st0ph <cpreissner@gmx.de>
Co-authored-by: Christoph Preißner <christoph.preissner@blu-pa.com>
Co-authored-by: Erikmolin <erik.johan.molin@gmail.com>
Co-authored-by: erikmolin <erik@zaver.se>
Co-authored-by: Nicolas Homble <nhomble@terpmail.umd.edu>
Co-authored-by: Sebastian <63457660+sebohdev@users.noreply.github.com>
Co-authored-by: Sebastian Ohm <sebastian.ohm@ubimax.com>
Co-authored-by: chandra-gh <63366477+chandra-gh@users.noreply.github.com>
Co-authored-by: Chandra Yalangi <chandra.yalangi@appklenz.com>
Co-authored-by: Fabian Freund <mail@fabi.online>
Co-authored-by: Erik Timmers <e.timmers@gmail.com>
2020-04-22 11:47:08 +08:00
Jochen Schalanda
40be1c311e [Java][Client] Fix Gradle and SBT builds for REST Assured generator (#5990)
* Fix Gradle and SBT builds for Java REST Assured generator

* Add missing jackson-databind-nullable dependency to SBT build

* Update rest-assured sample

* Add sample for Java client with REST Assured and Jackson

* Add new REST Assured sample as Maven sub-module
2020-04-22 11:19:17 +08:00
William Cheng
12512cf720 update cxf version (#6003) 2020-04-22 11:02:23 +08:00
William Cheng
5ae783aac5 update jaxrs cxf samples 2020-04-22 10:58:31 +08:00
William Cheng
751b40677b update jaxrs cxf cdi version to 3.1.2 2020-04-22 04:04:25 +08:00
William Cheng
ac5de91b97 update jaxrs cxf version 2020-04-22 00:17:58 +08:00
Harald Fernengel
381ebeb33e [typescript-fetch] support http HEAD as well (#5994)
closes #2935
2020-04-21 14:12:11 +02:00
William Cheng
bf4c5298fd fix port in sample 2020-04-21 18:13:21 +08:00
William Cheng
c9882cb494 add allianz logo 2020-04-21 17:07:29 +08:00
William Cheng
98ea048d46 fix port in pom.xml 2020-04-21 15:59:39 +08:00
Christian Katzorke
8661ed3c04 Added Allianz Technolgy (#5999)
Allianz Technology, the service provider subsidiary of Allianz SE is using OpenAPI generator.
2020-04-21 15:40:08 +08:00
William Cheng
f8911700c7 fix inline schema without object type (#5992) 2020-04-21 15:39:40 +08:00
Yuriy Belenko
da149e1204 [mysql] Add OAuth2 framework tables (#5807)
* Add OAuth table schemas

* Refresh samples

* Expand password column length

* Add copyright notice of OAuth2 schema author

* Refresh samples
2020-04-21 14:25:56 +08:00
Romain Pouclet
fe2f092e7f Expose deprecated flag in model template (#5964) 2020-04-21 14:23:33 +08:00
William Cheng
f80a5b3e64 update meta codegen 2020-04-21 14:03:45 +08:00
William Cheng
15d0982a5e remove deprecated c# files 2020-04-21 13:43:19 +08:00
William Cheng
0f8b0edfad fix dart openapi-generator version 2020-04-21 10:09:42 +08:00
William Cheng
fc7dda8db9 update more samples 2020-04-21 10:04:42 +08:00
William Cheng
5a9b0fcf9e update samples 2020-04-21 02:22:55 +08:00
Richard Whitehouse
935f6100c3 [Rust Server] Add debug log for rust-server-petstore.sh 2020-04-20 18:43:19 +01:00
Richard Whitehouse
2cd5bc45da Update samples 2020-04-20 18:43:19 +01:00
Richard Whitehouse
3ad1646f2e [Rust Server] Fix up merge conflicts 2020-04-20 18:43:19 +01:00
William Cheng
c35f32bf39 Add tests for parents, allParents (#5984)
* add test for regression with a single ref in allof

* fix tests

* add a test for allParents
2020-04-20 18:39:06 +08:00
Justin Black
1766279916 Fixes issue 5876 (#5977)
* Fixes getParentName function

* Updates getChildrenMap to not throw a NPE

* Updates test

* Runs ensure up to date
2020-04-20 16:00:24 +08:00
Erik Timmers
c1cea7f2fb Resolve Elm merge conflicts 2020-04-20 09:20:46 +02:00
Malcolm Murray
4818644278 [BUG] [TYPESCRIPT-AXIOS] Fixing issue where dist folder is not published when publishing typescript-axios generated client with npm publish (#5850)
* Removing build path from gitignore as this causes npm publishing issues

* updating petstore example

* Adding npmignore to typescript-axios generator

* Updating petstore example
2020-04-20 11:27:53 +08:00
William Cheng
c6353a7589 add bearer auth support to C# 2.0 client (#5978) 2020-04-19 23:15:57 +08:00
Kieran Simpson
a15da6feb6 [gradle] Print value of outputDir correctly in gradle plugin (#5936) 2020-04-19 10:32:29 -04:00
zaleski.d
f6572fd2f4 [bug][html2] Fix visibility of body/response schemas (#5643)
* 1441 fix visibility of body/response schemas

* Handle schemas with array items

* Point to template directory in bin script

* Regenerate sample

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-04-19 09:38:28 -04:00
William Cheng
171f71872e add test to reuse object from the server (#5976) 2020-04-19 12:37:48 +08:00
William Cheng
a8620b8663 add bearer support to csharp client (#5975) 2020-04-19 10:46:34 +08:00
Falko Modler
84099eefdc [maven] mark Mojo threadSafe=true + fix concurrency issue in Co… (#5898) 2020-04-18 20:40:09 -04:00
Alexey Makhrov
c5472be422 Ensure model.allParents always includes model.parent. (#5738)
`allParents` is used by generators with multiple inheritance, e.g typescript and perl
2020-04-18 15:22:20 +08:00
Fabian Freund
e47739dda5 return a null instead of application/json when no content types are set (#5941)
* return a null instead of application/json when no content types are set

* update petstore sample

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-04-18 09:57:18 +08:00
Bouillie
cb50ad590f [scala-akka-http-server] Fix a generation problem on operations with empty responses (#5868)
* [scala-akka-http-server] When expecting an empty response, a response with an empty text/plain content is not produced anymore

* Updated scala-akka-http-server samples

Co-authored-by: Olivier Leonard <oleonard@ankama.com>
2020-04-18 01:22:24 +08:00
Ghufz
0adc20f114 [powershell-experimental] ValidatePattern with double-quote (") throws-exception (#5956)
* ValidatePattern having double quote(") throws exception on running Build.ps1

* fix tab with space

Co-authored-by: Ghufran Zahidi <gzahidi@cisco.com>
2020-04-17 23:08:48 +08:00
William Cheng
1574250fc6 fix merge conflicts in pom.xml 2020-04-17 16:26:30 +08:00
William Cheng
8fa76843d0 resolve merge conflicts in the core generator files 2020-04-17 16:10:10 +08:00
William Cheng
faf6f197be Merge remote-tracking branch 'origin/master' into 5.0-sync-master 2020-04-17 15:51:00 +08:00
Bodo Graumann
896867b5e7 Use model as body param for generateAliasAsModel (#4569)
* generateAliasAsModel: Use model name as body param

* Update samples
2020-04-17 13:36:27 +08:00
William Cheng
5acbbf8878 Add YITU Technology to the user list (#5967)
* add yitu to the user list

* use yitu technology
2020-04-17 10:45:01 +08:00
tanmen
efae171054 [typescript-axios][client] Allow apiKey type Promise. (#5953)
* change apiKey type

* recreate sample
2020-04-16 14:04:43 +02:00
Hui Yu
41664b3ba8 [C][Client]Fix data lost when libcurl write-data callback function is called multiple times (#5828)
* [C][Client]Fix the defect of data lost when libcurl write-data callback function (configured by CURLOPT_WRITEFUNCTION) is called multiple times.

* [C][Client]Fix data lost when libcurl write-data callback function is called multiple times (Reset count)
2020-04-16 12:45:44 +08:00
Tomasz Prus
7a0242311f [python/asyncio] fix passing proxy parameters to aiohttp (#5943) 2020-04-15 18:16:08 -07:00
Sebastien Rosset
91cfabdad2 [Python-experimental] Fix TypeError: unhashable type: 'list' (#5810)
* handle scenario when value is a list, fix TypeError: unhashable type: 'list'

* Add __hash__ function

* use list instead of set

* use list instead of set

* use list instead of set

* use list instead of set

* use list instead of set

* use list instead of set
2020-04-15 17:02:56 -07:00
Sebastien Rosset
827904f732 [Python-experimental] Use DER encoding for ECDSA signatures, add parameter to configure hash algorithm (#5924)
* Use DER encoding for ECDSA signatures

* Use DER encoding for ECDSA signatures

* Use DER encoding for ECDSA signatures

* Use DER encoding for ECDSA signatures

* fix python unit tests for http message signature

* Fix error message

* format python code

* format python code
2020-04-15 10:43:33 -07:00
Andy.Yang.cn
c3837ca331 [Rust Server] Fix #5906 (yaml with path parameter error) (#5871)
* [Rust Server] Fix Rust 1.39+ "Box<Future" and "as &Has" compile issue

* [Rust Server] Fix Rust server side pathRegEx and baseName not match issue

* [Rust Server] Add test case yaml with path parameter.
2020-04-15 17:19:00 +01:00
William Cheng
d57ceb86bf fix duplicated semi-colon in c# model (#5934) 2020-04-15 16:28:54 +08:00
Fabian Freund
33850a1312 fixed README/doc of bearer auth support for csharp-netcore (#5931) 2020-04-15 14:41:34 +08:00
chandra-gh
8a17ae6822 Update axios dependency to the new minor version 0.19.0 (#5867)
* Update axios dependency to 0.19.0

Axios (version 0.18.0) used by typescript-axios generator is more than two years old (released in Feb 2018). Axios 0.19.2 released earlier this year contains a lot of fixes and functionality, I recommend updating to 0.19.2.

* Ran ./bin/typescript-axios-petstore-all.sh to update package.json in ./samples

Co-authored-by: Chandra Yalangi <chandra.yalangi@appklenz.com>
2020-04-14 18:42:46 +02:00
William Cheng
747cd087b6 update dependency for java client (#5926) 2020-04-14 20:34:16 +08:00
Shinya Sugmoto
533d686bec [Dart] Remove content type from header when content type is not specified (#5752)
* accept empty content type

* fixed test

* updated samples

* additional comment out
2020-04-14 18:19:34 +08:00
Sebastian
131bd4fd35 Fix for Result Model Name collision (#5923)
* Fix for Result Model Name collision

* Run Scripts

Co-authored-by: Sebastian Ohm <sebastian.ohm@ubimax.com>
2020-04-14 17:23:58 +08:00
Nicolas Homble
c479e518d4 [Python][aiohttp] create venv as rule (#5913)
* create venv as rule

* create venv as rule II
2020-04-14 14:53:28 +08:00
William Cheng
4c64870ab7 add bearer auth support to csharp netcore (#5921) 2020-04-14 11:53:15 +08:00
Erikmolin
dc9f79de6b [Java] Fix inclusive max validation (#5908)
Co-authored-by: erikmolin <erik@zaver.se>
2020-04-14 11:26:50 +08:00
William Cheng
2de0e6f9e4 Add a link to optim blog post (#5922) 2020-04-14 11:04:49 +08:00
William Cheng
a6f521c7b7 minor fix to users.yml 2020-04-13 21:23:51 +08:00
Sebastien Rosset
8af6b7459c [Java] Discriminator lookup should not be case insensitive by default (#5894)
* Add 'discriminatorCaseSensitive' property

* Discriminator value lookup should not be case insensitive

* fix typo

* run scripts

* execute ./bin/utils/export_docs_generators.sh

* fix discriminator mapping, add code comments
2020-04-13 18:54:00 +08:00
William Cheng
aca8089bdd update bitwise config (#5904) 2020-04-13 16:57:44 +08:00
Bruno Coelho
7dd2d3c3eb [swift5] fix warning (#5900) 2020-04-13 16:57:22 +08:00
William Cheng
d8b46dc3d5 add emineo to the list 2020-04-13 16:25:37 +08:00
emileonhardt
54a350fbff Added emineo to list of companies on website (#5905) 2020-04-13 16:16:41 +08:00
Sebastien Rosset
d81c244f9a [Java] Increase java compiler stack size to handle large files (#5901)
* increase java compiler stack size to handle large files

* increase java compiler stack size to handle large files
2020-04-13 13:56:20 +08:00
Chr1st0ph
cc09118ffc [Java][Feign] Bug fix in @Param annotation (#5250)
* FIX-5249 fix @Param annotation for Feign-client code generation

Use paramName instead of baseName in order to make mapping in @Headers
section fit the param-value.

* update samples

* FIX-5249 fix @Param annotation for Feign-client code generation

Use paramName instead of baseName in order to make mapping in @Headers
section fit the param-value.

Co-authored-by: Christoph Preißner <christoph.preissner@blu-pa.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-04-13 09:59:35 +08:00
Richard Whitehouse
95105cef2e [Rust Server] Support complex query parameters (#5831)
* [Rust Server] Support complex query parameters

* [Rust Server] Remove unused extern crate

* [Rust Server] tokio should be a dev-dependency

* [Rust Server] Add test for complex query params

* Update samples

Co-authored-by: Matt Williams
2020-04-12 19:57:50 +01:00
Jochen Schalanda
e82546f342 Update generated build files for REST Assured (#5873)
* REST Assured 4.3.0
* Jackson 2.10.3
* Gson 2.8.6, GSON-Fire 1.8.4
* Okio 1.17.5
* Joda-Time 2.10.5
* ThreeTenBP 1.4.3
* Added missing dependencies for Bean Validation
* Added missing dependencies for `@Generated` annotation
* Refresh REST Assured sample project
2020-04-12 23:36:18 +08:00
Artem Shubovych
62c346f8da [enhancement] [jaxrs-spec] Add builders to models (#4930)
* Update formatting in jaxrs-spec POJOs

* Add generateBuilders option

* Update formatting in jaxrs-spec POJOs

* Disable the builders generation by default

* Ensure samples are up-to-date

* Revert newline change

* Run ensure-up-to-date

* update doc

* fix merge conflicts

Co-authored-by: Artem Shubovych <ashubovych@atlassian.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-04-12 17:27:34 +08:00
Yuriy Belenko
1c51d4138e [mysql] Add basic SQL queries (#5757)
* Add basic SQL queries template

* Add namedParametersEnabled option

* Move model related SQLs into Model folder

* Update README template

* Refresh samples
2020-04-12 16:49:50 +08:00
Gonzalo
6a158de431 Add date time format annotation on pojo for model query parameters (#5437)
* Add date time format annotation on pojo for model query parameters

* Regenetare samples

* update spring samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-04-12 09:39:16 +08:00
Shinya Sugmoto
800293ccf9 [Dart] Fix "basic" auth method and Add Bearer token support (#5743)
* added auth check and lint

* fixed basic auth condition

* Added bearer auth

* updated samples

* update dart petstore samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-04-12 09:38:15 +08:00
Bartek Kowalik
64c99504b4 Fix Scala sttp generator packages (#5890)
* Fix Scala sttp generator packages

* Change package to parameterised
2020-04-11 16:23:48 -04:00
Shweta Shukla
58dc48da8d Update modelGeneric.mustache (#5378)
* Update modelGeneric.mustache

If maxlength is specified for a property type enum it there should be .ToString() appended before length check

* ran the csharp petstore bar and updated the file

Co-authored-by: Shweta Shukla <shshukl@microsoft.com>
2020-04-11 22:45:30 +08:00
https://gitlab.com/selankon
07cb6529b3 Update enum.mustache (#5793)
https://github.com/OpenAPITools/openapi-generator/issues/5792
2020-04-11 22:15:14 +08:00
Sebastien Rosset
e9d35c5a2a [Java-client] Add maven-compiler-plugin in pom.xml and enable linter checks by default (#5866)
* Add maven-compiler-plugin plugin in Java pom.xml and enable linter checks by default

* Add maven-compiler-plugin plugin in Java pom.xml and enable linter checks by default
2020-04-11 00:40:27 +08:00
William Cheng
b7dfd3b2a7 consolidate header selection functions (#5889) 2020-04-11 00:39:33 +08:00
William Cheng
59c3a3127b [PS] add file post-processing to the PowerShell generator (#5864)
* add post process to ps generator

* add import

* fix merge issue
2020-04-11 00:30:05 +08:00
William Cheng
b477341d94 update ps doc 2020-04-10 22:11:10 +08:00
William Cheng
5c2d1eafa2 [PS] better handle special variables (#5885)
* add variable

* fix reserved words
2020-04-10 21:46:27 +08:00
Nico König
8eefbadd06 docs: removes Nico from technical committee (#5883) 2020-04-10 18:43:47 +08:00
Bouillie
d221237309 [Csharp-client] Complex form parameters are not serialized as application/json (#5849)
* [csharp-client] Complex form parameters are now correctly serialized as json.

* Updated csharp samples

Co-authored-by: Olivier Leonard <oleonard@ankama.com>
2020-04-10 15:09:12 +08:00
William Cheng
6c153bd079 [C#] dependency upgrade (#5870)
* Updating packages version (#5313)

* Add support to RestSharp version 106.10.1

Restsharp 106.10.1 needs the Content Lenght as a parameter to AddFile method

* Updating RestSharp Version

Updating RestSharp Version

* Update netcore_project.mustache

* Update netcore_testproject.mustache

* Update Project.mustache

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Updating packages version

Updating packages version

* Execute task async obsolete

Use ExecuteAsync instead

* update csharp samples

Co-authored-by: William Cheng <wing328hk@gmail.com>

* [csharp] Library upgrade fix (#5848)

* On .net45 framework, Restsharp version is updated to 106.10.1 Otherwise, it stays on version 105.1.0

* Added additionalProperties for library versions and target frameworks

* Removed unused properties

* Added an additional property to test for a specific version of RestSharp

* Updated csharp samples

* Fixed nuspec.mustache to use library specific additional properties

* Updated csharp samples

* Updating CI/samples.ci csharp petstore test project file.

* Updated csharp.md

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* [csharp-client] Restored tests on csharp samples (#5879)

* Restored tests on csharp samples

* Restored a reference to the file used to test file uploads

Co-authored-by: Olivier Leonard <oleonard@ankama.com>

* update samples

Co-authored-by: Igor Quirino <iquirino91@gmail.com>
Co-authored-by: Bouillie <34162532+Bouillie@users.noreply.github.com>
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
2020-04-10 15:08:34 +08:00
William Cheng
46f3b4a870 various enhancement to ps exp generator (#5875) 2020-04-09 22:28:58 +08:00
William Cheng
7342077cb1 [PS] Select Content-Type in the response (#5872)
* better return type handling

* update tempalte

* better documentation

* fix greater than
2020-04-09 20:06:26 +08:00
sunn
c73f3c5eb2 Updates to allow the setting of the dateTime format string (#5763) 2020-04-09 09:20:35 +02:00
William Cheng
d599527104 [PS][Experimental] Add validations to model (#5842)
* add validations to model

* better error message

* improve validation
2020-04-09 10:49:37 +08:00
William Cheng
31ecf7306b stop error globally (#5858) 2020-04-08 21:53:51 +08:00
Jacob Floyd
469b21830c Add pythonSrcRoot option to python servers (aiohttp/flask/blueplanet) to support src/ layout projects [and reenable/fix all python server tests] (#5423)
* python server: Add pythonSrcRoot option

This will allow the python project to be in a subdirectory (as specified
in pythonSrcRoot). That could mean following the src layout with sources
under src/ or lib/. Multi-language projects might use a sub directory
like python/, or whatever makes sense for the project.

By default, the pythonSrcRoot is "", meaning the existing behavior is
the default.

* python server: update template files to support pythonSrcRoot

* python server: update docs to add pythonSrcRoot option

* python server: add pythonSrcRoot sample script

* python server: build sample srclayout project

* [Python] copy test files preserving history

* [Python] Make a conflict to preserve file copy history

* [Python] customize pom.xml for src layout tests

* [Python] add python-aiohttp-srclayout tests

* [Python] Fix server tests by updating requirements

Reverts the PR that disabled python2 server tests:
https://github.com/OpenAPITools/openapi-generator/pull/4949

Reverts commits that disabled python3 server tests:
9adfedbfbb
17ee990baa

Issue about the python 3 tests:
https://github.com/OpenAPITools/openapi-generator/issues/5235

I couldn't find an issue about the python2 tests being disabled.
I'm guessing build errors like the following were the trigger:
https://travis-ci.org/github/OpenAPITools/openapi-generator/builds/634238181

Let's see what breaks!

* [Python] Copy setup.py to python-aiohttp

* [Python] Save history while copying setup.py to python-aiohttp

* [Python] Add aiohttp server setup.py

* [Python] Fix python server tests with src layout

* [Python] bump Flask-Testing version

* [Python] Pin pyyaml for py2.7 flask server

* [Python] simplify flask server requirements

* consolidate server tests

* [Python] rebuild python server samples

* [Python] Fix python server requirements for older pythons

Documented minimum python version for our aiohttp server is 3.5.
Documented minimum python version for our flask server is 3.4.
Connexion 2.3 is the last version to support python 3.4 and 3.5, so fix
the version pinning to correctly select <=2.3 for these EOL python
versions. Newer pythons should get the latest if possible as there many
relevant bug fixes.

Werkzeug also needs to be pinned for these old versions in the aiohttp
server just like for the flask server.

3.4 and 3.5 are EOL. We really should increase the minimum supported
version, but that is for another PR to do.
2020-04-07 23:14:13 -07:00
William Cheng
41955b104c add parent for allOf only (#5851) 2020-04-08 11:04:13 +08:00
emileonhardt
55f928a82e Fix for Issue #4840 [BUG][JAVA][spring-mvc] Generated Code for Map of Maps Return Type does not compile (#5240) 2020-04-07 22:32:09 +08:00
William Cheng
73605a0c0e Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-04-07 17:09:43 +08:00
William Cheng
6bf0183696 fix user id in scala tc 2020-04-07 17:07:36 +08:00
William Cheng
22f3e59210 Add default case to handle response code (#5825)
* add default case to handle response code

* fix default response code

* add test for isDefault
2020-04-07 16:48:36 +08:00
William Cheng
ceef040e37 update mysql samples 2020-04-07 16:46:32 +08:00
jburgess
2ff9be6f95 [codegen] Fix 'super.HashCode' for oneOf and allOf Implementations (retry) (#5830)
* Added hasVars after completion of all model post-processing (#5587)

* Post ensure-up-to-date

* Update to check the size of vars and not assume non-null
2020-04-07 16:42:20 +08:00
Nicholas Muesch
7efa65164a Add openapi.yaml file to Java clients (#5765)
* Add openapi.yaml file to Java client

* Move supporting template file to Java root

* Update petstore clients
2020-04-07 16:07:08 +08:00
Michele Albano
5fd724fceb C client generator improvements to support petstore. Solves #5836 (#5837)
* C client generator improvement to support:
openapi-generator/modules/openapi-generator/src/test/resources/3_0/petstore.yaml

* Improvements to the C client generator:
- moved base64* from apiClient.c to binary.h/binary.c
- changed CR/LF to LF in binary.h/binary.c

* C client generator: better support for base64encode / base64decode
2020-04-07 11:40:57 +08:00
William Cheng
ff0c730ec8 Add Bouill to the Scala technical committee (#5843) 2020-04-07 11:18:10 +08:00
Bouillie
6cdfb7ca9f Scala akka http server - normalization of some vendor extensions (#5829)
* [scala-akka-http-server] Normalized vendor extension "paths" to "x-paths"

* [scala-akka-http-server] Normalized vendor extension "hasDefaultValue", "isDefault", "specificMarshallers", "fileParams", "nonFileParams"

Co-authored-by: Olivier Leonard <oleonard@ankama.com>
2020-04-07 01:00:48 +08:00
William Cheng
5dd572035c minor fix to http basic auth (#5839) 2020-04-06 16:07:36 +08:00
Natan Laverde
6cbc442b02 [C++] [Qt5] [Client] fixed cpp-client-qt5 HttpRequestWorker contentCompression variables initialization (#5834)
When contentCompression is not enabled, the variables isRequestCompressionEnabled and isResponseCompressionEnabled in HttpRequestWorker are not being initialized.
Without initialization the compress function could be called and the request content could be an empty QByteArray instead of original request body.
2020-04-06 08:53:41 +02:00
William Cheng
f1325e23ee support enum in parameters (#5838) 2020-04-06 14:45:45 +08:00
William Cheng
d893ee883b use allVars to cover all properties (#5835) 2020-04-06 10:54:49 +08:00
Richard Whitehouse
cdb500c156 [Rust Server] Fix no features build (#5747)
* Remove test file erroneously checked in

* [Rust Server] Fix no features build

- Need serde_json for no-features build for undefined value structures
- Don't include `IntoHeader` type and implementations if we aren't including the client/server features
- Don't export the `IntoHeader` type at all - it's internal

* Update samples
2020-04-05 19:08:39 +01:00
Michele Albano
e9c1346386 tests for models for C-libcurl generator (#5699)
* First try to generate unit tests for the models of the C-libcurl client. Models into models are not supported yet.

* Added unit tests for the modules of the C-libcurl client to the git repository.

* Support for objects having other objects as properties, for the C-libcurl client generator

* Proper formatting of generated code
2020-04-06 01:42:50 +08:00
Alex Buchkovsky
166aae6fec [BUG] [KOTLIN] Fix default value generation for Kotlin Strings (#5776)
* fix default value generation for kotlin

* add updated pet templates

* Revert "add updated pet templates"

This reverts commit 7e8168ad

* regen pet store projects code
2020-04-06 01:30:03 +08:00
Antoine Reilles
3b495bab12 [jaxrs-cxf-cdi] fix allOf equals and hashCode (#5756)
When generating model that use allOf, the equals and hashCode methods
must take the parent class into account.
2020-04-06 00:26:02 +08:00
William Cheng
8a12a810d4 Update swagger parser to 2.0.19 (#5413)
* update swagger parser to 2.0.18

* fix online server exception

* Revert "fix online server exception"

This reverts commit fe3cb5221f.

* update parser to 2.0.19
2020-04-06 00:12:40 +08:00
William Cheng
52018c43ba Minor improvements to scala akka server (#5823)
* minor improvements to scala akka server

* add samples

* update doc
2020-04-05 10:09:31 +08:00
Bouillie
af85fab52b Scala akka-http server (#5758)
* Scala akka-http server base implementation

* [scala-akka-http-server] petStore samples

* Improved the formatting of generated files

* Updated scala-akka-http server samples

* [scala-akka-http-server] the groupId, artifactId and artifactVersion default value are used as intended.

* Fixed the default operation not being correctly generated on parameterless operations

* Added build.sbt.mustache supporting file

* Updated scala-akka-http server samples

* ScalaAkkaHttpServer: Fixed a String.format call to use Locale.ROOT for locale

* [scala-akka-http-server] Fixed defaultValue being escaped during generation

* Added scala-akka-http.md

* Replaced all "⇒" character with "=>" to retain compatibility with scala 2.13

* [scala-akka-http] Added a config option akkaHttpVersion
It's set in the generated build.sbt.

* Updated scala-akka-http server samples

* [scala-akka-http] More accurate akkaHttpVersion parsing

* Updated scala-akka-http.md

* [scala-akka-http] Changed the akka-http version check to fix the generation of StringDirectives

* Updated scala-akka-http samples

* updated scala-akka-http.md

Co-authored-by: Olivier Leonard <oleonard@ankama.com>
2020-04-04 23:16:14 +08:00
William Cheng
00ec8fd15b fix array return (#5822) 2020-04-04 21:49:40 +08:00
William Cheng
42e87c8f33 rename hostsetting, validate base url (#5821) 2020-04-04 17:25:05 +08:00
Sebastien Rosset
242c2e8544 [Python-experimental] Documentation enhancement for oneOf schema and minor err msg improvement (#5791)
* Add documentation to generated code

* Improve error message

* Improve documentation

* Improve documentation

* Improve documentation

* Improve documentation

* Improve documentation

* Improve documentation

* Run sample scripts

* Address review comments

* Address review comments

* Fix problem in python error message
2020-04-03 20:49:23 -07:00
Sebastien Rosset
acae76b38f [codegen] Cachesize config seconds (#5816)
* make name cache configurable

* Address review comments
2020-04-03 17:15:55 -04:00
Sebastien Rosset
3d99c58338 make name cache configurabl (#5775) 2020-04-03 23:11:48 +08:00
Sebastien Rosset
9c8fb9db46 [codegen] Use once(LOGGER) to reduce amount of identical warning messages (#5808)
* Warn once instead of many times when the log statement does not have contextual information

* Warn once instead of many times when the log statement does not have contextual information
2020-04-03 23:10:12 +08:00
William Cheng
baeb1dd385 [PS][Experimental] Add tests for array of object in response (#5814)
* debugging array response

* fix find pet tests

* better tests to ignore order
2020-04-03 20:12:11 +08:00
William Cheng
281d154ff4 [PS][Experimental] add withHttpInfo support, fix "null" return (#5811)
* add with http support

* use full name in tests

* using full name in test

* skip type check
2020-04-03 15:47:04 +08:00
William Cheng
bc12ada4c0 use write verbose in auth, better api doc (#5804) 2020-04-03 10:14:06 +08:00
tanmen
7d35268414 [typescript-axios][client] Unnecessary imports occurs when using withSeparateModelsAndApi (#5797)
* add ts-ignore

* add petstore sample
2020-04-02 19:17:40 +02:00
Aleksandr Nekrasov
ea2fd0f1b6 fix scala-akka java8 serializers (#5742)
* fix scala-akka java8 serializers

* regenerate samples for akka-http
2020-04-02 12:18:21 +08:00
Bouillie
65eff3ba4c [Csharp-client] Complex form parameters are not serialized as application/json (#5787)
* [csharp-client] Complex form parameters are now correctly serialized as json.
Reference: http://spec.openapis.org/oas/v3.0.3#special-considerations-for-multipart-content

* Updated bin/windows csharp sample generation scripts to point to the correct directories

* Updated csharp samples

Co-authored-by: Olivier Leonard <oleonard@ankama.com>
2020-04-02 11:59:27 +08:00
Ilja leyberman
8a82f48f5e please add openVALIDATION Project to readme (#5534)
* added openVALIDATION Project to readme

* Update README.md

Co-Authored-By: Akihito Nakano <sora.akatsuki@gmail.com>

Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
2020-04-02 11:50:57 +08:00
Slavek Kabrda
3f445772ae [go-experimental][go][client] Remove unreachable code in go client API methods (#5611)
* [go-experimental][go][client] Remove unreachable code in go client API methods

* Properly regenerate all samples
2020-04-02 11:15:31 +08:00
Josh Burton
04160dab3d [dart-dio] Fixes --model-name-suffix having no effect (#5669)
Fixes #5409
2020-04-02 11:13:23 +08:00
Jim Schubert
2957dd4d45 [cli] Add --global-property for -D replacement (#5687)
-D option has been deprecated as it was previously used to:

* Pass "system properties"
* Pass additional properties

This was confusing because we already have --additional-properties and
because Java System Properties are passed as -D before program
arguments.

Confusion around the -D option had existed for some time, but when we
introduced the thread-safe GlobalSettings to avoid overwriting Java
System Properties, we created a hard break from Java System Properties
in the generator. This also disconnected the previous "system
properties" from accepting additional properties.

Once these newly deprecated methods are removed, we will have a clear
separation of concerns between:

* Java System Properties
* Global generator properties (used as workflow context)
* Additional properties (used as generator options)

This commit marks multiple places for cleanup in 5.0. These will be
breaking changes, and lower effort to break in 5.0 with deprecation
warnings now rather than adding sibling properties throughout the code
and potentially introducing logic errors.
2020-04-02 11:11:02 +08:00
Jim Schubert
e14e5fccf3 [cli][docker] Better expose version/sha information of builds (#5736)
* [cli] Some CLI improvements…

* Introduce --version
* Introduce --help
* Add --sha to version command for short SHA display
* Output Version and SHA details
* In new --version output, display repo and doc site

Additional cleanup to suppress warnings and code quality.

* [docker] Adds labels for metadata

This adds image labels to store metadata on the online and cli docker
images, using standard labels:

* org.opencontainers.image.created
* org.opencontainers.image.revision
* org.opencontainers.image.title
* org.opencontainers.image.version

These can be inspected via 'docker inspect IMAGE_NAME' and may be useful
in tooling/automation or bug reports submitted by users.

For more details on these labels, see:
https://github.com/opencontainers/image-spec/blob/master/annotations.md

* Include version --full for equiv to --version
2020-04-02 11:05:25 +08:00
William Cheng
4623ec86d3 [PS][Experimental] Better common verb handling (#5783)
* better common verb handling

* better debugging

* add option to customize common verb
2020-04-02 08:19:16 +08:00
William Cheng
12440ca877 add map example (#5778) 2020-04-01 14:59:33 +08:00
William Cheng
f58ebf65d1 use Initialize instead of prepare (#5777) 2020-04-01 11:21:11 +08:00
William Cheng
24513091b0 use prepare instead of new (#5773) 2020-04-01 09:24:07 +08:00
Timur Platonov
01d07694fb fix request.on_complete message when tempfile is nil (#5745)
* fix request.on_complete message when tempfile is nil

* update faraday client sample

* add openapi3 client samples
2020-04-01 00:10:31 +08:00
William Cheng
0fd5d46585 add support for common verbs (#5771) 2020-03-31 22:37:30 +08:00
William Cheng
de40cfc128 comment out kotlin vertx server test (#5767) 2020-03-31 19:10:41 +08:00
William Cheng
3316f17ed5 [PS][PowerShell] fix passthru, use switch instead of bool (#5768)
* fix passthru, use switch

* remove line
2020-03-31 19:10:27 +08:00
ehansen31
7e22b4b8cf [Erlang-Server] security definition context changes don't propagate to handler (#5751)
* Map Merge Context & Params

handler requires context and params to be merged before returned to user defined request_handler.

* post build & shell script

* Delete VERSION
2020-03-30 23:20:51 +08:00
Even André Fiskvik
603709e17e [kotlin] Fix #5247 incorrect enum parameter type for arrays (#5435) 2020-03-30 16:08:17 +08:00
Hui Yu
daa737dafa [C][Client] Support SSL client authentication for the c client (#5719)
* [C][Client] Support SSL client authentication

* [C][Client] Support SSL client authentication, update sample
2020-03-30 14:35:33 +08:00
William Cheng
861fcce578 add default headers support (#5746) 2020-03-30 12:15:27 +08:00
Richard Whitehouse
d0d0252fff [Rust Server] Don't use structs in models (#5557)
* [Rust Server] Don't use structs in models

This avoids namespace clashes between model names and types used.

* [Rust Server] Handle models named after results

* [Rust Server] Add test for result models

* Update samples
2020-03-29 20:04:56 +01:00
William Cheng
01f02f6c57 [PS][Experimental] Add multiple server support (#5741)
* code comment

* add get host setting

* add multiple server support
2020-03-29 21:44:18 +08:00
sunn
94152c4d35 Remove warning for unused camel case vendor extension for Qt5 client and server (#5731) 2020-03-29 13:06:41 +02:00
William Cheng
77c1907f51 better readme, type mapping, new option (#5740) 2020-03-29 14:33:42 +08:00
William Cheng
53a230a9a3 better appveyor test (#5739) 2020-03-29 12:55:22 +08:00
William Cheng
57dc8a43f6 fix file path in release_version_update_docs (#5724) 2020-03-29 00:55:25 +08:00
William Cheng
eecc05f888 Fix CI failures (#5734)
* update ci to use petstore 1.0.4

* comment out test

* comment out test

* comment out update user test

* comment out more tests

* use latest petstore

* comment out updatePetWithForm

* comment out update pet test
2020-03-29 00:55:06 +08:00
Jim Schubert
2a115090a7 Update bump.sh to go SNAPSHOT to version (#5727) 2020-03-27 21:30:46 -04:00
Hemant Zope
2f9c20a175 [C] fix decode funtion (#5642)
* fix function names and add parameter to return decoded bytes length from base64decode function

* format base64decode function to avoid unnecessary malloc and fix wrong length assigning

* update the pointer assigning

for some reason var++ / *var++ cannot be done on int *var, hence making a local variable which is incremented and at the end it is assigned to the pointer.
2020-03-27 23:16:20 +08:00
William Cheng
b49128f04b Fix SSL setting in checkout script (#5725)
* fix ssl setting in checkout script

* add check for sbt-openapi-generator
2020-03-27 20:21:28 +08:00
val
bb2112f3de [C++] [Qt5] fixed cpp-client-qt5 HttpRequestWorker requests crashing on timeout... (#5651)
* - fixed cpp-client-qt5 HttpRequestWorker requests crashing on timeout when they have actually NOT timed out (were calling back into a deleted struct).

* #minor fixes after review

* Regenerate changed files

Co-authored-by: valentin Bisson <valentin@inrosoftware.com>
Co-authored-by: etherealjoy <sunn.ssb@live.com>
2020-03-27 16:00:26 +08:00
Matt Traynham
7baa1870b7 5211 - Use allVars instead of vars for Kotlin client (#5396) 2020-03-27 15:56:46 +08:00
William Cheng
a0ca253218 update samples (#5722) 2020-03-27 13:55:55 +08:00
William Cheng
c224cf484b 4.3.0 release (#5721) 2020-03-27 11:34:43 +08:00
Richard Whitehouse
cfe3b86d70 [Rust Server] Handle text/xml correctly (#5660)
* [Rust Server] Handle text/xml correctly

  Treat application/xml the same as text/xml as per RFC 7303

* [Rust Server] Add test for text/xml

* Update samples
2020-03-26 17:14:13 +00:00
William Cheng
7a01062a41 Minor improvments to JS apollo generator (#5714)
* minor improvments to js apollo generator

* comment out apollo
2020-03-26 21:03:49 +08:00
William Cheng
94b962e198 Add Scala client scripts to ensure-uptodate process (#5712)
* add scala client to ensure-upto-date

* new scala-akka petstore oas3 folder

* regenerate scala akka oas2 petstore

* remove script
2020-03-26 20:36:53 +08:00
Akihito Nakano
419bcf02c6 Add yutaka0m to Kotlin Technical Committee (#5716) 2020-03-26 20:30:57 +08:00
Erica Kastner
ce49fe587f Generator for JavaScript/Apollo Client (#5645)
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-03-26 17:02:44 +08:00
Sebastien Rosset
527d5e4248 [Java] Update version of maven-surefire-plugin (#5509)
* use more recent version of maven-surefire-plugin

* use more recent version of maven-surefire-plugin

* higher debug level for troubleshooting ci issue

* temporarily increase debug log to help troubleshoot

* Use local instance of pet store service for unit test purpose

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* Add more logging to troubleshoot unit test failures

* use random ID for Java unit test instead of fixed id

* add code comments and specify URL for java unit test

* reenable quiet argument

* fix java unit test issues

* fix java unit test issues

* Revert "fix java unit test issues"

This reverts commit e8508416ff.

* fix java unit test issues
2020-03-26 16:47:51 +08:00
Sebastien Rosset
2c1ca02b61 [codegen][Go] Fix compilation error of generated go code when schema is free form object (#5391)
* Fix code generation for free-form objects in go-experimental

* Execute scripts in bin directory

* Add more use cases for open-ended types

* Add more use cases for open-ended types

* Add more use cases for open-ended types

* add code comments

* Better name for test properties

* handle scenario when type is arbitrary

* handle interface{} scenario

* handle interface{} scenario

* add helper function isAnyType

* isAnyType function

* implementation of isAnyType function

* fix javadoc issue

* handle interface{} scenario

* use equals comparison instead of ==

* merge from master

* Add code documentation

* add code comments, remove unused min/max attribute, fix equals method

* Handle 'anytype' use case

* add code comments

* override postProcessModelProperty to set vendor extension

* Use vendorExtensions.x-golang-is-container

* fix compilation error of generated code

* fix compilation error of generated code

* fix compilation error of generated code
2020-03-26 16:40:34 +08:00
Jim Schubert
256a431f03 [gradle] Include engine option for handlebars generation (#5686) 2020-03-25 12:27:05 -04:00
Tomasz Prus
625c734cfe [python/asyncio] explicitly close client session via async context manager (#5621) 2020-03-25 07:59:27 -07:00
William Cheng
928d065bbf use basic parsing (#5702) 2020-03-25 15:25:28 +08:00
Slavek Kabrda
bb38bb0626 Fix generation of oneOf interfaces for oneOf usage in properties (#5400)
* Fix generation of oneOf interfaces for oneOf usage in properties

* Only generate oneOf interface models when oneOf is defined
2020-03-24 20:26:08 -04:00
Richard Whitehouse
cff1f1ce80 [Rust Server] Support operation overriding server path on client (#5554)
* [Rust Server] Support operation overriding server on the client

* [Rust Server] Test operation overriding sever

* Update samples
2020-03-24 16:41:11 +00:00
Sebastien Rosset
f740379cfa remove processing of http_signature_test.mustache (#5696) 2020-03-24 23:47:55 +08:00
William Cheng
76a2f69dea comment out powershell petstore in uptodate script 2020-03-24 19:57:25 +08:00
William Cheng
dcd7bed668 [Go][Experimental] Rename extensions from x-basetype to x-go-base-type (#5691)
* rename go vendor extension

* update go exp petstore samples oas3
2020-03-24 19:56:05 +08:00
William Cheng
b242b4aae6 Add michelealbano to C technical committee (#5692) 2020-03-24 18:22:24 +08:00
Bruno Coelho
ae66c335b9 [kotlin][client] make base path globally configurable (#5450)
* [kotlin][client] make base path configurable

* [kotlin][client] update pet project

* [kotlin][client] set default base path

* [kotlin][client] set default base path

* [kotlin][client] set default base path
2020-03-24 18:18:04 +08:00
Slavek Kabrda
4c5785dc37 [go-experimental] Fix nullable support (#5414)
* Fix nullable support in go-experimental client

* Fix support for models with parents and container fields

* Make sure that oneOf interfaces serialize properly even if they're required (non-pointers) on other models

* Spaces => tabs

* Regenerate samples

* Make some methods of nullables pointer-receivers, add tests

* Improve the Get/Set logic to make usage more convenient

* Address review
2020-03-24 17:44:12 +08:00
YishTish
9d96ab0983 Nodejs express js packages update (#5675)
* Updated to new nodejs packages, depending heavily on express-openapi-validator. Requires quite a change in code.
Updated the business-logic in the controllers/Controller.js file.
Logger now records also timestamp of events.
Files are uploaded according to definition in config.js file

* Removed commented-out code; Changed openApi document extensions to suit new express-openapi-validator definition; multipart and file uploading is supported now; Automatic response returns the values the were sent in the request

* fixed README documentation, fixed a mistage in package.json/mustache

* added generated files that were created when running the ./bin/test file
2020-03-24 17:37:18 +08:00
Richard Whitehouse
05ace4f43f [Rust Server] Preserve path provided in base path (#5555)
* Preserve path provided in base path
* Update samples
2020-03-24 09:25:48 +00:00
William Cheng
eac18a779d [PowerShell][Experimental] Better docstring (#5688)
* add docstring to powershell module

* add doc string
2020-03-24 15:04:36 +08:00
William Cheng
63c8f5f965 [PowerShell] Test powershell petstore client in Appveyor (#5674)
* remove scala version in parent pom

* test ps petstore in appveyor

* fix command

* build and import

* fix import module

* fix import

* skip module import

* run multiple commands

* move to test script

* test ps exit

* fix exit

* check last status code

* clean tests

* exit last code

* add import

* change dir

* skip build failure

* fix check

* trigger build failure

* fail fast

* restore c# test

* new line comment

* add powershell exp to ensure up to date script
2020-03-24 13:39:15 +08:00
Thomas Enderle
19862f85e3 [jaxrs-reasteasy-eap] Fix invalid Bean Validation annotations for Longs (#5659)
* fix issue #5658

* update samples
2020-03-24 10:29:07 +08:00
LEZIER-S2
dec57d375e [asciidoc] Allow the inclusion of additional documentation to t… (#5260)
* [asccidoc] Allow the inclusion of additional documentation to the asccidoc generated

Resolves #5228
2020-03-23 22:22:40 -04:00
William Cheng
6bf432a1d9 Remove scala version in parent pom (#5647) 2020-03-23 22:21:41 -04:00
Matt Traynham
6400ce2330 [kotlin][client] Add Jackson to interface properties and remove extra line feed (#5459)
* [kotlin][client] Ensure Jackson annotations are consistent with interface vars

* [kotlin][client] Rebuild samples

* [kotlin][client] Some kotlin client enhancements

- Don't use JsonFormat for Date objects, this should be controlled via
  a custom serializer/deserializer or a turning on and off serialization
  features of Jackson.  I've updated the jacksonObjectMapper config to
  write the dates as strings, which I think was intended in the original
  commit.
  https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/SerializationFeature.html#WRITE_DATES_AS_TIMESTAMPS
  https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/cfg/MapperConfig.html#getDateFormat--
- Dont' use @JsonFormat(shape = JsonFormat.Shape.OBJECT) for enums.
  This causes Enums to be formatted as objects with an internal "value"
  field.  In reality, OpenAPI enums are just strings without properties
  and should be treated as a string.
  https://www.baeldung.com/jackson-serialize-enums#2-enum-as-json-object
- Add's Kotlin use site annotation @get: to JsonProperty for parent interface
  properties.  Otherwise Kotlin will warn:
  "This annotation is not applicable to target 'member property without
  backing field or delegate'"
- Add's JsonTypeInfo annotations to interfaces for inheritance.  This
  was copied verbatim from the kotlin-spring generator.
  https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/kotlin-spring/typeInfoAnnotation.mustache

* [kotlin][client] Rebuild kotlin samples
2020-03-24 10:05:46 +08:00
Hui Yu
f7fe93b8d6 [C][Client] Check the pointer before deleting operation to avoid core dump label:"Client C" (#5626)
* [C-libcurl] Check the pointer before deleting operation to avoid core dump

* [C-libcurl] Check the pointer before deleting operation, update sample
2020-03-24 09:53:01 +08:00
Richard Whitehouse
28ea718004 [Rust Server] Run rustfmt over rust-server output (#5558)
* Run rustfmt over rust-server output

Automatically run rustfmt over rust-server output if --enable-post-process-file is set

* Update samples

* Add note about configuring post processing
2020-03-24 00:09:40 +00:00
Richard Whitehouse
15a2390fe5 [Rust Server] Flag responses as must use (#5559)
* [Rust Server] Flag responses as must use if there is more than a single option
* Update samples
2020-03-23 18:47:12 +00:00
Mostafa Moradian
b3b3941d09 [k6] bugfixes to improve the output script (#5614)
* [k6] Skip appDescription escaping

* [k6] Fix variable identifier in output

* [k6] Fix bug with reserved words handling
2020-03-24 01:17:39 +08:00
Vikrant Balyan
4de97a47e3 Adds configuration option to skip certificate check. Fixes a typo. Fixes an issue which was restricting from cookie to get consumed (#5657) 2020-03-24 01:04:09 +08:00
Richard Whitehouse
806562bb05 [Rust Server] Retire mimetypes modules (#5560)
* Retire mimetypes module to prevent collision in mimetype identifiers
* Update samples
2020-03-23 13:04:29 +00:00
Vikrant Balyan
5549c1dd2d [powershell-experimental] Protects against stackoverflow when OAS spec has circular references (#5646)
* protects against stackoverflow when OAS spec has circular references

* protects against stackoverflow when OAS spec has circular references
2020-03-23 15:54:32 +08:00
William Cheng
57eb1a0fcf [PowerShell] Fix map type (#5638)
* fix map type

* remove output type, fix appveyor

* test macos

* comment out failing scala test

* fix typo: configuration

* Revert "comment out failing scala test"

This reverts commit 1dcf84ffcb.
2020-03-23 15:18:17 +08:00
Michele Albano
6ceb3ff6f1 Solving issue #5623 and supporting bools for C client label:"Client: C" (#5624)
* Removed stray "printf"s in
modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java

* Support for booleans in C client

* Update README.md

* Change to C API mustache files to solve issue #5623

* Debugging of C's modle-body.mustache, as suggested by ityuhui

* Final changes suggested by ityuhui
2020-03-23 15:11:40 +08:00
Vikrant Balyan
9e145f0916 [PowerShell] Fixes typo (#5648) 2020-03-23 15:03:36 +08:00
William Cheng
1065595a9a Fix integration tests (Travis, CircleCI) (#5672)
* fix php tests

* fix scala tests

* update ts angular v6 rest

* fix user create test

* fix spring cloud test

* comment out user delete

* fix angular v7 tests

* fix user test

* fix tests

* fix go exp tests

* commented out delete user tests

* comment out delete user tests in go openapi 3

* fix clojure tests
2020-03-23 14:01:12 +08:00
Richard Whitehouse
be983b5212 [Rust Server] Build APIs which have no available examples (#5561)
* [Rust Server] Build APIs which have no examples

* [Rust Server] Add test for APIs with no examples

* Update samples
2020-03-22 19:54:48 +00:00
Richard Whitehouse
b0520a346d [Rust Server] Support multiple identical MIME types (#5562)
* Support multiple identical MIME types in a multipart request
* Add test for multiple identical MIME types
* Update samples
2020-03-22 15:30:37 +00:00
Richard Whitehouse
058d1d2aa0 [Rust Server] Return 405 Method Not Allowed (#5563)
* Return 405 Method Not Allowed if the path matches, but the method doesn't.
* Update samples
2020-03-22 11:57:36 +00:00
sunn
5de9deb6e7 Handle negative response from the server (#5649) 2020-03-21 21:31:39 +08:00
William Cheng
96038addd3 update release date 2020-03-21 00:44:29 +08:00
William Cheng
2c1d649d83 Revert "scala-version 2.11.12 (#5618)"
This reverts commit 6b984a926a.
2020-03-21 00:00:20 +08:00
Richard Whitehouse
4aefc9ba33 [Rust Sever] Upgrade to openssl 0.10 (#5564)
* [Rust Server] Upgrade to openssl 0.10

Use hyper-openssl/openssl instead of hyper-tls/native-tls/openssl on Linux

* Update samples
2020-03-19 21:05:16 +00:00
sunn
8af3d6d9bf Port client updates to server (#5634) 2020-03-19 16:34:59 +01:00
William Cheng
b1efe20a04 [PowerShell] minor improvements and bug fixes (#5635)
* add output type, minor format fix

* minor test improvement
2020-03-19 22:51:13 +08:00
William Cheng
457aff8496 [Powershell] refactor the client generator (#5629)
* add api client

* add local variables

* add configuration

* add header/query/form parameter support

* add partial header

* add auth, fix parameters type

* fix accept, content type

* url query string

* fix path, header

* remove dep on C# client

* fix method naming with package name

* fix object

* convert result from json

* better response handling

* remove tostring method

* fix model doc

* fix default module

* generate api test files

* better api, model tests

* fix add pet

* add appveyor

* fix accept, content type

* add petstore tests

* fix form parameters

* test delete

* better file handling (upload)

* better code sample

* add package version, better doc

* delete unused files

* fix header parameters

* clean up api client

* update samples

* support query parameter

* better method and parameter naming

* minor formatting change

* better doc, fix cookie parameter

* better doc

* add api prefix support

* better api nam prefix option

* fix configuration

* throw errors for required parameter

* fix authentication

* add try catch block to sample code

* rename model

* use debug, clean up comment

* revise code

* move bin script

* update doc

* add new file

* better map support
2020-03-19 15:53:11 +08:00
Jim Schubert
dc36d59ba9 micheleISEP->michelealbano (#5625) 2020-03-19 13:08:10 +08:00
sullis
6b984a926a scala-version 2.11.12 (#5618) 2020-03-19 00:24:31 +08:00
Jim Schubert
accacfe39a [scala] Regenerate akka sample (#5622) 2020-03-17 21:34:44 -04:00
Lars Hvam
d42f27c9f5 [typescript-fetch] add interfaces, withInterfaces (#5612)
* typescript-fetch: interfaces, first draft

* fix name in description
2020-03-17 22:04:30 +01:00
Adam
47e24af369 [Kotlin] Remove kotlin-reflect dependency when not needed (#5502)
* Remove kotlin-reflect dependency when using CodeGen

* Update Kotlin tests

* Regenerated unit test samples

* Remove newline in generated build.gradle files
2020-03-17 21:24:14 +08:00
Mostafa Moradian
32e4361822 [k6] Add blog post about using the k6 generator (#5608) 2020-03-17 18:22:13 +08:00
Clemens Angermann
e99b3e038a Adding Response Interceptor (#5500)
* added Response interceptor for native clients

* added Response interceptor for native clients
2020-03-17 16:59:36 +08:00
wing328
05cb1f88d1 Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2020-03-17 16:03:26 +08:00
wing328
691c46e2f5 update doc 2020-03-17 16:02:31 +08:00
Aleksandr Nekrasov
5beccd12b6 [scala][templates] java 8 dates support (#5291)
* [scala][akka-http-client] java8 dates support

* scala-akka readme doc updated

* DateSerializers renamed

* rename serializers

* move date-library option to abstractScala

* generators docs updated

* enum defined for date libraries

* Backport to scala-http-client

* fix scala-akka-client date serializers

* fix typo in docs

* switch scala templates to java8 (jsr-310) date library by default

* update scala samples with java8 date library

* update scala generators docs with java8 default date library

* fix scala-play-server generator cli options as only java8 dateLibrary supported

* fix scalaz DateTimeCodecs template to support java8

* scalaz ci test againt java7 removed as it generate scala 2.11.8 client which is java8 based
2020-03-17 15:54:24 +08:00
Bruno Coelho
9ba7c4af3c [swift5] stop hiding network error (#5603)
* [swift5] stop hiding network error

* [swift5] stop hiding network error
2020-03-17 15:42:09 +08:00
Sebastien Rosset
a16079ce7b [Java] Generated API class has wrong dataType and does not compile Issue (#5331)
* add unit test assertion

* add check for composed schema

* add support for x-allOf-name

* change x-allOf-name to x-all-of-name

* Add more troubleshooting information

* Add more troubleshooting information

* Add more troubleshooting information

* Add more troubleshooting information
2020-03-17 15:37:33 +08:00
Aleksandr Nekrasov
b40257f53a fix default value for abstract scala and scalatra server impl (#5578) 2020-03-17 15:04:13 +08:00
Antoine Reilles
27175c71df [jaxrs-cxf-cdi] Support PATCH httpMethod (#5574)
Update the required CXF version to 3.1.2 since PATCH support appeared
with this version.

Add the cxf PATCH annotation to the imports so that the generated code
when defining a PATCH api compiles.
2020-03-17 14:59:35 +08:00
anoohya-n
d750d6643d NodeJS - Adds missing keyword (#5606) 2020-03-17 14:54:29 +08:00
Marcin Kubala
0cf5d356cc Scala-Akka: Add missing body to PATCH requests (#5605) 2020-03-17 01:02:06 -04:00
Justin Black
0a3272697d Adds parseFlattenSpec (#5526)
* Adds parseFlattenSpec, updates tests and helper functions

* Adds parseSPec invocation inside parseFlattenSpec
2020-03-16 21:12:36 -04:00
Michele Albano
fc9d4584ca PR to solve 2 open issues on enums: #5091 and #4293 (#5477)
* PR to solve 2 open issues on enums:
Issue 5091 needs to generate enums also when the enum is directly in a param to a API call, instead than in a model. I did that by copying and adapting enum code from *model* to *api*
Issue 4293 needs to decorate enums, for when enum names or enum values are repeated over the yaml definition.

* PR to solve 2 open issues on enums:
Issue 5091 needs to generate enums also when the enum is directly in a param to a API call, instead than in a model. I did that by copying and adapting enum code from *model* to *api*
Issue 4293 needs to decorate enums, for when enum names or enum values are repeated over the yaml definition.

* Enums decorated: with {{projectName}}_{{classVarName}}_{{enumName}}_ in the models, with {{projectName}}_{{classVarName}}_{{enumName}}_ in the operations.

* Changes to the c client:
- Removed white space.
- Removed ToJSON and FromJSON function for the enums, since they are not used
- Sanitized project name in the .java file. For example, this solves a problem with the issue #2338, where the yaml file had title: "Skycoin REST API."

* Changes to the c client:
- Removed white space.
- Removed ToJSON and FromJSON function for the enums, since they are not used
- Sanitized project name in the .java file. For example, this solves a problem with the issue #2338, where the yaml file had title: "Skycoin REST API."
2020-03-16 13:53:53 +08:00
Sebastien Rosset
5e6a261d12 [go-experimental] Do not generate HTTP signature unit test for every generated SDK (#5588)
* Do not generate HTTP signature unit test for every generated SDK

* Add golang 1.14 to CI environment

* fix unit test issues

* remove script commands that were commented out

* add support for ed25519 private keys
2020-03-14 19:34:58 -04:00
Jon Schoning
972bd8e280 [haskell-http-client] update stack; exclude problem time versions (#5589) 2020-03-13 11:40:06 -05:00
Bruno Coelho
fe02dfe196 [swift] add option for API prefix (#5567)
* [swift] add option for API prefix

* [swift] update docs
2020-03-13 22:08:51 +08:00
Bruno Coelho
86159cba49 [Swift] fix URLSession file upload (#5546)
* [swift5] - fix URLSession file upload

* [swift5] - fix URLSession file upload

* [swift5] fix file upload

* [swift5] - fix URLSession file upload

* [swift] add unit tests for file upload

* [swift] update samples copyright
2020-03-13 22:04:57 +08:00
Akihito Nakano
f22efe3c62 Add a link to the slide (#5590) 2020-03-13 22:03:55 +08:00
Esteban Gehring
ddeef5114b typescript-angular: fix zone-js version for angular 8 (#5585) 2020-03-12 10:00:01 +01:00
Samuel Hoffstaetter
de2753dfc7 [markdown] Fix broken links when generating markdown (#5569)
* [markdown] Fix broken links when generating markdown

The `api.mustache` file generates links to the markdown model files.
These links were previously brokeen.

Additionally, the defaultPackage for markdown is "/Models", so this
looked pretty in the heading for model files. So this prefix has been
stripped from the header in `model.mustache`.

* Re-generate Petstore samples for markdown
2020-03-11 01:30:00 +08:00
Sebastien Rosset
b1aecaded0 [Java] fix runtime exception when there are multiple auth methods (#5530)
* fix runtime exception when there are multiple auth methods

* Refactor a bit so that it does not cause conflict with relative url token branch
2020-03-11 01:22:56 +08:00
Sebastien Rosset
6034c09130 [Java] Fix exception when OAuth2 token URL is a relative URL (#5535)
* Add support for case when OAuth2 token URL is a relative URL

* Add support for case when OAuth2 token URL is a relative URL

* run scripts under bin
2020-03-11 01:18:08 +08:00
William Cheng
2ee4ad1038 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-03-11 01:15:07 +08:00
William Cheng
9f70b7ac70 update doc 2020-03-11 01:11:47 +08:00
Bruno Coelho
f402126460 [Kotlin][client] fix file upload (#5548)
* [kotlin] fix file upload

* [kotlin] fix file upload

* [kotlin] fix file upload

* [kotlin][client] fix jackson integration

* [kotlin] fix file upload

* [kotlin] fix file upload
2020-03-11 01:04:53 +08:00
Sebastien Rosset
ce8cdcdf25 [DOC] Add link to integration test wiki in CONTRIBUTING.md (#5570)
* Add link to integration test wiki

* Add link to integration test wiki
2020-03-11 00:39:53 +08:00
siada
a93186b8e3 Update generic model to support nullable properties (#5568) 2020-03-10 08:20:51 +01:00
Richard Whitehouse
16646b39c1 [Rust Server] Make parse error Display-able (#5490)
* [Rust Server] Make parse error displayable

  Change error type to be displayable to prevent compile errors

* [Rust Server] Add test for enum in path

* Update samples
2020-03-08 11:12:17 +00:00
Richard Whitehouse
e4be8a107f [Rust Server] Test allOf objects including base properties (#5457)
* [Rust Server] Add operationIds for rust-server-test

* [Rust Server] Add test for allOf

* Update samples
2020-03-07 20:53:13 +00:00
Richard Whitehouse
b60fc900b2 [Rust Server] Support OpenAPI v3 callbacks (#5405)
* [Rust Server] Support Callbacks

* [Rust Server] Support callbacks in the examples

* [Rust Server] Update features documentation

* [Rust Server] Mark as supporting callbacks

* Update samples

* [Rust Server] Add tests for callbacks

* [Rust Server] Fix README

Don't suggest examples which don't exist
2020-03-07 19:24:42 +00:00
Justin Black
67e3bf5271 Fixes kwargs typos, removes E501s (#5552) 2020-03-06 20:22:19 -08:00
Sebastien Rosset
20011194c0 Add serialization of ModelComposed (#5551) 2020-03-06 17:25:45 -08:00
William Cheng
68a291e380 Test Dart petstore client in CircleCI (#5544)
* test dart2 in circle ci (jdk7)

* fix tests

* update package

* fix dart installation
2020-03-07 00:20:44 +08:00
William Cheng
728d03b318 Fix Swift4 CI tests (#5540)
* comment out swift 4 order tests

* comment out store tests
2020-03-06 22:26:15 +08:00
William Cheng
0ffcbfe75e update jackson dependency to newer version (#5527) 2020-03-06 14:49:58 +08:00
William Cheng
3588990a4f [PHP] complete support for form style (#5519)
* [BUG][PHP] Parameter property style not fully implemented (related to comment on PR #3984)

* [AUTOGENERATED][PHP] Sample Files
2020-03-05 22:20:59 +08:00
Aleksandr Nekrasov
a5c5b2f6d0 [BUG][scala][template] scala generate java.math.BigDecimal instead of scala type (#5514)
* [BUG] scala generate java.math.BigDecimal instead of scala type

* update docs/generators
2020-03-04 16:55:32 +08:00
William Cheng
6db09f40be [php] replace $collectionFormat with $style (#5517)
* php - remove $collectionFormat

* update php openapi3 petstore sample
2020-03-04 15:54:44 +08:00
copypasta-g
3e5fb670e2 fix(php): no need to serialize collections, Guzzle does that, fix #2292 (#3984)
* fix(php): only serialize collections if !explode, Guzzle handles the rest, fix #2292

* fix(php): update petstore samples

Co-authored-by: Mahdi Dibaiee <mdibaiee@pm.me>
2020-03-04 10:23:30 +08:00
Daniel Klessing
33129ca104 [Java][Spring][Spring-Cloud] Fix #5144 - Use conditional package declaration to avoid unnecessary dependencies (#5145)
* FIX: Use conditional package declaration to avoid unnecessary dependencies

* DEV: Adjusted sample ClientConfiguration.java for async spring-cloud
2020-03-04 10:21:46 +08:00
Yuriy Belenko
39aeb4a8ae [Slim4] Add Data Mocker middleware (#4978)
* [Slim4] Store response schemas

* [Slim4] Add Data Mocker middleware

* [Slim4] Enhance Slim router

* [Slim4] Enhance config

* [Slim4] Fix data format key in object mocking

* [Slim4] Add tests for Data Mocker middleware

* [Slim4] Add Mock feature documentation

* [Slim4] Refresh samples
2020-03-03 23:53:57 +08:00
William Cheng
440aaa4ca3 Add a link to the conference paper (#5510)
* Add a link to the conference paper

* fix author list
2020-03-03 19:02:43 +08:00
William Cheng
1b98f80b0d Update README.md 2020-03-03 18:44:33 +08:00
Jim Schubert
51cc7c2f2a [core] Sanitize/underscore/camelize cache expiry (#5484)
The helper methods for sanitize/underscore/camelize were recently
updated to cache values in static maps. This would lead to a memory leak
in hosted environments as the maps had no cleanup/expiry.

This moves those cached entries to Caffeine caches with expiry based on
last access to allow the edge-case performance improvement gains on very
large documents, without the memory leak in hosted or embedded
environments.
2020-03-03 17:29:51 +08:00
Bodo Graumann
c27d4001e1 Typescript array alias array (#4981)
* Add failing tests for typescript type declaration

* Refactor array and map child type string fallback

* Add unaliasSchema to typescript getTypeDeclaration

* TypeScriptRxjs: Use Blob as file type declaration

This was inadvertantly changed in
https://github.com/OpenAPITools/openapi-generator/pull/5266
2020-03-03 17:20:49 +08:00
William Cheng
3b94ce7821 Add links to blog posts about OpenAPI Generator (#5508) 2020-03-03 11:36:06 +08:00
William Cheng
3565dcc1b4 Add a link to tech blog tech.medpeer.co.jp (#5498) 2020-03-02 18:00:22 +08:00
William Cheng
4ac054f723 Hide timestamp in Scala Play server samples (#5495)
* hide timestamp in scala play server output

* add chameleon82 to scala tech committee
2020-03-02 14:56:07 +08:00
William Cheng
eabdafad88 add Agoda as the user (#5494) 2020-03-02 13:17:49 +08:00
Aleksandr Nekrasov
6dd76d65e7 [scala] [template] scala model property style (#5486)
* Model property naming style generic for scala

* scala templates based on abstractScala regererated

* docs generators updated

* property format tests
2020-03-02 11:48:09 +08:00
ChristianCiach
a10452e37f Add missing @Generated annotation. (#5384)
The annotation is present on other generated files when using jaxrs-spec, but it missing on model classes.
2020-03-01 23:19:17 +08:00
Jorge Rodriguez
21e285cea9 [BUG] [JAVA | Spring] Cookie in parameter is not correctly generated (#5393)
* Cookie in parameter is not correctly generated

* gh-5386: Fix cookie parameter in

* gh-5386: Fix cookie parameter in

* gh-5386: Update test file

* gh-5386: Fix cookie parameter in

* gh-5386: Fix cookie parameter in

* gh-5386: Regenerate samples

* gh-5386: Fix test

* Added Spring CookieValue tests

Co-authored-by: Gonzalo <gonzalo.nom.es@gmail.com>
2020-03-01 23:12:20 +08:00
Mateusz Szychowski (Muttley)
4c6648f1a9 [C++] Add an option to allow having lowercase variables in models, Pistache: allow using reservedWords in models (#5434)
* [C++][Pistache] Use reserved words to replace incorrect names

discard old decision to truncate reservedWords

* [C++][Pistache] Update struct model to use name instead of baseName

* [C++][Pistache] Update Petstore sample

* [C++] Add option to have lowercase variables

* [C++] Update generated docs
2020-03-01 12:39:45 +01:00
Richard Whitehouse
8f8443d175 [Rust Server] Don't change API version (#5458)
Don't change the API version which is exposed in `crate::API_VERSION`.

- If the API version isn't set, we don't expose it.

- If it is set, we leave it well alone.

- Always pass a package version:
 - Pass in the passed package version by preference
 - Pass in the API version if it's not.
   - If the API version isn't set, we use 1.0.0
   - If it is set, and isn't a valid semver, we append .0 such that we have
     something with three digits (so that an API version of 1 works).
2020-03-01 10:32:11 +00:00
Yutaka Miyamae
015b404729 [kotlin]Fix ktor doesn't generate nullable types (#5258)
* If not required, need `? = null`

* run  ./bin/kotlin-server-petstore.sh

* Added `?` when value is `required` and `isNullable`

* Rerun ./bin/kotlin-server-petstore.sh. But No differences
2020-03-01 17:58:58 +08:00
Jim Schubert
f6f5c9b8b9 [cli][gradle] Validate now uses parseOptions w/setResolve (#5471)
* [cli] Validate now uses parseOptions w/setResolve

The validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.

* [gradle] Validate now uses parseOptions w/setResolve

The Graldle validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.
2020-03-01 17:26:13 +08:00
Jiri Kuncar
a03f7a58c3 [java] Support aliasing of API keys (#4966)
* [java] Support aliasing of API keys

* Rebuild Java Jersey2 sample client

* x-lookup to x-auth-id-alias

* Regenerated
2020-03-01 16:33:18 +08:00
Jiri Kuncar
35e90a553d [go-experimental] Support aliasing of API keys (#4940)
* [go-experimental] Support aliasing of API keys

* Use {{.}} inside condition

* Use name instead of keyParamName for lookup

* x-lookup to x-auth-id-alias
2020-03-01 16:31:37 +08:00
Hui Yu
10d5d27a7c [C-libcurl] The name in API parameter should not be escaped even though it includes a C key word. (#5487) 2020-03-01 10:54:53 +08:00
Akira Tanimura
d094cca99a fix rubocop warns in Ruby client's custom spec (#5488) 2020-03-01 10:54:17 +08:00
Richard Whitehouse
dc0da57f96 [Rust Server] Suffix reserved words with _ (#5455)
* [Rust Server] Suffix reserved words with _

Suffix reserved words with an underscore instead of prefixing them.

This follows convention in the Rust community, as prefixing with an underscore
indicates an unused variable in Rust.

* Update samples
2020-03-01 00:23:00 +00:00
Richard Whitehouse
a196296e57 [Rust Server] Support RFC 7386 (#5454)
* [Rust Server] Support RFC 7386

Support application/merge-patch+json as defined by RFC 7386 -
https://tools.ietf.org/html/rfc7386

Handle exactly the same as application/json.

* [Rust Server] Add test for RFC 7386

* Update samples
2020-02-29 21:54:11 +00:00
Richard Whitehouse
f32b1463bc [Rust Server] Support numeric operation IDs (#5453)
* [Rust Server] Support operation IDs which begin with a number
* [Rust Server] Add test for a numeric operation ID
* Update samples
2020-02-29 19:23:54 +00:00
Jiri Kuncar
165ad45797 [go] Add Ptr method to const enum values (#5257) 2020-02-29 14:05:14 -05:00
Richard Whitehouse
a6e96b4971 [Rust Server] Handle numeric response description (#5452)
* [Rust Server] Handle response descriptions which start with a number.
* [Rust Server] Add test for numeric response descriptions
* Update samples
2020-02-29 14:54:47 +00:00
Richard Whitehouse
f5c5b91f83 [Rust Server] Nullable fixes (#5408)
* [Rust Server] Nullable fixes
* [Rust Server] Add tests for nullable cases
* Update samples
2020-02-29 13:37:12 +00:00
William Cheng
0ed1b83593 fix CVE-2020-8130 (#5483) 2020-02-29 20:04:34 +09:00
Justin Black
9e596697a9 [python] Adds python oneOf/anyOf models + tests (#5341)
* Adds oneOf + anyOf schemas, models and tests to python-experimental

* Adds setUpClass and tearDownClass

* Removes newline in method_init_shared.mustache

* Regenerated v3 spec sample for python-experimental

* Fxes test for discard_unknown_keys

* Moves new models into existing spec, regen python-exp and go-exp

* Also fix python-exp windows file
2020-02-28 14:21:08 -08:00
Justin
857a4bf5d9 Use the dataType if the baseType is not set (#5372)
* Use the dataType if the baseType is not set

* add tests for passing enum as parameter

* updated requirements file in samples

* Update spec to explicitly name objects and prevent `inline_object`

* use the correct scripts to generate samples (`bin/openapi3/python-flask*`)
2020-02-28 09:46:57 -08:00
William Cheng
4603061c17 [Scala][sttp] various improvements (#5475)
* various improvements to scala sttp

* update ScalaSttpClientCodegen.java

* add windows batch file

* test scala sttp in jdk8

* fix tempalte directory
2020-02-29 00:34:46 +08:00
Aleksandr Nekrasov
84250973be [scala] strip model class name for all scala generators (#5439)
* stripped parameter enabled for all scala based generators

* scala samples updated

* docs generators updated

* fix scalatra. regenerated by openapi3 script.
manually removed enum default value from scalatra example due bug in schema extraction
2020-02-28 20:44:02 +08:00
Akira Tanimura
cc20eb8109 [Ruby] Fix obsolete configuration of Rubocop and Rubocop's warns (#5417) (#5474)
* fix obsolute configuration in generated .rubocop.yml

* fix style of `expect` with block in generated ruby client's test code

* update sample of ruby client
2020-02-28 20:36:25 +08:00
Aleksandr Nekrasov
40cbbbfefd [scala] [template] scala sttp client (#5429)
* scala-sttp-client template

* invoker for sttp fixed and tests added

* clean up pet api test from redunant comments

* docs updated

* fix artefact name, model comments and redunant generic

* code optimization

* cross scala versions 2.11 2.12 2.13

* date serializers extracted and joda enabled as default

* basic and bearer authorization added, apikey in query supported
2020-02-28 15:48:55 +08:00
Bruno Coelho
d325e8c618 [Swift5] small improvements to Objc compatibility (#5410)
* [swift] make some small improvements

* [swift][client] revert model to use allVars

* PostProcessModelProperty with allVars

* PostProcessModelProperty with vars

* [swift] improve objc interoperability

* [swift] fix swift4 for CI to pass

* [swift] improve objc interoperability

* [swift] improve objc interoperability

* Swift - try to fix build

* [swift] remove pods from git
2020-02-28 14:47:18 +08:00
Jim Schubert
36b1a61b70 [all] Move feature set setter (#5460)
When I originally implemented the feature set code, I added the
getter/setter on DefaultCodegen and CodegenConfig as well as on
GeneratorMetadata. GeneratorMetadata also includes the library variation
features. When I went to add library-specific features, I realized the
discrepancy.

This removes the public setter from DefaultCodegen/CodegenConfig, and
adds a protected modifyFeatureSet which accepts a lambda and hides the
builder logic away in the method.

This will be a breaking change for anyone who's created a custom
generator in 4.2.3, so the impact is very limited.
2020-02-28 14:45:06 +08:00
val
ca944542e0 Added support for msvc builds in cpp-qt5-client generator (#5468)
* Added support for msvc builds

Moved GCC-specific compile flags to non msvc builds, and added equivalent flags for msvc.

* CMakeLists condition cleanup
2020-02-28 14:43:37 +08:00
Alexey Makhrov
0edb628633 [typescript] Clean up modelPropertyNaming across generators (#5427)
* [typescript] Clean up modelPropertyNaming across generators
Fixes https://github.com/OpenAPITools/openapi-generator/issues/2976

Generators without runtime models conversion use "original" property naming by default. It's still possible to change it via cli options

Generators with runtime conversion keep using "camelCase"

* Refactoring: use enum instead of string for modelPropertyNaming

* Restore the original camelCase for var names, decouple it from property names

* Swap toParamName and toVarName logic (looks like I've mistaken them)

* Regenerate docs

* Remove a no longer used private method
2020-02-28 07:31:19 +01:00
Nikita
a4fc319502 Fix #5420 add headers from configuration object (#5422)
* Fix #5420 add headers from configuration object

* Add baseOptions undefined checking #5420

* Update the samples and replace array to object #5420

* Update sample
2020-02-28 07:27:41 +01:00
Jim Schubert
ea2acf0cc1 [docs] Enable Algolia search (#5472) 2020-02-28 11:33:40 +08:00
Michele Albano
b0b46d57e0 Support for additionalProperties in the C generator "Client: C" solves #5395 (#5440)
* Support for additionalProperties in the C generator.

* Support for additionalProperties in the C generator.
2020-02-28 09:22:50 +08:00
William Cheng
50d21cb0d1 fix issue with online service (#5461) 2020-02-27 22:03:35 +08:00
William Cheng
5f547b821f [Java][WebClient] better code format (#5433)
* better code format for java webclient

* prefix local varaible with localVar
2020-02-27 12:05:03 +08:00
William Cheng
ba0d673eaa fix NPE for enum (#5445) 2020-02-27 12:04:38 +08:00
Richard Whitehouse
ca9376fdbb [Rust Server] Support RFC 7807 (#5407)
* Support RFC 7807 - Problem Details for HTTP APIs
* Add test for RFC 7807
* Update samples
2020-02-26 18:18:01 +00:00
Johnny Peck
6ad9fbc9a6 Update usage.md (#5443) 2020-02-26 14:25:00 +08:00
Akihito Nakano
427adc74f2 [Ruby] Add error output (#5428)
* Add error output to the log so that we can make sure why the error occurred

* Fix forbidden method invocation using default charsets
2020-02-26 12:57:48 +09:00
William Cheng
875ff05f30 include kotlin jackson in CI tests (#5438) 2020-02-26 11:39:09 +08:00
Herve DARRITCHON
f6ef4fbec7 [kotlin][client] Add Jackson as serialization library (#5236)
* [kotlin][client] Add Jackson as serialization library

* [kotlin][client] Add kotlin-client-jackson.sh to kotlin-client-all.sh

* update kotlin client samples

* update doc

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-02-25 23:41:09 +08:00
William Cheng
8b64f4d03e update java webclient sample 2020-02-25 18:22:29 +08:00
dwlabcube
ece48d0bbc Removal of Encoding in the Query-Params in order to prevent double Encoding. (#5255)
This way letting WebClient do its Job in encoding the URL.
2020-02-25 18:10:40 +08:00
William Cheng
dbd89d5de4 Add a link to Xero blog post (#5426) 2020-02-25 17:38:20 +08:00
sunn
2d6311cbdc Change the Model template (#5222) 2020-02-25 17:21:44 +08:00
William Cheng
54c2956461 [Erlang][Server] fix import for multiple API key auth (#5424)
* fix multi api key import in erlang server

* update samples

* better code format for cpp server generator
2020-02-25 16:43:01 +08:00
Sem Schilder
c0fcffdfe4 Add return types to getter and fluent setter (#5348)
* Add return types to getter and fluent setter

* Add build example output
2020-02-25 11:46:43 +08:00
Alexej
b05df5d3ef [Java] Error generating java due to a default for a date #5086 (#5333)
* Fix OpenAPITools#5086 handling date examples in openapi 3.0

* Fix OpenAPITools#5086
created test for handling date value
renamed variable p to schema
created field birthday in test yaml

* Fix OpenAPITools#5086
reverted birthday, because breaking tests

* Fix OpenAPITools#5086
create String in ISO format for date default. That can be converted to LocalDate
fixed Test
2020-02-25 11:24:14 +08:00
Çağdaş
8f738a9b41 [erlang] Do not export function if not defined. (#5394)
Logic added to logic_handler.mustache so that it does not export authorize_api_key/3 when the function is not defined, leading to compilation error.
2020-02-25 10:45:16 +08:00
Alexander Weaver
04cad77caa Add reserved word option to Pistache and Restbed generators (#5418)
* Add reserved word option to Pistache and Restbed generators

* Regenerate docs
2020-02-25 10:37:43 +08:00
Alexander Weaver
231ec6bcac [BUG][C++] Avoid using plain underscore when escaping reserved words (#5269)
* Don't use plain underscore when escaping reserved words

* Regenerate petstore output

* Add CLI option for reserved word prefix

* Ensure CLI option isn't cleared in cpprest client codegen

* Regenerate docs
2020-02-24 21:24:43 +08:00
Åsmund Grammeltvedt
23e76f2a50 [typescript] Add ReadonlyArray to native types (#5399)
* [typescript] Add ReadonlyArray to native types

This allows mapping the array type to TypeScript's ReadonlyArray

* Update docs

* restart travis
2020-02-24 11:13:13 +01:00
William Cheng
93ff976102 Add mailslurp to the user list (#5412) 2020-02-24 10:05:34 +08:00
Hector Jusforgues
2b1a64159d kotlin-server: fix features' imports (#5404)
make the import conditional, and add a few that were missing

without this, setting `featureCORS` or `featureConditionalHeaders` to true produces invalid code
2020-02-23 17:44:50 -05:00
Jim Schubert
ef008549b3 [handlebars] Honor supporting files when applying bundles (#5364)
* [handlebars] Honor supporting files when applying bundles
2020-02-23 16:59:37 -05:00
Tomasz Prus
3f0c163f0c [python] add method to set/get default configuration (#5315)
* [python] add method to set/get default configuration

* [python] change method name and fix handling api_key

* python: using modified deepcopy to set/get default configuration

* python: update samples

* python: update samples
2020-02-23 14:10:44 -06:00
Jim Schubert
e4823cf4e6 [go][java] Document new parameterized server support (#5380)
* [go][java] Document new parameterized server support

* [java] Regenerate samples
2020-02-22 20:06:38 -05:00
Richard Whitehouse
1b3094be87 [Rust Server] Add support for untyped properties and models (#5339)
* [Rust Server] Add support for untyped properties
* [Rust Server] Improve support for untyped data
* Update samples
2020-02-22 20:29:51 +00:00
Richard Whitehouse
71aef72bbd [Rust Server] Support objects as query parameters (#5338)
- Support objects as query parameters
- Update samples
2020-02-22 18:25:57 +00:00
Richard Whitehouse
71f532072b [Rust Server] Support header objects (#5337)
[Rust Server] Support header objects

Support operations with objects in the header
2020-02-22 15:55:26 +00:00
Sebastien Rosset
e08e05a2c7 [Python] add discard_unknown_keys parameter (#5362)
* add discard_unknown_key parameter

* add discard_unknown_key parameter

* add discard_unknown_key parameter

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* discard unknown keys in composed schema if configuration.discard_unknown_keys is set

* run sample scripts for python

* code reformatting

* execute script in bin directory

* improve unit tests for discarding properties
2020-02-21 16:51:24 -06:00
Hinrik Örn Sigurðsson
972ba18e6a [PHP] Remove model prefix/suffix from inline enum var names (#4489)
* [PHP] Remove model prefix/suffix from inline enum var names

This resolves issue #4403.

On a model `Foo` with an inline enum `Bar` which has a possible string
value `baz`. we should generate a `FooDTO::BAR_BAZ` constant, not
`FooDTO::BAR_DTO_BAZ`.

* Empty commit for another CI run
2020-02-21 16:37:17 +09:00
Artem
78cc5dae6c [PHP] Fix additionalProperties annotation in models. (#5318)
* Fix additionaVariables in php-symfony model

* Fix additionaVariables in php-symfony model (second try, tested)
2020-02-21 16:34:16 +09:00
Jiri Kuncar
222393123b [go] Fix filenames with $GOOS and $GOARCH sufixes (#5283)
* [go] Fix filenames with $GOOS and $GOARCH sufixes

* Too early commit

* Use suffix instead of name
2020-02-21 09:30:11 +08:00
William Cheng
fcf6a8e550 use new k6 logo (#5383) 2020-02-21 09:17:29 +08:00
Slavek Kabrda
010dad209a [go-experimental] Add model constructors to initialize non-container vars with defaults (#5175)
* [go-experimental] Add model constructors to initialize non-container vars with defaults

* Add docstring and extend model_doc to include the constructor

* Make variable names in constructor follow Go naming guidelines

* Provide 2 different constructurs as suggested + couple fixes to generate constructors right under all circumstances

* Fix defaults for enums

* Properly escape vars that have reserved names
2020-02-20 10:13:53 -05:00
LoveIsGrief
33483b2f20 Respect usenose for Python CI (#5376)
* python: Respect useNose option in generated CI templates

Travis and Gitlab CI now use nosetests or pytests depending on the "useNose" option that is passed.

* python: Update CI samples

They now respect the "useNose" option
2020-02-20 21:47:13 +08:00
topce
fa5beeecd0 typescript-angular: support angular 9 (#5370)
* fix code to support ng9
also render in tempate module with providers

* execute script .\bin\windows\typescript-angular-petstore-all.bat
and commit result

* re-generate samples

* remove whitespace, re-generate samples

* re-generate samples

* code cleanup

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2020-02-20 13:50:26 +01:00
jornhd
28f649a078 Issue 5306 support for client certificates (#5328)
* Issue #5306: Added support for client certificates for csharp-netcore

* Added missing windows petstore scripts

* Updated sample client

* Added missing openapi3 samples

* Added missing images causing openapi3 test projects to fail
2020-02-20 09:49:49 +08:00
William Cheng
bb113eb4db add k6.io to the user list (#5379) 2020-02-20 09:40:54 +08:00
William Cheng
056a3ec0f6 [K6] minor improvements (#5368)
* update readme

* minor improvement

* add windows batch file for k6

* update template to reference openapi-generator

* update samples

* update doc
2020-02-20 09:25:11 +08:00
William Cheng
b16e07cff4 add post processing to nodejs express server (#5369) 2020-02-20 00:30:08 +08:00
Igor Savin
734a35a45a Update maven-javadoc-plugin for Java 11 support (#5361)
* Resolves `An error has occurred in Javadoc report generation: [ERROR] Exit code: 1 - javadoc: error - The code being documented uses modules but the packages defined in https://docs.oracle.com/javase/8/docs/api/ are in the unnamed module` error that happens when using Java 11

* Resolves `An error has occurred in Javadoc report generation: [ERROR] Exit code: 1 - javadoc: error - The code being documented uses modules but the packages defined in https://docs.oracle.com/javase/8/docs/api/ are in the unnamed module` error that happens when using Java 11

* Fix duplicate configuration entries

* Fix okhttp poms

* Remove letter that shouldn't be there
2020-02-20 00:28:21 +08:00
Jiri Kuncar
a09271e76d [java] Support templated servers (#4998)
* [java] Support templated servers

* Deprecate old signature of invokeAPI method

* throw ArrayIndexOutOfBoundsException

* Update modules/openapi-generator/src/main/resources/Java/ServerConfiguration.mustache

* [java] Regenerate samples

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-02-19 09:27:45 -05:00
William Cheng
6cd3fc5429 add new doc for k6 2020-02-19 16:21:02 +08:00
William Cheng
ce53f43771 update generators doc 2020-02-19 16:13:12 +08:00
Mostafa Moradian
79caba8d84 [k6] OpenAPI code generator for k6 API load-testing tool (ES5.1+) (#5300)
* Add generator for converting OpenAPI spec to k6 script

* Fixed names and URL

* Add @wing328's proposed changes to fix the builds
2020-02-19 16:04:39 +08:00
Akihito Nakano
37556c2d96 Fix: "isAlias" of CodegenModel (#2758)
* Add test case to reproduce the issue

https://github.com/OpenAPITools/openapi-generator/issues/2574

* Fix: an alias of "an alias of simple OAS type" has an incorrect property `isAlias: false`

* Use ModelUtils instead of referring the "type" value directly

* Delete an unnecessary condition

* Tweak: the order of conditions

* Fix wrong "isAlias" value on ComposedSchema
2020-02-19 14:54:54 +08:00
William Cheng
7882c614b9 update wording about title field (#5366) 2020-02-19 11:50:41 +08:00
William Cheng
632821bc8c Add a link to brightfox blog post (#5365) 2020-02-19 10:56:52 +08:00
Alexander Eggers
a7f2791783 [Kotlin][Client] Enum toString handling (#5327)
* Added toString to enum_class script

This toString avoids using the enum var name and uses the enum's value instead. This will fix cases when enum var name and value are quite different.

* Updated enum template

Co-Authored-By: Jim Schubert <james.schubert@gmail.com>

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-02-18 21:30:13 -05:00
Jim Schubert
db47b95fc9 [cli][core] Add support for dry-run and display (#5332)
* :shirt:🎨 Minor refactor DefaultGenerator

This cleans up some lint warnings and improve general code cleanliness
of DefaultGenerator.

Specifically:

* logger strings are now using the built-in log formatter rather than
  constructing new strings regardless of log level.
* Diamond operators are used where possible
* Some long-unused commented code has been removed
* Lambdas are used where possible
* Redundant operations are merged (HashMap constructor used rather than
  subsequent putAll on a collection, for example)

* [cli][core] Add support for dry-run and display

CLI now supports `--dry-run`, which will output a file change status
similar to git status --porcelain.

The user may also specify `--verbose` for a one-liner below each file
explaining why the change operation might take place.
2020-02-18 20:36:17 -05:00
Ermolay Romanov
1ec2c26053 [BUG][typescript-rxjs] Fix nully type coalescing in Configuration getters (#5329)
* [typescript-rxjs] fix coalescing in Configuration

- eliminate nully "" (empty string) value via conditional check
- use concrete "string" type in typeof check
    ("function" may be returned for Object types

* [typescript-rxjs] update petstore sample

* run petstore-all

- run the script for updating all petstores
   ./bin/typescript-rxjs-petstore-all.sh
2020-02-18 21:28:26 +01:00
Sai Giridhar P
4f7d45f603 [r] Handling CRAN feedback for example snippets (#5345)
* fix(r): Updating donttest to dontrun

* fix(r): Updating donttest to dontrun
2020-02-18 21:26:29 +08:00
Paulo Oliveira
a46e2e1470 [maven] improve documentation regarding depedencies issues (#5326)
* [maven] improve documentation regarding depedencies issues

* Improve english on the documentation

Co-Authored-By: Jim Schubert <james.schubert@gmail.com>

* Improve the english on the documentation

Co-Authored-By: Jim Schubert <james.schubert@gmail.com>

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
2020-02-18 21:22:44 +08:00
Hui Yu
f9a040d1a7 [C-libcurl] Guard memory free for query parameters to avoid coredump (#5356)
* [C-libcurl] Guard memory free for query parameters to avoid coredump

* [C-libcurl] Guard memory free for query parameters to avoid coredump (2nd)
2020-02-18 21:19:11 +08:00
PeterUstinox
9c28f68504 fix typo in maven sample script comment (#5354) 2020-02-17 17:03:57 -05:00
Jim Schubert
ce997a18fe Use yarn for website builds (#5350) 2020-02-17 11:19:18 -05:00
pallxk
15b8210e1f [JavaScript] Avoid setting Content-Type header if body is not used (#5344) 2020-02-17 23:31:27 +08:00
William Cheng
4fdd87fb79 Add checkly as the monitoring sponsor (#5347) 2020-02-17 23:11:15 +08:00
LoveIsGrief
910ce9fa89 python: Add gitlab-ci.mustache (#5342)
* python: Add gitlab-ci.mustache

It does the same stuff as in the .travis.yml but just for Gitlab CI

#5340 - Python .gitlab-ci.yml

* python: Run all scripts in bin

find bin/ -type f -name 'python*.sh' -exec {} \;

Had to update all samples
2020-02-17 22:36:21 +08:00
Alexey Makhrov
acf85921e4 [typescript] Remove incomplete support of Date type (#5314)
* Remove DateTime mapping from concrete TypeScript generators that do not have full support for Date deserialization

* Fix model unit tests

* Regenerate samples
2020-02-17 07:52:50 +01:00
Jim Schubert
32b9b399fd [doc] Minor website fixes (#5343)
* [doc] Fix level 2 header on cutomization.md

* [doc] Specify https on API/online link

* [docs] Invert github/twitter links in dark mode

* [doc] Pin version for alpha release artifacts
2020-02-17 14:03:25 +08:00
Sebastien Rosset
527c118210 [codegen] Improve java code comments and argument documentation; Fix issue with ComposedSchema that has undeclared properties (#5316)
* improve documentation

* Add use case of composed schema with additional properties
2020-02-16 20:23:00 -05:00
Bruno Coelho
ffb196151f [kotlin][client] improve debug experience (#5286)
* [kotlin][client] remove null message on server error

* [kotlin][client] avoid breaking change

* [kotlin][client] add response to client and server exceptions

* [kotlin][client] improve message on ClientException and ServerException
2020-02-16 11:00:14 -05:00
Jim Schubert
dc50585401 [templates] Update templates vendor ext standards (#5295)
* [templates] Update to vendor extension standard keys

* Fix missed value in Java template, also implements=>x-implements. Evaluate Haskell Client changes

* Fix missing accept/content-type update for vendor extension format
2020-02-15 16:26:32 -05:00
William Cheng
118b5e7747 [C++] minor improvements (#5319)
* minor code format, make sure cpp samples updated

* add new files
2020-02-14 10:58:15 +01:00
Alexander Rashed
3f490ea7ee typescript-angular: single request parameter documentation (#5308)
* Feature: Add JSDoc to request parameter interface members

* Add petstore after generation changes
2020-02-14 09:34:45 +01:00
William Cheng
edd7cab22a [Java] mark Feign 10.x (instead of 9.x) as the default (#5310)
* set feign 10x as default, mark 9x as deprecated

* update doc
2020-02-14 13:58:44 +08:00
rtp
a50bb28e78 added implementation of declared function. (#5253) 2020-02-13 23:37:40 +01:00
eimerej
346cfc62f3 [cpp-restsdk] fix crashes and constness (#5123)
* []c++[cpprest]fix some constness and invalid access to null  entities

* update petstore sample
2020-02-13 20:59:33 +01:00
duxiaofeng
5a5c3db938 fix #5282: Base Path can't be set to '<empty string>' (#5305)
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2020-02-13 16:36:48 +01:00
Peter Steiner
eecd8c056a Java importmapping 3589 (#4350)
* type aliasing issue

* Add example OpenAPI document from issue 3589

https://github.com/OpenAPITools/openapi-generator/issues/3589

* Add test to reproduce the issue

- type of TypeAlias changed from 'string' to 'object'
  (not sure if importMapping is supposed also for 'string' types...)
- there might be better ways to write the test, it's kind of a brute
  force test (generate a file and parse it with a regexp)

* Remove duplicate test file

* Add new method override handleMethodResponse

Fixes broken unit test after merge from master

Co-authored-by: bkoziak <bkoziak@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-02-13 22:05:53 +08:00
Timo Rohrberg
f5265853ba [Java][okhttp-gson] Use builder api of OkHttpClient to avoid UnsupportedOperationEx (#5177)
* 3432 Use builder api of OkHttpClient to avoid UnsupportedOperationEx

The reason for the UnsupportedOperationException was an invalid access to the interceptors list of OkHttpClient. That list is unmodifiable as stated by the JavaDoc. Instead accessing the list directly, the interceptors should always be passed when building the client by the builder api.

* 3432 Use builder api of OkHttpClient to avoid UnsupportedOperationEx

The reason for the UnsupportedOperationException was an invalid access to the interceptors list of OkHttpClient. That list is unmodifiable as stated by the JavaDoc. Instead accessing the list directly, the interceptors should always be passed when building the client by the builder api.

* 3432 Follow-up fix to make samples compile again

* 3432 Updated sample implementation for okHttp-Gson-ParcelableModel
2020-02-13 21:55:10 +08:00
William Cheng
bca130cd1f update rust doc 2020-02-13 20:41:45 +08:00
Bruno Coelho
9475556f47 [kotlin][client] respect sortModelPropertiesByRequiredFlag (#5211) 2020-02-13 18:51:38 +08:00
Austen
7fa3ce31ac Update babelrc (#5270)
change absoluteRuntime to false which is the usual default. 
fixes issues brought up here https://github.com/OpenAPITools/openapi-generator/pull/4677
2020-02-13 18:31:55 +08:00
William Cheng
fe4cecba02 fix NPE in rust server generator (#5304) 2020-02-13 18:25:26 +08:00
Arun Nalla
466bacb308 Add missing keywords in rust (#5244) 2020-02-13 15:38:58 +08:00
Henré Botha
930afadc87 Fix docs for --enable-post-process-file (#5299) 2020-02-13 15:07:07 +08:00
Henré Botha
324fe70ab3 Edit documentation for -c (#5288) 2020-02-13 15:05:52 +08:00
Simon Alling
58006982a8 Fix typo: "default GitHub in PRs" (#5302) 2020-02-13 15:04:05 +08:00
Sebastien Rosset
b627fb1137 [codegen][validation] Add support for 'null' type (#5290)
* initial commit for null type

* Add openAPI attribute to validation and recommendation

* improve code comments. the warning used to notify the users to use  instead of defining the schema inline, but now the InlineModelResolver has been enhanced

* Add validation rule for the supported values of the 'type' attribute
2020-02-12 18:41:18 -05:00
Jim Schubert
04e8fe07a3 [docs] Support old site's users.html (#5297)
Our Docusaurus 1.x site had a users.html page. This adds a redirect from
that location to /users
2020-02-12 12:55:09 -05:00
Guido Knoll
f2c1bdbf6f fixes Format Date is converted to Date-Time (#5287) 2020-02-12 10:50:39 +01:00
Åsmund Grammeltvedt
e157b05206 [typescript] Don't hardcode the date type if user has mapped it (#5266)
* [typescript] Don't hardcode the date type if user has mapped it

If the user has set --type-mappings Date=foo, respect this setting
instead of hardcoding the date type.

* Use default type mappings for date/date-time

* Use typeMapping mechanism correctly

* Add default mapping for angular and node to preserve behavior

* One more change to keep current behavior

* Add default type mappings to the other TS generators
2020-02-12 10:49:45 +01:00
KimJohn Quinn
b04c53674d Added Logicdrop to the README (#5285)
Per request from William Cheng, we added our company to the README. We have used OpenAPI Generator to build out our whole API successfully.
2020-02-11 23:04:03 +08:00
Jim Schubert
aa7cd4f5af [docs] Upgrade to Docusaurus 2 (#5271)
* [docs] Upgrade to Docusaurus 2

Due to formatting issues with Docusaurus 1 and code blocks, and upcoming
4.3 and 5.0 releases, this is an upgrade to have more control over
formatting and other functionality.

This adds behavior to have light/dark themes.

As a consequence of upgrading, columnar format on ul element in
generated generator docs had to be moved to css. This will not impact
users viewing the markdown on GitHub because it didn't display the
column format.

This upgrade should improve syntax highlighting and performance.

* Fix user page layout, choose theme with clear diff colors
2020-02-11 21:22:58 +08:00
William Cheng
49c4b63faf Update README.md (#5277) 2020-02-11 15:33:21 +08:00
William Cheng
42ccbed5ac Add a link to vadosware.io (#5276) 2020-02-11 15:25:26 +08:00
William Cheng
0cbc2be482 Add a link to article in GiFT, Inc (#5275) 2020-02-11 15:16:54 +08:00
William Cheng
8c59f85be0 Add a link to Corda blog (#5274) 2020-02-11 15:12:14 +08:00
William Cheng
26b13236c9 Add a link to simply-how article (#5273) 2020-02-11 15:04:02 +08:00
William Cheng
10568a6652 Add a link to youtube video (#5272) 2020-02-11 14:59:37 +08:00
William Cheng
72a595b10a update pom in maven plugin test (#5261) 2020-02-11 10:50:37 +08:00
Slavek Kabrda
0693a83cfe [go-experimental] Add oneOf support (#5150)
* [go-experimental] Add oneOf support

* Fix docs for the oneOf models

* isOneOfInterface => x-is-one-of-interface

* Add proper warnings when inline models are used in oneOf choices

* Add a convenience method to oneOf implementing structs to cast them as the oneOf interface

* Update modules/openapi-generator/src/main/resources/go-experimental/model.mustache

Co-Authored-By: Jiri Kuncar <jiri.kuncar@gmail.com>

* Fix retrieving data from additionalDataMap

* Add basic tests

Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
2020-02-10 16:26:32 -05:00
Dennis Kliban
cd91a15953 Add Pulp talk from FOSDEM 2020 (#5265) 2020-02-10 23:32:42 +08:00
Åsmund Grammeltvedt
a8015ad8c1 [typescript] Make additional properties access safer (#5207)
* [typescript-fetch] Make additional properties access safer

Instead of asserting that any key access returns a valid property, force
the consumer to check that the value is defined.

* Update tests

* Put null-safe additional props behind and flag and share

* Undo over copy

* Update docs

* Rearrange code

* Move to unit tests
2020-02-10 07:47:29 +01:00
Jim Schubert
2aa8a6d033 [core] Log some things in model/url utils once (#5233) 2020-02-09 00:19:25 -05:00
Jim Schubert
4602596df2 [maven]📝 Docs and minor refactoring (#5251)
The maven documentation was missing a few option, a couple of option
properties, and was inconsistent regarding selective generation for apis
an models. This adds properties and options where appropriate and
updates the docs. All options in the README have been reordered to match
property declaration order in CodegenMojo, hopefully making it easier
for maintainers to recognized when there are docs missing or out of
date.

This also slightly refactors the code in CodegenMojo to reduce the
cyclomatic complexity of the `execute` method.
2020-02-08 20:50:14 -05:00
Jaroslaw Zawila
561335f5e5 Add support for bearer token scala-akka #5067 (#5069)
* Add support for bearer token scala-akka #5067

* Update api.mustache

Include master's isKeyInCookie support

* [scala-akka] Update bearer token feature in doc

Co-authored-by: Jim Schubert <james.schubert@gmail.com>
Co-authored-by: Jaroslaw Zawila <jaroslaw.zawila@gmail.com>
2020-02-08 17:08:45 -05:00
Slavek Kabrda
13162b8eee [go-experimental] Preserve capitalized acronyms in structure na… (#5006) 2020-02-08 15:38:29 -05:00
John Flanigan
c6ad35cac8 [feature] Add option to disable stripping of common prefix enum (#5166) 2020-02-08 15:29:50 -05:00
Bruno Coelho
4208f3da82 [swift][client] validate http status code (#5226)
* [swift][client] validate http status code

* [swift][client] remove spaces in empty lines
2020-02-09 00:33:36 +08:00
Keenan Pepper
9126a5636f Use EXISTING_PROPERTY for JavaSpring as well (#5243)
This fixes issue #3796 for JavaSpring. It's a very straightfoward extension
of #5120 for the JavaSpring generator (that PR was just for the Java generator).
2020-02-08 09:09:46 -05:00
William Cheng
17ee990baa comment out python flask test 2020-02-07 22:58:51 +08:00
William Cheng
9adfedbfbb comment out PythonAiohttpServer test in travis 2020-02-07 17:08:48 +08:00
Fabian von Feilitzsch
c943ecfe28 [Python] 5094 followup - Reduce redundancy in docs (#5161)
* Reduce redundancy in python docs

This is a followup to PR #5094, which had a few unresolved comments at
merge time. This reduces the amount of redundant lines in the api
example doc templates, and ensures that referenced Configuration objects
are actually instantiated.

* Regenerate samples
2020-02-06 13:58:17 -08:00
Alexey Makhrov
197cea3248 [core][typescript][perl] Ensure model.parent is also added to model.allParents with multiple inheritance (#5182)
* Add real assertions in DefaultCodegenTest.java testAllOfXXX methods

* Add test to DefaultCodegenTest for an allOf composition with a single ref and no own props

* Ensure model.parent is also added to model.allParents when multipleInheritance is supported

* Cleanup: remove LOGGER.debug, renamed refedParentNames to refedWithoutDiscriminator
2020-02-06 20:21:06 +01:00
Sebastien Rosset
cc0fe06d1c [python] use datetime aware object (#5209)
* python use aware datetime object

* python use aware datetime object

* python use aware datetime object

* python use aware datetime object

* python use aware datetime object

* python use aware datetime object
2020-02-06 09:48:23 -08:00
Jim Schubert
8d6286dfae [core] Normalizing vendor extension naming (#5192)
* [core] Normalizing vendor extension naming

According to [OAS 2.0][1] and [OAS 3.0][2] Specifications:

> Allows extensions to the OpenAPI Schema. The field name MUST begin with x-,
>  for example, x-internal-id. The value can be null, a primitive, an array or an object.
>  Can have any valid JSON format value.

This commit attempts to define a [clear identifier design format][3] of
maintaining lower-kebab casing and following the x- prefix defined by
OAI Specification.

Following a convention that matches that used by others (see [autorest][4]), we will remove
any confusion about naming strategies for template authors and
customizers. Following the lower-kebab convention will allow us to
convert from camelCase and missing prefixes to the desired format. For
example, these conversions are simple to make for template consistency:

* customValue => x-custom-value
* x-customValue => x-custom-value
* x-custom-value => x-custom-value

This convention also allows us to define a single standard for use
across all generators. This means no occurrence of x-operationId in one
generator and x-operation-id in another.

[1]: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#patterned-objects
[2]: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#specificationExtensions
[3]: https://tools.ietf.org/html/draft-wilde-registries-01#section-3.4
[4]: https://github.com/Azure/autorest/tree/master/docs/extensions

* Incorporate feedback to avoid race/blocking in OnceLogger

* Remove unnecessary additional log config

* Add tests,comments for OnceLogger

* Test caffeine cache with FakeTicker
2020-02-06 22:52:58 +08:00
Aleksandr Nekrasov
1bba3a563e [scala] fix akka-scala-client template compilation warnings (#5106)
* fix akka-scala-client template compilation warnings

add COOKIE location authorization key
regenerate template

* fix scala akka-http client model imports

* fix #4004 custom package name in reference.conf

* fix scaka-akka codegen test
2020-02-06 22:15:43 +08:00
mcpummec
8779fc6485 pass key to http params for date objects (#5225) 2020-02-06 14:43:10 +01:00
Dheeraj Nalluri
7799ddebe1 [typescript-angular] Use security scheme name for API key lookup (#5220)
* [typescript-angular] Use security scheme name when looking up API keys.

* [typescript-angular] Updated samples.
2020-02-06 10:20:30 +01:00
Jim Schubert
4fa096f604 [bug][kotlin] Fix compile of reserved word in client (#5221)
* [kotlin] Fix compile of reserved word in client

A number of places in the client code need to be escaped for reserved
words.

That is, this should be:
(git log formatted): `as` rather than as
(markdown formatted): \`as\` rather than `as`

There are only a handful of places using `{{paramName}}` which HTML
encodes backticks, rather than `{{{paramName}}}` which outputs literal
values.

Added unit test to maintain the reserved word standard for Kotlin.

* don't use kotlin-codegen-escaped parameters in parameter-map

Co-authored-by: Andreas Müller <andreas@stapelspeicher.org>
2020-02-06 00:49:52 -05:00
Sebastien Rosset
9d2c39dc43 Add openAPI attribute to validation and recommendation (#5216) 2020-02-05 23:40:32 -05:00
Akihito Nakano
08c93578d4 Update with -p as -D is deprecated now (#5208) 2020-02-05 18:23:26 -05:00
gaetPax
b6b7284e4c [Java] update feign form dependency version (#5179)
* [Java-Feign-issue 5173] - update feign form dependency version

* [Java-Feign-issue 5173] - updated feign versions in sample project

* [Java-Feign-issue 5173] - fix OAuth in Feign10 sample

* [Java-Feign-issue 5173] - updated OAuth Feign template

* update feign samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-02-05 23:10:16 +08:00
Alexey Makhrov
945ea14b23 Add amakhrov to Typescript tech committee (#5210) 2020-02-05 07:55:35 +01:00
Akihito Nakano
c27da984d1 [kotlin] Fix non-compilable code (#5205)
* The "name" field has to be a string

* Avoid duplicate double quotes
2020-02-04 22:01:18 -05:00
Tatsuro Shibamura
7e54196967 [csharp-netcore] Remove use of dynamic type and optimize reference (#5206)
* Change unnecessary `dynamic` to `object`

* Optimize package reference

* Fixed JsonSubTypes reference

* Update sample project

* Remove redundant method calls

* Update sample project

* Update README template
2020-02-05 10:51:48 +08:00
Bruno Coelho
5bf501af40 [swift5] update visibility modifiers (#5204) 2020-02-05 09:51:29 +08:00
fritzlitester
a0eb149df5 Fix query parameter (#5131)
* fix map as query parameter, use RequestPart instead of RequestParam in
FormParams, add filename for parameters of type file

* fix brace

* fix tests

* run bin/windows bat files

* test if this solves linending problem part 1

* test if this solves linending problem part 2

* test if this solves linending problem part 3

* test if this solves linending problem part 4

* test if this solves linending problem part 5

* test if this solves linending problem part 6

* manually set back version in pom

* update spring samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-02-04 22:08:36 +08:00
Kazuyuki Miyake
5b9b8bda76 add freee to the user list (#5203) 2020-02-04 22:07:50 +08:00
William Cheng
19acd36e3a update samples 2020-02-04 16:39:04 +08:00
William Cheng
100b01844a Merge remote-tracking branch 'origin/master' into 5.0.x 2020-02-04 15:31:10 +08:00
Jonas Haag
e45a1d03c0 Fix typo in jar URL on installation page (#5200) 2020-02-03 13:42:11 -05:00
Sebastien Rosset
67e4cc8be1 [Python] Python HTTP signature update (#5154)
* improve python documentation and add import to __init__package.mustache

* improve python documentation and add import to __init__package.mustache

* add signing_info parameter conditionally

* add code comments and remove 'Content-Length' header from example

* Remove debug log statement

* set access_token to None by default

* set access_token to None by default

* fix unit tests for Python experimental

* fix trailing space
2020-02-03 09:39:17 -08:00
Sebastien Rosset
dcc914421e [codegen] Performance optimizations: use of cache for camel case and sanitized strings (#5152)
* use of cache for camel case and sanitized strings

* use of cache for camel case, sanitized strings and underscored words
2020-02-03 22:56:42 +08:00
Daniel Frąk
149778a7e7 [typescript-angular]: objects as query parameters no longer break when fields are null (#5197)
* #5174 fix [BUG] [typescript-angular]: objects as query parameters break when fields are null

* #5174 Shell scripts run

* #5174 Code style fix

* #5174 Regenerate typescript-angular samples

* #5174 Regenerate typescript-angular samples a second time
2020-02-03 13:33:05 +01:00
Ben Cox
fbcb8e0c7e [java-jersey2] Fix empty body when form parameters supplied (#5169) 2020-02-03 17:11:59 +08:00
William Cheng
b36b65964f update kotlin samples 2020-02-03 16:32:31 +08:00
Yutaka.Miyamae
a6807a73e5 [Kotlin]Formatted according to the kotlin style guide (#5196)
* Do not put a space
https://kotlinlang.org/docs/reference/coding-conventions.html#horizontal-whitespace

* Use 4 spaces for indentation
https://kotlinlang.org/docs/reference/coding-conventions.html#formatting

* Put spaces around the `=` sign
https://kotlinlang.org/docs/reference/coding-conventions.html#method-call-formatting

* Indent the expression body by 4 spaces
https://kotlinlang.org/docs/reference/coding-conventions.html#expression-body-formatting

* run ./bin/kotlin-springboot-petstore-all.sh
2020-02-03 16:17:26 +08:00
Jim Schubert
7d366ad6ac [docs] Slack block, formatting, 'color' CLI option (#5194)
Adds a more prominent Slack block on the main doc site in response
to a few users not setting the Slack chat links on the Readme or in the
"Learn how" block.

Fixes a rendering issue in the "Try via NPM" block.

Adds a one-liner about the recently added `-Dcolor` option for
optionally colorizing output in the CLI.
2020-02-03 16:08:51 +08:00
Jim Schubert
97ff9b4be7 [cli] Optional colorized outputs (#5193) 2020-02-02 17:36:53 -05:00
Sebastien Rosset
9e32d43570 [bug] fix null pointer exception while evaluating recommend… (#5191) 2020-02-02 15:34:49 -05:00
Tatsuro Shibamura
f356de606b [csharp-netcore] Improved Multimap and ClientUtils implementation (#5122)
* Improvement Multimap impl

* Fixed missing semi-colon

* Fixed compile error using .NET Standard 2.0

* Fixed compile error using .NET Standard 2.0

* Update sample projects

* Apply modifications to additional code flows
2020-02-03 00:15:33 +08:00
Matt Traynham
26c9c64634 [kotlin][client] Add inheritance to Kotlin Client templates (#4453)
* Add inheritance to Kotlin Client templates

* Correct white spacing issues

* Rebuild kotlin client samples
2020-02-01 22:12:11 -05:00
Jim Schubert
a496c2011f [docs] Initial FeatureSet generator documentation (#5188)
* Flatten feature sets for display

* [cli] Add feature set output to config-help

This includes markdown and plain text outputs for config-help.

* [docs] FeatureSet on generator docs
2020-02-01 20:51:55 -05:00
Sebastien Rosset
8d8c106c3a [Go] Support HTTP signature (#4959)
* add support for ECDSA keys

* Add support for HTTP signature

* use bytes.Buffer instead of strings.Builder

* Add unit tests, compliance with HTTP signature draft version 12

* Support (expires) parameter

* Validate list of signed headers does not have duplicate values

* move method to ProcessUtils

* Add http-signature security scheme

* add http_signature_test to security scheme

* remove http signature from petapi

* Add separate OAS file with support for HTTP signature

* Include HTTP signature in README file

* Add generated files for HTTP signature

* Add helper function to return public key, and add more unit tests for signature validation

* some people save their private key with file extensions other than .pem, so I am relaxing the validation of the private key suffix
2020-02-01 15:42:15 -05:00
William Cheng
cd67822d68 Add shibayan to C# technical committee (#5186) 2020-02-02 00:29:17 +08:00
Tatsuro Shibamura
8197a8a47b Explicitly set netCoreProjectFile only for .NET Core target (#5151) 2020-02-02 00:26:27 +08:00
Tatsuro Shibamura
a8435d153e [csharp-netcore] Remove unnecessary legacy project definitions (#5108)
* Remove unnecessary csproj definitions

* Removed deprecated files generation

* Fixed code generator compile error

* Update sample code

* Update sample projects

* Revert "Removed deprecated files generation"

This reverts commit c6841c2b54.

* Revert "Fixed code generator compile error"

This reverts commit cc0bd070e7.

* Regenerate missing project.json file
2020-02-02 00:08:09 +08:00
Tatsuro Shibamura
e86faa4ed1 [csharp][csharp-netcore][csharp-dotnet2] Convert bool value to string in lower case (#5178)
* Convert bool value to string in lower case

* Update sample projects
2020-02-01 23:54:53 +08:00
Sebastien Rosset
20e5c5d6e7 [Golang] Add support allOf inheritance with embedded go structs (#4934)
* Golang: generate embedded structs and set supportsInheritance to true

* Run bin/go-experimental-petstore.sh
2020-02-01 09:44:15 -05:00
Sebastien Rosset
6f1ce5645e [codegen] Add code comments and improve "first content" warning (#5184)
* Add code comments and improve warning
2020-02-01 08:50:11 -05:00
Jim Schubert
c8cd255ad3 [gradle] Add recommendations to validate task (#5183)
* [gradle] Add recommendations to validate task

* Use current version of Gradle Plugin in build checks.

* Fix gradle project build version confusion in CI

* [gradle] Bump samples to 5.2.1 wrapper

Previously, the Gradle plugin was building in CI against
openapi-generator 4.2.0 and Gradle version 4.10.2. At some point, a
contribution was made with an API which is incomatible at 4.10.2 and due
to a release script error which pinned the local-spec version to release
4.2.0, we didn't notice this inconsistency.

This bumps the project to build against Gradle 5.2.1.
2020-02-01 04:03:34 -05:00
Jim Schubert
7cdbcec1a5 [doc] Update versions missed during release (#5185)
* [doc] Update versions missed during release

Removed old script bin/utils/release_version_update_docs.sh to avoid
confusion. New script solves issues of not "globally" replacing.

New script is at:

bin/utils/release/release_version_update_docs.sh

* Update Gradle Plugin README with correct version

* Update gradle.properties to correct version
2020-01-31 22:40:33 -05:00
Jim Schubert
507f80617d [bug] Templates via classpath (#5164)
* Fixes issue with templates loading via classpath

The templating engines were originally written to load templates via the
classpath, but this functionality was blocked by file-only checks
further up the stack. This loosens those file-only checks, allowing
files and relatively imported files to be included via classpath.

* [docs] Add details about classpath-level templates

* [feat][maven] templateResourcePath for template on classpath
  - NOTE templateResourcePath is not needed for gradle, as it accepts
    a string for the target template directory, which supports classpath
2020-01-31 17:36:06 -05:00
Jim Schubert
22c6c0ca68 [core] Extracting recommendations to validation framework (#4979)
* [core] Extracting recommendations to validation framework

This is work to extract recommendation logic out of the CLI validate command
into a shared evaluation instance which can be used elsewhere (such as Gradle,
or the Online tool).

For now, these validations are in addition to those provided by swagger-parser and
are only the following recommendations:

* Apache/Nginx warning that header values with underscore are dropped by default
* Unused models/schemas
* Use of properties with oneOf, which is ambiguous in OpenAPI Specification

I've allowed for disabling recommendations via System properties, since this is
something that has been requested a few times by users. System properties in this
commit include:

* openapi.generator.rule.recommendations=false
  - Allows for disabling recommendations completely. This wouldn't include all warnings
    and errors, only those we deem to be suggestions
* openapi.generator.rule.apache-nginx-underscore=false
  - Allows for disabling the Apache/Nginx warning when header names have underscore
  - This is a legacy CGI configuration, and doesn't affect all web servers
* openapi.generator.rule.oneof-properties-ambiguity=false
  - We support this functionality, but the specification may not intend for it
  - This is more to reduce noise
* openapi.generator.rule.unused-schemas=false
  - We will warn when a schema is not referenced outside of Components, which
    users have requested to be able to turn off
* openapi.generator.rule.anti-patterns.uri-unexpected-body=false

* Move recommendation/validations to oas package and add javadoc comments

* Refactor and test recommendation validations

* Refactor validation function signatures to return explicit state rather than boolean

* Add operation recommendation for GET/HEAD w/body
2020-01-31 12:19:16 -05:00
Yutaka.Miyamae
f06ac9d91c Add a link to a ytaka0m blog post (#5176) 2020-01-31 22:57:15 +09:00
Alexey Makhrov
e32a2f0121 [typescript] Append enum suffix without model suffix (#5138)
* [typescript] Generate enum name independently on model name, ignoring modelSuffix

* Add `enumSufix` cli option for all typescript generators

* Add ENUM_NAME_SUFFIX to to TypeScript***ClientOptionsProvider

* Add a typeMapping for OAS2 built-in "file" type

* Re-generate samples

* Introduce `v4-compat` mode for enumNamePrefix

* Update TypeScriptFetchModelTest - make sure codegen options are processed before running assertions

* Regenerate samples

* Regenerate docs

* Regenerate docs
2020-01-31 12:17:22 +01:00
William Cheng
92739a967a update samples 2020-01-31 19:16:03 +08:00
William Cheng
e90b1817b5 update readme 2020-01-31 19:01:44 +08:00
William Cheng
03a59046f4 Merge remote-tracking branch 'origin/4.3.x' 2020-01-31 19:00:28 +08:00
William Cheng
26ace1337d Prepare 4.2.3 release (#5172)
* release 4.2.3

* update readme
2020-01-31 16:24:06 +08:00
Alexey Makhrov
f0d92bb0c1 [typescript] Introduce "enumPropertyNaming" option (#5162)
* Add enumPropertyNaming option to typescript generators

* Regenerate docs

* Add Locale.ROOT to toUpperCase() call

* Use actual enum values in an error message, instead of hardcoding them

* Add tests for "UPPERCASE" and "snake_case" enum var namings

* Add LOCALE.ROOT to String#format call
2020-01-31 07:56:18 +01:00
Jim Schubert
49a9b61f51 [gradle] Reorganize build repositories (#5168) 2020-01-30 20:18:39 -05:00
Jim Schubert
97c8009ccb [gradle] Clarify defining multiple tasks (#5167) 2020-01-30 16:00:13 -05:00
Alexey Makhrov
845acce4af Remove typeMapping for "List" from AbstractTypeScriptClientCodegen (#5160) 2020-01-30 08:47:08 +01:00
Jim Schubert
607f5a1c0a [core] Move overwrite ownership to SupportingFile (#5036)
* [core] Move overwrite ownership to SupportingFile

Previously, there was a writeOptional method in DefaultCodegen which
allowed *Codegen instances to immediately write out a supporting file if
it did not exist. This would allow a codegen implementation to skip
user-facing options such as definitions in .openapi-codegen-ignore, the
"supportingFiles" system property, and support for the experimental
handlebars templating engine. While our implementation only modified the
supportingFiles list conditionally, it added confusion as it seemed to
imply that file writes were somewhat the responsibility of
DefaultCodgen (it's DefaultGenerator which handles file manipulation).

This commit moves the definition of whether a file supports overwriting
existing files into the SupportingFile type itself, allowing that
functionality to be determined at time-of-write rather than
time-of-definition. This would allow us, for example, to dump the list
of files which would be generated using a --dry-run option or similar.

This will be a breaking change for anyone who has extended
DefaultCodegen and called "writeOptional". The path to migrate is to add
the SupportingFile to the supportingFiles list and chain the method call
`.doNotOverwrite()` on the instance.

This has the added benefit of clarifying this behavior, considering the
write behavior wasn't previously "optional" writes but optionally
defining the list of supportingFiles based on the state of the file
system.

* [samples] Regenerated
2020-01-29 18:26:39 -05:00
Erik Timmers
fa295aa2a8 [elm] Add bearer, task, and sendWithCustomError (#5146)
* [elm] Add bearer support

* [elm] Allow mapping request errors

By either using `sendWithCustomError` or `task`.
2020-01-29 22:26:41 +01:00
Justin Black
a51d02ac61 [Python] Fix #5126 operations with req enums of length one (#5129)
* Updates ap.mustache for python-experimental, adds test test_test_endpoint_enums_length_one

* Removes sortParamsByRequiredFlag from python-experimental

* Removes duplicate params from docstring
2020-01-29 10:10:41 -08:00
Tatsuro Shibamura
3922607858 [csharp-netcore] Fixed compiler null-check warning (#5119)
* Fixed compiler null-check warning

* Rename vendor extensions as `x-csharp-value-type`
2020-01-30 00:52:48 +08:00
Jim Schubert
76e8e81668 [core] Add back functionality to debug openapi spec, accidentally removed in 4.1.2 (#5147) 2020-01-29 08:30:20 -05:00
LoveIsGrief
6cf58afdc5 Switch to predominant use of appDescriptionWithNewLines in README.mustache (#5109)
Descriptions tend to get lengthy and can include multiple lines.
New lines are important to markdown formatting/syntax and can't just be ignored.

Resolves https://github.com/OpenAPITools/openapi-generator/issues/3704
2020-01-29 17:18:57 +08:00
Hui Yu
f4185b8d9e [C-libcurl] Support HTTPS/SSL for the C client (#5140) 2020-01-29 16:57:31 +08:00
Tatsuro Shibamura
e27700cfee [csharp-netcore] Support .NET Core 3.0/3.1 and .NET Standard 2.1 (#5111)
* Add .NET Core 3.x / .NET Standard 2.1

* Fixed test project target framework

* Fixed missing sync property

* Update generator docs
2020-01-29 16:50:06 +08:00
Yutaka.Miyamae
8214460ec5 Add deprecated annotation in kotlin-spring (#5090)
* add Deprecated in kotlin dataClass

* add deprecated in CodegenProperty

* format (Column limit: 100)

* set property.deprecated

* add test

* run ./bin/kotlin-springboot-petstore-all.sh

* trim space
2020-01-29 16:30:33 +08:00
Jim Schubert
1ac0f141a6 [feature] Default CI log level for slf4j-simple to error to prevent noise (#5118)
* [feature] Log "debounce" filter to remove spam.

* [log] slf4j-simple should be optional

This also sets the default log level to ERROR during CI builds for many
mvn invocations. This should reduce noise in the logs.

* [log] Rely only on mvn loglevel=error for now

* [cli] Clean up unused dependency

* [log] Change level to error/warn in more CI
2020-01-29 16:28:42 +08:00
William Cheng
f37951a0ba Add a link to dev.to article (#5142) 2020-01-29 16:20:50 +08:00
William Cheng
0f48ab8b15 Add bkabrda to Java technical committee (#5141) 2020-01-29 16:09:08 +08:00
Fabian von Feilitzsch
15345e1620 [python] Cleanup ThreadPool with atexit rather than __del__ (#5094)
* [python] Cleanup ThreadPool with atexit rather than __del__

This removes the `__del__` function from the generated Python client,
and replaces it with a `cleanup` function. When a ThreadPool is created,
the cleanup function is registered with the `atexit` module.

This fixes #5093, where the API client could hang indefinitely at
garbage collection.

* Update petstore examples

* Test to ensure threadpool is cleaned up

* Docs now encourage using the context manager

* Regenerate docs

* Update samples
2020-01-28 21:58:11 -08:00
Jim Schubert
d627282e89 [go] Allow user overrides for generated outputs (#5132) 2020-01-28 20:29:10 -05:00
Hui Yu
f152a22094 [C-libcurl] Add object.c to CMakeLists to compile (#5130)
* [C-libcurl] Add object.c to CMakeLists to compile

* [C-libcurl] Add object.h/object.c to CMakeLists of sample
2020-01-29 01:34:51 +01:00
Alexey Makhrov
105ce99039 [typescript-angular] Import models from a single model/models.ts (#5128)
* Make api to models from a single model/models.ts instead of individual model files.
Fixes inconsistent usage of file names with inline models (inline-model-1, inline-model-2, ...)

* Remove additional mapped filename prop from api imports (since it's not reliable)

* Rerun ./bin/typescript-angular-petstore-all.sh

* Restore the `filename` property passed to the templates, with a comment it's no longer used
2020-01-28 08:23:18 +01:00
sunn
ab5f224634 Support abort operation (#5114) 2020-01-27 16:00:58 +01:00
Slavek Kabrda
a42ff37a42 [java][client] oneOf support for jackson clients (#5120) 2020-01-27 08:23:20 -05:00
aanno2
d111e3a359 [REQ][typescript-angular]: support for object as query parameters (#4407)
* https://github.com/OpenAPITools/openapi-generator/pull/4407 squashed from original, and better author (I failed to refer the right PR the first time)

* removed isArrayLike in favour of Array.isArray

* support collectionFormat the old way

* fixed type and rebuild samples

* revert samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/package.json

* reverted samples/client/petstore/typescript-angular-v8-provided-in-root/builds/with-npm/tsconfig.json

* rebase-to-master-fix: isDateTime stuff is now handled within this.addToHttpParams

* run bin/typescript-angular-petstore-all.sh on the rebased PR

* applying proposed fix of @macjohnny

* run bin/typescript-angular-petstore-all.sh to regenerate samples

Co-authored-by: aanno <aanno@users.noreply.github.com>
2020-01-27 09:40:58 +01:00
Marcin Stefaniuk
19a5f1248e Typescript Axios returned types and export paths fixed (#5102)
* Typescript Axiom templates fixed

Templates fixed to have `withInterfaces` and `withSeparateModelsAndApi` options working combined.

* Added petstore generated samples for typescript-axios

* Fixing line endings

* Remove unnecessary change in function signature

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* re-generate typescript-axios samples

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2020-01-27 09:40:28 +01:00
Bernd Hacker
45f26fe0bd [typescript-rxjs] performance improvements, bugfix for falsy parameters (#4250)
* perf(typescript-rxjs): remove redundant check when building auth header

* feat(typescript-rxjs): destructure request parameters, add throwIfNullOrUndefined helper, build query object more efficently

* fix(typescript-rxjs): change form checks back from null to undefined

* feat(typescript-rxjs): regenerate samples

* feat(typescript-rxjs): add hasRequiredQueryParams flag for improved query object generation

* feat(typescript-rxjs): remove trailing comma in param destructuring, improve formatting via hasOptionalQueryParams flag

* feat(typescript-rxjs): remove useless generics in BaseAPI

* feat(typescript-rxjs): regenerate samples

* feat(typescript-rxjs): extend CodegenParameter by output.paramNameAlternative and output.paramNameOrAlternative

* refactor(typescript-rxjs): remove obsolete reservedWords RequiredError and exists

* feat(typescript-rxjs): add reservedParamNames list with headers, query and formData, extend param processing

* feat(typescript-rxjs): use paramNameOrAlternative in api template

* refactor(typescript-rxjs): replace paramNameOrAlternative prop with mustache partial

* refactor(typescript-rxjs): reduce branching in configuration's apiKey() and accessToken()

* refactor(typescript-rxjs): remove unused ModelPropertyNaming

* feat(typescript-rxjs): regenerate samples

* feat(typescript-rxjs): remove CodegenParamter's paramNameAlternative, use vendorExtensions instead

* docs(typescript-rxjs): regenerate readme
2020-01-27 09:31:36 +01:00
Sebastien Rosset
4f350bc01c [Python] Support for HTTP signature (#4958)
* start implementation of HTTP signature

* add api key parameters for http message signature

* HTTP signature authentication

* start implementation of HTTP signature

* add api key parameters for http message signature

* HTTP signature authentication

* HTTP signature authentication

* start implementation of HTTP signature

* fix merge issues

* Address formatting issues

* Address formatting issues

* move python-experimental-openapiv3-sample to a separate PR

* Add support for HTTP signature

* Add code comments

* Add code comments

* Fix formatting issues

* Fix formatting issues

* Fix formatting issues

* add code comments

* add code comments

* fix python formatting issues

* Make PKCS1v15 string constant consistent between Python and Golang

* fix python formatting issues

* Add code comments in generated Python. Start adding unit tests for HTTP signature

* compliance with HTTP signature draft 12

* compliance with HTTP signature draft 12

* working on review comments

* working on review comments

* working on review comments

* working on review comments

* working on review comments

* working on review comments

* working on review comments

* working on review comments

* working on review comments

* fix python formatting issues

* fix trailing white space

* address PR comments

* address PR comments

* address PR comments

* Add suppport for '(expires)' signature parameter

* address PR comments

* address PR comments

* Fix python formatting issues

* Fix python formatting issues

* Starting to move code to dedicated file for HTTP signatures

* Continue to refactor code to dedicated file for HTTP signatures

* Continue to refactor code to dedicated file for HTTP signatures

* Continue to refactor code to dedicated file for HTTP signatures

* Continue to refactor code to dedicated file for HTTP signatures

* move method to ProcessUtils

* conditionally build signing.py

* move method to ProcessUtils

* Code reformatting

* externalize http signature configuration

* address PR review comments

* address PR review comments

* run samples scripts

* Address PR review comments

* Move 'private_key' field to signing module

* Move 'private_key' field to signing module

* code cleanup

* remove use of strftime('%s'), which is non portable

* code cleanup

* code cleanup

* code cleanup

* run sample scripts

* Address PR review comments.

* Add http-signature security scheme

* Run sample scripts for go

* Fix issue uncovered in integration branch

* Fix issue uncovered in integration branch

* Fix issue uncovered in integration branch

* Fix issue uncovered in integration branch

* Run samples scripts

* move http signature tests to separate file

* move http signature tests to separate file

* unit tests for HTTP signature

* continue implementation of unit tests

* add http_signature_test to security scheme

* add unit tests for http signature

* address review comments

* remove http signature from petapi

* Add separate OAS file with support for HTTP signature

* Add support for private key passphrase. Add more unit tests

* Add unit test to validate the signature against the public key

* remove http signature from petstore-with-fake-endpoints-models-for-testing.yaml

* fix unit test issues

* run scripts in bin directory

* Refact unit test with better variable names

* do not throw exception if security scheme is unrecognized

* change URL of apache license to use https

* sync from master

* fix usage of escape character in python regex. Fix generated python documentation

* write HTTP signed headers in user-specified order. Fix PEP8 formatting issues

* write HTTP signed headers in user-specified order. Fix PEP8 formatting issues

* http signature unit tests

* Fix PEP8 format issue

* spread out each requirement to a separate line

* run samples scripts

* run sample scripts

* remove encoding of '+' character
2020-01-26 18:17:26 -08:00
Richard Whitehouse
84b6804d8f [Core, Rust Server] Support multipart/related requests (#5015)
* [Core, Rust] Support multipart/related requests

* Treat multipart/related as a type of form data
2020-01-26 20:39:43 -05:00
Jim Schubert
c0f7b47292 [ci][test] Modifications to static analysis contribution via Tomasbjerre (#5116)
* Spotbugs, PMD and Checkstyle #33

* Reducing Spotbugs effort to min #33

 * Also using project.parent.basedir and avoiding relative paths in pom files.
 * Filtering out samples.

* Move PMD/Spotbugs to static-analysis profile

This moves the static-analysis checks to a standalone profile. Core
contributors may run static analysis with:

```
mvn -Pstatic-analysis install
```

The analysis is separated from default functionality to reduce impact to
community contributions. SpotBugs/PMD may add a non-trivial amount of
time to builds on some machines.

Co-authored-by: Tomas Bjerre <tomas.bjerre85@gmail.com>
2020-01-26 12:45:41 -05:00
Sebastien Rosset
20afa870a9 [CORE] Add support for HTTP signature (#4993)
* Add support for HTTP signature

* Add http-signature security scheme

* add http_signature_test to security scheme

* Add separate OAS file with support for HTTP signature

* change URL of apache license to use https

* add log warning to indicate the 'http signature' security scheme is still a draft
2020-01-26 11:48:22 -05:00
Jim Schubert
d8c9f25b10 Update sonar.yml
Limit next-version release branches to those ending in `.x`
2020-01-26 11:36:11 -05:00
Tatsuro Shibamura
305b7279ee [csharp-netcore] Update RestSharp and improve async methods (#5066)
* Update RestSharp and improve async methods

* Fixed missing type parameter

* Update sample code

* Update README

* Update RestSharp version for CI

* Fixed sample test projects
2020-01-25 19:07:50 -05:00
Jim Schubert
c9ec084418 🐛 Fixing some issues with threading and NPE (#5107)
* 🐛 Fixing some issues with threading and NPE

After running Sonar on the master branch, some major analysis
opportunities were displayed.

This fixes the use of SimpleDateFormat stored as static fields.
SimpleDateFormat is not thread-safe, and may retain data across threads.
While there's no indicator that this has caused any issues (these are
mostly used for example code), we should follow these best practices.

This also fixes a handful of NPE and other minor issues such as
comparing Boolean.TRUE to strings and no wrapping some closeables in
try-with-resources.

* [cli] Unit test GenerateBatch custom deserialization helper

* Quiet batch mode in sonar.yml

* Suppress unnecessary warnings (ThreadLocals in static fields)
2020-01-25 18:28:16 -05:00
Richard Whitehouse
52e09e2ffa [Rust Server] Handle array of objects inside an object correctly (#5044)
Use correct data type for arrays inside objects.

Add test for arrays of objects

Update samples
2020-01-25 18:23:20 +00:00
Richard Whitehouse
2714af4922 [Rust Server] Sanitise enum values (#5042)
[Rust Server] Sanitize enum values
2020-01-25 16:26:05 +00:00
Richard Whitehouse
32222da435 [Rust Server] Add support for primitive arrays (#5041)
[Rust Server] Add support for primitive arrays
2020-01-25 16:25:20 +00:00
Jim Schubert
ad4a9df328 Update sonar.yml
Set GITHUB_REF with replacement to remove refs/heads prefix
2020-01-24 22:37:27 -05:00
Jim Schubert
9928f3c375 Update sonar.yml 2020-01-24 22:25:58 -05:00
Jim Schubert
43b6272fc6 Update sonar.yml 2020-01-24 22:18:13 -05:00
Jim Schubert
5220d7cd59 Create sonar.yml 2020-01-24 22:13:08 -05:00
Alexey Makhrov
15d31f753d [typescript-angular] Sanitize/transform model name after appending model suffix (#5105)
This makes sure the final (suffixed) model name is checked against the TS keywords / reserved names.
2020-01-24 22:59:47 +01:00
Erik Timmers
7e16a1f58c [elm] Fix duplicate coder names (#5100)
* [elm] Add signature to enum variants

* [elm] Fix field encoders/decoders
2020-01-24 11:04:00 +01:00
Mila Rodriguez
524ef63e37 Fix typescript model kebab-cased filenames #5073 (#5085)
Updated StringUtils to collapse consecutive underscores and/or whitespace into a single dash when "dashizing".
2020-01-24 08:56:15 +01:00
Chris Couzens
b77bffeae1 Typescript axios: remove use of btoa (#5098)
btoa (binary to ascii), is a javascript function to base64 encode a
string.

Axios is usable both from node and from the browser. But the btoa
function is available only in the browser.

This meant that any client that used basic auth was broken in node.
Axios has its own method of encoding basic auth credentials. This method
works in both the browser and node.
https://github.com/axios/axios/blame/v0.19.2/README.md#L318

By using this method, the generated client works in node and in the
browser.

This solves this comment on this issue.
https://github.com/OpenAPITools/openapi-generator/issues/3049#issuecomment-498278966

I have validated this change within a personal project:
df8b552f5f (diff-e91249994e03dd6af8c6bee4ff7d8381)
2020-01-24 07:16:35 +01:00
Jim Schubert
09fd494836 Adds jacoco for code coverage (#5084)
* Adds jacoco for code coverage

This sets up jacoco instrumentation for code coverage. Preparing for
master and PR coverage reporting via sonarcloud.

* Set initial required coverage to 0
2020-01-23 23:46:07 -05:00
Sebastien Rosset
327ffc10bb [HttpBasicAuth] Use positive isBasicBasic tag instead of negative isBasicBearer (#5095)
* use positive isBasicBasic tag instead of negative isBasicBearer

* use positive isBasicBasic tag instead of negative isBasicBearer
2020-01-24 10:35:56 +08:00
Sebastien Rosset
75d5569e92 [go] Fix multiple go compilation errors and enable go integration test in pom.xml (#5075)
* fix go compilation error for properties of type map and array

* fix go compilation error for properties of type date and datetime

* add missing shell script to bin/utils/ensure-up-to-date

* add missing shell script to bin/utils/ensure-up-to-date

* add missing shell script to bin/utils/ensure-up-to-date

* fix issue with 'date' type

* fix time import problem

* Add missing pom.xml files for golang

* Add missing unit test files for golang

* Add missing unit test files for golang. Must use class name prefix for enums

* Fix unit tests for go-experimental in OAS3

* Fix unit tests for go-experimental in OAS3

* Add code comments in codegen

* Fix compilation errors of generated go code

* Fix compilation errors of generated go code

* remove antihax from go-experimental, it is no longer used

* copy python testfile for ut purpose

* add error checkout in unit tests

* add unit tests

* add code comments

* move test foo.png file to correct location

* run samples scripts

* run samples scripts
2020-01-24 09:54:26 +08:00
sunn
138232d557 [C++] [Qt5] Add request compression and handling identity (#5088)
* Add request and response compression and handling identity

* Minor updates for identity and if conditions
2020-01-23 20:43:40 +01:00
Erik Timmers
71128f712c [elm] enum items and parameters (#5051)
* [elm] Fix generating arrays of enums

* [elm] Add suffix to operation parameters

So there are no longer conflicts between parameters or
parameters and operation names.
2020-01-23 13:13:24 +01:00
Erik Timmers
efc452513b [elm] Fix decoding empty operation responses (#5055) 2020-01-23 10:28:13 +01:00
Yuriy Belenko
0366e946ba [Slim4] Add string formats support to Data Mocker (#4975)
* [Slim4] Support byte data format

* [Slim4] Support date and date-time data formats

* [Slim4] Support password data format

* [Slim4] Support uuid data format

* [Slim4] Fix test of password format mocking

'00000' is numeric type, because PHPUnit doesn't make strict type
comparison.

* [Slim4] Fix data format key in object mocking

* [Slim4] Support binary data format

* [Slim4] Support email data format

* [Slim4] Base64 encode binary format output

Raw bytes string breaks PHP stdout output, so I've decided to use base64
encoding format for binary format too.

* [Slim4] Refresh samples
2020-01-23 16:18:18 +08:00
Jim Schubert
bcff006dc8 [python] Fix NPE in example generation (#5082) 2020-01-22 19:22:18 -05:00
Jim Schubert
ac528aaf07 [test] Removes jmockit in favor of mockito (#5063)
* [test] Removes jmockit in favor of mockito

We use mockito in many tests. This removes jmockit which is run as a
javaagent in favor of Mockito which is not.

This work is in preparation for applying some static analysis tools,
while evaluating others such as Jacoco. I'm also look at ways to improve
build times while also decreasing "ramp up time" for contributions from
the community. Reducing the number of mock frameworks and dependencies
is a step toward that goal.

* Rename method in new.sh

* [cli] Mock the generate task
2020-01-22 18:04:00 -05:00
Michele Albano
bf57a9960d Rebased to current upstream/master. (#4514)
Tests for python client, comprising support for additional_properties and arrays.
There are ugly workarounds for when there are discriminators, since the python client generator does not fully handle them.
Cool indentation of test files.
2020-01-22 22:08:53 +08:00
dependabot[bot]
fc4563baef Bump spring-webflux from 5.0.8.RELEASE to 5.1.0.RELEASE in /samples/client/petstore/java/webclient (#5071)
* Bump spring-webflux in /samples/client/petstore/java/webclient

Bumps [spring-webflux](https://github.com/spring-projects/spring-framework) from 5.0.8.RELEASE to 5.1.0.RELEASE.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.0.8.RELEASE...v5.1.0.RELEASE)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump spring-webflux version from 5.0.8 to 5.0.16

ref https://pivotal.io/security/cve-2020-5398

Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
2020-01-22 17:00:52 +08:00
Sebastien Rosset
63859d6d51 Add python-experimental-openapiv3-sample (#4992)
Add python-experimental-openapiv3-sample

Add missing files for the Python samples

Add python-experimental-petstore.bat for openapi v3

Add python-experimental samples openapi v3

Add python-experimental samples openapi v3

Add python-experimental samples openapi v3. Address review comments

add missing files for test purpose

fix python formatting issues

fix python formatting issues

fix python formatting issues

Fix unit tests

fix python formatting issues

fix python formatting issues

fix python formatting issues

fix 'line too long' pep8 error

address PR comments for pep8 'line too long' problem

regenerate samples

execute samples scripts

dummy commit to retrigger circleci

Revert dummy commit, it didn't help.
2020-01-21 23:19:07 +08:00
Bruno Coelho
95bd32d474 [swift5][client] return ErrorResponse.error when network parsing error (#5068) 2020-01-21 22:32:31 +08:00
Sai Giridhar P
6a228e8006 [csharp-netcore] Adding additional package metadata (#5065)
* fix(csharp-netcore): Adding license expression

* fix(csharp-netcore): Adding license expression

* fix(csharp-netcore): Adding license expression

* fix(csharp-netcore): Adding license expression

* fix(csharp-netcore): Adding license expression

* fix(csharp-netcore): Adding other package metadata fields

* fix(csharp-netcore): Adding other package metadata fields

* fix(csharp-netcore): Adding other package metadata fields

* fix(csharp-netcore): Minor fixes

* fix(csharp-netcore): Updating example projects

* fix(csharp-netcore): Removed carriage return

* fix(csharp-netcore): Removed carriage return
2020-01-21 22:10:33 +08:00
sunn
a1d21f6d3a [C++] [Qt5]Add support for response compression and add response body to error s… (#5060)
* Add support for response compression and add response body to error string

* Improve robustness while parsing quality and compression levels
2020-01-21 12:11:43 +01:00
Sebastien Rosset
ff7203875f fix compilation error in generated go code (#5061) 2020-01-21 17:32:38 +08:00
Bruno Clermont
6f5f16aaee Add company using generator (#5064) 2020-01-21 13:40:32 +08:00
Sai Giridhar P
ad009180dd fix(r): Adding repository url (#5056) 2020-01-21 10:47:05 +08:00
Mateusz Szychowski (Muttley)
6af27d52ca [C++][Pistache] Rename value holder to lower chance of collision with parameter name (#4948)
* [C++][Pistache] Rename value holder to lower chance of collision with parameter name

* [C++][Pistache] Update Petstore sample
2020-01-21 00:47:26 +01:00
Jim Schubert
2bc3c196e8 [aspnetcore] Fix duplicate enums (#5059)
* [aspnetcore] Fix duplicate generation of enums

Fixes template issue where enums defined within a class were generated
regardless of whether they were a complexType (externally defined
"model") or an inlined enum.
2020-01-20 16:37:15 -05:00
Liam Martens
7599531960 Fixed call of toISOString on a string type when using string type-mapping (#5057) 2020-01-20 16:59:16 +01:00
William Cheng
2416fc0c76 Add a link to a blog post in dev.to (#5052) 2020-01-20 18:24:11 +08:00
William Cheng
bbada4fe7c resolve merge conflicts in VERSION files 2020-01-20 18:05:23 +08:00
William Cheng
4ec3900d31 undo restoring ElmClientCodegenTest.java 2020-01-20 17:53:11 +08:00
William Cheng
aa841904b4 fix merge conflicts 2020-01-20 17:50:52 +08:00
William Cheng
82e2448bf2 Merge remote-tracking branch 'origin/4.3.x' into 5.0.x 2020-01-20 15:46:13 +08:00
William Cheng
04af5e0445 Merge remote-tracking branch 'origin/master' into 4.3.x 2020-01-20 15:04:34 +08:00
Đào Hoàng Sơn
3a8e598ca2 [dart-dio] Various fixes (#5027)
* [dart-dio+time_machine] Add missing import, serializer

* [dart-dio] Remove bad import from `http` package

* [dart-dio] Use raw strings for those that contain variable name.

This should eliminate potential issue with variables like `$ref`.

* [dart-dio] Use `_path` instead of `path` to avoid potential conflict with op params.

See 1bec0b47b1/Kubernetes.json, there are a few with `{path}` param.

* [dart-dio+time_machine] Use `OffsetXxx` classes for date time values
2020-01-20 11:56:24 +08:00
Sebastien Rosset
449026add7 Add java code comments based on explanation from Jim Schubert (#5048) 2020-01-19 21:18:15 -05:00
Sebastien Rosset
f744ec55f8 Execute ./bin/openapi3/go-experimental-petstore.sh script (#5049) 2020-01-19 21:17:02 -05:00
Jim Schubert
644f720db8 [docs] Sorted doc outputs and clean up duplicated CliOptions (#5046)
* [config-help] Sort all outputs

* Remove old/stale generator docs (these have been renamed previously)

* Sort config doc outputs, making it easier to find relevant info

* Fixes cliOptions duplicates

Erlang client/proper improperly set the version option as packageName
(causing duplicate for packageName).

The java and swift option removals are because the options are added in
parent classes, resulting in duplication of the options.

* Add --github-nested-index for generating docs/generators/README.md

* 📝 Regenerate generator docs
2020-01-19 20:19:11 -05:00
Jim Schubert
bbe88ba635 Add docs/installation.md and docsite index to version update script (#5037) 2020-01-19 18:02:28 -05:00
Sebastien Rosset
d61dcc17e0 [gradle] consistent use of maven url in gradle files (#5045)
* wrap maven url with uri function

* consistent use of maven url in gradle files
2020-01-19 14:57:38 -05:00
Jim Schubert
23131c1a63 Use HTTPS Maven URL in Kotlin meta generator (#5043)
This continues on work in #5033 and #5034 which convert all http usage
to https to unblock CircleCI builds.

In #5034, mavenCentral() DSL was updated to explicitly target the https
maven repo because Gradle didn't force TLS 1.2 until v4.8.1 and many of
our examples use earlier versions of Gradle.  The Kotlin meta generator
was missed because it is a .kts build file rather than build.gradle, and
the mustache filename doesn't have kts in it; the file was updated as if
it was build.gradle (groovy syntax).
2020-01-19 10:42:25 -05:00
William Cheng
fff759b79c [Python] fix numeric enum in python flask, aiohttp (#5019)
* minor code format fix

* fix numeric enum in python flask and aiohttp

* add python-server-all.sh to ensure-up-to-date
2020-01-19 15:25:20 +08:00
William Cheng
6a34706a9b add multipleOf to various codegen classes (#5021) 2020-01-19 13:39:26 +08:00
William Cheng
c0ba498ddc Add a link to a youtube video on Pulp and OpenAPI Generator (#5038) 2020-01-19 13:38:35 +08:00
Jim Schubert
8ab39a28d2 [scripts] Remove misspelled OPENAPI_GENERATOR_DOWLOAD_CACHE_DIR (#5035) 2020-01-18 22:17:58 -05:00
Jim Schubert
ea55968737 Evaluating https issues in CircleCI (on top of CiscoM31-maven-h… (#5034)
* replace http with https. Replace http://central.maven.org with https://repo1.maven.org

* replace http://www.apache.org/licenses/LICENSE-2.0 with https://www.apache.org/licenses/LICENSE-2.0

* Force HTTPS for mavenCentral gradle DSL

Co-authored-by: Sebastien Rosset <serosset@cisco.com>
2020-01-18 18:53:05 -05:00
William Cheng
d1948c4b41 better code format in java jersey doc (#5031) 2020-01-18 19:11:51 +08:00
Nicholas Muesch
2722c602ac Escape query params before invoking api (#5023)
* Escape query params before invoking api

* Update petstore file

* Update remaining petstore examples
2020-01-18 17:25:18 +08:00
Hippolyte HENRY
ee984c38a5 [Java][jersey2] Use builder pattern for requests (#4666)
* Use builder pattern for requests

* petstore

* Add @throws annotation

* regenerate jersey2 test files

* Also group bodyParam in builder class

* petstore java6

* regenerate java8

* ensure up to date
2020-01-18 16:12:20 +08:00
Yuriy Belenko
420039c9eb [Slim4] Add integer formats support to Data Mocker (#4965)
* [Slim4] Support int32 and int64 data formats

* [Slim4] Fix data format key in object mocking

* [Slim4] Refresh samples
2020-01-18 16:08:13 +08:00
William Cheng
ffc69699c0 Add a link to Scala Gatling blog post (#5029) 2020-01-18 15:55:53 +08:00
William Cheng
3f074a280a minor improve to rust server (#5020) 2020-01-17 18:54:31 +08:00
aandyl
67d23fcf7e [Rust Server] fix handling of special characters in path param names (#4897)
* test for hyphen in path parameter name

* fix handling of hyphens in path parameter names
2020-01-17 15:44:23 +08:00
Josh Burton
f48325ac45 [dart-dio] Fixes issues with DateTime import and form date paramaterToString function (#4929)
- due to the addition of the timemachine library, models were importing ‘DateTime’ when using the core library, which is not a valid import.

- the parameterToString function was copied from the dart2 generator and had some errors when some enums were classes.
2020-01-17 15:35:38 +08:00
William Cheng
bb10e8cdd8 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2020-01-16 21:46:35 +08:00
William Cheng
ef31e8f86b fix permission of codegen classes 2020-01-16 21:46:12 +08:00
William Cheng
0ebdac4ffe Replace http://central.maven.org with https://repo1.maven.org 2020-01-16 18:38:32 +08:00
Sebastien Rosset
fa0ef2be25 [Python] Conditionally set auth attributes (#4988)
* Enhance python API keys

* Run python scripts under ./bin/openapi3

* fix unit test issue

* Fix unit tests

* Fix unit tests

* Invoke bin scripts
2020-01-16 17:42:23 +08:00
Liv Fischer
b94fe7a40f add multipleOf to CodegenProperty (#2192) (#5009) 2020-01-16 17:27:49 +08:00
chatelao
3218587d2f Fix Maven repo links (incl. https instead of http) (#5013)
The current URLs return a 501 due to missing https and worng url
2020-01-16 17:26:07 +08:00
Justin Black
fcdbcb095e Updates maven urls, fix #5011 (#5012)
* Updates maven urls

* Runs ensure up to date'
2020-01-16 17:24:20 +08:00
Hippolyte HENRY
e09f1c9b37 [go-experimental] Use builder pattern for requests (#4787)
* [go-experimental] Use builder pattern for requests
2020-01-15 09:19:23 -05:00
William Cheng
55c6c0385b add k8s to the user list (#5002) 2020-01-15 16:21:18 +08:00
Sebastien Rosset
fe8775a5a5 fix php ordering issue for CodegenSecurity (#5001) 2020-01-15 07:39:04 +01:00
William Cheng
50f7e14a99 update samples 2020-01-14 23:07:37 +08:00
sullis
6a48dd7cd6 upgrade Jackson, swagger-core, and swagger-parser (#4915)
- swagger-parser 2.0.17
- swagger-core 2.1.1
- jackson 2.10.1
2020-01-14 22:40:01 +08:00
Justin Black
8a94a3a7d5 [Java] Fixes Spring generator devaultValues for int64/float/double (#4969)
* Updates spring generator to omit type suffixes from int float double defaults, adds testDefaultValuesFixed

Adds the test testDefaultValuesFixed

* Updates SpringCodegen to only remove character suffixes from CodegenParameter defaultValues, updates tests

* Updates java function comment

* Adds early return in postProcessParameter

* Removes unneeded imports

* Fixes decorators on java method postProcessParameter

* Fixes typo

* Fixes paste error

* Removes unused import
2020-01-14 22:38:16 +08:00
Hui Yu
4767259df4 [C-libcurl] Support setting basePath and apiKeys when creating an apiClient (#4960) 2020-01-14 21:36:12 +08:00
Akihito Nakano
65a6d94842 Add a link to blog post in TECHSCORE (#4996) 2020-01-14 20:51:00 +08:00
William Cheng
0344f14e9a fix csharp-netcore doc (#4987) 2020-01-14 14:11:35 +08:00
Justin Black
bf24d646c5 [PHP] fix php-slim4-server CI tests #4994 (#4995)
* Suggested no-api fix

* Adds sample update
2020-01-14 08:29:18 +03:00
Sai Giridhar P
fb6daa89b0 [r] Ignore cran-comments file from the build (#4986)
* fix(cran-comments): Ignoring CRAN comments file from build

* fix(cran-comments): Ignoring CRAN comments file from build
2020-01-13 21:31:40 +08:00
William Cheng
cf67725e4f comment out broken tests due to bad data (#4985) 2020-01-13 16:38:29 +08:00
valery1707
b22fde6caa Use UTF-8 charset on writing files (#4984) 2020-01-13 15:26:56 +08:00
valery1707
b22f7f033f Reduce scope of recommended git configuration (#4983) 2020-01-13 10:34:43 +08:00
Jim Schubert
b680d7cd7f [kotlin] Fixing merge conflict and re-running CI for #4565 (#4977)
* [fix-kotlinArrayEnumEmbedded] fix embedded enum array
* Add new gen props to bin/ci/kotlin-client-string.json

Co-authored-by: nekkiy <hard-t@mail.ru>
2020-01-11 20:52:45 -05:00
Jim Schubert
78bf3adc4a [core] Initial FeatureSet structures and definitions (#3614)
[core] Initial FeatureSet structures and definitions
Add default feature set to DefaultCodegen
Initial FeatureSet definitions for:

*  ada 
*  android 
*  apache2 
*  asciidoc 
*  aspnetcore 
*  avro 
*  bash 
*  c 
*  clojure 
*  cpp-pistache-server 
*  cpp-qt5-client 
*  cpp-qt5-qhttpengine-server 
*  cpp-restbed-server 
*  cpp-restsdk 
*  cpp-tizen 
*  csharp 
*  csharp-nancyfx 
*  csharp-netcore 
*  cwiki 
*  dart 
*  eiffel 
*  elixir 
*  elm 
*  erlang 
*  flash 
*  fsharp-functions 
*  go  Client/Server
*  graphql-nodejs-express-server 
*  graphql-schema 
*  groovy 
*  haskell 
*  haskell-http-client 
*  java 
*  jmeter 
*  kotlin 
*  kotlin vertx 
*  kotlin-server 
*  kotlin-spring 
*  lua 
*  mysql 
*  nim 
*  nodejs 
*  nodejs-express 
*  objc 
*  ocaml 
*  openapi 
*  openapi-yaml 
*  perl 
*  php 
*  php-laravel 
*  php-lumen 
*  php-silex 
*  php-slim 
*  php-symfony 
*  php-ze-ph 
*  powershell 
*  protobuf 
*  protobuf-schema 
*  python 
*  python-aiohttp 
*  python-blueplanet 
*  python-experimental 
*  r 
*  ror 
*  ruby 
*  ruby 
*  ruby-sinatra 
*  rust 
*  scala-akka 
*  scala-finch 
*  scala-gatling 
*  scala-http-client 
*  scala-lagom 
*  scala-play 
*  scalatra 
*  scalaz 
*  spring 
*  static docs 
*  swift 
*  typescript
2020-01-11 16:20:47 -05:00
William Cheng
4627c7d534 Add Cisco to the user list (#4971) 2020-01-11 10:48:44 +08:00
William Cheng
5e5536367b comment out php slim4 in ensure-up-to-date 2020-01-11 01:01:42 +08:00
William Cheng
20c7400d56 update samples 2020-01-10 21:51:59 +08:00
Justin Black
cbc12543a9 [Python] Allow models to have properties of type self (#4888)
* Refactors openapi_types into a staticmethod

* Adds a Player model with a self type rpoperty, adds a test to ensure that it is working right
2020-01-10 17:43:35 +08:00
Erik Timmers
b62fc1c031 Elm refactoring (#4891)
* [elm] Remove support for Elm 0.18

* [elm] Drop `Main.elm`

* [elm] Put all models in a single file

* [elm] Put generated code in `Api` package

* [elm] Introduce Request type for operations

* [elm] Generate list of enum variants

* [elm] Make default Time module

* [elm] Small improvements & fixes

* [elm] Improve support for allOf

* All of types are now nested;
* Adding a discriminator creates a custom type wrapping all variants
  and a 'catch-all' fallback variant.

* [elm] Add support for recursive types

* [elm] Add catch-all type for allOf

* [elm] Drop support for post-processing of files

* [elm] Only import required packages

* [elm] Handle reserved and unsafe words

* [elm] Minor improvements

* [elm] Add support for integer enums

* [elm] Remove additional slash in path

* [elm] Add link to docs

* [elm] Update CI test file & scripts
2020-01-10 17:12:33 +08:00
Steve Porter
75508f5ce0 Add npmRepository option to javascript generators (#4956) 2020-01-10 17:02:50 +08:00
Yuriy Belenko
6dcdf5c311 [Slim4] Add ref support to Data Mocker (#4932)
* [Slim4] Add new method to Mocker interface

* [Slim4] Add implementation and tests for new method

* [Slim4] Add test fixture to encrease code coverage

* [Slim4] Add ref support to mockArray method

* [Slim4] Add mockFromRef method

* [Slim4] Add ref support to mockObject method

* [Slim4] Add ModelInterface

* [Slim4] Refresh samples

* [Slim4] Add ref support to mockFromSchema method

* [Slim4] Run all test suites by default test command

As it turnes out to generate coverage report for a whole project I need
to run all test suites at once.

* [Slim4] Fix enum option of string mocking
2020-01-10 16:27:43 +08:00
Artem Shubovych
2d24d42e65 Fix auto-labeler for jax-rs (#4943) 2020-01-08 23:55:32 -05:00
Jim Schubert
a2532cc3c5 [doc] full generator details (#4941) 2020-01-08 21:54:05 -05:00
William Cheng
5ec34b9b59 comment out python flask 2 test (#4949) 2020-01-08 21:59:18 +08:00
Jérémie Bresson
c27a6ed2bf [jaxrs-spec][quarkus] update to version 1.1.1.Final (#4935)
* [java][quarkus] update to version 1.1.0.Final

* [java][quarkus] update to version 1.1.1.Final
2020-01-08 21:30:36 +08:00
Jim Schubert
e23f2aa6aa [cli] Full config help details (#4928)
* [cli] Dump additional generator info via config-help (plain text)
* [cli] Dump additional generator info via config-help (markdown)
2020-01-07 13:33:58 -05:00
Ryan N Johnson
d51354783f Add RequestFile to typescript-node model template (#4903)
RequestFile is defined in the [api-all.mustache
template](ac4ead9e78/modules/openapi-generator/src/main/resources/typescript-node/api-all.mustache (L29)),
and it gets used [as a special
case](ac4ead9e78/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java (L92))
[in the model.mustache
template](ac4ead9e78/modules/openapi-generator/src/main/resources/typescript-node/model.mustache (L21)).

When this special case is triggered and `RequestFile` is used in a model
file, Typescript complains that the type is not found.

```
TSError: Unable to compile TypeScript:
path/to/model.ts:15:16 - error TS2304: Cannot find name 'RequestFile'.

15      'myFile'?: RequestFile;
                   ~~~~~~~~~~~
```

This solution is to import `RequestFile` by adding it to the model
template.

Here is an openapi schema that would trigger this use-case:

```yaml
openapi: 3.0.0
components:
    schemas:
        IUploadMyFileBody:
            type: object
            properties:
                myFile:
                    type: string
                    format: binary
```
2020-01-06 10:09:56 +01:00
Jim Schubert
ec1e9a4c9b [csharp] enum suffix changes enumValueNameSuffix to enumValueSuffix (#4927)
* [csharp] Change enum value suffix name

'enumValueNameSuffix' and 'enumNameSuffix' were introduced in a recent
commit. This changes 'enumValueNameSuffix' to 'enumValueSuffix' to
better differentiate between the two options. This also adds a caveat to
the default description which explains that this flexibility may cause
issues when used by client generator.

* [csharp][aspnetcore] Regenerate samples
2020-01-05 16:18:19 -05:00
scott dallamura
9b893ef3c1 [C#] allow customization of generated enum suffixes (#4301)
* [C#] allow customization of generated enum suffixes
2020-01-05 10:25:08 -05:00
Matt Traynham
38185d8558 [Kotlin] Correct isInherited flag for Kotlin generators (#4254)
* Correct isInherited flag for Kotlin generators

* Update Kotlin Client inheritance test to check variables
2020-01-05 10:10:03 -05:00
Richard Whitehouse
e9459125bb [Rust Server] Hyper 0.12 Support (#4519)
[Rust Server] Hyper 0.12 Support

- Hyper upgraded to Hyper 0.12.
  - NewService becomes MakeService
  - Request on MakeContext is not parameterised - instead, ReqBody, and ResBody are parameterized, and must implement hyper::body::Payload.
  - This means that our existing tuples (i.e. (Body, Context)) don't work - instead we have a type ContextualPayload, which implements Payload, and derefs to an inner payload (the body), and contains a context.
  - This is handled by the work done in Metaswitch/swagger-rs#63 but has some fall out here as well.

- tokio-proto/tokio-core is no longer supported, and hyper instead depends on tokio.

- Hyper depends on mime 0.3, but multipart depends on mime 0.2, so we now import both

- Hyper TLS 0.2 and native-tls 0.1

- Use Swagger Support library 3.x

- Futures are now Send. This forces ApiImpl to be need to Send as a result, and all forces Clients to be Send + Sync.
2020-01-05 14:48:12 +00:00
Richard Whitehouse
79d11d7129 [Rust Server] Fix panic handling headers (#4877)
[Rust Server] Fix panic handling headers

If we have an API which has multiple auth types, we may panic. This is because
in Hyper 0.11, the following code will panic:

```
use hyper::header::{Authorization, Basic, Bearer, Headers};
fn main() {
    let mut headers = Headers::default();
    let basic = Basic { username: "richard".to_string(), password: None };
    headers.set::<Authorization<Basic>>(Authorization(basic));
    println!("Auth: {:?}", headers.get::<Authorization<Bearer>>());
}
```

as it mixes up an `Authorization<Basic>` and `Authorization<Bearer>` as both
have `Authorization:` as the header name.

This is fixed by using `swagger::SafeHeaders` added in
https://github.com/Metaswitch/swagger-rs/pull/90
2020-01-05 14:46:09 +00:00
Jim Schubert
c2ee4aefe1 Initial CODEOWNERS (#4924) 2020-01-05 22:23:04 +08:00
Jim Schubert
25036e48d5 [scala] Support for Set when array has uniqueItems=true (#4926)
* [scala] Set support for unique arrays

This includes and builds upon community contribution for better Set support in Scala.
It makes property + model work as expected with Set and default values
across all Scala generators. Included tests to account for new changes.

This also reverts the community contribution to remove ListBuffer
imports and change the default for array to ListBuffer. Users should use
the instantiation types map to modify the desired array instantiation
type. Any new default should target a new minor release after community
discussion, as it affects all existing SDKs generated with
openapi-generator.

* [scala] Improve default handling of monadic collection type

* [scala] Regenerate samples

* Update ScalaPlayFrameworkServerCodegen.java

Scala Play defaulted to List and should continue to do so.

Co-authored-by: František Kocun <frantisek.kocun@gmail.com>
2020-01-05 09:20:56 -05:00
William Cheng
965efdd965 remove nodejs server samples, scripts (#4919) 2020-01-05 21:53:22 +08:00
Andrii
6dc3216f6d Added ability to work with defaultHeaders and fixed authentication for code generated by openapi-generator for typescript-node (#4896)
* Added ability to work with `defaultHeaders` and fixed authentication for code generated by openapi-generator for typescript-node:
 - added getter/setter for `defaultHeaders` property
 - fixed authentication for clients that support several auth methods (use auth method only if auth credentials are set)

* Update petstore templates
2020-01-05 21:41:51 +08:00
William Cheng
7073859aa8 replace petstore_api with packageName (#4921) 2020-01-03 22:54:52 +08:00
William Cheng
759ab1390a remove base_object_spec.mustache from ruby client (#4918) 2020-01-03 15:59:30 +09:00
William Cheng
60b1855ec1 Add an link to Ada article (#4920) 2020-01-03 14:39:56 +08:00
William Cheng
41f3cba85f avoid using hardcode prefix in example (#4917) 2020-01-03 13:37:39 +08:00
LudoO
8e1bb3ddff [dart-dio] Fix basepath (#4911)
* Fix basepath

* regenerate sample petstore
2020-01-03 11:25:29 +08:00
Jérémie Bresson
e675360b9e [java][client] jackson update (#4907)
* [java][client] update jackson-databind-version to 2.10.1

* [java][client] update jackson-version to 2.10.1

* Update samples

* [google-api-client] add missing generic parameter to fix compile error

* Update samples
2020-01-03 11:03:12 +08:00
William Cheng
7c31b7f206 [Swift] Minor improvements to swift 5 generator (#4910)
* minor improvements to swift 5 generator

* update readme

* update samples
2020-01-03 10:42:01 +08:00
AlexG
1cb99e3497 [cpp-restbed] Added "out-of-the-box" functionality (#4759)
* Added cpp-restbed "out-of-the-box" functionality
* handling class dependencies
* added method override to clean interfaces of ambiguity
* added default values for shared pointers
* fixed _name and name parameters generating the same getters and setters
* updated enum handling
* updated Petstore samples
* updated templates for automated object generation

* fix whitespace

* removed model initialisation

* added model brace initialisation
2020-01-02 20:36:22 +08:00
Bruno Coelho
5cc5fbe76a New generator swift5 (#4086)
* [swift5] introduce new generator

* [swift5] add Swift Package Manager integration and update dependencies

* [swift5] run petstore

* [swift] update Swift 5 generator with Swift 4 changes

* [swift] update Swift 5 generator with Swift 4 changes

* [swift] make CodableHelper more customizable

* [swift] update pet projects

* [swift] update pet projects

* [swift] add nullable support

* [swift] make enums conform to CaseIterable

* [swift] date formatter add support for ISO8601 with and without milliseconds

* [swift] add urlsession support

* [swift] remove unecessary sample unwrapRequired

* [swift] rename JSONEncodableEncoding.swift to JSONDataEncoding.swift

* [swift] use result in generator internals

* [swift] cocoapods remove deprecated docset_url and add watchos deployment target

* [swift] Add ability to pass in a dedicated queue for processing network response (Fix for 230)

* [swift] update pet projects

* [swift] update docs

* [swift] add support for combine

* [swift] update docs

* [swift] update windows bat scripts

* [swift] update windows bat scripts

* [swift] update swift pet project tests

* [swift] update depencies

* [swift] make urlsession the default http client

* [swift] add urlsession sample project

* [swift] add urlsession sample project

* [swift] update docs

* [swift] improve combine unit tests

* [swift] update docs
2020-01-02 20:21:45 +08:00
Josh Burton
39ba6bbfb1 [dart-dio] Adds support for multipart form data post body (#4797)
* [dart-dio] Adds support for multipart form data post body

* [dart-dio] Fixes issues around formData
2020-01-02 14:03:37 +08:00
Bruno Coelho
9d53ee4b69 [kotlin][client] make Request date converter toJson as default (#4884)
* Fix for Issue #2205

Because when we have tags on OpenAPI Specification, there can be more than 1 Feign Beans being generated and the title field is share by all the clients. This makes the code to stop working in runtime.
Here is a PR which uses the classVarName instead, which follows the standards and should be enough to solve this issue.

For more info please refer to: https://github.com/OpenAPITools/openapi-generator/issues/2205

* fix java feign parameter request name (#4883)

* update sprign cloud feign sample

* [JAVA][SPRING][2195] added missing getter for enum value (#2346)

* [2195] added missing getter for enum value

* updated samples

* re-generate spring samples

* Removed @JsonValue from toString and regenerated samples

* re-generate spring samples

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>

* update samples

* [kotlin][client] make Request date converter toJson as default

* [kotlin][client] update windows scripts

* [kotlin][client] update docs

* [kotlin][client] update scripts

* [kotlin][client] update scripts

Co-authored-by: Filipe Manuel Couto Pinheiro <filipemcpinheiro@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Lukáš Vasek <bilaak@gmail.com>
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2020-01-02 13:46:49 +08:00
Tomasz Jakub Rup
d643b2706a [go][client] fix when schema have multiple servers (#4901) 2020-01-02 13:44:52 +08:00
Justin Black
3a2439c8e6 Unables CI tests of python-flask-python2 (#4889) 2020-01-02 13:26:31 +08:00
Hui Yu
85f6ed5338 [C-libcurl] The JSON key name in request/response body should not be escaped even though it is a C key word. (#4893) 2020-01-02 13:24:23 +08:00
sullis
178a3e24bd upgrade to JUnit 4.13 (#4899) 2020-01-02 13:20:29 +08:00
Sai Giridhar P
89e963c072 [r] Ignoring README.md in Rbuildignore (#4898)
* fix(r): Removing an unnecessary file from build R library

* fix(r): Removing an unnecessary file from build R library
2020-01-02 13:16:58 +08:00
William Cheng
ac4ead9e78 update samples 2019-12-29 18:13:30 +08:00
Lukáš Vasek
f37d26cc73 [JAVA][SPRING][2195] added missing getter for enum value (#2346)
* [2195] added missing getter for enum value

* updated samples

* re-generate spring samples

* Removed @JsonValue from toString and regenerated samples

* re-generate spring samples

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2019-12-29 16:21:32 +08:00
William Cheng
43a5411436 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2019-12-29 16:19:13 +08:00
William Cheng
0ebbfbc26a update sprign cloud feign sample 2019-12-29 15:15:23 +08:00
William Cheng
85f43a3000 fix java feign parameter request name (#4883) 2019-12-29 14:55:08 +08:00
William Cheng
da8500db95 Merge branch 'patch-1' of https://github.com/filipepinheiro/openapi-generator into filipepinheiro-patch-1 2019-12-29 14:22:54 +08:00
William Cheng
e9d616bd02 run ensure-up-to-date 2019-12-28 15:04:48 +08:00
William Cheng
9b3688ae2a Merge remote-tracking branch 'origin/4.3.x' into 5.0.x 2019-12-28 14:26:40 +08:00
William Cheng
1fd4748563 run ensure-up-to-date 2019-12-28 14:25:19 +08:00
William Cheng
b450ce8a5a Merge remote-tracking branch 'origin/4.3.x' into 5.0.x 2019-12-28 12:34:30 +08:00
William Cheng
81e15ed0bf Merge remote-tracking branch 'origin/master' into 4.3.x 2019-12-28 12:00:09 +08:00
William Cheng
1a5ba8736d Merge branch 'master' of https://github.com/openapitools/openapi-generator 2019-12-28 09:03:37 +08:00
William Cheng
3100f8c4e4 fix kotlin client uppercase enum script 2019-12-28 08:59:29 +08:00
Richard Whitehouse
57d248dd3d [Rust Server] Rust 1.39 compatibility (#4864)
- Fix warnings present in Rust 1.39 resolving missing dyn markers
- Upgrade to lazy_static - fixes #4271
- Update samples
2019-12-27 23:32:21 +00:00
William Cheng
54cfab84b6 run ensure-up-to-date 2019-12-28 01:12:26 +08:00
William Cheng
90cbf71134 update dart petstore samples 2019-12-28 00:13:02 +08:00
William Cheng
adf9c12f73 [Dart] fix option tests (#4874)
* fix dart dio option tests

* minor format change

* fix dart option provider

* minor change to tests

* rearrange test order

* update test value

* comment out set author test

* commet out tests
2019-12-27 22:57:35 +08:00
William Cheng
ca6fb2c4f2 update dart samples 2019-12-27 16:49:02 +08:00
benjaminSchilling33
24155b31e9 Added Dart config parameters to fulfill pubspec requirements for publishing to pub (#3911)
* Added three configuration values for Dart 2 to be able to publish the generated code to pub without changes:

pubAuthor - contains the name of the author
pubAuthorEmail - contains the email address of the author
pubHomepage - contain the homepage of the project

Changed the name of the output directory from docs to doc as this is the path required by pub

* Added three configuration values for Dart 2 to be able to publish the generated code to pub without changes:

pubAuthor - contains the name of the author
pubAuthorEmail - contains the email address of the author
pubHomepage - contain the homepage of the project

Changed the name of the output directory from docs to doc as this is the path required by pub
2019-12-27 16:45:07 +08:00
Mathieu Lemoine
69b8831cbe [Kotlin] enumPropertyNaming UPPERCASE should separate words with _ (#4062)
* [Kotlin] enumPropertyNaming UPPERCASE should separate words with _

* Add unit cases for issue 4062

Co-authored-by: William Cheng <wing328hk@gmail.com>
2019-12-27 16:37:29 +08:00
Jim Schubert
376e419d0b Support models with multi-level hierarchy (via roxspring) (#4503)
* Example of broken multi-level hierarchy

* Support for multiple levels of hierarchy in model objects

* Support for multiple levels of hierarchy in generators

* Regenerated samples

* Temporarily skip scalaz sample verification, which is having issue with Java version in CI container

* Re-enable scalaz in verify samples

Co-authored-by: Rob Oxspring <roxspring@imapmail.org>
2019-12-27 15:42:32 +08:00
Hui Yu
daec02b8c5 [C-libcurl] Fix build error when the request operation has more than 1 parameter. (#4870) 2019-12-27 14:42:05 +08:00
Sebastien Rosset
9cab534034 [Java] Fix serialized name of discriminator in JSON.mustache (#4672)
* Use propertyBaseName instead of propertyName for discriminator

* Revert "Use propertyBaseName instead of propertyName for discriminator"

This reverts commit 389c5471ba.

* Use propertyBaseName instead of propertyName for discriminator
2019-12-26 16:12:58 +08:00
Javier Luque Sanabria
d9c3af54e6 [Kotlin][Client] Update Reserved Keywords (#4793)
* Update reservedWords from here: https://github.com/JetBrains/kotlin/blob/master/core/descriptors/src/org/jetbrains/kotlin/renderer/KeywordStringsGenerated.java

* Order keywords.
2019-12-26 16:07:42 +08:00
Yuriy Belenko
ad4b9c711b [MySQL] snake_case table and column names (#4860)
* [MySQL] Add identifierNamingConvention option

Possible values are "original" to not transform original names and
"snake_case".

* [MySQL] Add option tests

* [MySQL] Update doc

* [MySQL] Add original name to comment
2019-12-26 15:05:36 +08:00
Stephane Carrez
a8bc3360fd Fix 3522: [BUG][Ada] Wrong style for generated Ada model types and missing security scopes (#4863)
* [Ada] Operation security scopes are ignored when generating the server (#1043)
- Update fromOperation() to keep the operation required scopes for each auth
  method and store that information in the x-scopes vendor extensions attribute
- Update postProcessOperationsWithModels() to process the operation required
  scopes and build a list of authMethods which only contain the required scopes
  for the operation and store these authMethods in the x-auth-scopes attribute.
- Update postProcessAuthMethod() to handle the logic of filtering and building
  the operation authMethod (new instances are created because we must not
  modify the global authMethod definitions)
- Update the Ada server templates to use the x-auth-scopes instead of authMethods
  Add a URL prefix parameter for the Ada server instantiation

* Fix Ada code generator
- update to generate Ada style type names (broken by the use of Camelize)
- update the templates for Ada Util and Swagger libraries

* Update generated GNAT project to add the 'utilada_xml' dependency

* Update the Ada samples

* Fix compilation of the petstore Ada sample
2019-12-26 14:50:35 +08:00
Hui Yu
4b01943b06 [C-libcurl] Assign the data type to the function parameter when it is "Free Form Object" in OpenAPI description(swagger.json) (#4861) 2019-12-26 14:49:28 +08:00
Richard Whitehouse
0c92b0c4a4 [Rust Server] Handle multiple response type (#4441)
- Ensure response IDs are unique, even if the first sentence is identical
- Handle responses where different responses produce a different type of data
- Use the correct mime type for plain text and byte streams
- Tidy up whitespace in client-mod.mustache
- Specify locale for String.format
- Add test for multiple response types
- Update samples
2019-12-24 15:09:22 +00:00
Yuriy Belenko
2949b53820 [Slim4] Add integration tests (#4858)
* [Slim4] Add integration tests

* [Slim4] Remove unnecessary syntax check script

Composer package called "phplint" processes the same syntax check and
even faster. It can use cache when files hasn't been changed.

* [Slim4] Exclude composer.lock from codebase

Travis CI fails, it cannot install dependencies from lock file under
different PHP(7.1.33) version.
2019-12-23 11:39:49 +08:00
William Cheng
a95e3e3684 Fix boolean option in asciidoc generator (#4856)
* fix boolean option in asciidoc generator

* minor code format chagne
2019-12-22 18:18:16 +08:00
Josh Burton
e90fa5c4df Fixes issue where only some instances of List or Map were replaced with Built equivalents (#4645)
If there was a type that had a nested type of List or Map, e.g. `Map<String, List<String>>` only the outer types would be replaced with the Built variants, causing issues when running the builder.
2019-12-22 16:05:32 +08:00
Man
c0994c479d #4848 [asciidoc] add option to not generate metadata (#4852)
* #4848 [asciidoc] add option to not generate metadata (asciidoc attributes)

cli / additionalParameters: generateHeaders=true|false

* #4848 [asciidoc] new options ascidoc generator

* #4848 [asciidoc] add option to not generate metadata (asciidoc attributes)

cli / additionalParameters: generateHeaders=true|false
2019-12-22 15:34:29 +08:00
Yuriy Belenko
ca4f718748 [Slim4] Add ModelUtils and StringUtils (#4855)
* [Slim4] Add StringUtils and ModelUtils classes

* [Slim4] Refresh samples
2019-12-22 15:04:30 +08:00
Yuriy Belenko
04ac754d3e [Slim4] Add object support to Data Mocker (#4853)
* [Slim4] Add new method to Mocker interface

* [Slim4] Add tests and implement mockObject method

* [Slim4] Accept items as object in mockArray method

* [Slim4] Add test for array of objects

* [Slim4] Refresh samples

* [Slim4] Remove abandoned debug comment

* [Slim4] Improve tests code coverage
2019-12-22 15:03:22 +08:00
Justin Black
3959530465 [Python] Updates python test framework to pytest (#4765)
* Switches python generators to use pytest, useNose CLI option added if to allow nose to be used instead

* Adds ensure-up-to-date changes

* Adds setup.cfg to python clients so we can configure nose when useNose=true

* Adds fix for python-aiohttp testing, adds files missing from ensure-up-to-date
2019-12-22 14:14:04 +08:00
William Cheng
1084cd38a1 update doc 2019-12-22 13:14:44 +08:00
Jérôme
af783a8c54 [REQ][GO] add awsv4 signature support (#4784)
* [REQ][GO] add awsv4 signature support for client

OpenAPI format does not support AWS Signature method.
This commit add support for AWSv4 signature in GO client generation by adding "withAWSV4Signature" option.
"withAWSV4Signature" option is false by default.

Signed-off-by: Jérome Jutteau <jerome.jutteau@outscale.com>

* [REQ][GO] update samples for awsv4 signature support

Signed-off-by: Jérome Jutteau <jerome.jutteau@outscale.com>
2019-12-22 13:09:10 +08:00
Hui Yu
27bf120d87 [C-libcurl] Fix build error when a struct includes a pointer pointing to itself (#4846) 2019-12-21 18:37:03 +08:00
William Cheng
966eab4cf3 Add woleet.io to the user list (#4854) 2019-12-21 11:07:55 +08:00
Ties de Kock
5740348902 [java] Jersey2 and resttemplate do not correctly send defaultCookies (#4821)
* Java/Jersey2 sends defaultCookies

* Send cookie value instead of [value] (resttemplate)

* Improve the javadoc string
2019-12-21 10:15:29 +08:00
William Cheng
bad78a30c8 Merge remote-tracking branch 'origin/4.3.x' into 5.0.x 2019-12-20 23:26:19 +08:00
William Cheng
4fb503bcac Merge remote-tracking branch 'origin/master' into 4.3.x 2019-12-20 23:21:21 +08:00
Bruno Coelho
3eaafce569 [kotlin][client] Use OffsetDateTime to represente date-time received by the server (#4835)
* [kotlin] add OffsetDateTime support

* [kotlin] serializer add missing import

* [kotlin] update pet projects and fix tests

* [kotlin] update docs

* [kotlin] update pet projects

* [kotlin] update date-time

* [kotlin] update pet project

* [kotlin] update windows script
2019-12-20 23:20:02 +08:00
Jérémie Bresson
ad6c832162 [java] Update jackson_databind_nullable_version to 0.2.1 (#4839)
* [java] Update jackson_databind_nullable_version to 0.2.1

* Update samples

* FIx typo
2019-12-20 23:18:47 +08:00
William Cheng
68b4ac5bee update kotlin samples 2019-12-20 22:45:26 +08:00
William Cheng
06d1b99e34 update kotlin samples 2019-12-20 21:58:13 +08:00
William Cheng
2f5a229fb9 use maven quiet mode 2019-12-20 21:45:07 +08:00
William Cheng
165a9e0508 Merge remote-tracking branch 'origin/4.3.x' into 5.0.x 2019-12-20 20:52:27 +08:00
William Cheng
cded5f9cf3 update dart samples 2019-12-20 20:51:46 +08:00
William Cheng
531dc30917 Merge remote-tracking branch 'origin/master' into 4.3.x 2019-12-20 20:38:49 +08:00
William Cheng
3146e80c61 update doc 2019-12-20 19:00:32 +08:00
Bruno Coelho
56f298a0b4 [kotlin][client] unify jvm libraries (#4827)
* [kotlin] unify jvm envirement

* [kotlin] rename retrofit2 to jvm-retrofit2

* [kotlin] update retrofit2 bat script

* [kotlin] update docs

* [kotlin] update docs

* [kotlin] update pet projects
2019-12-20 18:25:07 +08:00
Bruno Coelho
9feaae8572 [kotlin][client] make serializer configurable (#4740)
* [kotlin][client] make serializer configurable

* [kotlin] update pet projects
2019-12-20 18:08:16 +08:00
Bruno Coelho
b6fd1b0ade [kotlin][client] expose http status code on errors (#4742)
* [kotlin][client] expose http status code on errors

* [kotlin] update pet projects

* [kotlin] update pet projects
2019-12-20 18:06:35 +08:00
Bruno Coelho
dc91112031 [swift4] add option to sortParamsByRequiredFlag (#4706)
* [swift4] add option to sortParamsByRequiredFlag

* [swift4] add option to sortParamsByRequiredFlag

* [swift] update docs

* [swift4] add option sortParamsByRequiredFlag to sample
2019-12-20 17:43:56 +08:00
Bruno Coelho
265ad2297b [kotlin] add options sortParamsByRequiredFlag and sortModelPropertiesByRequiredFlag (#4707)
* [kotlin] add option to sortParamsByRequiredFlag

* [kotlin] add option to sortParamsByRequiredFlag

* [kotlin][client] sort parameters in the models

* [kotlin] update docs

* [kotlin][client] simplify sortParamsByRequiredFlag implementation

* [kotlin] experiment with sortnmodel properties by name

* [kotlin] introduce sortModelPropertiesByRequiredFlag

* [kotlin] update docs

* [kotlin] update kotlin

* [kotlin] fix tests

* [kotlin] update docs

* Revert "[kotlin] update docs"

This reverts commit 88ad825de5.

* [kotlin] update docs and petstores

* [kotlin] update docs

* [kotlin] update pet projects
2019-12-20 17:42:48 +08:00
William Cheng
87ee6c8bfb update documentation 2019-12-19 21:29:31 +08:00
William Cheng
77b28f7963 Add @ityuhui to C technical committee (#4841) 2019-12-19 16:57:50 +08:00
Hui Yu
5ba67c8c95 [C-libcurl] Escape parameter name of function when it is the C keyword. (#4838) 2019-12-19 16:29:56 +08:00
Sascha Groß
366bfd2a67 Fix #4786 Bean Validation for type:string, format: email will work for the SpringCodegen (#4788) 2019-12-19 11:30:39 +08:00
Jim Schubert
10b60e27b1 [dart] Allow derived generators to call DefaultCodegen#processOpts (#4812)
DefaultCodegen#procesOpts sets up quite a bit which may be expected by
users (template directory overrides, git user/repo, etc). The way the
dart-dio and dart-jaguar processOpts methods were written, these things
did not work. This makes it work.
2019-12-19 11:29:13 +08:00
William Cheng
a18494bd8e Test kotlin-json-request-date in CI (#4824)
* test kotlin-json-request-date in ci

* minor code formatting

* add pom.xml for testing

* fix permission
2019-12-19 11:17:47 +08:00
Jim Schubert
b62d68ac5a [markdown] New Markdown Generator (#4811)
* [markdown] New Generator

* [docs] Update to avoid conflict with new markdown generator
2019-12-19 11:16:20 +08:00
Sai Giridhar P
e6e919fe98 [r] Fixing the CRAN submission issues (#4828)
* fix(r): CRAN submission issues

* fix(r): CRAN submission issues
2019-12-19 11:08:03 +08:00
Yuriy Belenko
c6ec794293 [Slim4] Add PHP syntax checker (#4831) 2019-12-19 11:07:10 +08:00
Jiri Kuncar
fb0479a213 Include vendor extensions from security scheme (#4830) 2019-12-19 00:28:38 +08:00
William Cheng
fee79246d0 Merge branch 'master' of https://github.com/openapitools/openapi-generator 2019-12-19 00:19:57 +08:00
William Cheng
4ee610c857 update doc 2019-12-19 00:19:21 +08:00
tanmen
375f24f605 fix unused import in allOf (#4805)
nested model
2019-12-18 17:16:34 +01:00
William Cheng
4ac5ba13ca fix script permission 2019-12-18 17:03:34 +08:00
Xambey
52d3844ff4 fix(typescript-angular): Fix date-timing-parsing is truncating the time (#4623 #4763) (#4792)
* fix(typescript-angular): Fix date-timing-parsing is truncating the time

* fix(typescript-angular): Fix date-timing-parsing is truncating the time (#4330)

* fix(typescript-angular): Fix date-timing-parsing is truncating the time (#4623)
2019-12-18 08:28:48 +01:00
zbarbuto
b73dbee8d1 Disable providers array when for providedInRoot in Angular (#4798) 2019-12-18 07:58:36 +01:00
Alexander Eggers
bb93a3b1e2 [Kotlin][Client] Request date converter (#4750)
* Added new cli option to define the request date converter

* Fixed a few build errors

* Update api.mustache

* Fixed api mustache

* Removed unused import

* Fixing mustache templates

* Tweaking mustache templates

* Added sample and new bat file

TODO create new openapi 2.0 source file to simulate the datestring via schema.

* Tweaking mustache templates

* Updated templates and samples

* Fixed build error

* Updated samples

* Fixed path
2019-12-18 10:22:29 +08:00
Yuriy Belenko
0ae1ea68fb [Slim4] Add array support to Data Mocker (#4801)
* [Slim4] Add new method to Mocker interface

* [Slim4] Add tests and implement mockArray method

* [Slim4] Refresh samples

* [Slim4] Extract OAS properties in separated method
2019-12-18 09:59:35 +08:00
Jim Schubert
88efb28506 [core] standardizes validation properties in ADT (#4762)
This adds some conistency to how validation properties are persisted to
the Codegen* types. Whenever we extract metadata from an OpenAPI Schema,
that metadata may include properties defined in the JSON Schema
Validation specification section 6 (see
https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.6).

Previously, only some of these were copied.

This creates an interface allowing for consistent type access across:

* CodegenModel
* CodegenParameter
* CodegenProperty
* CodegenResponse

This does _not_ change existing public fields which previously exposed
these on some of the above type (see CodegenParameter).

CodegenModel has a legacy edge case where primitive types could be
represented at that level rather than as a referenced schema. This adds
the sync of validation properties to these primitive constructs for
CodegenModel with a note that they're legacy and likely to be removed
later.
2019-12-18 09:47:03 +08:00
Jiri Kuncar
617904c876 [go-experimental] Support selection and formatting of endpoint servers (#4755)
* [Go] Support server URLs in runtime

* [Go] Regenerate experimental clients

* Rename Url to URL

* Remove BaseBase from go-experimental
2019-12-17 20:41:52 -05:00
Hippolyte HENRY
83cb4206cd [go-experimental] Remove duplicated line (#4410)
* Remove duplicated line
2019-12-17 07:34:53 -05:00
Hippolyte HENRY
7ea4dcd703 [go-experimental] Fix issue with nullable marshalling comparing to empty string no matter the enum type (#4712) 2019-12-17 07:33:59 -05:00
William Cheng
62e5d1f43b comment out python (2.x) flask test 2019-12-17 16:39:43 +08:00
Jim Schubert
399e73e5d8 [samples] Fix --batch option for slim4/feign and regenerate (#4810) 2019-12-17 16:21:58 +08:00
AlexG
1f8383a973 breaking allModels indexing from updateAllModels apart into its own method getAllModels (#4753) 2019-12-17 16:14:39 +08:00
jigsaw
67de4c4d8d Fix typo (#4813) 2019-12-17 16:01:58 +08:00
Jiri Kuncar
45eb87c16a [Python] Remove mutable default argument (#4665) 2019-12-17 10:39:54 +08:00
William Cheng
8d37641ae1 Add Oracle as the OpenAPI Generator user (#4809)
* add oracel as the user

* add oracle to the user list
2019-12-17 09:47:54 +08:00
amond
c98644a672 [dart][dio] add dateLibrary options ( core, timemachine ) (#4716)
* feat(dart-dio): add datelibrary options

Signed-off-by: Minsu Lee <amond@amond.net>

* fix: missing semicolon

Signed-off-by: Minsu Lee <amond@amond.net>

* enum name

* fix test

* fix test
2019-12-16 17:55:49 +08:00
William Cheng
49022d7b66 Add @athornz, @amondnet to Dart technical committee (#4800) 2019-12-16 17:54:10 +08:00
Pelle Stenild Coltau
f6dbd48b9c [Swift4] Expanding CodableHelper with added date and JSON customisations (#3365)
* Expanding CodableHelper with a more customisable dateFormatter and JSON en-/decoder.

* Ran ./bin/swift4-petstore.sh

* Ran ./bin/swift4-petstore-all.sh again after merge from master.

* Ran ./bin/swift4-petstore-all.sh again after building.

* Ran ./bin/swift4-petstore-all.sh again after rebase latest from upstream master.

* sync master, update samples

* Built and ran ./bin/swift4-petstore-all.sh

* Re-adding code which disappeared in rebase from master.

* Fixed test

* [swift] remove old classes
2019-12-16 17:40:53 +08:00
Andrii Hrytsiuk
a9cc96b50f fix template for RequestBody, added 'required' attribute (#3134) (#4756)
* fix template for RequestBody, added 'required' attribute (#3134)

* update Spring samples (#3134)
2019-12-16 17:34:59 +08:00
Yuriy Belenko
7bd378c026 [Slim4] Data mocker for scalar types (#4751)
* [Slim4] Add OpenApiDataMocker interface template

* [Slim4] Implement scalar types in data mocker

* [Slim4] Cleanup, remove unused variables

I've rejected the idea to keep Composer dependencies in Java/codegen
variables at some point of time. It seems that after Git rebase I forgot
to delete them.

* [Slim4] Refresh samples

* [Slim4] Add pattern option to mockString method

[ref] https://tools.ietf.org/html/draft-wright-json-schema-validation-00#section-5.8

* [Slim4] Add enum option to mockString method

[ref] https://tools.ietf.org/html/draft-wright-json-schema-validation-00#section-5.20

* [Slim4] Refactor mockInteger and mockNumber tests

* [Slim4] Refactor mockString tests

* [Slim4] Use null coalescing operator

* [Slim4] Implement enum option in mockString method

* [Slim4] Add tests for enum option of mockString
2019-12-16 17:32:07 +08:00
William Cheng
adbed055dd CI improvements (#4791)
* run all script in circleci

* test kotlin clients

* add new files

* undo chanages to circleci script

* update samples

* update bitwise config

* fix typo
2019-12-15 18:39:04 +08:00
Javier Luque Sanabria
bb4af91bbd Feature/kotlin/library/retrofit (#4518)
* Some clean code.

* Add support for retrofit2 in models and apis. Need work in ApiClient, but it's not urgent.

* Add ApiClient with retrofit2 support.

* Remove unnecessary package.

* Add scripts to generate samples.

* Generate sample of retrofit2

* Change toUpperCase to toUpperCase(Locale.ROOT) to fix compile.

* Added GSON library when it's needed

* Fix typo.

* Add some missing common files.

* Execute bin script.

* Remove copy&paste error in script.

* [kotlin] update outdated files

* Fix apis with no params.

* Add missing import in ApiClient

* Add support for CSV, SSV, TSV, PIPES, SPACES in retrofit 2 library.

* Fix package name.

* Execute kotlin-client-retrofit2.sh script.

* force rebuild.

* execute script again.

* Add missing imports from okhttp3.
@Deprecated has a message param that java not. Add it with a default message.

* Execute retrofit2 script.

* Rerun script.
2019-12-15 18:26:37 +08:00
Justin Black
789f1a06f0 [Python] Adds allOf/oneOf/anyOf composed models (#4446)
* Adds composed model support for allOf oneOf anyOf

* Moves discriminator into discriminator() class method, adds test_deserialize_lizard, adds setting discriminator using allOf schema
2019-12-14 21:18:41 -05:00
Alexander Eggers
02f5cb1a65 [Kotlin][Client] Added new option to enable moshi code generator (#4781)
* Added new option to enable moshi code generator

* Tweaking Serializer template
2019-12-14 14:39:16 +08:00
Roland Franssen
0ffb99a48e [PHP] Preserve JSON accept header (#4684)
* [PHP] Preserve JSON accept header

* recompile php client

* revise

* recompile
2019-12-13 17:14:18 +08:00
Dheeraj Nalluri
3754679751 [typescript-angular] Control Accept header via param (#4774)
* [typescript-angular] Control response mime type via param

* [typescript-angular] Update samples.

* [typescript-angular] Wrap httpHeaderAccept in an options object.

* [typescript-angular] Updated samples.
2019-12-13 07:33:34 +01:00
Pete Johanson
db2c8e843e [typescript-redux-query] Add proper modelling of allOf usage. (#4780) 2019-12-12 21:05:47 +01:00
Hui Yu
1e995cacdc [C-libcurl] Change "complexType" to "name" in "isMapContainer" to fix building error when complexType is empty. (#4768) 2019-12-12 21:41:28 +08:00
Josh Burton
f784667dc7 [dart-dio] Fixes enum by setting the wireName to the correct value (#4708) 2019-12-12 21:27:27 +08:00
amond
6ed2b0de57 fix(dart-dio): update gitignore according to the guide dart guide (#4734)
Signed-off-by: Minsu Lee <amond@amond.net>
2019-12-12 21:23:08 +08:00
William Cheng
7e75cea6f1 fix package name in tox.ini (#4776) 2019-12-12 21:21:28 +08:00
William Cheng
e29ccbb051 update samples 2019-12-12 18:41:44 +08:00
William Cheng
466a67c9bc Merge remote-tracking branch 'origin/4.3.x' into 5.0.x 2019-12-12 17:27:49 +08:00
William Cheng
5f5401bca6 Merge remote-tracking branch 'origin/master' into 4.3.x 2019-12-12 17:24:57 +08:00
facundomedica
2277934d5e [Kotlin] fix basic authentication compilation issue (#4772)
* Fix #4771

* update samples
2019-12-12 17:18:07 +08:00
William Cheng
fe9121967f fix shippable errors (#4775) 2019-12-12 12:00:05 +08:00
William Cheng
3e34903042 Merge remote-tracking branch 'origin/master' into 4.3.x 2019-12-11 15:44:50 +08:00
patrickcisco
21ad2869b1 fixing an issue where serverPort from additional-properties is interpreted as a string... causing the default to always be used (#4764) 2019-12-11 14:04:15 +08:00
Sai Giridhar P
9754ef4f88 fix(r): Fixing the exports (#4761) 2019-12-11 11:24:12 +08:00
Roland Franssen
b19d241be7 [PHP] ensure rewound guzzle response body (#4744)
* [PHP] ensure rewound guzzle response body

* recompile php client
2019-12-10 21:52:36 +08:00
Erik Timmers
a695748805 Add isCircularReference to properties (#4553) 2019-12-10 21:43:16 +08:00
Hui Yu
00abb4780c change baseName to name to escape the field name of struct when it includes C programming language keyword (#4735) 2019-12-10 16:26:33 +08:00
William Cheng
60ba6194c1 add microprofile to CI test (#4749) 2019-12-10 15:03:12 +08:00
William Cheng
525174f4d6 Add new files in java microprofile petstore client 2019-12-10 13:44:33 +08:00
William Cheng
f22f6a40a1 Add java microprofile samples 2019-12-10 11:53:23 +08:00
William Cheng
ca9313881a update doc 2019-12-10 11:52:11 +08:00
Paul Gooderham
a9494ac1a3 [REQ] Java Microprofile REST Client Template (#4713)
* Add a Java Library called microprofile.

* Fix formatting
2019-12-10 11:41:50 +08:00
Justin Black
307f37c7f9 Updates python and python-flask travis CI testing to use python 3.6, 3.7, and 3.8 (#4743) 2019-12-10 11:29:14 +08:00
rbrincke
42f685f59c Fix multi-part binary array form parameters for Spring Boot and Spring Cloud templates (#4616)
* Fix multi-part binary array strings

Multi-part binary array strings as outlined in #3139 resulted in `MultipartFile` rather than `List<MultipartFile>`. This PR attempts to resolve this by adjusting the templates.

Two tests have been added: one for `spring-boot` and one for `spring-cloud`.

Resolve #3139

* Fix multipart file name and description

* Handle array of MultipartFile for delegate

* Update samples due to file description being picked up

* Upload result of bin/spring-stubs
2019-12-09 20:59:05 +08:00
Daniel Ruf
5116163bfb Use correct relative paths (#4677) 2019-12-09 15:15:42 +08:00
Michal Hornický
d8c469c19d [go] Fix multi-value path params in go (#4664)
* Fix multi-value path params in go

* update oas v3 go petstore sample
2019-12-09 14:44:39 +08:00
William Cheng
68cb98e9f6 Add a link to blog post about Flutter (#4731)
* Add a link to blog post about Flutter

* change date format
2019-12-09 12:27:05 +08:00
Jim Schubert
ebf9ba023a [core] Minor schema validations bug + add pattern property to CodegenResponse (#4724)
* [core] Fix potential mismatch of data due to ClientOptInput and DefaultCodegen#openApi

* [core] Include escaped pattern on CodegenResponse
2019-12-09 12:02:54 +08:00
Yuriy Belenko
41bb41c87c [Slim4] Update templates to comply PSR-12 coding style (#4728)
* [Slim4] Bump PHP_CodeSniffer version to 3.5.*

* [Slim4] Update samples

* [Slim4] Update template to meet PSR-12
2019-12-09 11:20:21 +08:00
Christophe Bornet
d405158d3f Add javadoc to spring API, controller and delegate (#4693)
* Add javadoc to spring API, controller and delegate

* Add response description and code in javadoc
2019-12-09 11:15:57 +08:00
Jérémie Bresson
acc04c5609 [jaxrs-spec][quarkus] update to 1.0.1.FINAL (#4725) 2019-12-09 11:14:33 +08:00
Yuriy Belenko
cd6ec0dcf5 Update PHP coding style link (#4727)
* [PHP] Update PHP coding style link

* [PHP] Update website doc
2019-12-09 11:13:20 +08:00
William Cheng
85affe83cb add linode logo (#4730) 2019-12-09 10:58:16 +08:00
Jim Schubert
0c0050578f User feedback on confusing use of oneOf (#4695)
OAS 3.x specification isn't entirely clear on oneOf support. JSON Schema
defines oneOf in such a way that the Schema is only valid if it
validates against exactly one of the referenced Schemas. This suggests
that a Schema defined with oneOf can't include additional "dynamic"
properties. OpenAPI extends on this by adding the necessary
discriminator object, which allows tooling to decide the intended
Schema.

As tooling, openapi-generator may support loose or confusing definitions
in the Specification to better support our user's use cases. In this
case, we may warn that while this usage is technically valid the two
target specifications are unclear about the actual constraints regarding
oneOf.
2019-12-07 11:27:29 -05:00
Phillip Campbell
6b99aed93f Add Linode as a user of OpenAPI Generator (#4720) 2019-12-07 16:31:30 +08:00
Sami Jaber
da44e458e0 typescript-fetch: Fix compatibility with noImplicitAny TS rule (#4711)
* Fix compatibility with noImplicitAny TS rule (required with CRNA app)

*  new file added with bin/typescript-fetch-petstore.sh

* missing files with bin/typescript-fetch-petstore-all.sh

* Update modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* Update modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* changed files after bin/typescript-fetch-petstore-all.sh

* re-generate samples, fix windows typescript fetch script
2019-12-06 14:17:46 +01:00
sullis
775cf655f9 mockito 3.2.0 (#4714) 2019-12-06 17:38:36 +08:00
Alexander Eggers
467fb74a21 Added support for consuming OpenApi 3.0 nullable required fields (#4696) 2019-12-06 00:05:03 +08:00
Toby Murray
4dc07cb9c5 Add Embotics as a user of OpenAPI generator (#4704) 2019-12-06 00:03:01 +08:00
Vadim Markovtsev
8d8eea4fe9 Fix typo aiohtpp -> aiohttp (#4709) 2019-12-06 00:02:43 +08:00
mosesonline
f472020412 typescript-node: handle additional properties (#4699)
* add handling additional properties into typescript node

* additional tests

* petscripts

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
2019-12-05 12:58:12 +01:00
William Cheng
d0dfe3e4a0 fix sponsor image size (#4697) 2019-12-04 17:34:42 +08:00
djnalluri
cb31089664 [typescript-angular] Support text response types (#4617)
* [typescript-angular] responseType based on Accept header.

* [typescript-angular] Generate sample client code.

* [typescript-angular] Use in-line param to HttpClient.

* [typescript-angular] Fix CI check.

* [typescript-angular] Remove files introduced by running /bin/openapi3 scripts.

* [typescript-angular] Apply suggestions from code review

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* [typescript-angular] Default responseType = 'json'

* [typescript-angular] Fix potential NPE

* [typescript-angular] Remove type checking on responseType.

* [typescript-angular] Update samples.
2019-12-04 10:25:35 +01:00
William Cheng
acf081bc02 add docspring image 2019-12-04 16:40:01 +08:00
Jiri Kuncar
dce392336d [Go] Add multiple servers support to Go(-experimental) client (#4635)
* [Go] Add multiple servers support to Go-experimental client

* [Go] Use same configuration in go and go-experimental

* [Go] Use Replace -1 instead of ReplaceAll

* [Go] Fix typo and add bound check

* [Go] Regenerate missing templates
2019-12-04 16:27:30 +08:00
William Cheng
5453edf1b6 Add a blog post to qiita (#4694) 2019-12-04 12:15:23 +08:00
William Cheng
a3c3012707 Update README.md 2019-12-04 12:12:54 +08:00
Justin Black
c882338ef1 [Java/Core] Adds properties to ComposedSchema models when they exist (#4482)
* Adds comment in java test where we need to check the fruit model

* Adds oneOf test to DefaultCodegenTest.java, adds code to include properties in composed schema
2019-12-03 21:43:24 -05:00
William Cheng
e774db05b6 Regenerate hashCode, equals, toString (#4648)
* update hashCode, equals, toString in CodegenParameter

* update equals, hashCode, toString in CodegenProperty

* update toString, hashCode, equals in CodegenOperation

* update toString, hashCode, equals in CodegenResponse

* update toString, hashCode, equals in CodegenSecurity

* update hashCode, toString, equals in CodegenModel

* add hashCode, toString, equals to CodegenServer and more

* update hashCode, equals, toString in CodegenDiscriminator

* update testS

* update samples
2019-12-04 10:07:33 +08:00
Jorge Rodriguez
06ba8317f9 Error in the reactive client when the path variables are a list (#4687) (#4689)
* Error in the reactive client when the path variables are a list (#4687)

* Update samples (#4687)
2019-12-04 10:06:42 +08:00
Ramanth Addala
e0d6f7df1f fix(r): fixing serializatin bug in empty json array (#4667)
* fix(r): fixing serializatin bug in empty json array

* fix(r): fixing serializatin bug in empty json array
2019-12-04 09:53:54 +08:00
Hui Yu
01e84d79a0 Update the condition to free apiClient->apiKeys (#4685) 2019-12-04 09:53:12 +08:00
Thibault Duperron
7eeeab0825 Add space to spring doc (#4674)
* Add space to spring doc

* Remove fsharp change
2019-12-04 09:43:36 +08:00
William Cheng
cb2df9e848 add docspring as sponsor (#4686) 2019-12-04 09:41:55 +08:00
William Cheng
2a592b5d01 Update Swift technical committee 2019-12-04 09:39:14 +08:00
William Cheng
dd1a624ba3 Add a link to blog post in dotnetthoughts (#4683) 2019-12-03 21:55:28 +08:00
Oleh Kurpiak
ba3af50384 [#4025] custom java annotations (#4026)
* custom java annotations
2019-12-03 08:09:39 -05:00
jens-carbon
663ee66068 [typescript-node]: Add support for nullable (#4670) 2019-12-03 13:33:48 +01:00
William Cheng
11c7007429 Prepare v4.2.3 (#4663)
* update version

* update doc

* update samples
2019-12-02 15:26:01 +08:00
William Cheng
f9662e0eff release 4.2.2 (#4661) 2019-12-02 13:12:10 +08:00
Marin Atanasov Nikolov
c0e11ec01b Add debug flag support for go-experimental generator (#4649)
* Add debug flag for go-experimental generator

* Check for errors before dumping the response in Go generator

* samples/openapi3: update samples for Go generators
2019-12-02 11:52:44 +08:00
William Cheng
030a7a848d Add a link to https://gotocph.com/2019/ presentation (#4652) 2019-11-30 10:46:06 +08:00
Thomas Hansen
a9bbd9334d [BUG][PHP] Parameter property style not fully implemented (related to PR4042) (#4640) 2019-11-29 16:24:54 +08:00
William Cheng
f6b4e18ac4 Add a blog post by pochopocho13 (#4646)
* Add a blog post by pochopocho13

* reorder articles
2019-11-29 10:50:46 +08:00
Marcel Ramos
18b950cdc3 [BUG][R] use loadNamespace instead of package:pkgName string (#4614)
* use loadNamespace instead of package:pkgName string

* update R package code
2019-11-29 10:14:47 +08:00
William Cheng
52554af454 add net.java.dev.jna (#4634) 2019-11-29 10:00:01 +08:00
Akira Tanimura
6f86830e0c delete unused mustache in ruby-client (#4638) 2019-11-29 09:59:17 +08:00
William Cheng
af3d862c5b update go samples 2019-11-28 21:37:50 +08:00
Bruno Coelho
8cc7befbf3 Fix enum encodable (#4594) 2019-11-28 20:55:35 +08:00
Marin Atanasov Nikolov
df682aba99 Add support for dumping request and response in Go generated clients (#4566)
* Add support for dumping request and response in Go generated clients

The following change adds a new configuration setting, which
controls whether clients want to dump the HTTP request and response.

Useful when debugging API calls and clients.

* samples: Update Go samples with XML

* Use log.Logger when dumping HTTP request and response in Go client
2019-11-28 20:52:16 +08:00
tanmen
df7b9b53f1 fix unused import if allOf (#4632) 2019-11-28 12:34:23 +01:00
rasmusfaber
538fdeafb5 typescript-node: support bearer token authentication (#4633)
* Make typescript-node support bearer token authentication and add support for intercepting request

* Explicit typing of interceptors

* Update modules/openapi-generator/src/main/resources/typescript-node/api-single.mustache

Formatting

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* Build Petstore
2019-11-28 12:33:43 +01:00
Jérémie Bresson
a839203e0d [java][client][restassured] add getAllOperations() (#4631)
* [java][client][restassured] add getAllOperations()

* Update samples
2019-11-28 16:54:10 +08:00
Jérémie Bresson
3626aaf8fa [asciidoctor] add missing tag for declared exception (#4630)
Fix Javadoc warning
2019-11-28 16:16:37 +08:00
William Cheng
e3dbd82e79 update ruby samples 2019-11-28 14:32:56 +08:00
Jiri Kuncar
bee2671243 [Ruby] Fix typo in description (#4624) 2019-11-28 14:13:46 +08:00
Mateusz Szychowski (Muttley)
e2df6c32e0 [C++][Pistache] Add comparison operators (#4619)
* [C++][Pistache] Add comparison operators

* [C++][Pistache] Update Petstore sample
2019-11-27 22:28:51 +01:00
William Cheng
fac83ce760 add crossover health to user list (#4622) 2019-11-27 21:36:25 +08:00
William Cheng
d13d05955b Add petejohansonxo as the owner of TS redux-query generator (#4620) 2019-11-27 18:49:18 +08:00
Thibault Duperron
2dc0220874 Add mutable model option to kotlin generators (#4115)
* Add mutable model option to kotlin generators

fix #3803

* doc

* Change template name to modelMutable

* Samples
2019-11-27 18:04:43 +08:00
Michele Albano
96c1bda608 C additional properties fix #4289 (#4349)
* Correction to C support for additional_properties

* TAB to SPACE in one file
2019-11-27 17:15:47 +08:00
William Cheng
e09417d25c add SIE (#4618) 2019-11-27 15:48:42 +08:00
Martin Delille
8991168518 [C++] [Qt5] Clang format Code (#4444)
* HttpFileElement

* HttpRequest

* Add .clang-format

* cpp-qt5-client: fix warning reordering member initialization

* api

* enum

* licenseInfo

* model

* object

* helper

* test

* QString::arg start from %1 (not from %0)

* fixup! model
2019-11-27 15:37:24 +08:00
Martin Delille
cd6986d9be Add openapi-generator executable to docker container (#4610) 2019-11-27 14:08:26 +08:00
William Cheng
c104821d6e Add GetMyuide logo (#4611)
* add getmyguide logo

* fix typo
2019-11-26 18:33:59 +08:00
Jérémie Bresson
37a8b56a2b [jaxrs-spec][quarkus] update to 1.0.0.FINAL (#4609) 2019-11-26 18:15:16 +08:00
Bruno Coelho
6bf5741fd1 [swift] Introduce result type (#4511)
* [swift] introduce result type as response library

* iOS - run petstore samples

* [swift4] add result sample to testing pipeline

* [swift] update docs with result type

* [swift] update result visibility

* [swift] update docs
2019-11-26 17:01:26 +08:00
seijin
2f26812982 [Swift] Add option parameter to select response queue (#4591)
* Add queue parameter to API

* Apply queue to response function argument

* Update petstore sample

* Update all sample projects

Run ./bin/swift4-all.sh then remove unrelated diff.

* Refactor variable name

Rename queue to apiResponseQueue, because apiResponseQueue is more clear for explaining the context.
2019-11-26 11:56:17 +08:00
Marcel Ramos
2d22ae90fc [BUG][R] Fix documentation in R package (#4580)
* wip: fix documentation tags

* update model.mustache

* update template for documentation

* update mustache templates

* update mustache templates

* run ./bin/r-petstore and update R pkg docs
2019-11-26 10:38:56 +08:00
William Cheng
498c9b8a47 Add a link to B9lab blog post (#4608) 2019-11-26 10:32:38 +08:00
Toby Murray
006ec182ef [JAVA] Update Gradle in generated Java projects from 2.14.1 to 6.0.1 (#4536)
* Update Gradle in generated Java projects from 2.14.1 to 6.0.1

* Upgrade Java 11 native Gradle from 5.5 to 6.0.1

When Java 11 native client library was introduced it was introduced with an overridden version of the Gradle wrapper (5.5 instead of 2.14.1). From looking at that PR, there doesn't appear to be any specific reason for the versions to differ. This removes the only override of the Gradle wrapper so all the Java projects are up to date and shares the same version.
2019-11-25 22:34:31 +08:00
William Cheng
a9a131ac51 Add a link to the YouTube playlist. (#4603) 2019-11-25 18:11:10 +08:00
Bruno Coelho
d5c7c9c9b7 [swift] add option for non public api (#4556)
* [swift] implement non public api

* [swift] add petstore for non public api

* [swift] fix error in extension that cannot be internal

* [swift] update docs
2019-11-25 17:19:50 +08:00
Jason Culverhouse
d0e838ee02 Maintains state of hasMore when security is filtered (#4585) 2019-11-25 16:08:18 +08:00
Jason Lee
40799937fb add go.mod as supporting files to go-server (#4592) 2019-11-25 15:58:51 +08:00
Tasuku Tozawa
eff94da9c9 [Swift] Convert default value of enum with not string type to string (#4481)
* Convert not string enum default value to string by toString.

* Add some test cases for enum's default value.

* Convert string default value to enum var name format.

* sync master, update samples
2019-11-25 15:42:11 +08:00
sullis
dc4296819a kotlin 1.3.60 (#4598) 2019-11-25 15:32:15 +08:00
William Cheng
ab98833f7d Disable elm and TS Angular 4 tests (#4602)
* disable elm tests

* disable ts angular 4 tests
2019-11-25 15:21:11 +08:00
William Cheng
d9bde12ebb add yahoo logo (#4601) 2019-11-25 14:09:16 +08:00
William Cheng
3084fe5937 Add 4brunu to Swift technical committee (#4596) 2019-11-25 00:14:29 +08:00
Tetsuya Morimoto
bfb82f1a91 Add a link to the presentation by @t2y at JJUG CCC 2019 Fall (#4595) 2019-11-24 23:17:08 +08:00
William Cheng
8cf34ca80f Merge branch 'master' of https://github.com/openapitools/openapi-generator 2019-11-23 16:57:16 +08:00
William Cheng
6a828d55df fix broken link to image 2019-11-23 16:56:58 +08:00
William Cheng
d70adae0e3 [swift] update Swift4 samples (#4589)
* swift-update

* dont put swift4 in ensure-up-to-date
2019-11-23 16:52:10 +08:00
Jim Schubert
dd6257917d Add php-slim4 config for batch/ci (#4581) 2019-11-23 13:27:15 +08:00
William Cheng
2f01053680 Add bitrise badge to readme (#4578)
* add bitrise badge to readme

* move bitrise.yml to CI
2019-11-23 11:41:29 +08:00
William Cheng
7aeab0219c Merge remote-tracking branch 'origin/4.3.x' into 5.0.x 2019-11-23 11:37:54 +08:00
William Cheng
56c38904fb update doc 2019-11-23 11:14:18 +08:00
William Cheng
fffe7c8a83 update samples 2019-11-23 00:24:50 +08:00
William Cheng
275d1db2e5 Merge remote-tracking branch 'origin/master' into 4.3.x 2019-11-22 23:15:12 +08:00
Esteban Gehring
87a9fa3808 add typescript-redux-query to ensure-up-to-date script (#4574)
* add typescript-redux-query to ensure-up-to-date script

* Update typescript-redux-query samples

* fixup! Update typescript-redux-query samples
2019-11-22 15:25:17 +01:00
William Cheng
a1fc114efa [Swift] minor fix to scripts (#4577)
* minor fix to swift4 scripts

* fix script

* update bitrise config

* update doc

* run swift4_test_all.sh directly

* make swift4 script executable
2019-11-22 21:42:32 +08:00
Pete Johanson
70954cabde New generator: typescript-redux-query (#3824)
* Initial work on a redux-query client generator.

* Update to match the required redux-query version w/ fixed TS defs.

* Fixes for query parameters, add samples.

* Add windows versions of redux-query scripts.

* Fix for form data handling.

* Initial work on multiple inheritance support.

* Tweaks for discriminator usage + from/to JSON.

* Fix initialization of queryParameters if needed.

* Copy over more QueryConfig values into the final generated QueryConfig.

* Fix for imports that are combined types.
2019-11-22 09:19:25 +01:00
William Cheng
5c275bccd2 Throw exception when config file missing (#4557)
* throw exception when config file missing

* fix bash config location
2019-11-22 14:01:57 +08:00
William Cheng
de69eac316 Use non-batch mode in ensure-up-to-date (#4573)
* use non batch mode in ensure-up-to-date

* update samples
2019-11-22 11:43:52 +08:00
Jim Schubert
c89d21a903 [cli][doc] Document batch command (#4572)
* [cli][batch] Better glob support

If invoked as `openapi-generator batch *.yaml`, the command might
previously fail in some shells where `*.yaml` expands to file name only.

This supports globs without path-part in the filename to prevent
possible NPE.

* [cli] Document batch command
2019-11-22 11:09:08 +08:00
Bruno Coelho
80064d8411 [CI][Swift4] improve swift ci integration (#4571)
* [CI][swift] fix objcCompatible example

* [swift4] [ci] build openapi-generator and update swift4 samples
2019-11-22 11:06:47 +08:00
Bruno Coelho
51aeb6c833 [swift 4] improve test suite (#4561)
* [swift] improve testing in sample projects

* [swift] update run tests script

* [swift] regenerate samples

* [swift] fix tests with PromiseKit

* [swift4] compile every project with swift package manager
2019-11-21 22:40:49 +08:00
nekkiy
f434b5fa13 [imp-AddKotlinDynamicCompiler] add kotlin compiler (#4544) 2019-11-21 21:59:16 +08:00
Martin Delille
b0d6110686 cpp-qt5-client: fix warning reordering member initialization (#4526) 2019-11-21 21:49:35 +08:00
William Cheng
52384badd2 Add an option to prefix Go struct with the classname (#4564)
* add option to prefix struct with classname

* update usage

* fix test

* update doc
2019-11-21 21:31:35 +08:00
EFanZh
1de71a9e16 Fix #4551 (#4554) 2019-11-21 21:12:06 +08:00
sreichi
47473401ec [TS] replace line comment with block comment (#4540)
* FIXES #4539 replace line comment with block comment

eslint requires you to use a block comment for ignoring whole files.

* changed comment style in other templates

* generated samples

* generated openapi3 samples

* Revert "generated openapi3 samples"

This reverts commit 98af3dfc

* generated missing samples
2019-11-21 11:28:50 +01:00
William Cheng
7f05cf0252 fix elm version 2019-11-21 17:34:56 +08:00
William Cheng
ac8b96b972 update samples without batch mode 2019-11-21 17:13:30 +08:00
William Cheng
be991311fe update ruby samples 2019-11-21 16:28:35 +08:00
William Cheng
4ed742b6bc update samples 2019-11-21 15:24:13 +08:00
William Cheng
facabd4472 Merge branch '4.3.x' into 5.0.x 2019-11-21 15:19:31 +08:00
William Cheng
a528323c5f update samples 2019-11-21 14:09:30 +08:00
Man
3adfdfafea [asciidoc] add form params and authorization headers (#4467) (#4505)
* [asciidoc] add form params and authorization headers (#4467)

* [asciidoc] differentiate between basic and bearer auth
2019-11-21 10:49:03 +08:00
Hippolyte HENRY
db77e070d1 [Java][Go] Unalias schema in getTypeDeclaration when not generating model for alias (#4527)
* [Java][Go] Unalias schema in getTypeDeclaration when not generating model for alias

* Add tests

* Don't use isGenerateAliasAsModel
2019-11-21 10:30:11 +08:00
Hinrik Örn Sigurðsson
eebad5c9aa [PHP] Include microseconds in serialized date-time (#4542)
* [PHP] Include milliseconds in serialized date-time

* Add setDateTimeFormat()
2019-11-21 10:21:27 +08:00
William Cheng
60f4de0f22 Merge remote-tracking branch 'origin/master' into 4.3.x 2019-11-20 18:15:22 +08:00
William Cheng
96bbab98a4 fix cpp-qt5-petstore.json location 2019-11-20 17:30:47 +08:00
William Cheng
e4364b612f update swagger parser to latest stable version (#4550) 2019-11-20 16:54:21 +08:00
Mikle
2838db2052 Add HEAD method to ApiClient of dart codegen (#4504)
* add HEAD method to ApiClient of dart codegen

* update samples
2019-11-20 11:52:57 +08:00
Fjolnir-Dvorak
23479b30e4 [FIX][Haskell-servant] missing indent on the new feature pull request. (#4490)
* missing indent on the new feature pull request.

* One indentation to much

* Import for application was still missing

* some middleware got in the runServer name
2019-11-20 11:40:19 +08:00
dukov
1ccf4b9cb3 [Go] Bypass object decode in case of empty body (#4546)
Fixes #4545

Change-Id: Ic724843713f60f996ed72326ad6ef6762ec2e713
2019-11-20 11:20:15 +08:00
Jason Lee
8ff1aca4f8 fix when unhandledException=false does not take effect (#4543) 2019-11-20 10:11:02 +08:00
Martin Delille
5238597f95 Use bin/cpp-qt5-petstore.json (#4547) 2019-11-20 09:47:18 +08:00
Emanuel Borsboom
6e2e542f83 [Rust] Derive more traits (#4142)
* Simple enums: add: Clone, Copy, Eq, Ord, PartialOrd, Hash
* Structs and complex enums: add `Clone`
2019-11-19 16:15:23 +08:00
Matt Traynham
518c33a209 4171 - Correct parent variables being duplicated in child (#4253) 2019-11-19 15:35:24 +08:00
Massimo Siani
964260101b [kotlin-spring] add support for the delegate pattern (#3925)
* #2526 support the delegate pattern for kotlin-spring

* fix the diamond

* update the doc

* fix ci

* use Resource? instead of MultipartFile when dealing with files

* bump after rebase on master
2019-11-19 15:22:29 +08:00
William Cheng
8ca1788a75 Fix drone.io yaml file (#4528)
* fix yaml file

* remove version

* pin version
2019-11-18 23:23:23 +08:00
William Cheng
244c6e358c Update Python, Kotlin technical committee (#4529) 2019-11-18 22:03:04 +08:00
William Cheng
2daa89a326 Better else clause with warnings (#4507)
* better else clause to catch exception

* use warning instead
2019-11-18 21:49:15 +08:00
William Cheng
6af9131d2f Add a link to CodeTalks (#4524) 2019-11-18 14:22:57 +08:00
William Cheng
c649203270 Add a link to JHipster presentation (#4523) 2019-11-18 14:18:24 +08:00
William Cheng
83a4616ba7 Add a link to Devoxx Belgium 2019 presentation (#4522)
* Add a link to Devoxx Belgium 2019 presentation

* add link to youtube
2019-11-18 14:05:26 +08:00
William Cheng
389be8180a Update README.md 2019-11-18 13:52:10 +08:00
William Cheng
40d7b58666 [Swift] Enhancements to iOS tests (#4521)
* update .travis.yml.ios

* test ios travis

* skip javadoc error

* use xcode 10.3

* remove --no-ri

* remove --no-rdoc

* use ios 12.4

* update to ios 13.1
2019-11-18 13:30:35 +08:00
Jim Schubert
8766531c56 [java] Fix java version defaulting (#4520)
* [java] Improve assumptions about artifactVersion

The logic to apply a default artifactVersion was faulty, resulting in
generation without an explicit version specified either on the OpenAPI
Document or at the CLI/plugin level would result in poms generated with

    <version></version>

As an example, in any commit made up to 5 weeks before this commit, run:

    ./bin/java-pkmst-petstore-server.sh

The solution is to ensure that artifactVersion isn't overwritten by an
"in-process" additonalProperties map, and also to ensure that
additionalProperties is synced with the artifactVersion property once it
has been modified.

As a future task, we'll want to move any modification of
additionalProperties outside of preprocessOpenAPI (to processOpts).
We're hiding manipulation of the "Opts" at a point where we should
really only be applying logic on top of the OpenAPI doc.

* [sample] Regenerate java-pkmst sample
2019-11-18 11:32:54 +08:00
Jim Schubert
47ac49ff99 Regenerate samples 2019-11-17 20:20:34 -05:00
Jim Schubert
a0d68baa24 Validation script batches only samples (#4509)
* Validation script batches only samples

In this change, the validation script will batch only sample generation.
For meta and documentation, it will always be iterative.

Also made changes to meta-codegen*.sh so conditionals which may invoke
maven are explicitly rooted.

* [ci] batch python-experimental, include new springboot option
2019-11-17 19:35:38 -05:00
Jim Schubert
10f17877f1 Fixes issues with Scalaz outputs (#4508)
Scalaz is not re-generated by users or CI (only verified), so some
compilation issues have been introduced into the generator.
Specifically, the generator previously didn't handle defaults well (or
even correctly, maybe?). This broke when array models were added to the
openapi document used to generate samples. The inclusion of Date-related
mappings being mapped to joda time in DefaultCodegen also caused some
issues with new DateTime properties on models.

Over the course of what appears to be Nov 10-17 2019, CircleCI seems to
be having intermittent issues with Scalaz verification. I found that
green builds were picking up SBT 0.13.x and failed builds were SBT
1.1.0. It's not clear where the system level SBT is being defined, but a
simple fix has been to enforce the sbt version in the generator.

For those unfamiliar with SBT; the SBT command acts as a launcher script
which may switch to older/newer versions of SBT. A Scala project invoked
with SBT 1.1.0 will look for an sbt.version override and happily attempt
compilation with the available SBT 1.1.0. The problem is that SBT 1.1.0
uses Scala 2.12 and this is not binary compatible with Scala 2.11. This
can cause issues with builds due to plugins or incompatible Java version.
2019-11-17 09:18:57 -05:00
William Cheng
bf6db1c2d1 update samples 2019-11-17 14:28:41 +08:00
William Cheng
2f428e7763 minor fix to CI failure 2019-11-17 10:43:38 +08:00
amond
78d7ffbce7 feat(dart-dio): correctly handle Map<String, Object>, List<Object> using JsonObject (#4401)
* feat(dart-dio): correctly handle Map<String, Object>, List<Object> using JsonObject

Signed-off-by: Minsu Lee <amond@amond.net>

* feat(dart-dio): correctly handle Map<String, Object>, List<Object> using JsonObject

Signed-off-by: Minsu Lee <amond@amond.net>
2019-11-17 09:39:55 +08:00
Justin Black
d175673077 [OCAML] Fixes cloud.drone.io ocaml-test (#4501)
* Fixes ocaml-test

* Ocaml readme update
2019-11-17 09:23:15 +08:00
Erik Timmers
3cd0e13a46 [elm] Add support for oneOf (#4434)
And add additional test for composable types.
2019-11-17 09:18:26 +08:00
Jorge Rodriguez
60958b78d9 [BUG] [Java] Client resttemplate and webclient. Form Params are badly added when they are lists (#4461)
* 4383: Client resttemplate and webclient. Form Params are badly added when they are lists

* 4383: Force redeploy

* 4383: Fix test

* 4383: Fix map

* 4383: revert change

* 4383: Fix test resttemplate-withXml
2019-11-17 09:01:40 +08:00
Jan
5181ddcbb0 fix: prevent ClassCastException when handling options of (issue #4468) (#4495)
* issue 4468 fix: prevent ClassCastException when handling options of type boolean

*  #4468 fix: remove duplicate code
2019-11-17 08:59:25 +08:00
Justin Black
a1a9e70fe4 Fixes Python client Configuration class so each instance uses its own dicts (#4485) 2019-11-17 08:49:19 +08:00
Hinrik Örn Sigurðsson
2b36383308 README: Add GetYourGuide to company list (#4499) 2019-11-15 22:45:29 +08:00
William Cheng
f07b3e0521 Prepare 4.2.2-SNAPSHOT (#4497)
* update to 4.2.2-SNAPSHOT

* update doc

* update samples

* skip ocaml test

* update version

* fix version
2019-11-15 21:34:25 +08:00
William Cheng
2683dd4510 Prepare 4.2.1 release (#4494)
* prepare 4.2.1 release

* use stable version in test/example
2019-11-15 16:07:03 +08:00
Rob Oxspring
b43785a25c DartClientCodegen reads dart-keywords.txt as resource, not file (#4484) 2019-11-14 23:59:53 +08:00
Erik Timmers
6c714ddca9 [typescript-fetch] Add (de)serializers for oneOfs (#4387) 2019-11-14 12:21:06 +01:00
djairhogeuens
d9e93ce6ca feature: Typescript-angular support single request param (#4479)
* adds support for useSingleRequestParameter for typescript angular generator

* updates samples

* removes tab

* updates documentation

* removes tabs

* Revert "updates samples"

This reverts commit 8c5bfd94bd.

* updates samples

* adds configuration for sample generation

* fixes script

* sets executable flag

* fix docs
2019-11-14 10:51:37 +01:00
Bruno Coelho
fe0b3ce24d [kotlin][client] improve nonpublic api (#4478) 2019-11-14 16:19:08 +08:00
Min Kim
287af4aba3 recursive equal on reflection (#4475) 2019-11-14 13:09:23 +08:00
Jim Schubert
4a91e62fb7 [ci] Setting ensure-up-to-date to use batch option in CircleCI (#4445)
* [build] Enable --batch option in ensure-up-to-date

* [samples] Regenerate

* [ci] Use --batch in CircleCI script
2019-11-13 18:06:14 +08:00
William Cheng
bb4500eaf6 Add a link to TS article (#4474) 2019-11-13 15:48:47 +08:00
Rob Deutsch
64c1547c5d typescript-fetch: Only generate npm package if npmName specified (#4472)
* Only generate npm package if npmName specified

* additionalProperties not available in constructor
2019-11-13 07:37:21 +01:00
Jim Schubert
bdd34a34e9 [ci] Removes elm from ensure-up-to-date (#4471)
bin/elm-petstore-all.sh invokes elm-petstore.sh and
elm-0.18-petstore.sh. Both of these define `ELM_POST_PROCESS_FILE` for
post-processing the generated files. If a user doesn't have elm-format
installed, they may not realize that ensure-up-to-date has failed which
causes CI to fail due to differences in the ELM generated outputs.

This confusion can lead to a lot of downtime for contributors. For
example, I encountered this while adding feature set information to all
generators. I thought I had introduced the error and spent too long
looking through my changeset and re-running `ensure-up-to-date`
in the background before noticing the failed output. I was able to
generate proper output by installing elm-format. With 80+ languages/frameworks
and a rule for contributors to unblock CI by re-generating any failed
samples, it's not feasible (in some cases, not possible) to ask
contributors to install tooling specific post-processors. We'll have to
rely on elm contributors to run the script manually.

Ideally, elm generator templates should be updated to have properly
formatted outputs as a default.

We may want to consider documenting standards of what we put in the
scripts under bin/*sh and bin/utils/ensure-up-to-date, one of those
standards being that we omit toolchain specific post-processors.
2019-11-13 13:39:10 +08:00
William Cheng
fa1e003a3b minor enhancement to c client generaotr (#4457) 2019-11-13 13:34:31 +08:00
Eric Feliksik
440e3f301d Re-interrupt the thread in the generated code (#4382)
* Re-interrupt the thread in the generated code, otherwise the client has to check for
the type of the cause of the thrown exception.

* update samples
2019-11-13 13:28:50 +08:00
Alexander Eggers
34c715e4ce [Kotlin][Client] Add option to make all api method return a nullable model (#4422)
* Added new additional parameter to allow nullable api return types

* Tweaking samples and .bat files

I've added new .bat files for the kotlin-client to alllow windows-devs to re-generate required samples via windows-shell (for CI).
2019-11-12 22:15:54 -05:00
Yurii Zhoholiev
4494bf1e9a [csharp-netcore] Propagate raw content to the ApiException error content. (#4381)
* [csharp-netcore] Propagate raw content to the ApiException error content.
2019-11-12 15:58:38 -05:00
Jim Schubert
c663124ce3 Remove path relative to my home dir. (#4470) 2019-11-12 15:57:15 -05:00
Sébastien Masset
99204ecd66 Avoid generating uncompilable response body in Spring's API template (#2903)
* Moved example string to a dedicated variable in Spring's methodBody template

* Created a new exampleString template for JavaSpring

* Added a new mustache lambda to trim whitespace in fragments

* Added a new lambda to split long fragments into compilable strings

* Use newly introduced lambdas in Spring's API template to avoid generating uncompilable example code
2019-11-12 17:49:05 +08:00
Martin Delille
21a291f569 cpp-qt5-client: remove host since it is not well handled (#4429)
* fixup! Simpler timeout with QTimer::singleShot (#4430)

* cpp-qt5-client: remove host since it is not well handled

* Move disconnect again

* cpp-qt5-client: handle scheme/host/port properly

* Fix port change try
2019-11-12 09:39:31 +01:00
atsharp
9ceabc760c [Java] Refactor webClient generator to use URI templates to capture correct metrics (#4314)
* Fixing URI templating for webclients to support Spring metric collection

* Revert accidental change to test
2019-11-12 16:17:38 +08:00
Jorge Rodriguez
94b58634a7 [Java]: Client resttemplate and webclient: array parameters of type integer in path badly generated (#4379)
* 4375: Client resttemplate and webclient: array parameters of type integer in path badly generated

* 4375: Fix samples

* 4375: Fix samples

* 4375: Fix samples
2019-11-12 16:15:34 +08:00
Nick Meinhold
11bcb661a1 Dart generate keywords (#4449)
* Add script to use Dart SDK to generate keywords

* Read generated keywords in dart generator
2019-11-12 00:11:43 +08:00
Jim Schubert
7bfc53b3bb [core] Fix system properties being immutable (#4447)
When WorkflowSettings was constructed from an existing instance, as is
the case when we deserialize from an external configuration file, it
would result in an error:

Caused by: java.lang.UnsupportedOperationException
        at com.google.common.collect.ImmutableMap.put(ImmutableMap.java:450)
        at org.openapitools.codegen.config.WorkflowSettings$Builder.withSystemProperty(WorkflowSettings.java:465)

This was due to an error in `newBuilder(WorkflowSettings copy)` which
assigned builder.systemProperties with an immutable map. This is
incorrect because everything in the builder should be mutable until
.build() is invoked.

This likely affects CLI/Maven plugin as well for version 4.1.1 through 4.2.0.
2019-11-11 08:03:13 -05:00
William Cheng
84d3562a0f [Kotlin][Client] minor improvements (#4419)
* minor improvement to kotlin generator

* minor code format change
2019-11-11 16:36:07 +08:00
Anton Nesterov
0aa1b7c7a8 [typescript-rxjs]: Add support for nullable (#4438) 2019-11-11 07:41:24 +01:00
Man
dbbe2b8b2d [asciidoc] fix names of parameters (#4440)
Fixes #4408 

* fix header hierarchy in model section
* small fix markup on dataformat enum (italic)
* fixes parameter names casing
2019-11-10 16:11:55 -05:00
Martin Delille
7e6e87a857 fixup! Simpler timeout with QTimer::singleShot (#4430) (#4435)
* fixup! Simpler timeout with QTimer::singleShot (#4430)

* Move disconnect again

* Fix self assignement in HttpRequest.cpp.mustache
2019-11-10 17:05:22 +01:00
William Cheng
139894ffbe Add a link to Sinatra article (#4437) 2019-11-10 20:57:59 +08:00
Martin Delille
d0b2465b89 Simpler timeout with QTimer::singleShot (#4430) 2019-11-10 11:40:11 +01:00
Martin Delille
3e87a5fbaf cpp qt5 client: fix prefix bug (#4432) 2019-11-10 09:44:45 +01:00
Jim Schubert
357f6caed5 [meta] Support Kotlin meta generator (#4156)
* [meta] Support Kotlin meta generator

* Guard against automatic scripts (assumptions for this script are not fulfilled by some CI which run "run all" type scripts)
2019-11-09 10:47:55 -05:00
William Cheng
db729be7df [Go][Server] minor enhancement to the template (#4417)
* minor enhancement to the go server template

* update samples
2019-11-09 11:24:12 +08:00
Dennis Melzer
777e39007a Replace the old ResourceSupport (#4426)
#4425
2019-11-09 11:00:51 +08:00
Richard Whitehouse
de162f7f34 [Core, Rust Server, ASP.NET Core] Fix Codegen Operation Scope Consistency (#3495)
Fix Codegen Operation Scope Consistency

- Filter scopes based on operation

- Partially revert #1984 to not rely on custom attributes as to whether scopes exist

- Fix filtering global authentication schemes
2019-11-08 13:30:35 +00:00
Jesse Michael
5b4441892f Add Go Server featureCORS option (#4400)
Add a Go server configuration option of "featureCORS" that defaults to false. When set to true the Go server routers will be generated with Cross-Origin Resource Sharing middleware through gorrilla mux.

https://www.gorillatoolkit.org/pkg/handlers#CORS
2019-11-08 15:35:27 +08:00
Joel Beach
79d7e61b87 Fix treatment of nullable types in a few more places (#4315) 2019-11-08 08:06:11 +01:00
William Cheng
05e954c8aa prefix local variable with localVar (#4402) 2019-11-08 15:04:33 +08:00
Bruno Coelho
7cf027fbf5 [kotlin][client] gson complete integration (#4332)
* [kotlin] update dependencies

* [kotlin][client] complete gson integration

* [kotlin][client] run petstores

* [kotlin][client] fix JsonMediaType and update petstores

* Add kotlin client gson to pom.xml

* Remove org.json dependency

* Try to fix kotlin-gson build

* Add kotlin client nonpublic to pom.xml

* Update samples

* try to fix build

* try to fix build

* try to fix build

* try to fix build

* [kotlin][client] restore libraries version

* [kotlin][client] update kotlin version

* [kotlin][client] update some libraries versions

* [kotlin][client] update some libraries versions

* [kotlin][client] add kotlin-gson and kotlin-nonpublic to CI test suit

* [kotlin][client] update some libraries versions

* try to fix build

* try to fix build
2019-11-08 15:02:48 +08:00
Jan
f9af3c2752 [kotlin] [bugfix] [maven-plugin]: prevent ClassCastException with boolean config options (#4361)
* fix: prevent classcast exception during execution of openapi-generator-maven-plugin.

* style: revert styling to openapi defaults

* test: unit test coverage for handling boolean config options

* fix: replace option value with boolean, if it is a string literal boolean

* style: use data type long

* test: add maven testfile kotlin.xml to travis build

* test: runnable maven test of the kotlin generator
2019-11-08 14:38:05 +08:00
William Cheng
b0b0e2b102 add sbt, bazel to integration (#4416) 2019-11-08 10:11:47 +08:00
Dominik Jastrzębski
7e7fb16e12 Add a blog post tutorial about generating Java clients using OpenAPI v3 (#4405) 2019-11-08 10:11:04 +08:00
William Cheng
e472d02669 add freshcells to company list (#4414) 2019-11-08 09:41:12 +08:00
sunn
048fe29226 Update isSet when the object is received from callback. (#4385) 2019-11-07 16:55:02 +01:00
Martin Slemr
f0bcaaf45d Ruby client nullable (#4391)
* Ruby Client: implementation of nullable

* Ruby samples with nullable implementation

* [Ruby] openapi_nullable as a Set and skipping attrs fix
2019-11-07 16:15:00 +08:00
Mathieu Lemoine
9a1ff9bf05 Fixes Kotlin client property names that include a dollar sign for template override (#4351)
Fixes #4228
2019-11-07 14:14:13 +08:00
Arun
649eab2868 [Python] [Performance] Avoid unnessacary checks inside the loop (#4305) 2019-11-07 10:49:54 +08:00
Amit Goldberg
9bfea4b7e5 Add QEDIT as a company that's using OpenAPI Generator (#4392) 2019-11-07 00:00:29 +08:00
sunn
c25a02f77f update cpp flag for pistache (#4386) 2019-11-06 10:07:59 +01:00
Valentin
d635ac3973 Feature optional emit default values (#4347)
* This commit addresses issue #4346 and adds the proposed optionalEmitDefaultValues flag.

* ran /bin/cshapr-netcore-petstore.sh to create sample clients

* Fixed lost newline

* Ran script again to update samples
2019-11-06 12:02:59 +08:00
William Cheng
55737c236c skip the test as async call may have finished (#4377) 2019-11-06 10:35:59 +08:00
William Cheng
c4f0b09459 Fix Jackson databind security issue (#4370)
* fix jackson databind security issue

* update groovy sample

* fix groovy dep version
2019-11-06 10:27:08 +08:00
William Cheng
16ad66759b Add Kronsoft Development to the user list (#4371)
* Add Kronsoft Development to the user list

* add kronsoft to the user list
2019-11-05 15:47:52 +08:00
Denis Golovnev
1edbe956e3 Add https://qulix.com to list of companies using OpenAPI Generator (#4364) 2019-11-04 22:26:58 +08:00
Dmitry Grachikov
d16352a7b3 [JavascriptFlowtyped] Adding parent flow type to child type using "& ParentType" to allow flow js access parent fields from child types (#4263) 2019-11-04 16:56:24 +08:00
Arun
e3bfa282e5 [Python-Experimental]: Remove redundant else statement (#4324)
* [Python-Experimental]: Remove redundant else statement

* Run petstore
2019-11-04 16:32:53 +08:00
Jérémie Bresson
b4c72427fe [jaxrs-spec][quarkus] update to 0.27.0 (#4360) 2019-11-04 16:02:47 +08:00
William Cheng
4ca9430474 sync master, update doc 2019-11-04 09:38:22 +08:00
William Cheng
2ee2319552 minor doc update (#4359) 2019-11-04 09:29:52 +08:00
William Cheng
4824bb7711 sync master, update samples 2019-11-04 09:28:19 +08:00
Jim Schubert
b536119162 [cli][script] Fix misspelling in cli bootstrapping script (#4356) 2019-11-03 16:47:22 -05:00
William Cheng
61d7d22b24 smaller tests, better code format (#4355) 2019-11-03 23:18:09 +08:00
Jacob Bundgaard
f352fa6fb5 csharp-netcore: Replace null literals with default (#4345)
* csharp-netcore: Replace null literals with default

Same fix as applied to the csharp generator in #3537

* Update Petstore samples
2019-11-03 18:07:20 +08:00
Jérémie Bresson
10627ed5cc [core] consider polymorphism when computing unused schemas (#4335)
Fixed #4193
2019-11-03 18:05:40 +08:00
Thodin3
68dbf20d7e Fix issue 4326 forward throws for delegate to main method (#4327)
* Fix issue 4326 forward throws for delegate to main method

* Fix issue 4326 put throws for delegateMethod
2019-11-03 18:04:01 +08:00
Bruno Coelho
de9f56969d [kotlin][client] annotate api exceptions (#4339)
* [kotlin][client] annotate api call exceptions

* [kotlin][client] run petstores
2019-11-03 17:26:46 +08:00
Jason Lee
3f72f8da50 refactor java-vertx-web parameters and bugfix on non primitive parameter (#4353) 2019-11-03 17:24:46 +08:00
Denis Golovnev
f77b5da0f0 Remove deprecated API use of ObjectFactory.property() (#2613) (#4352) 2019-11-03 17:23:27 +08:00
Sai Giridhar P
ea600989f7 [python][metadata]: Adding license and author fields (#4318)
* fix(license): Fixing the license and author information

* fix(license): Fixing the license and author information

* fix(metadata): Adding default values for contact details and license fields

* fix(metadata): Adding default values for contact details and license fields
2019-11-03 14:58:39 +08:00
Arun
fe3b59d3c5 [Python] Avoid pep8 violation (#4316) 2019-11-03 14:48:42 +08:00
Mikhail Boldyrev
a9854ce71e [JS] Update package.json (#4261)
* Update package.json

* Update package.mustache

* Update package.json

* Update package.json

* Removed 'js:' in package.json and package.mustache
2019-11-03 14:13:40 +08:00
William Cheng
39bc13d244 Add slash-arun to Python technical committee (#4354)
Add slash-arun to Python technical committee
2019-11-02 18:33:33 +08:00
Erik Timmers
8882d9ab3f [typescript-fetch] Fix discriminator mapping name (#4340) 2019-11-01 14:25:37 +01:00
William Cheng
931908c77c fix security alerts reported by github (#4344) 2019-11-01 11:16:36 +08:00
lwlee2608
a9ea8636e5 fix cpp-restbed-server json field serialization #4320 (#4323) 2019-11-01 10:56:12 +08:00
SAnDAnGE
cf29908ff2 typescript-angular: fix oneOf and anyOf generates incorrect model for primitive types (#4341)
* [typescript-angular] Fix importMapping;

https://github.com/OpenAPITools/openapi-generator/issues/3149

* [typescript] Fix oneOf/anyOf/allOf;

https://github.com/OpenAPITools/openapi-generator/issues/4130

* [typescript] remove unneeded mapping

https://github.com/OpenAPITools/openapi-generator/issues/3149

* [typescript] fix import paths and export

https://github.com/OpenAPITools/openapi-generator/issues/3149
2019-10-31 19:55:29 +01:00
Martin
cd11cc2615 fix(typescript-angular): do not call .toISOString() on a string (#4330) (#4337) 2019-10-31 15:05:36 +01:00
William Cheng
47e2c0d027 update samples (#4334) 2019-10-31 13:31:49 +08:00
William Cheng
34070bd151 Prepare 4.2.0 release (#4333)
* remove snapshot

* update doc
2019-10-31 11:36:53 +08:00
Fjolnir-Dvorak
d624b28c96 [FEATURE][Haskell] Haskell-Servant serves static files (#4058)
* updated the golden files for haskell to be able to generate against those

* Haskell-servant now serves static files which are in a directory called "static"

* I missed to regenerate the docs directory
2019-10-30 20:47:53 -05:00
Fjolnir-Dvorak
4958ad74e7 [FEATURE][Haskell] Add Middleware support for the haskell servant generator (#4056)
* updated the golden files for haskell to be able to generate against those

* Added support for middlewares in the haskell servant generator.

* Renamed runOpenAPIPetstoreServer to runOpenAPIPetstoreMiddlewareServer and added a backwards compability version runOpenAPIPetstoreServer using requestMiddlewareId as middleware.
2019-10-30 20:47:35 -05:00
William Cheng
33f63d6163 Do not HTML escaped the description in the doc (#4321)
* html escaped the description in the doc

* update python oas3 sample
2019-10-31 09:10:05 +08:00
Sai Giridhar P
2188e0feda [r][license]: Fixing license and contact information (#4317)
* fix(license): Fixing the license information

* fix(license): Fixing the license information
2019-10-30 17:11:16 +08:00
Sai Giridhar P
ec3569e922 [python][fix] Adding model summary to model documentation files (#4306)
* feat(documentation): Adding model documentation

* feat(documentation): Adding model documentation

* feat(documentation): Adding model documentation

* feat(documentation): Adding model documentation
2019-10-30 17:10:02 +08:00
Sai Giridhar P
284c9dc6c5 feat(documentation): Adding model documentation (#4308) 2019-10-30 17:09:25 +08:00
Sai Giridhar P
73db23a2d7 feat(documentation): Adding model documentation (#4309) 2019-10-30 17:08:33 +08:00
Sai Giridhar P
3082eda27e [r][documentation]: Adding model summary to model documentation files. (#4310)
* feat(documentation): Adding model documentation

* feat(documentation): Adding model documentation
2019-10-30 17:06:39 +08:00
Arun
eaca7b8d48 [Python] Remove redundant else statement (#4311)
* [Python] Remove redundant else condition

* Add indentation

* Reduce extra indent

* Avoid longer than 79 chars

* Remove trailing space after response_body

* [Python] Fix pep8 violation in imports

* Revert "[Python] Fix pep8 violation in imports"

This reverts commit bc69aaae7f.
2019-10-30 17:02:08 +08:00
Alec
b1984f3c49 [TS] Fixes typescript-axios "File custom.d.ts not found" when building consumer TS project (#4230)
* remove unused file

* build(package.json): update node and ts

* remove ref to ambient declaration

* remove other ref to ambient declaration

* remove all references to custom.d.ts, rebuild

* regenerate typescript axios samples
2019-10-30 09:22:46 +01:00
Josh Burton
9c46973bcb [dart-dio] Correctly handles import of Uint8List (#4313)
* [dart-dio] Correctly handles import of Uint8List

- updates dio and built_value dependencies

* [dart-dio] Updates sample
2019-10-30 15:33:26 +08:00
Hemant Zope
6795434469 [C] Update build-and-test.bash for CI errors (#4312)
* Update build-and-test.bash

add check for non autogenerated test file

* Update README.md.mustache

Add instructions on how to test petstore sample manual tests.

* remove petstore sample from readme
2019-10-30 15:31:04 +08:00
Andrew Emery
a2b37d67c0 Kotlin query collection format (#4248)
* Fixes incorrect query header collection constants

The OpenApi codegen converts OpenApi v2 documents into an OpenApi v3
representation. The query parameter collection formats are squeezed
into different values from the raw OpenApi 2 collection format values.
For example: csv -> space
See: DefaultCodegen#getCollectionFormat

* Updates kotlin samples
2019-10-29 22:55:04 +08:00
Arun
c8465c40ff [Python] [Bug] Correct typo in the word datetime (#4304) 2019-10-29 22:54:05 +08:00
William Cheng
ae798d9433 Add arduino.cc to the user list (#4307)
* Add arduino.cc to the user list

* Add Arduino logo

* add logo
2019-10-29 21:48:55 +08:00
William Cheng
5dcde3f855 [Go][Server] better tests (#4295)
* better test for go-api-server

* better test for go gin server

* fix go-api-server test

* fix folder path

* remove red test

* update test files

* update script with gofmt

* update windows batch files

* discard changes before running ensure-up-to-date

* add go-api-server to ensure uptodate script
2019-10-29 15:15:24 +08:00
Addy Naik
28a87b0bde Add bearer token authentication documentation to template (#4278)
* add bearer token authenticationdocumentation to template

* Use correct method

* Add the get parameter back
2019-10-29 13:21:17 +08:00
William Cheng
0ab273f6a6 Update technical committee (#4302) 2019-10-29 13:19:43 +08:00
William Cheng
c2df761772 update JS samples 2019-10-29 12:05:07 +08:00
William Cheng
2df7ce5012 rename local variables (#4297) 2019-10-29 09:09:10 +08:00
fabik111
4ac2738f0a [JavaScript][ES6] Fix bug issue #4296 (#4298)
* add check on response

* improve check on response

* update sample

* fix spaces
2019-10-29 09:07:34 +08:00
Justin Black
73c55c11dd [Python-experimental] types now classes, adds additionalProperties handling (#4154)
* Changes python-experimental types to classes, adds additionalalproperties handling

Adds model_utils update, updates model.mustache

Updates api.mustache and uses model_to_dict in model_normal.mustache

Updates requirements.mustache for PythonClientExperimental

Passes through check_type when deserializing models

Converts types from strings to classes in PythonClientExperimentalCodegen.java and PythonTest.java

Creates PythonClientExperimentalTest.java

Updates toInstantiationType to use ModelUtils.xxx

Corrects docstring descriptions of response_type

Updates python-experimental typing, partially fixes deserialization tests

Adds fixes for some of the deserialization tests

Fixes deserialization tests

Switches model teplates to use allVars so allof props will be included

Fixes tests.test_enum_arrays

Fixes test_to_str

Adds additional_properties_type, fixes teast_todict in test_map_test.py

Correctly check the type of _request_timeout values

Fixes test_upload_file test

Turns off coercion when instantiating model types with client data

Updates file handling to input and output an open file object

Fixes linting errors

Adds fixes for python2 tests, linting fixes

Adds additionalproperties to docs + tests

Regenerates python-experimatal client

* Regenerates python-experimental client

* Updates windows python-experimental bat file

* Fixes addModelImport so client generation will work with the v2 spec

* Reverts PythonClientCodegen.java

* Acutally revert PythonClientCodegen.java

* Updates the sample example for file_type in docs

* Silences line too long error for python models so CI tests pass

* Fixes handling of file uploads, adds tests for uploading files

* Removes comment

* Fixes mock installation in python2

* Limit mock addition to python-experimental test requirements only

* Removes SmartBear copyright line
2019-10-28 21:24:31 +08:00
Matt Traynham
c0bc8b4934 Add kotlin.collections.Set support for unique item arrays (#4247) 2019-10-28 21:10:11 +08:00
William Cheng
e37d8bcb2e Minor improvement to the Java vertx web server generator (#4294)
* minor improvement to the vertx web server gen

* update doc
2019-10-28 17:14:34 +08:00
Andrew Emery
d92d84bb12 Kotlin multiplatform auth (#4284)
* Includes support for the Javascript platform

* Fixes enum serialization with non-string values

* Updates to expose api dependencies to consumers

* Uses explicit class name for Kotlin collection classes

* Maps unknown object type to Kotlin String

The Kotlinx serialization library uses reflectionless serialization and
requires compile-time serialization declarations. As a result, unknown
objects are mapped to Kotlin String instances to enable compilation
where object types are not explicitly defined.

* Improves support for binary objects

Previously, objects that contained binary data were assigned the
InputProvider data type. This was suitable for a binary input form
parameter, but unsuitable for Base64 or octet binary strings. These
binary strings are now assigned a more suitable object.

* Includes Kotlin Multiplatform auth classes

Includes support for:
- api key
- http basic
- http bearer
- oauth (partial support)

https://github.com/OpenAPITools/openapi-generator/issues/4283

* Updates Kotlin samples
2019-10-28 16:03:49 +08:00
lwlee2608
0f2272d9a4 Implement Server Stub Code for Vert.x Web #115 (#4286)
* InlineResolver to flatten callback operations

Signed-off-by: lwlee2608 <lwlee2608@gmail.com>

* clone from VertxServerCodegen, to new VertxWebServerCodegen

* fix compilation error in VertxWebCodegn

* Start working on VertxWebServerCodegen, adding support files

* add server api handler

* add server api and fix yaml spec file generation

* link api to apiHandler

* convert vertx parameters into API model

* add support to multipart/form-data upload files

* ability to set http status code from ApiImpl

* replace rootPackage with invokerPackage

* add readme and sample

* fix circleCi error

* override file to FileUpload in typeMapping, no need to override from fromOperation(). Also remove unused annotation import from model

* remove smartBear software copyright

* use {{artifactVersion}} instead of hardcode version in readme

* add -t flag in generation script

* add generated vertx-web server to master pom for testing
2019-10-28 14:08:21 +08:00
sullis
4543c21030 maven-enforcer-plugin: requireJavaVersion 1.8.0 (#4287) 2019-10-27 12:10:54 +08:00
Arun
13ee0a10ec Handle model names starting with number (#4276) 2019-10-26 16:17:44 +08:00
Ling Li
2d2a266d12 Fix conflict if swagger paramName is data (#4266)
* Fix conflict if swagger paramName is data

* Updated petstore as per PR requirements
2019-10-26 16:11:12 +08:00
William Cheng
288c69f2de Add a link to presentation in eclipsecon Europe 2019 (#4281)
* Add a link to presentation in eclipsecon Europe 2019

* aAdd URL
2019-10-26 16:07:58 +08:00
Arun
8c276dbe60 [Dart] Add missing reserved words (#4277) 2019-10-26 15:58:29 +08:00
Yuriy Belenko
5a7b471511 Mark Slim3 server generator as deprecated (#4256)
* Mark Slim3 server generator as deprecated

* Add deprecated suffix
2019-10-26 15:49:30 +08:00
William Cheng
d5b09cff2a [Bash] Minor improvements (#4274)
* minor improvements to bash generator

* test bash

* fix path

* test bash in travis

* fix pom
2019-10-26 11:30:08 +08:00
William Cheng
66be33a37b Add Bosch logo (#4265) 2019-10-25 17:01:17 +08:00
PeterTriebe
3144e0d576 Update README.md (#4264) 2019-10-25 16:29:37 +08:00
LoveIsGrief
2969f0764a Place PathHandlerProvider.java of java-undertow-server in the apiPackage dir (#4255)
* Fix copy-pasted string

* Generate the PathHandlerProvider.java in the apiPackage

This is a toss-up between apiPackage and invokerPackage since I don't
 know which one was intended, I'm assuming it's the apiPackage.
It'd make sense to put the handler there since it is providing the API
 and handling calls to it...
2019-10-25 15:14:09 +08:00
Daiki Matsudate
d9416e35fa remove pods from git (#4100) 2019-10-24 23:17:38 +08:00
Daiki Matsudate
2da22dddf8 [Swift] Ignore all Pods/ and Carthage/ under CodegenTests (#4099)
* ignore

* remove pods from git

* format
2019-10-24 23:16:40 +08:00
William Cheng
1c5d8182ab update doc 2019-10-24 23:12:34 +08:00
wiruzman
d15a4c3e8e Remove support for old .net core project type (#3937) 2019-10-24 23:06:48 +08:00
amond
bf5db10837 fix(dart-dio): generate enum using built_value (#4235)
Signed-off-by: Minsu Lee <amond@amond.net>
2019-10-24 23:00:21 +08:00
William Cheng
7901ae2306 [Java][okhttp] Test setVerifyingSsl (#4252)
* test setVerifyingSsl

* update test file under petstore
2019-10-24 22:02:39 +08:00
William Cheng
9cf186cfd8 update python samples 2019-10-24 20:59:31 +08:00
Fabio Kung
c3666e9350 okhttp-gson: fix SSL settings with okhttp3 (#4226)
The old code used to work with older okhttp (< 3), but will throw
NullPointerExceptions with okhttp3.
2019-10-24 18:15:10 +08:00
Arun
652b0f5bf6 [python] Add ability to get allowed values (#4138)
* Add function to get list of allowed values

* [python] Add function to get list of allowed values

* Remove temporary variable

* Remove static method and use a variable

* Remove classname
2019-10-24 17:28:29 +08:00
tkrtmy
84c6a7c1e7 Add dwango to the user list (#4249)
* Add dwango to company/project to the list in README

* Add dwango to the user list

* Fix DB's link
2019-10-24 17:10:13 +08:00
mrmeku
e85f6c577e typescript-angular: Allow for custom naming of ApiModule (#4209)
In cases where a user wants to generate multiple module's,
it is convenient to have these modules have different names.
2019-10-24 10:13:48 +02:00
William Cheng
2bf708d938 deprecated netstandard, uwp support in csharp (#4214) 2019-10-24 01:10:57 +08:00
Hassan Paknia
5766fca98b Renaming foreach variable to avoid name conflict with the possible input parameter named value (#4232) 2019-10-24 00:51:52 +08:00
Andrew Emery
b56a9d907c Fixes Kotlin client property names that include a dollar sign (#4229)
Property names that include a dollar sign are being interpreted
by Kotlin as a string template. This fix escapes such instances.

https://github.com/OpenAPITools/openapi-generator/issues/4228
2019-10-24 00:50:41 +08:00
Bruno Coelho
620aa4fd5e [kotlin][client] only use authentication tokens when they are not null (#4238)
* [kotlin-client] only use authentication tokens when they are not null

* [kotlin-client] only use authentication tokens when they are not null
2019-10-24 00:46:46 +08:00
William Cheng
fbf3d593df Add RedHat to the list of users (#4242)
* Add RedHat to the list of users

* add redhat to the user list
2019-10-23 22:08:42 +08:00
William Cheng
3e880ae0ce add ANZ to the user list (#4234) 2019-10-23 16:02:40 +08:00
William Cheng
a1ff5ab674 Add a link to blog post in Qitta (#4233)
Add a link to blog post in Qitta
2019-10-23 10:53:39 +08:00
William Cheng
6e8515af7a Add Openet to the user list (#4223)
* Add Openet to the user list

* add openet logo
2019-10-22 22:58:24 +08:00
William Cheng
5e564a51f7 Add a new section on IDE integration (#4219) 2019-10-22 22:11:17 +08:00
William Cheng
73421f79e8 Add TravelTime to list of users (#4213)
* Add TravelTime to list of users

* add traveltime platforom to user list

* do not show in front page
2019-10-22 16:33:35 +08:00
Slavek Kabrda
cf58a427b6 [java][client] Don't include nullable attributes twice in serialized JSON (#3923)
* [java][client] Don't include nullable attributes twice in serialized JSON

* Get rid of the extra added whitespace

* Regenerate samples
2019-10-22 16:17:27 +08:00
Jesse Michael
00c6e0a64b Return Router interface from controller constructor. (#4196)
Update the go server api controller template to return the Router interface instead of the api specific router.
The Router interface type has the Routes function, which is what the generated `NewRouter` function needs. (not the api specific interface).
2019-10-22 15:27:08 +08:00
William Cheng
9fe2f4d3ef [Kotlin][client] Add nullable query parameter support (#4197)
* add nullable query parameter support

* remove redundant bracket
2019-10-22 15:14:14 +08:00
Guillaume SMAHA
5d7bb17cc6 Python: Flask: Fix: Update setup.py to match requirements.txt (#4205)
* Python: Flask: Fix: Update setup.py to match requirements.txt

* Regenerate samples python-flask & python-flask-python2
2019-10-22 08:57:54 +08:00
William Cheng
a38527d8b6 Add IBM to the user list (#4206)
* Add IBM to the user list

* add ibm logo

* update url
2019-10-22 00:50:20 +08:00
William Cheng
c68389ef47 update user list in website (#4204) 2019-10-21 23:55:19 +08:00
Yuriy Belenko
8e78b14e28 New PHP Slim4 Server Generator (#3658)
* [Slim4] Copy Slim3 generator as starting point

* [Slim4] Add psr7Implementation generator option

Slim supports PSR-7 interfaces for its Request and Response objects.
Slim provides its own PSR-7 implementation so that it works out of the
box.
However, you are free to replace Slim’s default PSR-7 objects with
a third-party implementation.
[Ref] https://www.slimframework.com/docs/v4/concepts/value-objects.html

* [Slim4] Handle psr7Implementation generator option

It somehow ended up with composerPackages and composerDevPackages
codegen variables and two additional functions. Hope, it's not too much.

* [Slim4] Extend from Slim3 generator

* [Slim4] Bump PHP Slim Framework version to 4.0.0

* [Slim4] Bump required PHP version to 7.1

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Remove app settings

Slim’s App settings used to be a part of the container and  they have
now been decoupled from it.

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Set container argument optional

Slim uses an optional dependency container to prepare, manage,
and inject application dependencies.
Slim supports containers that implement PSR-11
like [PHP-DI](http://php-di.org/doc/frameworks/slim.html).

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Change response body write

You can't write to response instance directly anymore,
need to retrieve body object first.

[Doc](https://www.slimframework.com/docs/v4/objects/response.html#the-response-body)

* [Slim4] Change Slim\App constructor

[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)

* [Slim4] Refactor token authentication options

User can provide array or Container as constructor argument from now.
Small refactoring required to retrieve authentication options from
that argument.

* [Slim4] Add PSR-7 implementation codegen flags

This approach seems more flexible to me.
User can customize templates in favor of chosen PSR7 implementation.
It's easier to change Composer packages and their versions.

* [Slim4] Add JsonBodyParserMiddleware

Slim4 doesn't parse JSON body, need to add suggested middleware.
Ref: https://www.slimframework.com/docs/v4/objects/request.html#the-request-body

* [Slim4] Remove request's deprecated methods usage

Since Slim 4.0.0 ServerRequest implementation doesn't have
getQueryParam and getParsedBodyParam methods anymore.

* [Slim4] Use getUploadedFiles for multipart request

isMultipart codegen property is always false so far.
Hope that bug will be fixed soon.

* [Slim4] Add samples
2019-10-21 22:20:12 +08:00
William Cheng
956029165b Add Edge Impulse to the list of users (#4203) 2019-10-21 22:03:36 +08:00
Jérémie Bresson
ebde14c0c4 [core] Update Swagger-Parser to '2.0.15' (#4145) 2019-10-21 21:51:01 +08:00
William Cheng
fb570ef7d7 Add Here to the company list (#4201) 2019-10-21 21:12:01 +08:00
Jan Jongboom
1052ebaced typescript-jquery: Update to work with Typescript strict mode (#3969)
* typescript-jquery: Work in Typescript strict mode

* re-generate samples
2019-10-21 13:44:48 +02:00
Bernd Hacker
ea76a94001 [typescript-rxjs] improve HttpQuery typing (#4198)
* refactor(typescript-rxjs): replace HttpQuery casting by adjusting type definition

* feat(typescript-rxjs): regenerate samples
2019-10-21 11:29:23 +02:00
William Cheng
90c7f53a1b Allow retrieving the underlying configuration for APIClient (#4195) 2019-10-21 16:14:00 +08:00
atetzner
ba04939c7a Fix generation of query parameters for optional/nullable function arguments (#3903)
* OpenAPITools/openapi-generator#3880 Fix generation of query parameters for optional/nullable function arguments

* OpenAPITools/openapi-generator#3880 Updated generated samples
2019-10-21 14:18:42 +08:00
Arvind Thirunarayanan
893f16ad3c [Golang] Allow retrieving the underlying configuration for APIClient (#3976)
* Allow retrieving the underlying configuration for APIClient

  - Needed for dynamically changing the underlying implementations and
    for testing
  - Fixes #1321 and #3412

* Added go-petstore-withXml changes suggested by circleci

* Add caution note about modifying configuration while live
2019-10-21 13:20:56 +08:00
Alberto Corrales Garcia
fefa327531 Add Fenergo in companies using OpenApi Generator (#4192) 2019-10-20 23:09:34 +08:00
William Cheng
d05bbf6ca7 Add a link to meetup in Paris by Criteo (#4191) 2019-10-20 22:32:53 +08:00
William Cheng
f43c720b08 replace 4-space with tab (#4188) 2019-10-20 00:46:25 +08:00
William Cheng
fd24088dda fix pricefx.png naming 2019-10-19 23:56:10 +08:00
Jesse Michael
0abb910dbc [go-server] Enhance Go API server with interfaces router binding and services (#4038)
* Enhance go api server with interfaces router binding and services

Enhance the default go api server generation to define interfaces for an API's routes and services. Handle an endpoint's http binding in the generated router and the skeleton for the service logic in an API service.

* Include interface documentation in Go Server generation.
2019-10-19 23:32:52 +08:00
William Cheng
dd64241f8f minor fix to veamly img name 2019-10-19 23:17:43 +08:00
William Cheng
930edeadea add company logos to the website (#4187) 2019-10-19 22:37:01 +08:00
William Cheng
1cf228f5f6 Add https://vouchery.io to the company list (#4186) 2019-10-19 21:21:43 +08:00
atsharp
d75d089bc9 [Java] Support cookie-based security schemas in Java clients (#4155)
* Adding cookie support and cookie-based AuthKeys to Java clients

* Fix indentation

* Revert accidental change

* Updating samples

* Fixing tests and regenerating samples
2019-10-19 18:05:02 +08:00
Jochen Schalanda
ab0b3d9795 Update to jackson-datatype-threetenbp 2.9.10 (#4176)
* Update to jackson-datatype-threetenbp 2.9.10

* Update to ThreeTen BP 1.4.0

* Fix import and usage of org.threeten.bp.DateTimeUtils

* Refresh samples
2019-10-19 15:08:56 +08:00
Jérémie Bresson
be0fc7e49f [jaxrs-spec][quarkus] update to 0.25.0 (#4185) 2019-10-19 14:49:11 +08:00
William Cheng
5a222bb570 Add https://ponicode.dev/ to list of companies using OpenAPI Generator (#4184) 2019-10-19 13:06:16 +08:00
Jim Schubert
51cff82bf0 Support [typescript] as a pattern for auto-labeler (#4180)
* Support labeling changes which affect all typescript generators using `[typescript]` in title

* Add negative test case for Typescript change.
2019-10-18 17:47:56 -04:00
Bruno Coelho
c2ad14ea02 [swift4] Add swift package manager and update dependencies (#4141)
* [swift4] add Swift Package Manager

* [swift] update petstore projects

* [swift4] try to run CI again
2019-10-18 10:38:31 +08:00
Akihito Nakano
3f3559020a Add style and explode (#4042)
* Add parameter

* Set default value as Parameter.explode could be null

* Fix typo

* Add a link to the spec

* Add tests

* Delete unused import

* Rename: shouldExplode -> isExplode

* Include the new property
2019-10-17 23:58:38 +08:00
Jan
f8d3b9826a docs: add link to a slideshare presentation (#4174) 2019-10-17 21:18:32 +08:00
William Cheng
b7eedda696 update go openapi3 samples 2019-10-17 20:13:38 +08:00
Colin Arnott
080991823a [Go] Upgrade dependencies (#4126)
antihax/optional#1 added module support, and was tagged as a stable
release. This change consumes that tag, and updates the psuedo-version
for golang.org/x/oauth2.
2019-10-17 20:09:02 +08:00
siada
6af234f79a [typescript-inversify] Fix multipart form uploads (#4131)
* Fix multipart form uploads

* Update modules/openapi-generator/src/main/resources/typescript-inversify/HttpClient.mustache

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* re-generate samples
2019-10-17 13:50:10 +02:00
sunn
f901a84743 Update tests to prevent memory leakage (#4164)
Install C and C++ tools in Travis
2019-10-17 11:48:35 +02:00
William Cheng
c32fa5d012 Add a link to a PoniCode blog post (#4173) 2019-10-17 12:43:31 +08:00
wing328
4de3b3f473 update samples 2019-10-17 11:48:23 +08:00
wing328
54151891cc Merge branch 'master' into 5.0.x 2019-10-17 11:18:57 +08:00
William Cheng
9eb3c4fa7a Add Petstore samples for dart-dio (#4162)
* Add samples for dart-dio

* use dartmft
2019-10-17 11:15:17 +08:00
Jim Schubert
0e1ce6bb63 [docs] Custom template clarifications and other minor enhancements (#4167)
* [docs] Updating docsite outputs to be browsable on Github as well

* Fix links to other files
   Suffix `.md` was needed to make links works

* [docs] Add clarification to differences between customization and templating docs

* [docs] Collapsible side bar, scroll to top, minor enhancements
2019-10-16 18:04:44 -04:00
William Cheng
60d601ee26 [Python] Minor fix to code format (#4172)
* test python e501 fix

* 2 spaces

* fix format with noqa: E501

* fix format, update samples
2019-10-17 02:34:04 +08:00
Jeremie Bresson
f763b6dce3 Update samples 2019-10-16 13:42:03 +02:00
Jeremie Bresson
7756bb5b74 CircleCI change 'machine' configuration 2019-10-16 10:05:17 +02:00
Arun
d71b1cf49e [python] Add option to skip client validations (#4137)
* Adds options to skip client side validations

* Runs petstore.sh

* Correct typo in variable name

* Consistent code styling

* Rerun petstore.sh

* Change position of local_vars_configuration

* Make code pep8 compliant
2019-10-16 15:44:04 +08:00
Arun
095fa719b3 [python] Remove post_params and body from OPTIONS request (#4163)
* Remove post_params and body from OPTIONS

* Empty commit to retrigger build
2019-10-16 15:34:22 +08:00
Arun
1786e75490 Skip adding None value in query parameters (#4161) 2019-10-16 15:15:14 +08:00
Esteban Gehring
f195f8ff7a typescript-rxjs: fix query parameters type (#4160)
* #4159: fix typescript-rxjs query parameter type

* re-generate typescript-rxjs samples
2019-10-16 08:44:38 +02:00
William Cheng
428102b5e3 Add a link to blog post in csdn (#4166) 2019-10-16 13:17:42 +08:00
William Cheng
3fbd59b95a switch to machine enable is true 2019-10-16 11:41:20 +08:00
William Cheng
9d606804be disable docker_layer_caching: true 2019-10-16 11:33:16 +08:00
William Cheng
672a7e9c60 update samples 2019-10-16 02:52:04 +08:00
William Cheng
23727befa7 add athornz as dart-dio template creator 2019-10-15 22:23:18 +08:00
sunn
83fdc6e752 [C++] [Qt5] Add generation of cmake files to qt5 client (#4133)
* Add generation of cmake files to qt5 client

* Update after review
2019-10-15 15:59:45 +02:00
Josh Burton
755a6f4445 Adds Dart Dio generator (#4018)
* Adds initial implemenation of dart-dio generator

* Adds remaining boilerplate for dart-dio generator
2019-10-15 21:05:38 +08:00
Massimiliano Pippi
756984adc9 fix boolean operators precedence (#4158) 2019-10-15 21:03:34 +08:00
Benoît Courtine
dd08ea7a6b [Rust] [Fix #3052] Handle optional and nullable parameters (#4016)
This PR includes theses changes:

- Handling "optional" parameters is not optional anymore. Handling an additional parameter for it makes templates more complicated, and IMO, it is not worth it (as discussed in issue, it is an "acceptable" breaking change).
- Optional parameters are handled everywhere: path params, query params, form params... Generated sample code compiles (both hyper and reqwest libraries).
2019-10-15 13:59:37 +01:00
Arun
c1d5fe0c77 Run all test cases against petstore server (#4150) 2019-10-15 14:54:24 +08:00
Hippolyte HENRY
3693d60840 Add newline between function signature of operation and summary of operation (#4112)
* Add newline after function signature

* update Petstore

* [go] Add newline after function signature

* update petstore
2019-10-15 14:46:45 +08:00
sunn
450153d4e0 Add missing supporting files when prefix is provided (#4132) 2019-10-15 14:45:08 +08:00
snebjorn
5de0f01150 sanitizes model names so they're valid class/interface names fixes #4097 (#4127) 2019-10-15 14:35:58 +08:00
Kevin Mahoney
fead3eef76 [elm] fix code generation for nullable types (#4136) 2019-10-15 14:33:48 +08:00
Arun
dfabb1503a Add missing keywords in swift (#4153) 2019-10-15 13:33:13 +08:00
William Cheng
9c6b94c292 update samples 2019-10-15 02:00:10 +08:00
Thiago Arrais
cb2bf4d2bf Do not check status code for default response (#3322)
* Do not check status code for default response

* Updated generated code/docs

Because Circle CI said

> Please run 'bin/utils/ensure-up-to-date' locally and commit
> changes (UNCOMMITTED CHANGES ERROR)
2019-10-15 01:29:46 +08:00
Zbigniew Mandziejewicz
2cab048d41 [go-experimental] export required fields without pointer (#3989)
* [go-experimental] export required fields without pointer, only omitempty if type is not required and not nullable

* fix: go-experimental sample code

* fix: export nullable field as pointer

* update samples

* feat: nullable types

* add getter/setter for required fields, improve docstring
2019-10-15 01:19:47 +08:00
William Cheng
5a9e5642cb Add a link to autopp's blog post (#4152) 2019-10-15 00:15:46 +08:00
Dec12 | Fujigon
c231675a05 don't forget to copy the object mapper for serialization, in order to avoid setting affects other serialization (#4093) 2019-10-14 22:55:30 +08:00
gurumeditator
ec4ac07dfe [Java] fix jackson-databind-nullable version variable due to Gradle Incompatibility (Template Update) (#4148)
* Replaced dashes with underscores in build.gradle files.

* Updated mustache template files
2019-10-14 22:25:50 +08:00
William Cheng
e6fcfdf184 Add California State University, Northridge to the list of users (#4147) 2019-10-14 21:23:43 +08:00
Nándor István Krácser
07d145828f add Banzai Cloud to users list (#4144) 2019-10-14 12:16:01 +08:00
gurumeditator
dee6de7778 Replaced dashes with underscores in build.gradle files. (#4092) 2019-10-13 18:37:50 +08:00
Antoine Reilles
7b794f0139 [cxf-cdi] use @FormParam for form parameters when it is not Multipart (#4125)
Use the standard jax-rs @ForParam instead of @Multipart for
application/x-www-form-urlencoded parameters
2019-10-13 18:35:53 +08:00
Arun
d09146d359 Corrections to script names (#4135) 2019-10-13 18:06:41 +08:00
Arun
e2eea606fd [python] Add missing keywords python (#4134)
* Add missing keywords python

* Correct shell script names

* Revert "Correct shell script names"

This reverts commit 37f8fe5af1.
2019-10-13 18:04:02 +08:00
Jim Schubert
7a22b14df2 Update PULL_REQUEST_TEMPLATE.md (#4080)
* Updates the PR template to allow cleaner PR description workflow.
* Cleans up some of the language/descriptions in check items.

When a single commit PR is opened, GitHub will insert the commit message to the top of the PR template. Users who follow this flow previously needed to move this text to the bottom of the PR text, and remove the placeholder text.  It's such common practice for github contributors to enter descriptions in PRs, we can omit the `Description` placeholder and be less prescriptive about where the description exists.
2019-10-13 18:03:07 +08:00
William Cheng
10e42461f5 revert the fix to broken links 2019-10-12 00:28:57 +08:00
William Cheng
594446b8d5 Rename property name from propertyRawName to propertyBaseName (#4124)
* rename property in codegen discriminator

* better code format
2019-10-11 00:51:20 +08:00
Colin Arnott
3274592e29 [Go] Fix go.mod and go.sum for 1.13 (#4084)
The openapi-generator-cli currently creates an invalid go.mod file,
according to the go1.13 compiler. This change uses the correct pseudo
version without upgrading or modifying either dependency. It also adds
several missing go.sum dependencies that will break when the toolchain
is run in -mod=readonly mode.
2019-10-10 21:59:53 +08:00
Bruno Coelho
3cd74f4a8d [kotlin] add option for non public api (#4089)
* [kotlin] add option for non public api

* [kotlin] update petstores

* [kotlin] add missing script to kotlin-client-all.sh

* [kotlin] update pet projects

* [kotlin] remove public modifier

* [kotlin-client] inline visibility modifier
2019-10-10 21:56:40 +08:00
gurumeditator
60a3746bb7 Added new discriminator RawName property to preserve declared discriminator for @JsonTypeInfo annotations (#3320) 2019-10-10 21:34:40 +08:00
Vitor Rodrigo Vezani
958d7e47a3 Fix links to other files (#4120)
Suffix `.md` was needed to make links works
2019-10-10 21:30:18 +08:00
Alexander Lehmann
4d32e65c24 [JAVA][JAXRS] Fix parameters validation (#3862)
* [JAVA][JAXRS] Improved formatting of *Params.mustache files

Signed-off-by: Alexander Lehmann <alexander.lehmann@tracetronic.de>

* [JAVA][JAXRS] Added validation to path/query-Params

Fixes #3861

Signed-off-by: Alexander Lehmann <alexander.lehmann@tracetronic.de>

* [JAVA][JAXRS] Regenerate examples

Signed-off-by: Alexander Lehmann <alexander.lehmann@tracetronic.de>
2019-10-10 21:21:17 +08:00
Thomas Joeissient
a13543e859 Make Resttemplate thread safe by using the withHttpInfo pattern used by many other generated clients (#4049) 2019-10-10 21:18:29 +08:00
Anders Fogh Eriksen
9f82755696 Disabling linting for typescript-fetch (#4110)
* Disabling linting for typescript fetch

* Update petstore

* Update samples

* Fix typescript-fetch samples
2019-10-10 14:43:08 +02:00
William Cheng
b69b8cdd31 [Kotlin][Client] fix missing curly bracket when the model contains enum property (#4118)
* fix kotlin okhttp3, add CI test

* update kotlin server sample
2019-10-10 18:21:50 +08:00
William Cheng
3141e483ef Fix NPE in Elm path parameter (#4116)
* fix NPE in elm path parameter

* replace paramName with baseName

* install elm format in circleci

* switch to /usr/bin/env
2019-10-10 18:20:46 +08:00
William Cheng
ceb021cc54 test aiohttp first (#4117) 2019-10-10 13:21:03 +08:00
William Cheng
661fb42a06 add back ruby client folders 2019-10-10 11:07:50 +08:00
William Cheng
0d91be3a72 update petstore samples 2019-10-10 10:27:13 +08:00
Jim Schubert
54d7e8c488 [CLI] Initial implementation for batch generation (#3789)
* [CLI] Initial implementation for batch generation

Allows for generating multiple outputs via config. Just specify multiple
config files on command line.

Intent for this is to reduce CI times to generate outputs as well as to
reduce time for users to run ensure-up-to-date to meet PR standards.

Example command:

  openapi-generator batch --includes-base-dir `pwd` --fail-fast  -- bin/ci/*

---

As part of this implementation, the batch command support a customized
JSON key, `!include`. If this key's value refers to an existing file,
that file's contents are "unwrapped" into the config during
deserialization. This allows us to easily point to the same configs used
by our sample scripts without modifying the CLI generate task's switches
or assumptions.

* Allow for path-relative outputs
* Add batch JSON objects
* Include INFO log about threads used and includes/root
* Ensure GlobalSettings.reset()
* Improved thread-safety of ModelUtils
2019-10-09 12:51:52 -04:00
Martin Weber
081383c886 update api and model path when packagename is updated (#4108) 2019-10-10 00:24:59 +08:00
Martin Weber
e24030be52 fix nullable for arrays and complex types (#4106)
change csharp folder parameter from "SwaggerClient" to "OpenAPIClient"
2019-10-10 00:23:19 +08:00
Erik Timmers
8cc708011b [elm] Add toString for all types (#3983) 2019-10-09 23:34:51 +08:00
William Cheng
e9a0a51b50 Fix file type in avro template (#4105)
* fix file type in avro template

* update doc
2019-10-09 20:22:57 +08:00
Akira Tanimura
08613691e8 fix enum which is not string of Go (#4077) 2019-10-09 18:35:56 +08:00
Bruno Coelho
7a369d3b02 [kotlin-client] Add support okhttp3 and Android 4.x (#4008)
* [kotlin] support okhttp3

* [kotlin] create okhttp3 sample

* [kotlin-client] rename HttpClient to HttpLibrary

* [kotlin] move okhttp 3 to library model

* [kotlin] fix okhttp3 version

* [kotlin] fix kotlin client jvm okhttp3

* [kotlin] fix wrong spacing in okhttp3 code

* [kotlin] update okhttp3 sample to use parcelize models

* [kotlin] readd jvm tag
2019-10-09 16:38:07 +08:00
Perennes
87c77076ef [AVRO] Fix the package handling for the avro generator (#3987) (#4078)
* [AVRO] Fix the package handling for the avro generator (#3987)

Also fix an issue with the outputFolder that wasn't overridable through opts

* Update sample files through avro-petstore.sh

There's an issue with inlined object but it's already present with the previous commit

* Revert the fix on outputFolder (not a bug)
2019-10-09 15:46:29 +08:00
tkrtmy
4e47426224 typescript-fetch: fix empty URLSearchParams request body (#4103)
* typescript-fetch: correct handling body as URLSearchParams

* typescript-fetch: run typescript-fetch-petstore-all.sh

* typescript-fetch: add URLSearchParams to globals
2019-10-09 09:43:54 +02:00
sdoeringNew
d8c3b4d342 [CSharp] add optional flag "optionalEmitDefaultValues" and update template (#4010)
This commit addresses issue #3274 and adds the proposed optionalEmitDefaultValues flag.
2019-10-09 15:27:57 +08:00
Jan
bbfcd3bf64 [kotlin-client][kotlin-server] Feature/kotlin data class serial version uid (#4021)
* feat: add companion object to data classes if the implement the interface java.io.Serializable

* style: format template file

* style: adapt to project's original code style

* fix: add missing imports

* style: reverted mustache template to original styling

* test: generate additional samples for kotlin-springboot-reactive and kotlin-springboot

* docs: name full qualified classname of interface java.io.Serializable to prevent confusion with kotlinx.serialization
2019-10-09 15:17:53 +08:00
William Cheng
cf38c56aa6 Fix readonly with isReadOnly (#4102)
* fix readonly

* update samples
2019-10-09 15:16:22 +08:00
Pete Savage
25596cf8f0 Fixed Readonly Docs for python (#4085) 2019-10-09 11:16:34 +08:00
Bruno Clermont
28e9cf5d3c fix path to input (#4094) 2019-10-09 00:12:15 +08:00
oharaandrew314
682af7c4f3 Add DELETE with body to kotlin client (#4047)
* delete with body

* update petstore sample

* update kotlin-threetenbp sample

* update sample for kotlin-client-string
2019-10-09 00:10:57 +08:00
William Cheng
c2833000f1 comment out qt5 installation (#4095) 2019-10-08 23:18:27 +08:00
William Cheng
8f86f0f04a Merge remote-tracking branch 'origin/4.2.x' into 5.0.x 2019-10-08 21:21:04 +08:00
Mateusz Szychowski (Muttley)
991e0bf821 [C++][Pistache] Use optional when required (#4082)
* [C++][Pistache] Include pistache/optional only when required

* [C++][Pistache] Update Petstore sample
2019-10-07 12:27:45 +02:00
Jérémie Bresson
0526ccef3a [jaxrs-spec][quarkus] update to 0.23.2 and fixes for Dockerfile (#4053) 2019-10-07 18:11:33 +08:00
Thibault Duperron
c5e0ecf57b Remove unused property (#4081)
Fix #4066
2019-10-07 18:07:11 +08:00
Slavek Kabrda
5234139814 [java][client] Fix regression in Java XML serialization. Fixes #4014 (#4023)
* Fix regression in Java XML serialization. Fixes #4014

* Also move JSON_PROPERTY_* declaration
2019-10-07 17:50:55 +08:00
deviantlycan
6082dd217d fix for issue 4061 (#4064)
improved the Confluence wiki output to fix issues with tables, added information and improved readability within confluence
2019-10-07 11:35:39 +09:00
Gabriel Féron
f96ed69c26 Add rust discriminator (#3895)
* Add support for the `discriminator` feature of OpenAPI 3, and implement it with `enum` in Rust
* Add all missing explicit `dyn` to trait types to remove warnings
* Add missing re-export for properties that are enum (was missing from #2244).
2019-10-06 17:35:14 +01:00
Jon Schoning
a979fd8e13 [haskell-http-client] update samples (#4073) 2019-10-05 13:28:52 -05:00
Akshay Mankar
25e1f5e1c3 [haskell-http-client] Bump deps to LTS 14.7 (#4068) 2019-10-05 13:24:38 -05:00
William Cheng
bf9f47c760 update release for 4.2.0 2019-10-04 16:55:53 +08:00
William Cheng
61abe6332b Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-10-04 16:52:36 +08:00
Jade Montagu
e0c389fa83 [typescript-axios] Fix api generating incorrect seralization type check (#4051)
Seralization check should be ensuring the param type is not a string, which matches that of the flow generator logic.
2019-10-04 10:08:41 +02:00
William Cheng
d4500b307f Merge remote-tracking branch 'origin/master' into 4.2.x 2019-10-04 15:02:58 +08:00
William Cheng
f955966b09 prepare 4.1.3 release (#4052) 2019-10-04 13:46:07 +08:00
clemens-smartparking
711a210423 typescript-node: form data file (#3967)
* [typescript][node]: Add options to specify a from data file

Be able to specify file options as described on
https://github.com/request/request in the 'multipart/form-data
(Multipart Form Uploads)' section).

Related to #3944

Fix file return type

* [typescript][node]: Fix use of applyLocalTypeMapping

Previous call to applyLocalTypeMapping didn't had any effect.

* [typescript][node]: Update samples
2019-10-04 06:48:55 +02:00
William Cheng
f13043e433 Add a link to blog post on vertx and openapi (#4048) 2019-10-04 10:47:21 +08:00
William Cheng
08a5e81797 better wording for apiNameSuffix option description (#4045) 2019-10-04 10:00:39 +08:00
William Cheng
83d64b7e38 [Ruby] fix ruby test, update error message (#4041)
* fix ruby test, update error message

* use block

* update template for api client spec

* update test files
2019-10-04 01:42:28 +08:00
Hinrik Örn Sigurðsson
60567bddd6 [PHP] Correctly format JSON in headers (#4024)
* [PHP] Correctly format JSON in headers

`ObjectSerializer::toHeaderValue()` in the generated PHP code calls
`toString()` on the values, which formats JSON with the `JSON_PRETTY_PRINT`
option. This will result in a multi-line header which cannot be parsed
since linebreaks aren't allowed by RFC 7230.

In my case I have a header schema called `UpdateUser` which I had hoped
would be serialized as `{"type":"staff","id":123}`.

Every single `__toString()` in the generator does the same thing, so I
figured it's safe to change `toHeaderValue()` to convert to JSON directly,
without `JSON_PRETTY_PRINT`. This fix works for me.

* More sensible approach to providing a header value

* Just strip the newlines

* Go back to previous solution
2019-10-03 20:38:15 +09:00
Jon Schoning
cc1bfe5fef [haskell-http-client] add dateTimeParseFormat cli option - overrides the format string used to parse a datetime (#4037)
This allows specifying a different formatString for parsing than for rendering, which is useful because padding widths are not supported in `parseTimeMSource`
2019-10-02 23:30:34 -05:00
William Cheng
0ebc2f720e Add frankyjuang to the C# technical committee (#4036) 2019-10-03 10:04:58 +08:00
bgong-mdsol
ebc9e291c3 Feature/api name suffix (#3918)
* added apiNameSuffix parameter to control the suffixes of API class/file/doc names

* added --api-name-suffix in readme
2019-10-03 09:51:06 +08:00
William Cheng
7c7fa68737 [F#] minor improvements to the generators (#3968)
* add license, minor code format

* mark fsharp generator as beta

* update doc
2019-10-03 09:24:40 +08:00
Fjolnir-Dvorak
5c24a54173 Repaired Checkstyle (#4029)
LeftCurly had invalid attribute maxLineLength. Also removed the redundant RightCurly.
2019-10-03 08:46:43 +08:00
sullis
2b72df2135 mockito 3.1.0 (#4035) 2019-10-03 08:29:21 +08:00
Mathias Lykkegaard Lorenzen
88ed52fa88 typescript-fetch: fix return type of primitive value (#4028)
* Update apis.mustache

Fixes #3709 and #2870.

* Update apis.mustache

* added new petstore code.
2019-10-02 17:26:54 +02:00
clemens-smartparking
c136b83bdb [typescript][node]: Add accept header if produces is not empty (#3966)
* [typescript][node]: Add accept header if produces is not empty

Uses the correct Accept media types as specified in the OpenApi
specifications.

Related to #3944

* Update samples files

* [typescript][node]: Give presedence to 'application/json'

The endpoint may support multiple formats, e.g. 'application/xml',
'application/json'. However, we don't really support xml. In this case
only accept 'application/json'.
2019-10-02 07:53:17 +02:00
Jon Schoning
2272743c1d [haskell-http-client] disable unused import warning in Core.hs (#4020) 2019-10-01 22:49:16 -05:00
William Cheng
0c7820ccbe Add a link to the tutorial in http4k (#4019) 2019-10-02 11:28:21 +08:00
Nick Meinhold
41acae19e4 Dart fix template tests (#4015)
* Clean up samples directory before fixing tests

- removed from samples/client/petstore/dart2 :
  - purge_test.sh (doesn't seem to be used and not helpful)
  - openapi folder (is to be re-generated with more meaningful name)
- updated dart2-petstore.sh to generate client library with new name
- used updated shell script to re-generate client library
- updated CI/.drone.yml to use the new client library for tests

* Update petstore tests to use faked http client

- skipped all of the tests that hit a live endpoint
- made a fake http client that can be set to check for expected values
   and/or return a provided response
- added some files with test data recorded from live api calls
- updated the README to reflect changes to tests

* Update .drone.yml so CI will run the tests
2019-10-02 11:16:05 +08:00
William Cheng
8383f26616 Add a link to IBM cloud docs (#4017) 2019-10-02 10:43:26 +08:00
Fernando Rincon Martin
cb38de9afa [haskell-http-client] Fix trailing comma wrong in template (#4013) 2019-10-01 12:13:29 -05:00
Jan
baa53cbf57 [kotlin-client][kotlin-server] feature: allow creation of kotlin data classes that implement java.io.Serializable (#3997)
* feat: allow creation of kotlin data classes that implement java.io.Serializable, by adding the config option serializableModel=(true|false)

* docs: add markdown docu for new configOption serializableModel

* fix: do not use parcelize in script

* update kotlin samples

* add the option, update the doc
2019-10-02 00:13:00 +08:00
William Cheng
31827f5f35 update swift4 samples, update test scripts (#4009) 2019-10-01 21:59:49 +08:00
Massimiliano Pippi
af9eb8d7da import time when properties are slices of time.Time (#3973) 2019-10-01 21:22:43 +08:00
Bruno Coelho
9ae49db670 [swift4] update Alamofire from 4.7.0 to 4.9.0 (#3999)
* [swift4] update Alamofire from 4.7.0 to 4.9.0

* [swift4] update Petstore samples

* [swift4] update Alamofire from 4.5.0 to 4.9.0 in Cartfile

* [swift4] update Petstore samples
2019-10-01 16:03:58 +08:00
Jérémie Bresson
d2b299860d [jaxrs-spec] add Eclipse MicroProfile file based approach (#3901)
* [jaxrs-spec] add quarkus application server

* [jaxrs-spec] add thorntail

* [jaxrs-spec] add openliberty

* [quarkus] update to 0.20.0

* Add helidon

* Update quarkus version

* Update quarkus to 0.22.0

* Update documentation

* Force "useSwaggerAnnotations" to be false when quarkus, thorntail,
openliberty or helidon are used
2019-10-01 15:15:51 +08:00
Michael Walser
243589ec80 [java] Don't import oltu when not necessary (#3950) 2019-10-01 13:50:21 +08:00
Andrew Emery
44f482f21a Fixes invalid Kotlin client variable names for reserved words (#3993)
The Kotlin Multiplatform client introduced an bug that rendered variable
names that were also Kotlin reserved words incorrectly. This change reverts
the template to use the previous mechanism for rendering variable names.

https://github.com/OpenAPITools/openapi-generator/issues/3992
2019-10-01 13:48:09 +08:00
Nándor István Krácser
c8ac41c051 go: add os import in case of File return type (#3996) 2019-10-01 11:31:55 +08:00
Bruno Coelho
775d96c8e6 [kotlin] parcelize is now stable (#4003) 2019-10-01 11:30:44 +08:00
sunn
7a95c9e20d Regenerate after rebase (#4000) 2019-09-30 21:23:55 +02:00
sunn
600a81f76e [golang] Regenerate all go samples (#3988)
* Regenerate all go samples

* Update API Key usage

* Add go-experimental script
2019-09-30 18:38:51 +02:00
William Cheng
7dbda049f0 Better tests for string (number) (#3953)
* beter test for string (number)

* fix mapping

* fix mapping in csharp generators
2019-09-30 15:22:44 +08:00
sunn
c8d5701089 Add missing enum processing in C++ codegen, already present for Qt5 (#3986) 2019-09-29 20:15:49 +02:00
sunn
b5fb92d5a8 [C++] [Pistache] Removed deprecated warnings (#3985)
* Removed deprecated warnings

* Fix typo
2019-09-29 20:12:59 +02:00
Mateusz Szychowski (Muttley)
8212e80d0e [C++][Pistache] Simplified model template (#3417)
* [C++][Pistache] Simplified model template

* [C++][Pistache] Fix for addExternalLibs option

CMake would fail with addExternalLibs set to false
since it'd try to add depenency to not-existing targets

* [C++][Pistache] Update cpp-pistache-server-petstore.sh

* [C++][Pistache] Update Petstore sample

* [C++][Pistache] Update documentation
2019-09-29 11:48:39 +02:00
William Cheng
5dcd959f30 add go oas3 petstore to ensure up-to-date (#3979) 2019-09-29 10:37:57 +08:00
William Cheng
8293902134 replace gitter with slack in the doc (#3977) 2019-09-28 19:01:51 +08:00
Artem
0bf9926066 Fix wrong variable name in LessThan and LessThanOrEqual asserts (#3971)
* Fix wrong variable name in LessThan and LessThanOrEqual asserts

* After run ./bin/php-symfony-petstore.sh
2019-09-28 17:42:02 +08:00
Sergey Terentyev
e901132ea9 #3957 - Removed hardcoded baseUrl (#3964) 2019-09-28 17:41:16 +08:00
Jim Schubert
7bb3579345 Regenerate go openapi3 samples (#3975) 2019-09-27 19:33:54 -04:00
Benjamin Gill
eb793ae279 [rust] Make it easier to test rust client generator (#3543)
As we discovered in #3463, there are various bits of the rust client generator that are currently untested. This PR adds tests for various generator-specific types, and also files.

Follows the example of the rust-server generator for making it easy to add new test specs. This should make it easier for future contributors to make sure that their contributions are tested
2019-09-27 16:27:28 +01:00
Davide Maestroni
5f6e53fc60 Fix issue3635 (#3948)
* fixed Feign template

* regenerated Feign example

* update java feign petstore sample
2019-09-27 16:36:04 +08:00
Dec12 | Fujigon
2664c628a3 add gradle repository (#3867) 2019-09-27 16:24:36 +08:00
Jérémie Bresson
078d7a38c0 [java] allow to use setArtifactVersion() programmatically (#3907)
* [java] allow to use setArtifactVersion() programmatically

* Fix default value in the docs and cli help
2019-09-27 11:39:08 +08:00
William Cheng
af74f3443f Add a link to DevRelCon SF 2019 (#3961) 2019-09-26 23:21:25 +08:00
William Cheng
cb5720e4d7 Add a link to a medium blog post (#3960) 2019-09-26 22:55:31 +08:00
William Cheng
4317ac0297 update maven-compiler-plugin version (#3956) 2019-09-26 21:19:28 +08:00
William Cheng
bd992a4218 fix generateAliasAsModels in default generator (#3951) 2019-09-26 11:31:25 +08:00
keith siilats
e20af77944 Implement BigDecimal to Decimal in swift4 for currency data as type=string format=number (#3910) 2019-09-25 22:43:51 +08:00
Nick Fisher
8408232d1a Add F# Functions server generator (#3933)
* cherry pick F# Functions generator

test fix

fix template paths

replace giraffe sample

* update doc
2019-09-24 18:53:54 +08:00
Justin Black
252c3e58be [python-experimental] generate model if type != object if enums/validations exist (#2757)
* Python-experimental adds model_utils module, refactors python api class

* Fixes python-experimental so the sample sare generated in the petstore_api folder

* FIxes python samples tests

* Updates python and python-experimental tests

* Fixes python-experimental tests

* Adds newlines back to python templates + samples

* Reverts files with newline tweaks back to master branch versions

* Fixes indentation errors in python-experimental api_client

* Removes unused files

* Python files now generated in correct folders

* Adds logging when the user tries to set generateAliasAsModel in python-experimental

* Fixes typo
2019-09-24 18:44:28 +08:00
sullis
002da8d9f9 [scala] add [date-time] field to codegen unit test (#3939) 2019-09-24 18:24:52 +08:00
William Cheng
85b4ddea39 Add a link to a blog post in Qiita (#3947) 2019-09-24 18:04:26 +08:00
William Cheng
81fdc2abbd Fix jackson-databind security issue (#3945)
* fix jackson security issue

* update groovy petstore sample
2019-09-24 13:56:59 +08:00
William Cheng
431aba8747 Add a link to Japanese eBook (#3946)
Add a link to Japanese eBook
2019-09-24 13:10:21 +08:00
Jan Jongboom
6f1b8ef658 typescript-node: Fix cookie auth, fix multiple API key auth (#3927)
* typescript-node: Fix cookie auth, fix multiple API key auth

* Re-generate samples

* Re-generate samples
2019-09-23 15:20:32 +02:00
Mario De Schaepmeester
b867a6c3d5 Add Gantner (https://www.gantner.com) to the list of users (#3936) 2019-09-23 20:47:19 +08:00
tkrtmy
1a55020194 typescript-fetch: Add application/x-www-form-urlencoded content support (#3934)
* typescript-fetch: to be able to handle application/x-www-form-urlencoded content

* typescript-fetch: run typescript-fetch-petstore-all.sh

* typescript-fetch: add test's dist dir

* typescript-fetch: delete Specified Content-Type header
2019-09-23 12:17:04 +02:00
William Cheng
5eb67d471b Merge remote-tracking branch 'origin/4.2.x' into 5.0.x 2019-09-22 21:00:38 +08:00
William Cheng
3019b5a5e1 Merge remote-tracking branch 'origin/master' into 4.2.x 2019-09-22 14:18:07 +08:00
sullis
ee2e4395a9 maven-compiler-plugin 3.8.1 (#3932) 2019-09-22 11:03:37 +08:00
William Cheng
91a610ec0e [Kotlin][multiplatform] minor improvements (#3931)
* minor enhancement to kotlin multi platform client

* better code format

* fix kotlin test

* use build

* update kotlin openapi3 sample
2019-09-22 10:00:26 +08:00
Andrew Emery
21e0e0d5d5 Kotlin multiplatform client (#3900)
* Includes Kotlin multiplatform client

Kotlin multiplatform allows Kotlin code to be shared across various target platforms.
This implementation generates Swagger clients for JVM and iOS platforms.

* Includes Kotlin Multiplatform sample scripts

* Updates existing Kotlin samples

* Includes Kotlin Multiplatform samples

* Fixes incorrect Windows sample resource location

* Updates Kotlin client documentation

* Removes unnecessary workaround to remove duplicate entries

* Includes additional multiplatform type and import mappings

* Fixes Kotlin client definitions with multiple enums

https://github.com/OpenAPITools/openapi-generator/issues/3917

* Updates Kotlin samples
2019-09-21 21:48:41 +08:00
dan-drl
0ea1ead59e Fix 3886 ishttpcontent not set (#3888)
* Fix issue deserializing to nullptr

* Update codegen files

* Fix error matching on DataType's value

* Fix return type. Should be shared pointer
2019-09-20 20:13:33 +02:00
William Cheng
aadaac7e17 Add a link to MasteCard tutorial (#3921) 2019-09-20 17:07:43 +08:00
Vladimir Jimenez
b793a95765 [typescript][fetch] Fix null typing errors (#3919)
* [typescript][fetch] fix null typing errors

* [typescript][fetch] update sample generations

* re-generate samples
2019-09-20 09:41:53 +02:00
William Cheng
5610610d44 Add a link to Médiavision in the list of companies (#3915) 2019-09-19 22:29:39 +08:00
sunn
1dfa61231c [C++] [cpprest] Fixed wstring on linux (#3892)
* Fixed wstring on linux

* Removed whitespace
2019-09-19 16:11:38 +02:00
William Cheng
0b6dfdcd99 Add a link to a blog post (qiita) (#3914) 2019-09-19 15:33:49 +08:00
Jérémie Bresson
3fe0281d3b Fix javadoc error (#3906) 2019-09-19 14:28:56 +08:00
sunn
ba7fc2396b [C++] [Qt5] Add initial version of File upload and download for Qt5 client (#3853)
* Add initial version of File upload and download for Qt5 client

* Update after reviews

* Remove unused header
2019-09-18 00:07:55 +08:00
sullis
3f9d1b1fec ScalaAkkaClientCodegenTest: refactor assertions (#3893) 2019-09-17 01:05:44 +08:00
William Cheng
a8826816fb test kotlin vertx in pom.xml (#3890) 2019-09-16 22:47:28 +08:00
Jim Schubert
667a6097b5 [spring] Resolve regression on RequestParam for non-objects (#3855)
* [spring] Resolve regression on RequestParam for non-objects

* Regenerate Go client samples

* Include testcase for issue 3248

* Set isModel appropriately for referenced schemas
2019-09-16 22:46:47 +08:00
Richard Whitehouse
4538db92a2 [Rust Server] Support parameters correctly in response headers (#3669)
[Rust Server] Compile responses with headers

* Add test for response with headers

* Update samples
2019-09-15 15:54:38 +01:00
Richard Whitehouse
9647416032 [Rust Server] Support types with additional properties (#3666)
[Rust Server] Support additional property types

* Add support for types which only contain additional properties

* Update samples
2019-09-15 14:27:40 +01:00
William Cheng
2ac46eda9f update doc 2019-09-14 23:44:46 +08:00
Nicholas Muesch
334d0dcb48 Support Multiple API Keys (#3450)
* Support Multiple API Keys

* Use maps

* Fix readme template

* Update readme

* Address readme review
2019-09-14 21:28:31 +08:00
Wooyme
87dce1bfe1 [Kotlin][server] Add kotlin-vertx-server (#3031)
* add kotlin-vertx

* add kotlin-vertx

* update kotlin server

* update

* move Fsharp... in Config

* replace java model to kotlin model. delete useless code

* add kotlin-vertx readme.md

* add kotlin-vertx

* add model null safety

* change to vert.x offical web api

* fix date and datetime missing

* fix fileupload
2019-09-14 20:57:53 +08:00
William Cheng
8f43373948 Add @man-at-home as the template creator of asciidoc generator 2019-09-14 20:32:34 +08:00
William Cheng
e0b56502a3 Minor improvement to asciidoc doc generator (#3889)
* minor improvement to asciidoc geneator

* remove empty line
2019-09-14 20:30:34 +08:00
Man
8055231400 asciidoc markup generator (#3845)
* basic asciidoc markup generation

* asciidoc markup include processing with mustache filter

* asciidoc tests, separate include filters

* asciidoc petstore sample

* add asciidoc generator to readme

* test asciidoc generator for all include files with own json spec.

* link fillter to link generated test data into asciidoc markup

* fix and cleanup names asciidoc tests.

* fix travis build error, removed windows line endings from mustache asciiidoc templates.

* asciidoc generator: comment and reduce visibility of helper method (fix dron build)

* asciidoc: windows linefeed again (fix travis ci)

* asciidoc generator: remove \t and format again.

* fix ascidoc generator ci builds ... ongoing..

* asciidoc: add generator .md files, unix line ending.
2019-09-14 18:39:58 +08:00
Jaumard
ec5df2e1c0 Change Uint8list by List<int> because it cause trouble with last versions of jaguar (#3871) 2019-09-14 18:32:16 +08:00
William Cheng
95c4a05b70 various minor improvements to nim generator (#3883) 2019-09-13 16:48:18 +08:00
Hideki Okamoto
f15f814d9b Add Nim client code generator (#3879)
* First version of Nim Client

* Add some codes

* Add some codes

* Add some codes

* Add some codes

* Add some codes

* First version of Nim Client

* Add some codes

* Add some codes

* [Dart] Fix README template and update testing doco (#3809)

* [Dart] Fix README template and update testing doco

- deleted redundant shell script
- fixed and updated README template
- updated test package and moved to a dev_dependency
- removed old unused dev_dependency packages
- updated testing documentation in petstore sample

* Remove references to dart-flutter-petstore.sh

* Fix typos

* Fix typo

* Support custom git repository (#3757)

* add gitHost param to GeneratorSettings and related

* parameterize gitHost in READMEs

* parameterize gitHost in go.mod

* parameterize gitHost in git_push

* update petstore samples

* run ./bin/utils/export_docs_generators.sh

* run meta-codehen.sh

* Revert "run meta-codehen.sh"

This reverts commit d6d579f615.

* Revert "run ./bin/utils/export_docs_generators.sh"

This reverts commit 1b81538198.

* Revert "update petstore samples"

This reverts commit f513add883.

* run ensure-up-to-date

* Add links to article and video (#3820)

* Better Go code format (#3819)

* better varible naming

* better comments

* better code format for go experimental client

* better comment, update samples

* Add some codes

* Add some codes

* Add some codes

* Add gRPC Protobuf schema generator (#3818)

* add grpc protobuf generator

* update doc

* add new doc

* add windows batch, comment out root proto

* 1792 fix remote spec handling and hash calculation (#3440)

* fixed bug where nullApi.java would be generated.  Instead, generated DefaultApi.java to match the default path /{pathParam} (#3821)

* Revert "1792 fix remote spec handling and hash calculation (#3440)"

This reverts commit 2a2eefe93d.

* Add  nickmeinhold to Dart technical committee (#3830)

* Bug #2845 typescript angular inheritance (#3812)

* issue #2845: enable 'supportsMultipleInheritance' on typescript angular client codegen

- note I reran ./bin/openapi3/typescript-angular-petstore-all.sh and no changes occurred.
  this suggests to me that the petstore.yaml sample should be improved to make use of the
  anyOf / allOf / oneOf keywords, in order to better show the effects of changes on generated code.

* issue #2845: run ./bin/openapi3/typescript-angular-petstore-all.sh

* run `mvn clean package && ./bin/typescript-angular-petstore-all.sh`

* revert extranous files

* fix warnings in csharp-netcore client (#3831)

* Add missing files to the form request (#3834)

* [client][go] avoid duplicated reflect imports (#3847)

* Following up for #3440 (1792 fix remote spec handling and hash calculation) (#3826)

* This patch fixes the bug that we cannot access to remote files when checking file updates.
Following up #3440, supporting auth.

* 1792 fix remote spec handling and hash calculation (#3440)

(cherry picked from commit 2a2eefe93d)

* fix detecting remote file / local file logic while finding the hash file, taking care of IllegalArgumentException for local files.

* add testcase

* Add a link (#3850)

* Add Element AI to the list (#3856)

* maven-plugin-plugin 3.6.0 (#3854)

*  [Java][okhttp-gson] fix failure to deserialize floats (#3846)

* fixed bug where nullApi.java would be generated.  Instead, generated DefaultApi.java to match the default path /{pathParam}

* fix to bug #3157

* update samples

* Adds Http Info To Dart Api (#3851)

* [C++][Pistache] Add missing setter for arrays (#3837)

* [C++][Pistache] Add missing setter for arrays

Fixes #3769

* [C++][Pistache] Update Petstore sample

* typescript-inversify: improve check for required parameters, support multiple media types (#3849)

* [typescript-inversify] Allow falsy parameters

A required parameter to an api method must not be `null` or `undefined`.
It can be any other falsy value, e.g. `""`, `0` or `false` though. This
change makes sure an error is only thrown in the former case and not in
the latter.

* [typescript-inversify] Handle multiple media types

The Accept and Content-Type HTTP headers can contain a list of media
types. Previously all but the first media type in the api definition
were ignored. Now the headers are properly generated.

* [typescript-inversify] Fix http client interface

The api service methods allow the `body` parameter to be optional. The
parameter is then passed to an `IHttpClient`. So it needs to be optional
there as well.
Also fixed the sample implementation `HttpClient`.

Fixes #3618.

* [typescript-inversify] Regenerate Petstore sample

* [typescript-inversify] Use more explicit null check

This does not change the semantic of the generated code, but makes it more explicit.

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* [typescript-angular] allow empty string basePath (#3489)

* [typescript-angular] Fixing #2731 - empty string basePath

* typescript-angular: refactor base path configuration

* typescript-angular: refactor base path configuration

* Fix/r/serialization fix and minor 3xx resp fix (#3817)

* fix(qlik): fix for minor serialization bug

* fix(r): add petsore generated classes

* fix(r): indendation fixes

* typescript-axios: Fix baseoptions (#3866)

* Fixed missing baseOptions of typescript-axios.

The typescript-axios template was missing the baseOptions setting when building an API Configuration. Set it.

* update sample.

* re-generate typescript axios samples

* Rename gRPC generator to "protobuf-schema" (#3864)

* rename grpc generator to protobuf-schema

* update doc

* Prepare v4.1.2 release (#3873)

* update samples

* update date

* fix version in readme

* BugFix #2053 Spring Boot fails to parse LocalDate query parameter (#3860)

Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.

* update doc, samples (#3875)

* update stable release

* Update the batch for Windows

* Add a test snippet

* Update ensure-up-to-date

* Add Nim to README.md

* Ran ensure-up-to-date to pass CircleCI tests
2019-09-13 15:56:54 +08:00
Benjamin Simpson
f27ff79e93 updated google-api-client version from 1.23.0 to 1.30.2. Bugfix #3625 (#3882) 2019-09-13 15:52:28 +08:00
Rémi Carton
763e7a0c14 typescript-fetch: fix missing comma in multiple imports (#3881) 2019-09-13 06:43:53 +02:00
sullis
e56bfe4af3 [scala][client] add Scala code generation test (#3859)
* [scala][client] add Scala reserved words test

* fix filesystem path in [ScalaAkkaClientCodegenTest]

* add additional reserved words in scala_reserved_words.yaml

* ScalaAkkaClientCodegenTest: set mainPackage

* scala_reserved_words.yaml: declare 'required' fields

* rename test method

* tweak test description
2019-09-12 21:50:20 +08:00
aeb-sia
dc2907aced typescript-node: Use HttpError class when rejecting promises (#3876)
* Use HttpError class when rejecting promises

Fixes #3872

* Update samples

* Test the new code in client.ts
2019-09-12 14:44:56 +02:00
William Cheng
3242949e1a update stable release 2019-09-11 23:29:24 +08:00
William Cheng
ea029b4029 update doc, samples (#3875) 2019-09-11 21:17:11 +08:00
peyerroger
68967b8705 BugFix #2053 Spring Boot fails to parse LocalDate query parameter (#3860)
Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.
2019-09-11 14:52:24 +02:00
Esteban Gehring
3e6b72bcde fix version in readme 2019-09-11 13:09:51 +02:00
William Cheng
3ebefccfa9 Prepare v4.1.2 release (#3873)
* update samples

* update date
2019-09-11 18:33:27 +08:00
William Cheng
e73bf9be1d Rename gRPC generator to "protobuf-schema" (#3864)
* rename grpc generator to protobuf-schema

* update doc
2019-09-10 17:32:25 +08:00
koudenpa
d46bff9e78 typescript-axios: Fix baseoptions (#3866)
* Fixed missing baseOptions of typescript-axios.

The typescript-axios template was missing the baseOptions setting when building an API Configuration. Set it.

* update sample.

* re-generate typescript axios samples
2019-09-10 10:05:46 +02:00
Ramanth Addala
e18f361534 Fix/r/serialization fix and minor 3xx resp fix (#3817)
* fix(qlik): fix for minor serialization bug

* fix(r): add petsore generated classes

* fix(r): indendation fixes
2019-09-10 15:46:55 +08:00
Martin Novák
8d67acc3ed [typescript-angular] allow empty string basePath (#3489)
* [typescript-angular] Fixing #2731 - empty string basePath

* typescript-angular: refactor base path configuration

* typescript-angular: refactor base path configuration
2019-09-09 12:55:21 +02:00
Bodo Graumann
9ca4bac881 typescript-inversify: improve check for required parameters, support multiple media types (#3849)
* [typescript-inversify] Allow falsy parameters

A required parameter to an api method must not be `null` or `undefined`.
It can be any other falsy value, e.g. `""`, `0` or `false` though. This
change makes sure an error is only thrown in the former case and not in
the latter.

* [typescript-inversify] Handle multiple media types

The Accept and Content-Type HTTP headers can contain a list of media
types. Previously all but the first media type in the api definition
were ignored. Now the headers are properly generated.

* [typescript-inversify] Fix http client interface

The api service methods allow the `body` parameter to be optional. The
parameter is then passed to an `IHttpClient`. So it needs to be optional
there as well.
Also fixed the sample implementation `HttpClient`.

Fixes #3618.

* [typescript-inversify] Regenerate Petstore sample

* [typescript-inversify] Use more explicit null check

This does not change the semantic of the generated code, but makes it more explicit.

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
2019-09-09 09:39:22 +02:00
Mateusz Szychowski (Muttley)
f2fe4fc200 [C++][Pistache] Add missing setter for arrays (#3837)
* [C++][Pistache] Add missing setter for arrays

Fixes #3769

* [C++][Pistache] Update Petstore sample
2019-09-07 12:20:04 +02:00
Austin Adams
096f2d0fc8 Adds Http Info To Dart Api (#3851) 2019-09-07 16:31:52 +08:00
Benjamin Simpson
239d68df36 [Java][okhttp-gson] fix failure to deserialize floats (#3846)
* fixed bug where nullApi.java would be generated.  Instead, generated DefaultApi.java to match the default path /{pathParam}

* fix to bug #3157

* update samples
2019-09-07 12:36:19 +08:00
sullis
5fd15b8b18 maven-plugin-plugin 3.6.0 (#3854) 2019-09-07 11:58:12 +08:00
William Cheng
640e2ca825 Add Element AI to the list (#3856) 2019-09-07 11:45:26 +08:00
Akihito Nakano
ddf0e3e225 Add a link (#3850) 2019-09-07 11:26:35 +08:00
Dec12 | Fujigon
dd152eefcc Following up for #3440 (1792 fix remote spec handling and hash calculation) (#3826)
* This patch fixes the bug that we cannot access to remote files when checking file updates.
Following up #3440, supporting auth.

* 1792 fix remote spec handling and hash calculation (#3440)

(cherry picked from commit 2a2eefe93d)

* fix detecting remote file / local file logic while finding the hash file, taking care of IllegalArgumentException for local files.

* add testcase
2019-09-06 16:48:42 +08:00
Quim Muntal
c7d4a965c7 [client][go] avoid duplicated reflect imports (#3847) 2019-09-06 15:00:57 +08:00
sunn
458d47b4ae Add missing files to the form request (#3834) 2019-09-05 23:16:25 +08:00
William Cheng
9cc7bd15f2 fix warnings in csharp-netcore client (#3831) 2019-09-05 14:56:37 +08:00
Michael Nahkies
c63cf7e5f3 Bug #2845 typescript angular inheritance (#3812)
* issue #2845: enable 'supportsMultipleInheritance' on typescript angular client codegen

- note I reran ./bin/openapi3/typescript-angular-petstore-all.sh and no changes occurred.
  this suggests to me that the petstore.yaml sample should be improved to make use of the
  anyOf / allOf / oneOf keywords, in order to better show the effects of changes on generated code.

* issue #2845: run ./bin/openapi3/typescript-angular-petstore-all.sh

* run `mvn clean package && ./bin/typescript-angular-petstore-all.sh`

* revert extranous files
2019-09-05 13:07:44 +08:00
William Cheng
6a4e92887a Add nickmeinhold to Dart technical committee (#3830) 2019-09-04 22:18:31 +08:00
William Cheng
03edb64030 Revert "1792 fix remote spec handling and hash calculation (#3440)"
This reverts commit 2a2eefe93d.
2019-09-04 19:01:47 +08:00
Benjamin Simpson
ec7f2a0450 fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam} (#3821) 2019-09-04 17:15:04 +08:00
Тумилович Павел
2a2eefe93d 1792 fix remote spec handling and hash calculation (#3440) 2019-09-04 16:24:08 +08:00
William Cheng
cec2818e1f Add gRPC Protobuf schema generator (#3818)
* add grpc protobuf generator

* update doc

* add new doc

* add windows batch, comment out root proto
2019-09-04 14:22:23 +08:00
William Cheng
91daca36ef Better Go code format (#3819)
* better varible naming

* better comments

* better code format for go experimental client

* better comment, update samples
2019-09-04 14:22:06 +08:00
William Cheng
12ba8174d1 Add links to article and video (#3820) 2019-09-04 00:04:16 +08:00
Quim Muntal
8f13b88ed9 Support custom git repository (#3757)
* add gitHost param to GeneratorSettings and related

* parameterize gitHost in READMEs

* parameterize gitHost in go.mod

* parameterize gitHost in git_push

* update petstore samples

* run ./bin/utils/export_docs_generators.sh

* run meta-codehen.sh

* Revert "run meta-codehen.sh"

This reverts commit d6d579f615.

* Revert "run ./bin/utils/export_docs_generators.sh"

This reverts commit 1b81538198.

* Revert "update petstore samples"

This reverts commit f513add883.

* run ensure-up-to-date
2019-09-03 21:35:49 +08:00
Nick Meinhold
3be1196264 [Dart] Fix README template and update testing doco (#3809)
* [Dart] Fix README template and update testing doco

- deleted redundant shell script
- fixed and updated README template
- updated test package and moved to a dev_dependency
- removed old unused dev_dependency packages
- updated testing documentation in petstore sample

* Remove references to dart-flutter-petstore.sh

* Fix typos

* Fix typo
2019-09-03 08:51:43 +08:00
Akihito Nakano
911cdd8d0c Add M3, Inc. to the company list (#3811)
* Add M3, Inc. to the company list

* auto generated updates
2019-08-31 21:23:32 +09:00
Prateek Malhotra
1b12b89fd8 typescript-fetch: add option for TypeScript 3.6+ compatible generation (#3801) 2019-08-30 21:59:54 +02:00
Jérémie Bresson
d21b3390fe [java] add jackson-databind-nullable dependency to the gradle.build file (#3793)
* Add jackson-databind-nullable

* Update samples
2019-08-30 13:51:50 +08:00
William Cheng
806141297b Test NodeJS Express Server in Windows (#3805)
* test nodejs-express-server in windows

* add new filies
2019-08-30 13:34:45 +08:00
Marcin A. Nowak
e39b420fa8 no need to use regex for this replacement - regexp fails on windows becuase of backslashes in the path (#3802) 2019-08-30 12:26:53 +08:00
Nick Meinhold
f25c6da856 Don't create redundant samples (#3800)
- removed lines in dart2-petstore.sh that create redundant samples
- deleted all dart2 samples
- ran dart2-petstore.sh to create only openapi sample
2019-08-30 12:02:26 +08:00
Jérémie Bresson
b0549fe6da [java-client][rest-assured] add jackson support in addition to gson (#3795) 2019-08-29 17:34:37 +02:00
Jérémie Bresson
87727de079 [java-client][java-jaxrs-server][jackson] Add @JsonPropertyOrder to models (#3778) 2019-08-29 10:40:34 +02:00
William Cheng
8236424aff Fix Dart2 default template (#3790)
* fix dart2 default template

* update dart samples
2019-08-29 15:10:19 +08:00
William Cheng
a8fe5d355c Merge remote-tracking branch 'origin/4.2.x' into 5.0.x 2019-08-29 14:48:00 +08:00
William Cheng
e4b39ce95e Test Haskell client in drone.io (#3791)
* test haskell in drone.io

* fix docker image

* trigger alert

* Revert "trigger alert"

This reverts commit 9637b5c6a7.
2019-08-29 12:37:04 +08:00
Jérémie Bresson
026612fed7 [core] do not always cast to ArraySchema (#3780)
* [core] do not always cast to ArraySchema

* Change ModelUtil.isArraySchema()
2019-08-29 11:40:44 +08:00
prisoneroftech
8f7e43b500 [Kotlin][client] Support gson and moshi as serialization libraries (#3734) 2019-08-29 05:37:13 +02:00
Alexander Navratil
1443f01709 Fix dart2 custom templates (#3656)
* don't overwrite a custom set templateDir when using dart 2.x

* remove old dartson code which lead to compile time errors

* * fix decoding JSON to dart enums
* fix decoding a map with a list of some objects as value since the complexType is a List and List.mapFromJson doesn't exist.

* * add explanation for mapListFromJson
* fix file permissions
2019-08-29 11:12:21 +08:00
Jaumard
c2f786b8ad add flutter web support on jaguar dart (#3786) 2019-08-29 10:30:09 +08:00
William Cheng
44d8b49dee update dart jaguar samples 2019-08-28 23:47:50 +08:00
Jaumard
f4d3df762a manage enum properly on jaguar generator (#3654) 2019-08-28 23:41:34 +08:00
William Cheng
ceccb4f83a Add Pricefx to list of companies (#3784) 2019-08-28 21:05:29 +08:00
Michael Nahkies
34ec98d17b [core] [regression] set parentName when a single possible parent exists (#3771)
Whilst the spec states that the 'allOf' relationship does not imply a hierarchy:

> While composition offers model extensibility, it does not imply a hierarchy between the models.
> To support polymorphism, the OpenAPI Specification adds the discriminator field.

Unfortunately this does not make sense for many existing use cases, that were supported by older
versions of the generator. Therefore, I've restored the older behavior, specifically
in the case that only a single possible parent schema is present.

I think a more complete solution would generate interfaces for the composed schemas,
and mark the generated class as implementing these.

fixes issue 2845, and fixes issue #3523
2019-08-28 20:31:38 +08:00
Eirik André Eidså
2016bc086f Set Content-Type to application/json when multipart param isModel typescript-angular (#3776) (#3779) 2019-08-28 13:11:22 +02:00
stephanpelikan
28cf0b279d [typescript-fetch] fix serialization/deserialization with inheritance (#3767)
* #3646 - fix inheritence

* #3646: Fix imports

* Update modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* generate typeescript-fetch samples
2019-08-28 13:10:45 +02:00
William Cheng
31d7bf9d18 Update documentation to cover .NET Standand, .NET Core (#3772)
* Update documentation to cover .NET Standand, .NET Core

* use comma
2019-08-28 18:52:47 +08:00
Martin Hátaš
d36dd47b12 [maven-plugin] Allow to set User-Agent (#3777) 2019-08-28 10:17:41 +02:00
Jérémie Bresson
5a54aa5726 Add test with 'type' and '$_type' properties (#3774) 2019-08-28 15:06:59 +08:00
William Cheng
9182784955 Merge remote-tracking branch 'origin/master' into 4.2.x 2019-08-28 14:01:20 +08:00
Jérémie Bresson
60e4c923dd [java][client] Add a "serializationLibrary" option (#3759)
* [java][client] Add a "serializationLibrary" option

* Update docs
2019-08-28 09:54:24 +08:00
Jérémie Bresson
dc7bcbdb85 [java] fix ClassCastException in toDefaultValue() (#3765)
Fixes #3761
2019-08-28 09:52:58 +08:00
Akihito Nakano
7c480446e6 Add a link to M3 Tech Blog (#3764)
* Add a link to M3 Tech Blog

* Update the author name

Co-Authored-By: Yuichiro FUKUBAYASHI <fukubaya@gmail.com>
2019-08-28 09:49:56 +08:00
Jon Schoning
45d70e1bf3 [haskell-http-client] bump deps to LTS 14.3 (#3762) 2019-08-28 01:37:04 +08:00
Jean-François Côté
f94ff32b0c [Play Framework] Regenerate the samples. It was very outdated (#3760)
* Generate the samples for Play Framework. It was very outdated

* Add java-play-framework to the ensure-up-to-date script

* Update samples
2019-08-27 11:13:12 -04:00
Jérémie Bresson
e1116814c4 [core] change JSON serialisation to be deterministic (#3763) 2019-08-27 15:25:06 +02:00
Bernd Hacker
5bd63074c4 [typescript-rxjs] support HEAD method, improve formatting (#3766)
* feat(typescript-rxjs): add support for HEAD method

* feat(typescript-rxjs): improve formatting

* feat(typescript-rxjs): regenerate samples

* feat(typescript-rxjs): generate samples

* feat(typescript-rxjs): use better white space, regnerate samples
2019-08-27 11:17:41 +02:00
William Cheng
d0d545bbdd Prepare 4.1.2 snapshot (#3758)
* update pom

* update samples

* update ts axios samples
2019-08-26 22:13:12 +08:00
Silas Davis
c290555e5e typescript-axios: @ts-ignore possible unused imports (#3742)
Depending on the template parameters some imports may not get used -
this causes a typescript compiler error that must be manually fixed.

Signed-off-by: Silas Davis <silas@monax.io>
2019-08-26 12:40:34 +02:00
William Cheng
197294a167 Prepare 4.1.1 release (#3756)
* 4.1.1 release

* update doc
2019-08-26 15:59:33 +08:00
William Cheng
7afd350616 [WIP] Escape import with underscore in go-experimental client (#3659)
* escape import with underscore in go client

* update ioutil

* Fix collectionFormat=multi request bug in go experimental
2019-08-26 10:38:24 +08:00
William Cheng
7e772e1b71 comment out qt5 cpp tests 2019-08-26 09:30:30 +08:00
Jim Schubert
ee7c8a82e8 [BUG][CLI][GENERATOR] NullPointer when not setting outputDir (updated) (#3752)
* Fixes NPE when no outputDir is set

* Fix behaviors of default values for values not provided by user

* Easier handling of default behavior in settings.

* Fixes for dynamic config deserialization (specifically, ruby client sample fix)

* Tests for WorkflowSettings (defaults, modified defaults, nulls)

* Test modification of WorkflowSettings defaults for both class constructor and builder
2019-08-25 19:19:52 -04:00
William Cheng
136c1407ac Move tests to Drone.io CI (#3754)
* move tests to drone.io

* ls dir

* debug

* use bash

* use jdk 11 image

* move tests to drone.io

* use maven wrapper

* comment out scripts in circleci

* update dart samples

* remove commented tests

* update dart samples
2019-08-26 00:35:51 +08:00
William Cheng
5289262aec Add a link to bitmovin blog post (#3753) 2019-08-25 23:19:04 +08:00
William Cheng
cba2d3b8cf Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-08-25 18:05:50 +08:00
William Cheng
cd6b844d75 update python samples 2019-08-25 18:05:37 +08:00
FlorianBruckner
16ac05dcdf Two tiny fixes for Java Vertx client (#3683)
* two tiny fixes:

1.) ApiClient already defines and configures an objectMapper to not fail on unknown properties, but it is not used when parsing the response. The fix uses the pre-configured object mapper instead of the vertx default one

2.) When an operation has no response (or just ones without content), the accept array passed to ApiClient is emtpy. This makes the null check in ApiClient useless, as it still tries to set a null Accept header, which is refused with an NPE. Amend the check with .length > 0 to catch this case.

* update generated client as required by contributor guidelines
2019-08-25 18:02:36 +08:00
Andreas Kägi
859df23428 Exclude "test" from packages so that it is not installed as top-level package when "pip installing" the generated sdk (#3731) 2019-08-25 17:59:38 +08:00
sullis
e12459f3bd [java-client] add unit test for JDK 11 HttpClient (#3735) 2019-08-25 17:15:46 +08:00
Ramanth Addala
8cd5a4187b [R] feat(r): handling error response for 3xx cases (#3571)
* feat(r): handling error response for 3xx cases

* fix(r) : changed the message for 3XX case

* fix(r) : fixing the status code 3xx
2019-08-25 01:21:03 +08:00
Nick Meinhold
a05f68431a [Dart] Avoid redundant null checking in fromJson (#3632)
* Move dart null checks inside mustache type checks

- removed surrounding null check
- added a conditional expression to each case except the redundant one

* Run shell scripts so CIs can verify the change
2019-08-25 01:16:32 +08:00
Jim Schubert
15f680e1eb [core] Set isMultipart=true for multipart operations, fix possible NPE (#3750) 2019-08-25 01:02:12 +08:00
William Cheng
0beb8caa85 reenable kotlin client tests in shippable ci (#3751) 2019-08-25 00:53:11 +08:00
Armand Mégrot
1f5aa22f5c Fix null assignation to header/query param map (#3749)
Also regenerates the clients
2019-08-24 23:09:57 +08:00
sullis
dfb4c133d8 Mockito 3.0.0 (#3732) 2019-08-24 21:40:24 +08:00
Jérémie Bresson
286ddf38f7 Update to swagger-parser to 2.0.14-OpenAPITools.org-1 (#3737) 2019-08-24 10:40:05 +02:00
William Cheng
761e435248 Add a link to a Qiita blog post (#3747)
Add a link to a Qiita blog post
2019-08-24 11:59:47 +08:00
William Cheng
1188d0f141 update csharp samples 2019-08-24 11:55:16 +08:00
Jake Moening
a390676cc6 Simple spelling error in dotnet core comments (#3746)
* Simple spelling error in dotnet core comments

Dictioary -> Dictionary

* Updated the sample files as well.
2019-08-24 11:35:11 +08:00
William Cheng
b8f9e995ce better support for multipart (#3736) 2019-08-24 11:24:51 +08:00
Josh Giles
158cdfeb3c [typescript-fetch] fix #1998: prefix req ifaces. (#3740)
Prefix generated request interface names with API classname rather than
using namespaces, because namespaces are not well-supported by some
tooling (in particular, Babel).
2019-08-23 16:58:51 +02:00
Martin Delille
1fc03c88b2 cpp-qt5-client: add valgrind memory test (#3663) 2019-08-23 14:23:47 +02:00
Daniel Schreiber
d64ec14ab4 [typescript-angular] Encode objects for multipart/form-data with json - fixes #2733 (#3738) 2019-08-23 13:54:14 +02:00
thecrazzymouse
73eae09738 [BUG] Https protocol schema is not handled correctly in java 11 native code #3729 (#3730)
* added getter for schema
2019-08-23 13:52:48 +02:00
William Cheng
96dd31a462 comment out kotlin client tests 2019-08-23 17:45:47 +08:00
William Cheng
14a39349d5 update kotlin client sample 2019-08-22 21:43:06 +08:00
Armand Mégrot
4898ffa4e9 [Kotlin-client] Authentication support (#3722)
* Handle and document authorization for kotlin client

* Regenerate clients and tests

* Remove testing files
2019-08-22 21:32:07 +08:00
James Russo
62ca0c78ff [csharp] Update UserAgent in the async version of ClientAPI execute method. (#3723)
* move UserAgent up to the constructor

* userAgent on both constructors.

* update location of UserAgent

* re-ran the petstore generation
2019-08-22 20:24:32 +08:00
Shogoki
a748e1ff9a [BUG][Python-Flask] Primitive type bytearray deserialization missing in util.py. #2724 (#3642)
* added bytearray to list of types

* adding regenerated sample files for python-flask
2019-08-22 17:15:10 +08:00
William Cheng
8741a8ca35 Minor enhancements to the Avro schema generator (#3728)
* minor enhancements to the avro generator

* add option to customize package name

* update doc
2019-08-22 16:06:04 +08:00
Jérémie Bresson
870bb1c858 [java-client][resteasy][jersey2][google-api-client][okhttp-json] several fixes to make sent requests more accurate (#3703) 2019-08-22 09:50:47 +02:00
sullis
f6ead7b877 [java][JAX-RS] enhance JavaJAXRSSpecServerCodegenTest (#3727) 2019-08-22 09:45:31 +02:00
sgadouar
abfef86c8b feature/add-avro-generator (#3662)
* feature/add-avro-generator

* feature/add-avro-generator

* review/test/change output folder generation for avro

* doc/update copyright for avro generator
2019-08-22 14:39:35 +08:00
Josh Giles
b323b0a0af [typescript-fetch] Fix #1998: namespace reqs. (#3695)
* [typescript-fetch] Fix #1998: namespace reqs.

Fix #1998 by namespacing the generated request object types used in the
typescript-fetch client codegen.

* Update petstore samples.

* Add default-false namespacing config option.

* Re-run code sample generation.

* Add maven build configurations.

* Fix sample VERSION files.

* Update typescript-fetch docs.

* Emulate with-npm-version, adding package.json.

* Add Paxos to companies using.

* Prefix namespace with basename to avoid collisions.
2019-08-22 07:59:34 +02:00
sullis
1a808dd644 [java] use javaparser library to detect syntax errors in the tests (#3715) 2019-08-22 07:34:28 +02:00
William Cheng
d09e097e4e update qna with more info on nullable (#3726) 2019-08-22 11:39:57 +08:00
William Cheng
9de908a386 comment out ts axios test due to ci build failure 2019-08-21 22:02:45 +08:00
Jérémie Bresson
57236bc846 [java-client][resteasy] support bearer authentication (#3706) 2019-08-21 21:38:27 +08:00
Sai Giridhar P
6924b3c710 [csharp-netcore] Making HTTP response headers dictionary case-insensitive (#3707)
* fix(csharp-netcore): Making response headers case-insensitive

* fix(r): Adding response headers on docs
2019-08-21 21:20:05 +08:00
William Cheng
bb5cd4c42d [Dart] test Dart petstore clients in drone.io (#3717)
* test dart 1x in drone

* update dart image

* trigger build failure

* Revert "trigger build failure"

This reverts commit d565f348ba.

* add dart 2 test

* update build runner version

* test dart2

* only test dart jaguar

* remove pubspec.lock

* better wording

* use pub run test

* revert changes in build_runner

* update test in pom.xml

* update samples

* add dart scripts to ensure up-to-date
2019-08-21 18:19:38 +08:00
Sai Giridhar P
94eb6860aa [csharp-netcore]: Fixing the build issues (#3681)
* fix(csharp-netcore): Fixing the build issues

* fix(csharp-netcore): Fixing the build issues

* fix(csharp-netcore): Fixing the Pet project

* fix(csharp-netcore): help fixes
2019-08-21 18:18:58 +08:00
Sai Giridhar P
10a310ef69 [r] Updating api docs to include HTTP response codes and their corresponding headers (#3699)
* fix(r): Adding response headers on docs

* fix(r): Adding response headers on docs
2019-08-21 10:21:56 +08:00
sullis
50253f2b15 Swagger 2.0.8 (#3710) 2019-08-21 10:16:41 +08:00
sullis
99d7b4e70b maven-compiler-plugin 3.8.1 (#3711) 2019-08-21 10:15:21 +08:00
sullis
2ee0c34347 fix typo in [TestUtils] (#3713) 2019-08-21 10:14:32 +08:00
Esteban Gehring
e5912b4925 typescript-angular: set angular version 8 as default for ngVersion (#3680)
* set angular version 8 as default for ngVersion

* docs
2019-08-20 07:48:29 +02:00
William Cheng
4575b3074a [Go] add option to use class as enum prefix (#3675)
* add option to use class as enum prefix

* update doc

* fix go test

* update go xml petstore

* fix format
2019-08-20 00:33:08 +08:00
benjaminr-ps
7abd2e141a mention Java Jersey server-side code-generator (#3685) 2019-08-20 00:19:02 +08:00
Martin Delille
1adb0ba588 cpp-qt5-client: Improve tests (#3667) 2019-08-19 17:58:03 +02:00
Akihito Nakano
6addd76e11 Add a test case for inline models within Callback Object (#3665) 2019-08-19 22:52:06 +08:00
Jérémie Bresson
8c498fb08a [java-client][jersey2][resteasy] add support for OPTIONS method (#3677)
* [java-client][jersey2][resteasy] add support for OPTIONS method

* Update samples
2019-08-19 22:51:18 +08:00
Esteban Gehring
a5ab60bec8 mention TypeScript Angular 8.x compatibility 2019-08-19 08:55:13 +02:00
Kris Raney
e086ad1b6e Guarantee a unique name for the constants that represent enum values (#3644)
* Guarantee a unique name for the constants that represent enum values

* update samples

* Use all-caps
2019-08-19 14:34:26 +08:00
Akira Tanimura
1a6d3671d9 fix the model's valid? of Ruby client to prevent runtime error (#3670) (#3671) 2019-08-19 13:31:34 +08:00
Sai Giridhar P
589e5c6312 [csharp-netcore] Fixing the XML documentation warnings. (#3674)
* fix(csharp-netcore): Fixing the XML warnings

* fix(csharp-netcore): Updating Pet project

* fix(csharp-netcore): Minor fix

* fix(csharp-netcore): Minor fix

* fix(csharp-netcore): Minor ifx

* fix(csharp-netcore): Minor fix
2019-08-19 13:30:47 +08:00
Martin Delille
024f46814c cpp-qt5-client: fix memory leak in api-body (#3661) 2019-08-17 22:19:16 +02:00
Richard Whitehouse
1ce09788a9 [Rust Server] Support Bearer based Authentication (#3606)
Add handling case for Bearer Authentication on the client and update the samples
2019-08-17 12:30:47 +01:00
Richard Whitehouse
44fda895d2 [Rust Server] Frunk - LabelledGeneric - support (#3552)
Derive the LabelledGeneric trait on Swagger models.  This allows
conversion between structurally similar types by using
https://docs.rs/frunk/0.2.2/frunk/#transmogrifying.

Exit if example fails to run
2019-08-17 11:03:38 +01:00
Ronny Pfannschmidt
aa4ead2a6d autoupdating generator script: userdef cache dir (#3631)
with this addition the script should be able to store the jars at a user-defined folder if desired
2019-08-17 11:42:57 +08:00
lwlee2608
7e8c7db798 InlineResolver to flatten callback operations (#3398)
Signed-off-by: lwlee2608 <lwlee2608@gmail.com>
2019-08-17 11:18:52 +09:00
Kris Raney
b83fe0c611 [Go]URLEncode path parameters (#3643)
* URLEncode path parameters

* update samples

* Use correct module naming
2019-08-16 20:58:54 +08:00
Slavek Kabrda
5182955cca [Java][client] make it possible to send explicit nulls for nullable fields (#3474)
* [Java][client] make it possible to send explicit nulls for nullable fields

* Regenerate samples
2019-08-16 16:26:06 +08:00
Jérémie Bresson
cd9eea2fe5 [java-client][jersey2][resteasy] add support for TRACE method (#3653) 2019-08-16 05:42:41 +02:00
Justin Sherrill
ef88bd175f [Ruby][faraday] Properly pass verify_mode to faraday (#3652) 2019-08-16 09:45:18 +09:00
Qingping Hou
99fcfbc802 [Python] support api key refresh in configuration module (#3594) 2019-08-15 22:06:36 +08:00
Jérémie Bresson
a4811c7850 [java-client] set collection to null when not required (#3615)
* [java][model] set collection to null when not required

* Fix tests

* Fix trailing whitespace

* generate samples

* Restore 'de.thetaphi' plugin in pom.xml
2019-08-15 22:01:19 +08:00
Jérémie Bresson
2ada4d90b4 [core] process TRACE operation (#3648) 2019-08-15 21:59:59 +08:00
William Cheng
dac370b7f7 Add @muttleyxd to C++ technical committee (#3649) 2019-08-15 18:33:17 +08:00
Steven Masala
6f7d2792c7 fix imports and property name when using anyof/oneof in services (#3639) 2019-08-15 11:15:21 +02:00
Aiham
2d7785ac63 Support nullable in typescript-fetch client (#3645) 2019-08-15 09:44:56 +02:00
Benjamin Douglas
eb6ca9199b Use javax.annotation.processing.Generated for Java 11 native client (#3637)
Before Java 9, the `Generated` annotation was part of JEE and in the
`javax.annotation` package. Starting with Java 9, it is now part
of the standard SDK, under the new `javax.annotation.processing`
package.

This change creates a custom Generated annotation template for the
native clientlib, since it is guaranteed to be run in Java 11+.
2019-08-15 06:47:23 +02:00
William Cheng
c3535cf9ca Add test cases to cover different collection formats (#3640)
* add test cases to cover different collection format

* add space params to retrofit 1.x

* add space params to retrofit 2.x

* rename url to localVarUrl

* fix exception in haskell servant
2019-08-15 11:09:12 +08:00
William Cheng
286cdfdfa2 ensure ruby oas2 samples is up-to-date (#3638) 2019-08-14 17:18:02 +08:00
William Cheng
55786119e7 Import Go package with leading underscore (#3634)
* escape import with underscore in go client

* revert changes to test spec
2019-08-14 15:17:12 +08:00
John Wang
94d4e0cfac [Golang][Client] Fix collectionFormat=multi request bug (#3390)
* fix parameter-collectionformat-multi

* update template to tabs
2019-08-13 21:19:33 +08:00
Olivier THIERRY
99d85a39a3 [Slim] Distinction between basicBasic and basicBearer authentication (#3621)
* [Slim] Distinction between basicBasic and basicBearer authentication

* [Slim] Update Petstore samples
2019-08-13 20:39:55 +08:00
Jim Schubert
b936d72dfa [kotlin] Change Kotlin client exceptions to expose lack of support as UnsupportedOperationException rather than NotImplementedException. (#3611)
* [kotlin] Throw catchable exceptions rather than TODO()

* [kotlin] Regenerate samples
2019-08-13 08:38:00 -04:00
William Cheng
93aedcf3d5 update dart jaguar samples 2019-08-13 19:00:10 +08:00
Jaumard
d04e16a255 manage nullable definition (#3599)
update deps
2019-08-13 18:51:31 +08:00
William Cheng
fae0528cd5 update cli option in Dart (#3627) 2019-08-13 17:13:50 +08:00
Nick Meinhold
ba65f675e2 [Dart] Make clients crossplatform (#3608)
* Remove browserClient flag and bump http dependency

* Run shell scripts so CIs can verify the change
2019-08-13 15:35:00 +08:00
Oliver Ponder
5e27f11ef1 Use the latest version of superagent. (#3579)
* Use the latest version of superagent.

* Run javascript shell scripts.
2019-08-13 15:19:22 +08:00
Qingping Hou
850c493c63 [Python] avoid unnecessary dictionary lookup in get_api_key method (#3592) 2019-08-13 13:55:45 +08:00
Juang, Yi-Lin
f5327b601e [aspnetcore] Fix nullable enum and duplicate model (#3622)
* Fix enum nullable

* Update samples
2019-08-13 13:49:16 +08:00
Juang, Yi-Lin
123efc5d65 [aspnetcore] Add max/min length attributes for models (#3588)
* Fix max min length

* Update samples
2019-08-13 11:48:15 +08:00
Glenn Schmidt
36ccd87a80 Fix composed properties missing from allVars (#3616)
* Fix composed properties missing from allVars

* Update the allOfCompositionTest to check allVars
2019-08-12 23:27:01 +08:00
Steffen
20db89e277 typescript-angular: Add correct library versions for Angular 8.0.0 (#3619)
* Add correct library versions for Angular 8.0.0

* Keep Angular default version of 7.0.0 to avoid breaking changes

* Add petstore example for Angular 8

* Add ngVersion field to typescript-angular-v8-petstore-provided-in-root-with-npm.json
2019-08-12 15:44:05 +02:00
Jim Schubert
a5349cfde5 [cli][gradle] filter deprecated generators by default when listing available generators (#3612)
* Filter deprecated generators from CLI list by default.
* [gradle] Exclude deprecated generators from list by default, add "include" option to allow for customization of list task.
* Update scripts to support the --include option of the list command
* Update gradle/cli docs for generators listing with "include" option.
2019-08-12 08:25:52 -04:00
HoaBo
4a92cd8dca If the return type is empty, it should be void instead of Response (#3617) 2019-08-12 11:00:13 +02:00
siada
c8a65a9942 [Typescript] Fix typescript-inversify compiler errors (#3607)
* Update addJsonHeaders 

addJsonHeaders currently throws a compiler error because the headers args in get/put/post etc is nullable, but the argument in addJsonHeaders is not

* Executed samples generator
2019-08-12 07:46:55 +02:00
Jim Schubert
4b6499c636 [maven] Support user overrides for serverVariables (carryover from #3363) (#3609)
*  Adds server variables overrides option to the Maven plugin
2019-08-11 14:49:51 -04:00
William Cheng
290550ef91 Add build badges for 4.2.x branch (#3610) 2019-08-12 00:35:49 +08:00
William Cheng
1c31dce4bd Merge remote-tracking branch 'origin/4.2.x' into 5.0.x 2019-08-12 00:22:19 +08:00
Jim Schubert
06533b977c [core][gradle] User-defined server variable substitutions (#3363)
* [core] Initial support for server variable overrides
* [gradle] Support user overrides for serverVariables
* [core] Clarify server variable overrides, and propagate them to templates in the "servers" array
2019-08-11 09:57:36 -04:00
Andrey
07381e7275 Fix kotlin templates (#3504)
* Fix kotlin templates to use okhttp 4.0.1.
* Fix escaping of dataType field.
* Fix handling of arrays/lists of enums.
2019-08-11 09:35:57 -04:00
William Cheng
01222268e8 update samples 2019-08-11 18:56:47 +08:00
Juang, Yi-Lin
22d022b2d5 [aspnetcore] Add TypeConverter for enum string conversion (#3557)
* Add TypeConverter for enum
2019-08-10 22:57:36 -04:00
Michal Foksa
42d6420400 Feature/mustache lambda tests (#3447)
* Mustache lambda tests

* If lambda key is already taken in additionalProperties, throw an exception.

* Test whether common lambdas are registered in additionalProperties.
2019-08-10 22:15:40 -04:00
Gustaf Barkeling
ac85c8f901 Fix #3604 by adding undefined as return type to headers and credentials methods in runtime.ts (#3605) 2019-08-10 10:45:41 +02:00
William Cheng
5956569e7a Prepare 4.1.1-SNAPSHOT (#3603)
* update pom

* update samples

* update pom
2019-08-10 09:41:08 +08:00
William Cheng
59c4e381d1 Prepare 4.1.0 release (#3597)
* update pom

* update doc

* update version

* add dep for nullable annotaiton
2019-08-09 22:25:32 +08:00
Jérémie Bresson
1ab7b9ceb6 [java][client][jax-rs] Add a constant for Jackson @JsonProperty (#3560) 2019-08-09 11:01:23 +08:00
William Cheng
65c7c1b39b restore openapi3 petstore.yaml (#3590) 2019-08-09 01:32:50 +08:00
William Cheng
2d7cc778db Add a new NodeJS Express server generator (#3567)
* create nodejs express esrver

* 1st commit of the express.js module. Express server working, api-docs loads properly. No real paths yet

* 1st commit of the express.js module. Express server working, api-docs loads properly. No real paths yet (#2839)

* Working Express server with successful routing to controllers.

* rewrote controllers and services. Haven't tested yet

* controllers and services have passed tests successfully

* Added documentation

* Added documentation

* Support for openApi v3, using 'express-openapi-validator' for parsing and validation, and an internal router to pass arguments to controllers and services. /controllers/Pet.js and /services/PetService.js should be used for reverse engineering for future codegen script

* update generator and template

* update samples

* more update

* update service, controller

* add vendor extensions

* some updates to adapt to changes in the generator (removing references to swager); some work on handling file uploads; some work on tests

* Update NodeJS server generator and templates based on new output (#3261)

* update generator and template

* update samples

* more update

* update service, controller

* add vendor extensions

* update doc

* Changed routing code to follow the following convention:
Each path operation has a 'x-openapi-router-controller' and 'x-openapi-router-service'. Automated files will be placed under /controllers and /services respectively.
Controller file names will end with 'Controller.js'.
Removed swaggerRouter, replaced it with openapiRouter
Routing works and simple tests show a return of 200 to requests.

* [nodejs-express-server] various updates, fixes (#3319)

* various fix

* remove dot from service

* add space

* better method empty argument

* remove test service (#3379)

* add new doc

* 1. routingTests.js runs through all operations described in openapi.yaml and tries calling them, expecting 200 in return. Currently not all tests pass - not supporting xml, and problems with formData
2. Removed old testing files.
3. Added model files - contain data and structure as defined in openapi.yaml. Model.js has static methods relevant to all model files.
4. Changed openapi.yaml to allow running tests easily.

* 1. routingTests.js runs through all operations described in openapi.yaml and tries calling them, expecting 200 in return. Currently not all tests pass - not supporting xml, and problems with formData (#3442)

2. Removed old testing files.
3. Added model files - contain data and structure as defined in openapi.yaml. Model.js has static methods relevant to all model files.
4. Changed openapi.yaml to allow running tests easily.

* added model classes. Currently as a concept only. Seems like won't be in use

* Updated README.md to be a detailed description of the project.
Removed test files that are not needed.
Removed utils/writer.js which is not needed, and the references to it in the codegen files

* Removed redundant file app.js - this file has no benefit at this point. index.js now calls ExpressServer.js directly. Updated files that used to call app.js. Updated README.md accordingly
Added a path to call the openapi.yaml, and a test file for all endpoints that are not in the openapi.yaml, ensuring that they return 200. Updated README.md accordingly

* Remove test controller (#3575)

* remove test controller

* add back changes to templates

* remove app.js

* update wording
2019-08-09 00:30:47 +08:00
Mario De Schaepmeester
fbb2f1e05a [C#][client][csharp-netcore] Fix csharp netcore defaultheaders (#3562)
* [csharp-netcore] Send default HTTP headers with requests

* [csharp-netcore] Add DefaultHeaders in favor of DefaultHeader
2019-08-09 00:24:47 +08:00
dan-drl
752030890f Fix issue deserializing to nullptr (#3572)
* Fix issue deserializing to nullptr

* Update codegen files
2019-08-09 00:17:54 +08:00
William Cheng
36dd848440 [OCaml] Add file post-processing (#3583)
* post process file in ocaml, remove unused sample

* auto-format ocaml petstore

* revert formatting

* remove openapi3 ocaml client
2019-08-09 00:17:24 +08:00
Paul Mundt
4b0fc3013f [dart2] Fix up test code generation, double deserialization, 'new' keyword deprecation (#3576)
* dart2: Use the correct classname in test generation

At present test generation has a stray hard-coded reference to the pet
store Pet() class, which should reflect the actual classname under test.

* dart2: Call toDouble() in generated code for double types

At present the generated code does not correctly handle transitioning
to double when dealing with non-integer types in JSON deserialization.
This ends up with dart raising an unhandled type mismatch exception:

Unhandled exception: type 'int' is not a subtype of type 'double' where
...

Using the .toDouble() conversion when a double type is expected fixes
this up by making the typing explicit.

* dart2: Drop use of deprecated 'new' keyword in generated code

The use of the 'new' keyword in dart2 is deprecated and should be
avoided, as per the official guidance of the dart2 authors:

https://dart.dev/guides/language/effective-dart/usage#dont-use-new

* dart2: Regenerate samples for mustache template changes
2019-08-09 00:15:45 +08:00
Martin Delille
1152af4d02 Run Qt5 client sample test (#3415) 2019-08-08 23:59:50 +08:00
Jean-François Côté
b28ef78145 typescript-fetch: allow configuration of headers and credentials (#3586)
* Fix #3402 by giving the possibility to set additional headers and the credentials parameters to the fetch query.

* Fix #3402 : Changes from code review
2019-08-08 14:48:45 +02:00
William Cheng
7f36f26422 using partials in ruby api_client (#3564) 2019-08-08 09:49:01 +08:00
cgensoul
411199bc99 [OCaml] Added optional params support in API operations (#3568)
* Added handling of api keys in headers.

* Added handling of optional arguments in api functions.

* Optional header params.

* Fixed a bug in path param replacement.

* Relaxed deserializing of model records with @@deriving yojson { strict = false }. It allows receiving more fields in the JSon payload than declared in the OCaml record, fields not matching any record field are ignored.

* Reformatted api-impl.mustache.

* Generate shorter enum value names by allowing underscore character.

* Cleanup of optional params generation.

* Updated the OCaml samples with the latest version of the generator.

* Corrected a bug encountered when generating default value for optional enum fields.

* Added v3 version of the samples for the OCaml generator.
2019-08-07 11:25:32 +08:00
Richard Whitehouse
4478f42927 [Rust Server] Generate valid Rustdocs for lazy_static items (#3556)
Generate valid Rustdocs for lazy_static items and update samples
2019-08-06 18:44:51 +01:00
Jean-François Côté
9e659d13ed Fix NPM build for Typescript-fetch (#3403)
* -Fix bug in fetch -> Missing "runtime"
-Move fetch files to an "src" folder instead of doing everything at the root which removes the bugs when using the library itself
-Fix the distribution of fetch using npm

* Move the .ts files to an `src` folder which is more common in npm package

* Add missing mustache

* Add missing .npmignore
2019-08-06 16:08:38 +02:00
unintended
b8295afa27 Expand path templates via resttemplate's uriTemplateHandler (#3500)
* Expand path templates via resttemplate's uriTemplateHandler

* fix tests and compilation on lower jdk version

* fix typo

* re-generate samples
2019-08-06 12:56:43 +02:00
Anıl Can Aydın
3538c08a8b Readme updated with a new tutorial and company using OpenAPI Generator (#3566) 2019-08-06 16:24:29 +08:00
Juang, Yi-Lin
5ab1c9c75b Fix logic of getNullableType of csharp server and client. (#3537)
* Fix default nullable

* Fix tests

* Update samples

* Fix template default value

* Update samples

* Also fix for interface

* update samples
2019-08-06 10:26:50 +08:00
William Cheng
2bbebf9752 [Ruby] clean up Ruby dev dependencies (#3551)
* clean up ruby dev dependencies

* update ensure uptodate to cover ruby faraday
2019-08-06 09:52:48 +09:00
Prateek Malhotra
f756bd5e11 typescript-fetch: Properly detect and encode container request body param (#3517)
Signed-off-by: Prateek Malhotra <someone1@gmail.com>
Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
2019-08-05 19:48:52 +02:00
Jeremie Bresson
fae073874b Update samples 2019-08-05 15:07:26 +02:00
Cristian Achille
00f7134eb3 #2956 [typescript] change accessToken name parameter to optional (#3555)
* [typescript] change accessToken name parameter to optional

* [typescript] update samples for ts-fetch and ts-rxjs
2019-08-05 12:37:13 +02:00
Dennis Melzer
b20118b87c java-springcloud: No dependency management if parent overridden (#3301)
* If a separate parent pom is specified, there
should be no depdendency management

#3230

* Add Bean Validation framework

* Fix test and depedencies

* Format pom
2019-08-05 10:49:58 +02:00
Esteban Gehring
a48df102d6 #3542: typescript-angular fix string cast (#3558) 2019-08-05 10:40:18 +02:00
William Cheng
3f7653a5c9 Add a link to join the Slack workspace (#3554) 2019-08-04 23:57:19 +08:00
William Cheng
4df1e1928c update rust server samples 2019-08-04 23:06:14 +08:00
Richard Whitehouse
83f17941b9 [Rust Server] Allow more than 32 configured paths (#3494) 2019-08-04 12:55:33 +01:00
Richard Whitehouse
6963e5eeb0 [Rust Server] Support multipart/form_data request bodies (#2846)
[Rust Server] Support multipart/form_data

- Support multipart/form_data in the Rust Server
- Add a new test API to test the change.
- Update the examples to match
2019-08-04 12:54:24 +01:00
William Cheng
86228e9964 [Ruby] remove auto-generated Gemfile.lock (#3541)
* remove auto-generated gemlock file

* update test file to conform to rubocop format
2019-08-03 16:36:22 +08:00
William Cheng
480d6baf3b Add @meganemura @dkliban as the template creator of Ruby Faraday client (#3544) 2019-08-03 14:54:18 +08:00
William Cheng
8b44c9dff1 update spring samples 2019-08-03 01:30:49 +08:00
Dennis Melzer
ba63aa55a5 Add lowercase lamda (#3501)
* Add lowercase lamda

#3381

* Add lowercase prefix for spring

#3381

* Add lamda prefix

* Add lamda lower case to @Value

* Add properties for braces

#3381

* Add property for braces

* Start CI

* Revert
2019-08-02 15:24:04 +02:00
William Cheng
d45e306480 Use partial for Ruby HTTP libraries (#3539)
* use partial for ruby http libraries

* fix isFaraday

* add back client side validation switch

* remove blank lines
2019-08-02 21:18:24 +08:00
cgensoul
1c36fa9fe3 Fixed #3521. Response headers were not processed for enums collection. (#3526)
* Fixed #3521. Response headers were not processed for enums collection.

* Replace " by '' in text fields to allow these to be used in OCaml comments.

* Added support of ByteArray (i.e. base64 encoded data) body and free form object as request body. Added support of free form object in response body as well.

* Added result as a reserved word to prevent generating model files with this name (having a result.ml model file confuses dune into thinking some other model modules depend on Result when they don't).

* Updated samples to reflect the latest changes in the OCaml generator.
2019-08-02 19:04:53 +08:00
Steven Masala
d0f0e17542 remove fixme by setting param to final and creating local variable for sanitising model name (#3525)
- general cleanup

(cherry picked from commit 88cf7e801f78a6611fc0d63479c78296e7312419)
2019-08-02 11:33:15 +02:00
William Cheng
ffaeb11a61 Add cgensoul to OCaml tech committee (#3536) 2019-08-02 14:15:49 +08:00
Dennis Kliban
4c1133be3f Problem: faraday ruby client does not respect TLS settings (#3527)
Solution: pass in tls settings to the faraday client
2019-08-02 12:20:16 +08:00
William Cheng
dff3386594 Remove Gitter badge 2019-08-02 09:44:42 +08:00
William Cheng
ca85ecb283 [Ruby][Faraday] Various improvements (#3520)
* update ruby faraday oas v2 samples

* skip some default tests in faraday

* add ruby faraday oas v3 client

* add tests, fix url

* add tests to CI

* fix file upload

* undo changes to ruby-client-petstore.sh

* test faraday first

* combine gemspec tempaltes

* test ruby faraday in drone.io

* use smaller image

* update bundler

* use official ruby image

* skip bundler installation

* skip autotest

* install make

* use different image

* skip ruby tests in drone.io
2019-08-02 07:00:29 +08:00
Juang, Yi-Lin
93ddf6e2ef Fix DateTimeOffset nullable issue (#3530) 2019-08-02 06:58:32 +08:00
Ivan Aksamentov
ed82aaae97 Fix PHP Symfony OpenAPI 3 sample location. Fixes #3531 (#3532)
* Fix PHP Symfony OpenAPI 3.0 sample location

* Update PHP Symfony OpenAPI 3.0 sample
2019-08-02 06:55:58 +08:00
Ivan Aksamentov
581131e0fe Fix PHP Symfony non-primitive return type being forced to be an array (#3515)
* Fix PHP Symfony non-primitive return type being forced to be an array

https://github.com/OpenAPITools/openapi-generator/issues/3514

* Update PHP Symfony samples
2019-08-02 06:54:13 +08:00
sunn
08415d1d83 Remove QRandomGenerator (#3508) 2019-08-01 20:50:28 +02:00
Mateusz Szychowski (Muttley)
4d285939a6 [C++][Pistache] Do not use JSON for primitive types in request body (#3509)
* [C++][Pistache] Do not use JSON for primitive types in request body

Request body can contain any input, simple strings, CSV text or something else

* [C++][Pistache] Update Petstore sample version
2019-08-01 13:49:17 +02:00
William Cheng
eca8ec3cf8 update doc 2019-08-01 15:58:45 +08:00
Marc Schlegel
0a7527b03e [java-client][okhttp-gson] fixes for interceptors in ApiClient.java (#3502)
ApiClient for Okhttp3 must not copy the interceptors when setting the HttpClient.
Enforce invariant that the HttpClient must never be null.
2019-08-01 06:39:47 +02:00
Dennis Kliban
bcc3a9ecf7 Ruby client faraday (#3405)
* WIP: add faraday support to Ruby client

* update samples

* bin/console

* https only

* ruby-faraday: Add a gemspec template for faraday

* Add a test for ruby-faraday client options

* Remove Gemfile.lock from ruby-client-faraday

* Implement faraday client

* Problem: can't use Faraday library for ruby clients

Solution: add support for Faraday library

This patch builds on the work started by @meganemura

* Problem: Faraday is set as default library

Solution: Make Typhoeus default

This patch also updates the api_client template for Faraday to include query params with requests.
2019-08-01 11:08:34 +08:00
Erik Seliger
f90f214121 fix(typescript-angular): improve small template issues (#3466)
* fix(typescript-angular): improve small template issues

* fix: template adjustments

* fix: repair hasSomeFormParamsLogic

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
2019-07-31 22:24:02 +02:00
Erik Seliger
0e621dcc29 feat(typescript-angular): add flag for using string enums (#3464)
* feat(typescript): add flag for using string enums

* fix: adjust templates

* fix: repair logic

* fix: remove sample

* fix: add to v7 sample

* fix: remove unneeded lines
2019-07-31 21:16:49 +02:00
William Cheng
8b054e6f8e update spring samples 2019-08-01 00:31:58 +08:00
Justin Black
88af8964fd [python-experimental] automatically use values for enums of length1 (#3118)
* Update python client java generator

* Updates python generator mustache files

* Python sample regenerated

* Switches from getfullargspec to getargspec for python2 compatibility

* Uses getattr to get model class init method to correctly see its arguments, linting fixes to pass python tests

* Updates comment in python centerator to restart CI tests

* Adds bin/windows/python-experimental-petstore.bat

* CHanges spec update to apply to the python-experimental spec

* Moves new python templates to python-experimental

* Moves generator python java code to python-experimental

* Reverts python generator mustache files

* Regenerates python, v3 python, python-experimental samples

* Test moved to python-experimental, unused python files removed
2019-07-31 21:18:30 +08:00
Richard Whitehouse
199447a398 Add richardwhiuk to the Rust Technical Committee (#3506) 2019-07-31 13:50:51 +02:00
Thibault Duperron
4c9d023468 Enable async option for spring-cloud library (#2670)
* Enable async option for spring-cloud library

* Samples
2019-07-31 14:22:05 +08:00
William Cheng
d46cabcd4f Better handling of dot in inline model name (#3498)
* better handling of dot in inline model name

* do nothing if title is present

* add comment
2019-07-31 13:50:29 +08:00
julaudo
6824bd8b24 #2694 [BUG][Typescript Axios] Content-type not set (#2695)
* #2694 [BUG][Typescript Axios] Content-type not set

* Test required allOf

* re-generate typescript-axios samples

* re-generate typescript-axios samples
2019-07-30 15:47:17 +02:00
Doxoh
f90507b527 [aspnetcore] Support cookie parameter (#3490)
* Fix typo useDefaultRoutng to useDefaultRouting

* support the cookie functionality in aspnetcore

* Changes like wing328 comments
2019-07-30 18:22:15 +08:00
timmiotool
3b584c2138 validation for primitive request bodies #3491 (#3492)
* Add parameters to primitive request bodies

Signed-off-by: tim.smyth <tim.smyth@kiwigrid.com>

* Replace tabs for spaces

Signed-off-by: tim.smyth <tim.smyth@kiwigrid.com>
2019-07-29 18:06:20 +02:00
Michal Foksa
37cdc8e493 Feature/mustache lambda documentation (#3476)
* Default outputFile value is `openapi/openapi.yaml`.

* Mustache Lambdas documentation.

* Default OpenAPIYamlGenerator outputFile value is `openapi/openapi.yaml`.
2019-07-29 15:34:50 +02:00
Benjamin Gill
c684505cba Stop deriving Eq for models (#3463)
It fails if the model contains a float, which don't implement Eq.

Fix for bug introduced in #3309.

We really need to improve the testing of the rust generator to catch this sort of mistake in future. I don't have time to do this now, though.
2019-07-29 14:01:01 +01:00
Sebastian Rühl
1bf8c15206 [BUG-1865] Added serialization support for typescript on complex object headers. (#1874)
* [BUG-1865] Added serialization support for typescript on complex object headers.

* Update api.mustache

integrate feedback from https://github.com/OpenAPITools/openapi-generator/pull/1874#discussion_r268981304

* [BUG-1865] post merge fixes

* [BUG-1865] addded windows scripts

* Apply suggestions from code review

Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>

* [BUG-1865] regenerated samples
2019-07-29 11:31:42 +02:00
Steven Masala
b4f1581941 Fix: Remove spec 3 references keys in imports for TypeScript (#1932)
* fix name sanitation when using kebab case filenaming

* remove whitespaces

* sanitize names by removing spec 3 ref keys

* Revert "sanitize names by removing spec 3 ref keys"

This reverts commit 7e58719317.

* add pipes to datatype names

* split imports

* remove comment

* fix when using a mixture of (any|one) and standard imports

* sanitize names by removing spec 3 ref keys

* Revert "sanitize names by removing spec 3 ref keys"

This reverts commit 7e58719317.

* Merge conflict DefMerge branch 'master' into name-ref-fix

# Conflicts:
#	modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java

* split imports

* remove comment

* fix when using a mixture of (any|one) and standard imports

* Fix merge error

import missing package, merge error.

* format

*  fix tests

* create test, fi regex
2019-07-29 11:30:34 +02:00
Doxoh
cf01bf4ae7 Fix typo useDefaultRoutng to useDefaultRouting (#3488) 2019-07-29 17:30:07 +08:00
scottydawg
74eeb07b22 Support importMapping definitions for TypeScriptNodeClientCodegen (#3469)
* Support importMapping definitions for TypeScriptNodeClientCodegen

* Use import mappings for all file references
2019-07-29 07:48:20 +02:00
William Cheng
981b3a53ef update ocaml openapi3 petstore script 2019-07-29 12:05:15 +08:00
tjnet
9cb3ae1048 remove unecessary null check as it cannot be reached due to the Null Pointer Exception (#3480) (#3481) 2019-07-29 10:34:57 +08:00
William Cheng
cbd78d7fca Test OCaml petstore client in drone.io (#3484)
* test ocaml petstore

* undo directory rename

* run eval

* install m4

* force yes

* fix permission issue

* specify build dir

* fix dune

* give full permission

* fix steps

* rename test

* update ocaml petstore path
2019-07-29 10:16:59 +08:00
William Cheng
6e3176557c [OCaml] various enhancements (#3483)
* add ocaml template creator

* various enhancement to ocaml generator

* update instruction

* update doc

* remove readme

* add back readme
2019-07-29 10:07:32 +08:00
cgensoul
1713c7610d [OCaml] new client generator (#3446)
* Début d'un générateur pour OCaml.

* Ajout du script bash de generation pour OCaml.

* Implémentation de la partie model du générateur OCaml.

* Suppression du fichier Model.mustache.

* Légère modification dans le générateur OCaml.

* Début d'implémentation de la génération des opérations.

* Avancées dans l'implémenatation des opérations.

* Avancée dans la gestion des enums : reste à traiter le fait que Yojson sérialize les variants comme des tableaux JSON.

* Prise en compte du fait que Yojson représente les variants constants sous forme d'un tableau JSON contenant une unique string.

* Utilisation des variants polymorphe pour les enums car il se peut que plusieurs énumérations partagent des valeurs communes ce que ne permettent pas les variants ordinaires au sein d'un même module.

* Avancées dans le générateur de code OCaml : le code produit compile et prendre en compte les pathParams, les queryParams, les headersParams, les bodyParams et la réponse JSON. Manque le support du multipart, du form encoded et des mécanismes d'authentification.

* More tests.

* Correction de problèmes dans la génération mis en évidence par l'utilisation d'un fichier OAS plus gros et complexe que Petstore.

* Mapping du case Error de Ppx_deriving_yojson_runtime.ok_error vers l'exception Failure pour avoir des types plus simples et non dépendants de Pppx_deriving_yoson_runtime dans les APIs générées.

* Ajout de la génération des fichiers d'interfaces .mli pour les APIs.

* Ajout du support des parametres de type x-www-form-urlencoded.

* Le paramètres d'url de type number étaient mal gérés.

* Cleanup.

* Replace block comment start and end sequences in input text.

* Make apis calls without a return type return unit rather than Yojson.Safe.t.

* Make modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml generate properly.

* Added generated code for modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml.

* Better handling of enums and map container and better sanitizing of generated identifiers to support all the corner cases present in modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml.

* Correcting a violation : using toLowerCase without relying on the default Locale.

* Changed authoring in partial_header.mustache.

* Deleted commented code.

* Collect enum schemas in items properties of operation parameters in the case of ArraySchema parameters. This allows correct processing of modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml.

* Collect enums also in additional properties schemas of operation parameters in the case of MapSchema parameters (if this type of parameter can is allowed).

* Removed copy-pasted Copyright notice from SmartBear.

* update doc

* Use Locale.ROOT instead of Locale.ENGLISH for toLowerCase calls.

* Make GET operations with body generate compilable code.

* Updated ocaml-client generated samples using the latest version of the OCaml code generator.

* Added [@default None] for record fields with option types so that if those fields are missing at deserialization time, None is assumed.

* Added support of api keys in query params.

* Updated generated ocaml samples to reflect latest changes in templates.

* Added [@default] on enum record fields for which the enum type has only one accepted value so that those fields can be deserialized even if the value is absent of the json payload.

* Delete useless space character in template.

* Added proper handling of http response codes.

* Updated generated ocaml samples to reflect latest changes in templates.
2019-07-28 21:50:53 +08:00
Guillaume SMAHA
049f69c55b Use range for dependencies in python-flask (#3470) 2019-07-28 10:40:10 +08:00
William Cheng
fb7cd7315a update samples 2019-07-27 23:34:29 +08:00
William Cheng
b9e863a9ca Add bbdouglas as the template creator of Java (Java 11 Native HTTP client) 2019-07-27 22:49:01 +08:00
Chris Couzens
6358b11516 Bash skip empty query param fix (#3290)
* Bash: Update samples

I'm about to make a fix to the bash generator. I'm regenerating the
samples in this commit so that the change I make isn't lost amongst
the noise.

https://github.com/OpenAPITools/openapi-generator/pull/3290

* Bash client: Fix query params seperation

Fix bug where empty query parameters weren't separated by ampersands.

For example, this
```bash
bash bash_keycloak/client.sh -v --oauth2-bearer "$access_token" --host "$api_host" realmUsersGet realm=demo_realm2 email=foo+bar@baz.com
```
would generate the path
`/auth/admin/realms/demo_realm2/users?briefRepresentation=email=foo+bar@baz.comfirst=firstName=lastName=max=search=username=`.

It now puts ampersands around them to make
`/auth/admin/realms/demo_realm2/users?briefRepresentation=&email=foo+bar@baz.com&first=&firstName=&lastName=&max=&search=&username=`

Instead of predicting if there is going to be a `parameter_value` ahead of
time, we now put in the ampersand if there is a `parameter_value` and existing
`query_request_part`.

https://github.com/OpenAPITools/openapi-generator/pull/3290

* Bash: Skip query parameters with empty value

I have a route with many optional query parameters.
I observed that when they weren't specified, they were still included in
the routes, but without a value.

Running:
```bash
bash bash_keycloak/client.sh -v --header "Authorization: Bearer $access_token" --host "$api_host" --dry-run realmUsersGet realm=demo_realm2 email=foo+bar@baz.com username=foo
```

Would produce the route:
`http://localhost:8080/auth/admin/realms/demo_realm2/users?briefRepresentation=&email=foo+bar@baz.com&first=&firstName=&lastName=&max=search=&username=foo`

After this change it produces the route:
``http://localhost:8080/auth/admin/realms/demo_realm2/users?email=foo+bar@baz.com&username=foo

---

I discussed with @wing328 in the pull request about if empty values (eg
`username=` should produce an empty query parameter, or if the query
parameter should be removed.

We decided it should remove the query parameter.

https://github.com/OpenAPITools/openapi-generator/pull/3290

----

The OpenAPI definition I was using:

Using:
https://github.com/ccouzens/keycloak-openapi/blob/master/keycloak/6.0.json
In particular:
```json
      "/{realm}/users": {
        "get": {
          "summary": "Get users   Returns a list of users, filtered according to query parameters",
          "parameters": [
            {
              "in": "query",
              "name": "briefRepresentation",
              "schema": {
                "type": "boolean"
              },
              "style": "form"
            },
            {
              "in": "query",
              "name": "email",
              "schema": {
                "type": "string"
              },
              "style": "form"
            },
            {
              "in": "query",
              "name": "first",
              "schema": {
                "type": "integer",
                "format": "int32"
              },
              "style": "form"
            },
            {
              "in": "query",
              "name": "firstName",
              "schema": {
                "type": "string"
              },
              "style": "form"
            },
            {
              "in": "query",
              "name": "lastName",
              "schema": {
                "type": "string"
              },
              "style": "form"
            },
            {
              "in": "query",
              "name": "max",
              "description": "Maximum results size (defaults to 100)",
              "schema": {
                "type": "integer",
                "format": "int32"
              },
              "style": "form"
            },
            {
              "in": "query",
              "name": "search",
              "description": "A String contained in username, first or last name, or email",
              "schema": {
                "type": "string"
              },
              "style": "form"
            },
            {
              "in": "query",
              "name": "username",
              "schema": {
                "type": "string"
              },
              "style": "form"
            }
          ],
```
2019-07-27 21:48:36 +08:00
William Cheng
3e027c61da Merge remote-tracking branch 'origin/master' into 5.0.x 2019-07-27 20:53:38 +08:00
William Cheng
652b14c28f Add drone.io CI for Java 11 test (#3472)
* add drone.yml

* use maven wrapper instead

* break the build

* Revert "break the build"

This reverts commit 69769d6cad.

* add drone.io badge to README

* update wording
2019-07-26 20:21:38 +08:00
William Cheng
93cb215531 update java native 11 samples 2019-07-26 15:21:23 +08:00
Erik Seliger
d5d8b7a118 fix(typescript-angular): use correct package with http-client (#3465) 2019-07-26 07:54:40 +02:00
William Cheng
45fcf3792a [Java] add nullable support to the clients (#3453)
* add nullable support, update samples

* update samples
2019-07-26 10:00:27 +08:00
Benjamin Douglas
43590582c5 Java 11 native HTTP client library (#3434)
* Initial commit of Java 11 native HTTP client port

* Rebase to master and add JSR305 for @Nullable

* Update samples with @Nullable annotations
2019-07-26 09:59:21 +08:00
William Cheng
8253c28d6e [Java] Replace "useNullForUnknownEnumValue" option with the nullable attribute (#3455)
* add nullable support to enum

* update test spec with nullable enum

* update samples

* update samples
2019-07-26 09:49:44 +08:00
Martin Delille
fabe021fb0 Revert "qt5 client: use openapi 3 spec (#3400)" (#3458)
This reverts commit 40f1f920df.
2019-07-25 18:25:17 +02:00
Bernd Hacker
8231cbfe81 [typescript-rxjs]: support reponseType blob (#3437)
* feat(typescript-rxjs): add optional responseType to RequestOpts

* refactor(typescript-rxjs): remove redundant importMapping.clear() in codegen constructor

* feat(typescript-rxjs): update this.reservedWords

* fix(typescript-rxjs): add missing fields copied to ExtendedCodegenOperation

* feat(typescript-rxjs): add support for responseType blob

* feat(typescript-rxjs): regenerate samples
2019-07-25 15:16:54 +02:00
Freeman
a3cf964ce9 Upgrade babel packages for Javascript ES6 generator (#3424)
* Upgrade babel packages for Javascript ES6 generator

* Fix @babel/register in test script
2019-07-25 14:31:27 +02:00
William Cheng
d0b728794d update kotlin server samples 2019-07-25 18:56:59 +08:00
William Cheng
da62116c9d Add bkabrda to Go technical committee (#3454) 2019-07-25 15:35:55 +08:00
William Cheng
2c9bfdf29a Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2019-07-25 15:30:30 +08:00
William Cheng
64c2069256 update java samples 2019-07-25 15:30:13 +08:00
Martin Delille
3f3ecb6879 add modelNamePrefix option for qt5 (#3431)
* qt5: Remove duplicate cppNamespace additional property

* qt5: Add modelNamePrefix additional property
2019-07-25 09:23:51 +02:00
Fjolnir-Dvorak
2f479f493f [Java] Fix numeric field names (#3436)
* Fix for OpenAPITools/openapi-generator#3293. Number fields in java generators are escaped now.

* Added a few tests for number to varName to persist and ensure this behaviour for future breaking changes OpenAPITools/openapi-generator#3293.

* I also added a few test for convertModelName to prevent similar breaking changes in the future. OpenAPITools/openapi-generator#3293.
2019-07-25 07:38:49 +02:00
kassim
ee538be964 [Java] add nullable annotation to pojo template for non-required fields (#3409)
* add nullable annotation to pojo template

* add jsr305 dependency

* jsr305 dependency on all java build.gradle files

* jsr305 dependency on all java pom.xml files

* update samples

* more pom updates

* more sample/template updates
2019-07-25 10:35:18 +08:00
Jérémie Bresson
a0dd7394ac [java] Support for number enum (#3328)
* [java] Support for number enum

*  [core] add isLong, isNumber, isNumeric, isFloat, isDouble to CodegenModel

* [java-gson] fix Enum TypeAdapter in BigDecimal case.
2019-07-25 10:32:50 +08:00
William Cheng
3f7725c9e2 update brew instruction (#3445) 2019-07-25 10:19:40 +08:00
William Cheng
ab644f9912 Add GoDaddy as domain name sponsor (#3443)
* add godaddy as domain name sponsor

* resize godaddy logo

* add back new line

* remove space

* highlight sponsor
2019-07-25 00:43:19 +08:00
Benoît Courtine
28a16bea24 [Rust][Client] Correct the Rust client generated documentation (#3419)
Fixes #3418. Only generated API markdown files are impacted.
2019-07-24 17:33:11 +01:00
Gabriel Féron
2e81e612fc Fix enum types in structs (#3309)
I already contributed proper enum supports a few weeks ago, but somehow missed actually using them when they're used as a property. This PR fixes that.

I also took the liberty of fixing a bunch of unused warnings.

* Make sure we use the enum types in Rust

* Fix unused warnings in Rust and regenerate samples

* Use crate:: import path that works both with Rust 2015 and 2018

* Derive PartialEq and Eq in generated Rust structs and enums
2019-07-24 17:29:43 +01:00
Ramanth Addala
a4b1c269d8 fix(r): updated example in doc(.md) file (#3429)
* fix(r): updated doc(.md) files

* fix(r): changed enum representation
2019-07-24 23:15:21 +08:00
Akihito Nakano
2c4fdd0792 Update links (#3410) 2019-07-24 13:48:17 +09:00
Aadi Bajpai
00c7d6f46b Add back Flask tests (#3387)
fixes #3286
2019-07-24 13:46:10 +09:00
Martin Delille
40f1f920df qt5 client: use openapi 3 spec (#3400) 2019-07-23 22:26:42 +02:00
Jeremy Bohrer
5775813031 2745 typescript date format (#3423)
* fix axios issue

* fix typo
2019-07-23 15:44:34 +02:00
Bernd Hacker
d2576f411e [typescript-rxjs] runtime and api cleanup (#3316)
* feat(typescript-rxjs): use interfaces from rxjs/ajax, use shorthands

* feat(typescript-rxjs): regenerate samples

* docs(typescript-rxjs): extend readme by middleware howto

* feat(typescript-rxjs): stop generating empty comment when there is no description in model

* feat(typescript-rxjs): import throwIfRequired and COLLECTION_FORMATS only when needed

* feat(typescript-rxjs): generate HttpHeaders and HttpQuery only if needed, improve formatting

* feat(typescript-rxjs): conditionally import HttpHeaders and HttpQuery

* feat(typescript-rxjs): add encodeURI helper, refactor queryString helper

* feat(typescript-rxjs): improve condition for hasListContainers

* feat(typescript-rxjs): regenerate samples
2019-07-22 11:21:37 +02:00
Silas Boyd-Wickizer
76fecf744b [typescript-node] Promise-based Authentication interface (#3408) 2019-07-22 10:54:48 +02:00
Daniel Grünberger
f436904359 [typescript-angular] Add encoder configuration, fix default encoder (#3372) (#3389)
* [typescript-angular] Add encoder configuration and fix default encoder (#3372)

* Add encoder to configuration
* Fix import indention
* Default encoder workaround for https://github.com/angular/angular/issues/18261

* [typescript-angular] Refactor api.service template

* Extract encoder class variable initialized in constructor

* [typescript-angular] Updated samples

* [typescript-angular] Add missing imports

* [typescript-angular] Update samples

* [typescript-angular] Update samples

* [typescript-angular] Fix tests

* Fix typo
* Add missing interface method implementation
* Update samples
2019-07-22 10:54:14 +02:00
Daiki Matsudate
5cba55f8fb [Swift4] Introduce XcodeGen (#3396)
* add XcodeGen.mustache

* generate code

* add dependencies
2019-07-22 17:12:34 +09:00
Martin Delille
1413775e0e qt5 client: strip whitespace (#3406) 2019-07-21 22:23:15 +02:00
John Wang
21e29d7177 fix README.md missing paren typo (#3391) 2019-07-19 09:44:31 +02:00
wing328
5c7d902c4c fix link to open summit presentation 2019-07-19 15:15:22 +08:00
William Cheng
e58cc2a282 Update README.md 2019-07-19 15:10:01 +08:00
Prateek Malhotra
84e2f60d6b typescript-fetch: fix basic type errors (#3380)
* use proper response for simple object return types
* exclude api and/or model support files and imports if none are generated

Signed-off-by: Prateek Malhotra <someone1@gmail.com>
2019-07-19 08:04:27 +02:00
Jim Schubert
944e1c3468 [fix] Assign template directory to additional properties (#3385)
* [fix] Assign template directory to additional properties
2019-07-18 09:50:54 -04:00
Benoît Courtine
26b8d1f4c2 Better Rust client imports (#3332)
* Better Rust client imports.

* No more "unused_imports" in models for serde_json::Value.
* No more compilation problem for apis requiring serde_json::Value.
* "crate::" prefix for models and apis imports, for compatibility with Rust 2018 edition.

* Rust samples regeneration using new code.
2019-07-18 10:08:48 +01:00
Slavek Kabrda
0fec25e92e [Go][experimental-client]: make struct members pointers, provide custom marshalling (#3371)
* [Go][experimental-client] Properly define packageName for go-experimental sample client

* [Go][experimental-client] make structure members pointers, provide custom marshalling.
2019-07-18 15:52:37 +09:00
Josh Burton
1aa8a2bec4 [dart-jaguar] Fixes error accessing default converters (#3361)
`this.converters` was causing errors as the default converters are declared outside of the API client.
2019-07-18 15:28:15 +09:00
Akihito Nakano
1e735c69fa Add Logs section to the Debugging page. (#3357) 2019-07-18 15:04:27 +09:00
Jérémie Bresson
4223743ee0 [java rest-assured] prevent reqSpec reuse between requests (#3375)
* [java rest-assured] prevent reqSpec reuse between requests

* Update sample
2019-07-18 14:46:44 +09:00
james-beer
29a85d54a2 Adds default property values in ASP .NET Core models (#3369)
* Fixes docker-entrypoint.sh

* Adds default property values to C# model templates (#3359).
2019-07-18 14:22:12 +09:00
Michal Foksa
a85bd0f8f9 Include common lambdas in generators (#3368)
* Include commonly used Mustache lambdas in DefaultCodegen.
* Use or extend common Mustache lambdas from DefaultCodegen.
* Extract OnChangeLambda to own file.
* Javadoc fixed in addMustacheLambdas().
2019-07-18 06:28:40 +02:00
Jean-François Côté
610ca28681 Fix #3349 : [typescript-fetch] Proposition to follow spec (#3351)
* Fix 3349 : Proposition to follow spec closely

* Fix #3349 : Changes suggested by code review. Add an option for the single request parameter.

* Fix #3349 : Add sample with the use of the single request parameter

* Fix #3349 : Small fix that wasn't passing the tests

* Fix #3349 : Remove cariage return that might create an error

* Fix #3349 : Add chmod to make new sh file executable and fix the CircleCI issue

* Fix #3349 : Add windows sample generation

* Fix #3349 : Rename everything because of default value change

* Fix #3349 : Indentation fix

* Fix #3349 : Add 755 to typescript-fetch-petstore-multiple-parameters.sh

* Fix #3349 : Auto generation of the documentations

* Fix #3349 : Revert back a change that was auto-generated.
2019-07-17 22:30:27 +02:00
William Cheng
0b7d3c4590 Merge remote-tracking branch 'origin/master' into 5.0.x 2019-07-10 11:41:13 +08:00
Filipe Manuel Couto Pinheiro
c69a5a69f9 Fix for Issue #2205
Because when we have tags on OpenAPI Specification, there can be more than 1 Feign Beans being generated and the title field is share by all the clients. This makes the code to stop working in runtime.
Here is a PR which uses the classVarName instead, which follows the standards and should be enough to solve this issue.

For more info please refer to: https://github.com/OpenAPITools/openapi-generator/issues/2205
2019-07-09 01:21:43 +01:00
wing328
8fd4539836 Merge remote-tracking branch 'origin/4.1.x' into 5.0.x 2019-07-02 22:48:41 +08:00
wing328
8cdacb5a44 Merge branch 'sync_41x_50x' into 5.0.x 2019-06-28 09:26:39 +08:00
wing328
bacbbe7af8 update samples 2019-06-27 20:38:48 +08:00
wing328
a48d7f77fb Merge remote-tracking branch 'origin/4.1.x' into sync_41x_50x 2019-06-27 18:27:20 +08:00
William Cheng
3c8fe5b97f update petstore samples 2019-06-03 10:32:03 +08:00
William Cheng
46da7fe0e9 Merge remote-tracking branch 'origin/4.1.x' into 5.0.x 2019-06-03 09:28:51 +08:00
Jeremie Bresson
653d479efb Merge remote-tracking branch 'origin/4.1.x' into HEAD 2019-05-20 13:09:36 +02:00
William Cheng
94fc0474b9 update version 5.0.0-snapshot and samples 2019-05-15 01:54:29 +08:00
32901 changed files with 1927719 additions and 864292 deletions

118
.circleci/config.yml Normal file
View File

@@ -0,0 +1,118 @@
version: 2
jobs:
build:
# docker:
# #- image: openapitools/openapi-generator
# - image: swaggerapi/petstore
# environment:
# SWAGGER_HOST=http://petstore.swagger.io
# SWAGGER_BASE_PATH=/v2
machine:
image: circleci/classic:latest
working_directory: ~/OpenAPITools/openapi-generator
parallelism: 3
shell: /bin/bash --login
environment:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
DOCKER_GENERATOR_IMAGE_NAME: openapitools/openapi-generator
DOCKER_CODEGEN_CLI_IMAGE_NAME: openapitools/openapi-generator-cli
steps:
# Restore the dependency cache
- restore_cache:
keys:
# Default branch if not
- source-v2-{{ .Branch }}-{{ .Revision }}
- source-v2-{{ .Branch }}-
- source-v2-
# Machine Setup
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
# This is based on your 1.0 configuration file or project settings
- run:
command: sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java; sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac; echo -e "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> $BASH_ENV
- run:
command: 'sudo docker info >/dev/null 2>&1 || sudo service docker start; '
- run:
command: |-
printf '127.0.0.1 petstore.swagger.io
' | sudo tee -a /etc/hosts
# Dependencies
# Install latest stable node for angular 6
- run:
name: Install node@stable (for angular 6)
command: |
set +e
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
export NVM_DIR="/opt/circleci/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install stable
nvm alias default stable
# Each step uses the same `$BASH_ENV`, so need to modify it
echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV
- run: node --version
# - run: docker pull openapitools/openapi-petstore
# - run: docker run -d -e OPENAPI_BASE_PATH=/v3 -e DISABLE_API_KEY=1 -e DISABLE_OAUTH=1 -p 80:8080 openapitools/openapi-petstore
- run: docker pull swaggerapi/petstore
- run: docker run --name petstore.swagger -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
- run: docker ps -a
- run: sleep 30
- run: cat /etc/hosts
# Test
- run: mvn --no-snapshot-updates --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- run: ./CI/circle_parallel.sh
# Save dependency cache
- save_cache:
key: source-v2-{{ .Branch }}-{{ .Revision }}
paths:
# This is a broad list of cache paths to include many possible development environments
# You can probably delete some of these entries
- vendor/bundle
- ~/virtualenvs
- ~/.m2
- ~/.ivy2
- ~/.sbt
- ~/.bundle
- ~/.go_workspace
- ~/.gradle
- ~/.cache/bower
- ".git"
- ~/.stack
- /home/circleci/OpenAPITools/openapi-generator/samples/client/petstore/haskell-http-client/.stack-work
- ~/R
# save "default" cache using the key "source-v2-"
- save_cache:
key: source-v2-
paths:
# This is a broad list of cache paths to include many possible development environments
# You can probably delete some of these entries
- vendor/bundle
- ~/virtualenvs
- ~/.m2
- ~/.ivy2
- ~/.sbt
- ~/.bundle
- ~/.go_workspace
- ~/.gradle
- ~/.cache/bower
- ".git"
- ~/.stack
- /home/circleci/OpenAPITools/openapi-generator/samples/client/petstore/haskell-http-client/.stack-work
- ~/R
# Teardown
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# Save test results
- store_test_results:
path: /tmp/circleci-test-results
# Save artifacts
- store_artifacts:
path: /tmp/circleci-artifacts
- store_artifacts:
path: /tmp/circleci-test-results

1
.gitattributes vendored
View File

@@ -1 +1,2 @@
**/*.mustache linguist-vendored=true
* text=auto eol=lf

View File

@@ -134,7 +134,7 @@
]
},
{
"input": "csharp-refactor-petstore.sh",
"input": "csharp-netcore-petstore.sh",
"matches": [
"Client: C-Sharp"
]
@@ -146,13 +146,13 @@
]
},
{
"input": "dart-flutter-petstore.sh",
"input": "dart-jaguar-petstore.sh",
"matches": [
"Client: Dart"
]
},
{
"input": "dart-jaguar-petstore.sh",
"input": "dart-dio-petstore.sh",
"matches": [
"Client: Dart"
]
@@ -218,7 +218,7 @@
]
},
{
"input": "finch-petstore-server.sh",
"input": "scala-finch-petstore-server.sh",
"matches": [
"Server: Scala"
]
@@ -260,7 +260,7 @@
]
},
{
"input": "graphql-server-petstore.sh",
"input": "graphql-nodejs-express-server.sh",
"matches": [
"Server: GraphQL"
]
@@ -807,7 +807,7 @@
]
},
{
"input": "php-ze-ph-petstore-server.sh",
"input": "php-mezzio-ph-petstore-server.sh",
"matches": [
"Server: PHP"
]
@@ -825,13 +825,13 @@
]
},
{
"input": "python-flask-petstore-python2.sh",
"input": "python-server-flask-petstore-python2.sh",
"matches": [
"Server: Python"
]
},
{
"input": "python-flask-petstore.sh",
"input": "python-server-flask-petstore.sh",
"matches": [
"Server: Python"
]
@@ -878,12 +878,6 @@
"Client: Rust"
]
},
{
"input": "rust-reqwest-petstore.sh",
"matches": [
"Client: Rust"
]
},
{
"input": "rust-server-petstore.sh",
"matches": [
@@ -1250,6 +1244,30 @@
"Client: TypeScript"
]
},
{
"input": "typescript-nestjs-v6-petstore-not-provided-in-root-with-npm.sh",
"matches": [
"Client: TypeScript"
]
},
{
"input": "typescript-nestjs-v6-petstore-not-provided-in-root.sh",
"matches": [
"Client: TypeScript"
]
},
{
"input": "typescript-nestjs-v6-petstore-provided-in-root-with-npm.sh",
"matches": [
"Client: TypeScript"
]
},
{
"input": "typescript-nestjs-v6-petstore-provided-in-root.sh",
"matches": [
"Client: TypeScript"
]
},
{
"input": "typescript-node-petstore-with-npm.sh",
"matches": [
@@ -1311,6 +1329,76 @@
"matches": [
"Announcement"
]
},
{
"input": "[typescript] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-angular] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-angularjs] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-aurelia] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-axios] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-fetch] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-inversify] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-jquery] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-node] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "[typescript-rxjs] Generic typescript text",
"matches": [
"Client: TypeScript"
]
},
{
"input": "Should not auto-label for typescript outside of brackets.",
"matches": []
}
]
}

30
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,30 @@
## Core team
modules/openapi-generator/src/main/java/org/openapitools/codegen/*.java @OpenAPITools/generator-core-team
modules/openapi-generator/src/main/java/org/openapitools/codegen/auth/*.java @OpenAPITools/generator-core-team
modules/openapi-generator/src/main/java/org/openapitools/codegen/config/*.java @OpenAPITools/generator-core-team
modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/*.java @OpenAPITools/generator-core-team
modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/**/*.java @OpenAPITools/generator-core-team
modules/openapi-generator/src/main/java/org/openapitools/codegen/serializer/*.java @OpenAPITools/generator-core-team
modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/**/*.java @OpenAPITools/generator-core-team
modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/**/*.java @OpenAPITools/generator-core-team
modules/openapi-generator-core/**/* @OpenAPITools/generator-core-team
# No need for auto-generated subdirectories (reduces noise)
docs/ @OpenAPITools/generator-core-team
## Individual interests
.github/**/* @jimschubert
scripts/**/* @jimschubert
website/**/* @jimschubert
bin/ci/**/* @jimschubert
## Bulid related
CI/**/* @OpenAPITools/build
.mvn/**/* @OpenAPITools/build
bin/utils/**/* @OpenAPITools/build
## Module-specific
modules/openapi-generator-cli/**/* @jimschubert
modules/openapi-generator-gradle-plugin/**/* @jimschubert
modules/openapi-generator-maven-plugin/**/* @jimschubert

View File

@@ -11,10 +11,10 @@ assignees: ''
- [ ] Have you provided a full/minimal spec to reproduce the issue?
- [ ] Have you validated the input using an OpenAPI validator ([example](https://apidevtools.org/swagger-parser/online/))?
- [ ] What's the version of OpenAPI Generator used?
- [ ] Have you search for related issues/PRs?
- [ ] Have you [tested with the latest master](https://github.com/OpenAPITools/openapi-generator/wiki/FAQ#how-to-test-with-the-latest-master-of-openapi-generator) to confirm the issue still exists?
- [ ] Have you searched for related issues/PRs?
- [ ] What's the actual output vs expected output?
- [ ] [Optional] Bounty to sponsor the fix ([example](https://www.bountysource.com/issues/66123212-javascript-client-produces-a-wrong-object-for-a-string-enum-type-that-is-used-with-ref))
- [ ] [Optional] Sponsorship to speed up the bug fix or feature request ([example](https://github.com/OpenAPITools/openapi-generator/issues/6178))
<!--
Please follow the issue template below for bug reports.
@@ -45,9 +45,13 @@ please create a Gist (https://gist.github.com) or upload it somewhere else and
link it here.
-->
##### Command line used for generation
##### Generation Details
<!-- including the language, libraries and various options -->
<!--
Prefer CLI steps, including the language, libraries and various options.
Providing config-based settings allows for simpler testing across CLI and plugins.
For examples, see https://github.com/OpenAPITools/openapi-generator/tree/master/bin/configs
-->
##### Steps to reproduce

View File

@@ -1,11 +1,20 @@
<!-- Enter details of the change here. Include additional tests that have been done, reference to the issue for tracking, etc. -->
<!-- Please check the completed items below -->
### PR checklist
- [ ] Read the [contribution guidelines](https://github.com/openapitools/openapi-generator/blob/master/CONTRIBUTING.md).
- [ ] Ran the shell script under `./bin/` to update Petstore sample so that CIs can verify the change. (For instance, only need to run `./bin/{LANG}-petstore.sh`, `./bin/openapi3/{LANG}-petstore.sh` if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in `.\bin\windows\`. If contributing template-only or documentation-only changes which will change sample output, be sure to [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) first.
- [ ] Filed the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `4.1.x`, `5.0.x`. Default: `master`.
- [ ] Copied the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) to review the pull request if your PR is targeting a particular programming language.
### Description of the PR
(details of the change, additional tests that have been done, reference to the issue for tracking, etc)
- [ ] Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
- [ ] Run the following to [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) and update samples:
```
./mvnw clean package
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
```
Commit all changed files.
This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/configs/java*`.
For Windows users, please run the script in [Git BASH](https://gitforwindows.org/).
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `5.3.x`, `6.0.x`
- [ ] If your PR is targeting a particular programming language, @mention the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) members, so they are more likely to review the pull request.

19
.github/actions/run-samples/action.yaml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: 'Run samples'
description: 'Runs sample integration test profile with Maven'
inputs:
name:
description: 'The Maven profile name'
required: true
goal:
description: 'Maven goal'
required: false
default: 'verify'
args:
description: 'Additional maven arguments'
required: false
default: ''
runs:
using: "composite"
steps:
- run: mvn --no-snapshot-updates --batch-mode --quiet ${{ inputs.goal }} -P${{ inputs.name }} -Dintegration-test -Dmaven.javadoc.skip=true ${{ inputs.args }}
shell: bash

View File

@@ -138,6 +138,7 @@ labels:
- '\s*?-[gl] swift[34]+\s*?'
- '\s*?-[gl] swift2-deprecated\s*?'
'Client: TypeScript':
- '\s*?\[typescript\]\s*?'
- '\s*?\[typescript-[\-a-z]+\]\s*?'
- '\s*?-[gl] typescript-[\-a-z]+\s*?'
# 'Client: VB/VB.net': # NOTE: Not yet implemented
@@ -246,7 +247,7 @@ labels:
'Server: Java':
- '\s*?\[java-.*?\]\s*?'
- '\s*?-[gl] java-.*?\s*?'
- '\s*?-[gl] jaxrx-.*?\s*?'
- '\s*?-[gl] jaxrs-.*?\s*?'
'Server: Kotlin':
- '\s*?\[ktor]\s*?'
- '\s*?\[kotlin-spring]\s*?'

6
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

View File

@@ -0,0 +1,95 @@
name: Check Supported Java Versions
on:
push:
branches:
- master
jobs:
build:
name: 'Build: JDK ${{ matrix.java }} (${{ matrix.os }})'
runs-on: ${{ matrix.os }}
strategy:
matrix:
java: [8, 11]
os: [ubuntu-latest]
include:
- java: 8
os: windows-latest
- java: 13
os: ubuntu-latest
# Need to update to Gradle version with v13 support in modules/openapi-generator-gradle-plugin/pom.xml
flags: -am -pl modules/openapi-generator-cli
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: ${{ matrix.java }}
- uses: actions/cache@v2.1.6
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('pom.xml', 'modules/**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- uses: actions/cache@v2.1.6
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('modules/openapi-generator-gradle-plugin/pom.xml') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Build with Maven
shell: bash
run: mvn -nsu -B --quiet -Djacoco.skip=true -Dorg.slf4j.simpleLogger.defaultLogLevel=error --no-transfer-progress clean install --file pom.xml ${{ matrix.flags }}
- name: Upload Maven build artifact
uses: actions/upload-artifact@v2.2.4
if: matrix.java == '8' && matrix.os == 'ubuntu-latest'
with:
name: artifact
path: modules/openapi-generator-cli/target/openapi-generator-cli.jar
- name: Test Gradle plugin usage
shell: bash
run: gradle -b modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle buildGoSdk --stacktrace
- name: Test Maven plugin integration
if: matrix.java == '8'
shell: bash
run: |
cd modules/openapi-generator-maven-plugin
mvn verify -Pintegration
verify:
name: Verify outputs on ${{ matrix.os }}
needs: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
# include:
# - os: windows-latest
# flags: --skip-docs
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Download build artifact
uses: actions/download-artifact@v2.0.10
with:
name: artifact
- name: Run Ensures Script
shell: bash
run: |
git config --global core.fileMode false
git config --global core.safecrlf false
git config --global core.autocrlf true
mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
# test with java (jersey2) client generation only as ensure-uptodate script is run in another job instead
./bin/generate-samples.sh ./bin/configs/java-jersey2-8.yaml

View File

@@ -0,0 +1,75 @@
name: Docker Tag latest-release
# Run every couple of days
on:
schedule:
- cron: "30 12 */2 * *"
jobs:
# This pulls all containers for the last known release tag, and tags as latest-release or x-latest-release for shared repo
tagLatestRelease:
runs-on: ubuntu-latest
steps:
# Pull the code so we have git metadata
- name: Checkout code
uses: actions/checkout@v2
# This action will "unshallow" so we have all tag info
- name: Get latest tag
id: tagger
uses: jimschubert/query-tag-action@v2
with:
include: 'v*'
exclude: '*-rc*'
commit-ish: 'HEAD~'
- name: DockerHub Login
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
# Tags openapitools/openapi-generator-cli
- name: "Tag openapi-generator-cli:x"
id: tag-openapi-generator-cli
if: always()
run: |
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
docker pull openapitools/openapi-generator-cli:${{steps.tagger.outputs.tag}}
docker tag openapitools/openapi-generator-cli:${{steps.tagger.outputs.tag}} openapitools/openapi-generator-cli:latest-release
docker push openapitools/openapi-generator-cli:latest-release
# Tags openapitools/openapi-generator-online
- name: "Tag openapi-generator-online:x"
id: tag-openapi-generator-online
if: always()
run: |
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
docker pull openapitools/openapi-generator-online:${{steps.tagger.outputs.tag}}
docker tag openapitools/openapi-generator-online:${{steps.tagger.outputs.tag}} openapitools/openapi-generator-online:latest-release
docker push openapitools/openapi-generator-online:latest-release
# Tags openapitools/openapi-generator's CLI image (this repo holds CLI + Online via tag prefix)
- name: "Tag openapi-generator:cli-x"
id: tag-cli
if: always()
run: |
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
docker pull openapitools/openapi-generator:cli-${{steps.tagger.outputs.tag}}
docker tag openapitools/openapi-generator:cli-${{steps.tagger.outputs.tag}} openapitools/openapi-generator:cli-latest-release
docker push openapitools/openapi-generator:cli-latest-release
# Tags openapitools/openapi-generator's ONLINE image (this repo holds CLI + Online via tag prefix)
- name: "Tag openapi-generator:online-x"
id: tag-online
if: always()
run: |
echo 'Tagging as latest-release: ${{steps.tagger.outputs.tag}}'
docker pull openapitools/openapi-generator:online-${{steps.tagger.outputs.tag}}
docker tag openapitools/openapi-generator:online-${{steps.tagger.outputs.tag}} openapitools/openapi-generator:online-latest-release
docker push openapitools/openapi-generator:online-latest-release
# Clean up docker credentials/configs/etc.
- name: Cleanup
if: always()
run: |
rm -f ${HOME}/.docker/config.json

View File

@@ -0,0 +1,19 @@
name: OpenAPI Generator Test Report
on:
workflow_run:
workflows: ['OpenAPI Generator']
types:
- completed
# separate workflow required due to https://github.com/dorny/test-reporter#recommended-setup-for-public-repositories
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: dorny/test-reporter@v1
with:
artifact: surefire-test-results
name: JUnit Test results
path: '**/surefire-reports/TEST-*.xml'
reporter: java-junit

214
.github/workflows/openapi-generator.yaml vendored Normal file
View File

@@ -0,0 +1,214 @@
name: OpenAPI Generator
on:
push:
branches:
- master
- '[5-9]+.[0-9]+.x'
pull_request:
branches:
- master
- '[5-9]+.[0-9]+.x'
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v2.1.6
env:
cache-name: cache-maven-repository
with:
path: |
~/.m2/repository
~/.gradle
!~/.gradle/caches/*/plugin-resolution/
!~/.m2/repository/org/openapitools/
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
- name: Run maven
run: mvn --no-snapshot-updates --batch-mode --quiet install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- run: ls -la modules/openapi-generator-cli/target
- name: Upload openapi-generator-cli.jar artifact
uses: actions/upload-artifact@v2.2.4
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target/openapi-generator-cli.jar
retention-days: 1
test:
name: Unit tests
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v2.1.6
env:
cache-name: cache-maven-repository
with:
path: |
~/.m2/repository
~/.gradle
!~/.gradle/caches/*/plugin-resolution/
!~/.m2/repository/org/openapitools/
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
- name: Run unit tests
run: mvn --no-snapshot-updates --batch-mode --quiet --fail-at-end test -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- name: Publish unit test reports
if: ${{ always() }}
uses: actions/upload-artifact@v2.2.4
with:
name: surefire-test-results
path: '**/surefire-reports/TEST-*.xml'
documentation:
name: Docs up-to-date
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v2.0.10
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target
- name: Generate docs
run: |
bash bin/meta-codegen.sh
bash bin/utils/export_docs_generators.sh
bash bin/utils/copy-to-website.sh
bash bin/utils/export_generators_readme.sh
- name: Verify git status
run: |
if [[ "$(git status --porcelain)" != "" ]]; then
echo "UNCOMMITTED CHANGES ERROR"
echo "There are uncommitted changes in working tree after execution of 'bin/ensure-up-to-date'"
echo "Perform git diff"
git --no-pager diff
echo "Perform git status"
git status
echo -e "\nThis script runs in pull requests against the anticipated merge commit (as if the PR was merged now)."
echo "When you see unexpected files here, it likely means that there are newer commits in master that you need to "
echo -e "rebase or merge into your branch.\n"
echo "Please run 'bin/utils/ensure-up-to-date' locally and commit changes (UNCOMMITTED CHANGES ERROR)"
exit 1
fi
samples:
name: Samples up-to-date
needs:
- build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v2.0.10
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target
- name: Generate samples
run: bash bin/generate-samples.sh
- name: Verify git status
run: |
if [[ "$(git status --porcelain)" != "" ]]; then
echo "UNCOMMITTED CHANGES ERROR"
echo "There are uncommitted changes in working tree after execution of 'bin/generate-samples.sh'"
echo "Perform git diff"
git --no-pager diff
echo "Perform git status"
git status
echo -e "\nThis script runs in pull requests against the anticipated merge commit (as if the PR was merged now)."
echo "When you see unexpected files here, it likely means that there are newer commits in master that you need to "
echo -e "rebase or merge into your branch.\n"
echo "Please run 'bin/generate-samples.sh' locally and commit changes (UNCOMMITTED CHANGES ERROR)"
exit 1
fi
test-maven-plugin:
name: Maven plugin tests
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v2.1.6
env:
cache-name: cache-maven-repository
with:
path: |
~/.m2/repository
~/.gradle
!~/.gradle/caches/*/plugin-resolution/
!~/.m2/repository/org/openapitools/
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-test-maven-plugin-${{ env.cache-name }}-
${{ runner.os }}-test-maven-plugin-
- name: Run tests
run: |
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/multi-module/pom.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/kotlin.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/spring.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
test-gradle-plugin:
name: Gradle plugin tests
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v2.1.6
env:
cache-name: cache-maven-repository
with:
path: |
~/.m2/repository
~/.gradle
!~/.gradle/caches/modules-2/modules-2.lock
!~/.gradle/caches/*/plugin-resolution/
!~/.m2/repository/org/openapitools/
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-test-gradle-plugin-${{ env.cache-name }}-
${{ runner.os }}-test-gradle-plugin-
- name: Run tests
run: |
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildGoSdk)
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew openApiGenerate)

80
.github/workflows/samples-dart.yaml vendored Normal file
View File

@@ -0,0 +1,80 @@
name: Samples Dart
on:
push:
branches:
- master
- '[5-9]+.[0-9]+.x'
pull_request:
branches:
- master
- '[5-9]+.[0-9]+.x'
paths:
- 'samples/openapi3/client/petstore/dart*/**'
jobs:
tests-dart-2-10:
name: Tests Dart 2.10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v2.1.6
env:
cache-name: maven-repository
with:
path: |
~/.m2/repository
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Cache test dependencies
uses: actions/cache@v2.1.6
env:
cache-name: pub-cache
with:
path: $PUB_CACHE
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('samples/**/pubspec.yaml') }}
- uses: dart-lang/setup-dart@v1
with:
sdk: 2.10.5
- name: Run tests
uses: ./.github/actions/run-samples
with:
name: samples.dart-2.10
tests-dart-2-13:
name: Tests Dart 2.13
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v2.1.6
env:
cache-name: maven-repository
with:
path: |
~/.m2/repository
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Cache test dependencies
uses: actions/cache@v2.1.6
env:
cache-name: pub-cache
with:
path: $PUB_CACHE
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('samples/**/pubspec.yaml') }}
- uses: dart-lang/setup-dart@v1
with:
sdk: 2.13.0
- name: Run tests
uses: ./.github/actions/run-samples
with:
name: samples.dart-2.13

66
.github/workflows/samples-kotlin.yaml vendored Normal file
View File

@@ -0,0 +1,66 @@
name: Samples Kotlin
on:
push:
branches:
- master
- '[5-9]+.[0-9]+.x'
pull_request:
branches:
- master
- '[5-9]+.[0-9]+.x'
paths:
- 'samples/client/petstore/kotlin*/**'
env:
GRADLE_VERSION: 6.9
jobs:
build:
name: Build Kotlin
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/kotlin
- samples/client/petstore/kotlin-gson
- samples/client/petstore/kotlin-jackson
# needs Android configured
#- samples/client/petstore/kotlin-json-request-string
- samples/client/petstore/kotlin-jvm-okhttp4-coroutines
- samples/client/petstore/kotlin-moshi-codegen
# need some special setup
#- samples/client/petstore/kotlin-multiplatform
- samples/client/petstore/kotlin-nonpublic
- samples/client/petstore/kotlin-nullable
- samples/client/petstore/kotlin-okhttp3
- samples/client/petstore/kotlin-retrofit2
- samples/client/petstore/kotlin-retrofit2-kotlinx_serialization
- samples/client/petstore/kotlin-retrofit2-rx3
- samples/client/petstore/kotlin-string
- samples/client/petstore/kotlin-threetenbp
- samples/client/petstore/kotlin-uppercase-enum
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v2.1.6
env:
cache-name: maven-repository
with:
path: |
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v1
with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }}
arguments: wrapper
- name: Build
working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test

26
.github/workflows/sonar.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Sonar CI
on:
push:
branches:
- master
- '[4-9]+.[0-9]+.x'
- sonar
jobs:
build:
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'OpenAPITools' }}
steps:
- uses: actions/checkout@v1
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: 11
- name: Compile with Maven
run: mvn -B -q clean install jacoco:report
- name: Jacoco Aggregate
run: mvn jacoco:report-aggregate
- name: Publish to Sonar
run: mvn -B -q -nsu sonar:sonar -Dsonar.projectKey=OpenAPITools_openapi-generator -Dsonar.organization=openapitools -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_LOGIN }} -Dsonar.branch.name=${GITHUB_REF##*/}

45
.gitignore vendored
View File

@@ -1,3 +1,5 @@
.mvn/.gradle-enterprise/
.scannerwork/
.vscode
*.iml
out/
@@ -28,6 +30,8 @@ packages/
.vagrant/
.vscode/
**/.vs
.factorypath
.metals/*
.settings
@@ -170,10 +174,24 @@ samples/client/petstore/python-asyncio/.venv/
samples/client/petstore/python-asyncio/.pytest_cache/
samples/client/petstore/python-tornado/.venv/
# PHP
samples/client/petstore/php/OpenAPIClient-php/composer.lock
samples/client/petstore/php-dt/composer.lock
samples/client/petstore/php-dt-modern/composer.lock
samples/openapi3/server/petstore/php-symfony/SymfonyBundle-php/composer.lock
samples/server/petstore/php-laravel/lib/composer.lock
samples/server/petstore/php-lumen/lib/composer.lock
samples/server/petstore/php-slim4/composer.lock
samples/server/petstore/php-symfony/SymfonyBundle-php/composer.lock
samples/server/petstore/php-mezzio-ph/composer.lock
samples/server/petstore/php-mezzio-ph-modern/composer.lock
# ts
samples/client/petstore/typescript-angular2/npm/npm-debug.log
samples/client/petstore/typescript-node/npm/npm-debug.log
samples/client/petstore/typescript-angular/tsd-debug.log
samples/client/petstore/typescript-axios/tests/**/dist/
samples/client/petstore/typescript-fetch/tests/**/dist/
# aspnetcore
samples/server/petstore/aspnetcore/.vs/
@@ -186,6 +204,8 @@ samples/client/petstore/kotlin-string/build
samples/openapi3/client/petstore/kotlin/build
samples/server/petstore/kotlin-server/ktor/build
samples/server/petstore/kotlin-springboot/build
samples/client/petstore/kotlin-multiplatform/build/
samples/client/petstore/kotlin-okhttp3/build/
\?
# haskell
@@ -195,6 +215,7 @@ cabal.project.local
samples/client/petstore/haskell-http-client/docs/haddock-bundle.min.js
samples/client/petstore/haskell-http-client/docs/meta.json
samples/client/petstore/haskell-http-client/docs/quick-jump.css
samples/server/petstore/haskell-servant/stack.yaml.lock
# R
.Rproj.user
@@ -217,14 +238,19 @@ samples/client/petstore/erlang-proper/rebar.lock
samples/server/petstore/erlang-server/_build/
samples/server/petstore/erlang-server/rebar.lock
# dart
samples/client/petstore/dart/petstore/packages
samples/client/petstore/dart/flutter_petstore/test/packages
samples/client/petstore/dart/petstore/test/packages
**/.dart_tool
# Dart
**/dart*/**/.dart_tool
**/dart*/**/.packages
**/dart*/**/pubspec.lock
# Dart dio
**/dart*/**/*.g.dart
# Dart jaguar
**/dart*/**/*.jser.dart
**/dart*/**/*.jretro.dart
# JS
samples/client/petstore/javascript/package-lock.json
samples/client/petstore/javascript-es6/package-lock.json
samples/client/petstore/javascript-promise-es6/package-lock.json
# elm
samples/client/petstore/elm/index.html
@@ -232,3 +258,10 @@ samples/client/petstore/elm/index.html
# C
samples/client/petstore/c/build
samples/client/petstore/c/*.so
# Ruby
samples/openapi3/client/petstore/ruby/Gemfile.lock
samples/openapi3/client/petstore/ruby-faraday/Gemfile.lock
# Crystal
samples/client/petstore/crystal/lib

View File

@@ -3,10 +3,7 @@
##
## You can build _just_ this part with:
## docker --target builder -t container-name:builder -f .hub.cli.dockerfile .
FROM jimschubert/8-jdk-alpine-mvn:1.0 as builder
RUN set -x && \
apk add --no-cache bash
FROM maven:3.6.3-jdk-11-openj9 as builder
ENV GEN_DIR /opt/openapi-generator
WORKDIR ${GEN_DIR}
@@ -18,11 +15,10 @@ RUN mvn -am -pl "modules/openapi-generator-cli" package
## The final (release) image
## The resulting container here only needs the target jar
## and ca-certificates (to be able to query HTTPS hosted specs)
FROM openjdk:8-jre-alpine
FROM openjdk:11.0.8-jre-slim-buster
ENV GEN_DIR /opt/openapi-generator
RUN apk --no-cache add ca-certificates bash
RUN mkdir -p ${GEN_DIR}/modules/openapi-generator-cli/target
WORKDIR ${GEN_DIR}/modules/openapi-generator-cli/target

View File

@@ -3,10 +3,7 @@
##
## You can build _just_ this part with:
## docker --target builder -t container-name:builder -f .hub.online.dockerfile .
FROM jimschubert/8-jdk-alpine-mvn:1.0 as builder
RUN set -x && \
apk add --no-cache bash
FROM maven:3.6.3-jdk-11-openj9 as builder
ENV GEN_DIR /opt/openapi-generator
WORKDIR ${GEN_DIR}
@@ -17,7 +14,7 @@ RUN mvn -am -pl "modules/openapi-generator-online" package
## The final (release) image
## The resulting container here only needs the target jar
FROM openjdk:8-jre-alpine
FROM openjdk:11.0.8-jre-slim-buster
ENV GEN_DIR /opt/openapi-generator
ENV TARGET_DIR /generator

117
.mvn/wrapper/MavenWrapperDownloader.java vendored Normal file
View File

@@ -0,0 +1,117 @@
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}

Binary file not shown.

View File

@@ -1 +1,2 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.3/apache-maven-3.3.3-bin.zip
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

View File

@@ -11,6 +11,7 @@ before_cache:
- rm -fr $HOME/.m2/repository/org/openapitools/
cache:
yarn: true
directories:
- $HOME/.m2
- $HOME/.ivy2
@@ -20,6 +21,10 @@ cache:
- $HOME/samples/client/petstore/php/OpenAPIToolsClient-php/vendor
- $HOME/samples/client/petstore/ruby/vendor/bundle
- $HOME/samples/client/petstore/python/.venv/
- $HOME/samples/openapi3/client/petstore/typescript/tests/default/node_modules
- $HOME/samples/openapi3/client/petstore/typescript/tests/jquery/node_modules
- $HOME/samples/openapi3/client/petstore/typescript/tests/object_params/node_modules
- $HOME/samples/openapi3/client/petstore/typescript/tests/inversify/node_modules
- $HOME/samples/client/petstore/typescript-node/npm/node_modules
- $HOME/samples/client/petstore/typescript-node/npm/typings/
- $HOME/samples/client/petstore/typescript-fetch/tests/default/node_modules
@@ -40,6 +45,7 @@ cache:
- $HOME/.npm
- $HOME/.rvm/gems/ruby-2.4.1
- $HOME/website/node_modules/
- $HOME/.cache/deno
services:
- docker
@@ -56,25 +62,45 @@ addons:
- petstore.swagger.io
before_install:
- sudo rm -rf /var/lib/apt/lists/*
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) edge"
- sudo apt-get update
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- mkdir -vp ~/.docker/cli-plugins/
- curl --silent -L "https://github.com/docker/buildx/releases/download/v0.3.0/buildx-v0.3.0.linux-amd64" > ~/.docker/cli-plugins/docker-buildx
- chmod a+x ~/.docker/cli-plugins/docker-buildx
# to run petstore server locally via docker
- echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin || true
- docker pull swaggerapi/petstore
- docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
- docker ps -a
# install crystal
- echo 'deb http://download.opensuse.org/repositories/devel:/languages:/crystal/xUbuntu_16.04/ /' | sudo tee /etc/apt/sources.list.d/devel:languages:crystal.list
- curl -fsSL https://download.opensuse.org/repositories/devel:languages:crystal/xUbuntu_16.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/devel_languages_crystal.gpg > /dev/null
- sudo apt update
- sudo apt install crystal
- crystal --version
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.22.0
- export PATH="$HOME/.yarn/bin:$PATH"
# install rust
- curl https://sh.rustup.rs -sSf | sh -s -- -y -v
# required when sudo: required for the Ruby petstore tests
- gem install bundler
- nvm install 12.20.0
- nvm use 12.20.0
- npm install -g typescript
- npm install -g npm
- npm install -g elm@0.18.0-exp5
- npm config set registry http://registry.npmjs.org/
# set python 3.6.3 as default
- source ~/virtualenv/python3.6/bin/activate
# to run petstore server locally via docker
- docker pull swaggerapi/petstore
- docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
- docker ps -a
# -- skip bash test to shorten build time
# Add bats test framework and cURL for Bash script integration tests
#- sudo add-apt-repository ppa:duggan/bats --yes
#- sudo apt-get update -qq
#- sudo apt-get install -qq bats
#- sudo apt-get install -qq curl
# -- skip bash test end
# install dart
#- sudo apt-get update
#- sudo apt-get install apt-transport-https
@@ -83,18 +109,25 @@ before_install:
#- sudo apt-get update
#- sudo apt-get install dart
# switch to php7
- phpenv global 7.1
- phpenv versions
- phpenv global 7.2.15
- php -v
# install perl module
#- cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
#- cpanm Test::Exception Test::More Log::Any LWP::UserAgent JSON URI:Query Module::Runtime DateTime Module::Find Moose::Role
# comment out below as installation failed in travis
# Add rebar3 build tool and recent Erlang/OTP for Erlang petstore server tests.
# - Travis CI does not support rebar3 [yet](https://github.com/travis-ci/travis-ci/issues/6506#issuecomment-275189490).
# - Rely on `kerl` for [pre-compiled versions available](https://docs.travis-ci.com/user/languages/erlang#Choosing-OTP-releases-to-test-against). Rely on installation path chosen by [`travis-erlang-builder`](https://github.com/travis-ci/travis-erlang-builder/blob/e6d016b1a91ca7ecac5a5a46395bde917ea13d36/bin/compile#L18).
# - . ~/otp/18.2.1/activate && erl -version
#- curl -f -L -o ./rebar3 https://s3.amazonaws.com/rebar3/rebar3 && chmod +x ./rebar3 && ./rebar3 version && export PATH="${TRAVIS_BUILD_DIR}:$PATH"
# install C++ tools
- sudo apt install -y --no-install-recommends valgrind cmake build-essential
# install Qt5
- sudo apt install -y --no-install-recommends qt5-default
- cmake --version
# -- skip perl test to shorten build time
# perl dep
#- cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
#- cpanm --quiet --no-interactive Test::Exception Test::More Log::Any LWP::UserAgent URI::Query Module::Runtime DateTime Module::Find Moose::Role JSON || echo "Igorned failure from cpanm"
# -- skip perl test end
# show host table to confirm petstore.swagger.io is mapped to localhost
- cat /etc/hosts
# show java version
@@ -104,7 +137,10 @@ before_install:
gpg --keyserver keyserver.ubuntu.com --recv-key $SIGNING_KEY ;
gpg --check-trustdb ;
fi;
- pushd .; cd website; npm install; popd
- pushd .; cd website; yarn install; popd
# install Deno
- sh -s v1.6.2 < ./CI/deno_install.sh
- export PATH="$HOME/.deno/bin:$PATH"
install:
# Add Godeps dependencies to GOPATH and PATH
@@ -121,6 +157,12 @@ install:
script:
# fail fast
- set -e
# show docker buildx version
- docker buildx version
# fail if the template files contains tabs
- /bin/bash ./bin/utils/detect_tab_in_templates.sh
# fail if the test files have changes
- bin/utils/detect_test_file_changes.rb bin/utils/test_file_list.yaml
# fail if templates/generators contain carriage return '\r'
- /bin/bash ./bin/utils/detect_carriage_return.sh
# fail if generators contain merge conflicts
@@ -129,14 +171,8 @@ script:
- /bin/bash ./bin/utils/detect_tab_in_java_class.sh
# run integration tests defined in maven pom.xml
# WARN: Travis will timeout after 10 minutes of no stdout/stderr activity, which is problematic with mvn --quiet.
- mvn --quiet --batch-mode --show-version clean install
- mvn --quiet --batch-mode --show-version verify -Psamples
# test maven plugin
- mvn clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml
- mvn clean compile -f modules/openapi-generator-maven-plugin/examples/multi-module/pom.xml
# test gradle plugin
- (cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildGoSdk)
- (cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew openApiGenerate)
- mvn -e --no-snapshot-updates --quiet --batch-mode --show-version clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- mvn -e --no-snapshot-updates --quiet --batch-mode --show-version verify -Psamples -Dorg.slf4j.simpleLogger.defaultLogLevel=error
after_success:
# push to maven repo
- if [ $SONATYPE_USERNAME ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
@@ -169,17 +205,45 @@ after_success:
fi;
fi;
## docker: build and push openapi-generator-online to DockerHub
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && docker build -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_GENERATOR_IMAGE_NAME:latest $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_GENERATOR_IMAGE_NAME && echo "Pushed to $DOCKER_GENERATOR_IMAGE_NAME"; fi; fi
- if [ $DOCKER_HUB_USERNAME ]; then
echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin;
export cli_version=$(\mvn -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[');
export build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ");
docker buildx create --use;
if [ ! -z "$TRAVIS_TAG" ]; then
docker buildx build --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME:latest -t $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online;
echo "Built and tagged $DOCKER_GENERATOR_IMAGE_NAME";
fi;
if [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online;
echo "Pushed to $DOCKER_GENERATOR_IMAGE_NAME for master";
fi;
fi;
## docker: build cli image and push to Docker Hub
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && cp docker-entrypoint.sh ./modules/openapi-generator-cli && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME && echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME"; fi; fi
- if [ $DOCKER_HUB_USERNAME ]; then
echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin;
cp docker-entrypoint.sh ./modules/openapi-generator-cli;
export cli_version=$(\mvn -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[');
export build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ");
docker buildx create --use;
docker buildx build --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli;
if [ ! -z "$TRAVIS_TAG" ]; then
docker buildx build --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli;
echo "Built and tagged $DOCKER_GENERATOR_IMAGE_NAME";
fi;
if [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli;
echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME";
fi;
fi;
## publish latest website, variables below are secure environment variables which are unavailable to PRs from forks.
- if [ "$TRAVIS_BRANCH" = "master" ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
cd website;
git config --global user.name "${GH_NAME}";
git config --global user.email "${GH_EMAIL}";
echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc;
npm install;
GIT_USER="${GH_NAME}" npm run-script publish-gh-pages;
yarn install;
GIT_USER="${GH_NAME}" yarn run publish-gh-pages;
fi;
env:

61
CI/.drone.yml Normal file
View File

@@ -0,0 +1,61 @@
kind: pipeline
name: default
steps:
# test Java 11 HTTP client
- name: java11-test
image: openjdk:11.0
commands:
- ./mvnw --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- ./mvnw --quiet verify -Psamples.droneio -Dorg.slf4j.simpleLogger.defaultLogLevel=error
# test java native client
- ./mvnw clean test -f samples/client/petstore/java/native/pom.xml
- ./mvnw clean test -f samples/client/petstore/java/native-async/pom.xml
- ./mvnw clean test -f samples/openapi3/client/petstore/java/native/pom.xml
# test all generators with fake petstore spec (2.0, 3.0)
- /bin/bash bin/utils/test-fake-petstore-for-all.sh
# generate test scripts
- /bin/bash bin/tests/run-all-test
# test nim client
- name: nim-client-test
image: nimlang/nim
commands:
- (cd samples/client/petstore/nim/ && nim c sample_client.nim)
# test protobuf schema generator
- name: protobuf-schema-test
image: nanoservice/protobuf-go
commands:
- protoc --version
- mkdir /var/tmp/go/
- cd samples/config/petstore/protobuf-schema
- protoc --go_out=/var/tmp/go/ services/*
- protoc --go_out=/var/tmp/go/ models/*
# test aspnetcore 3.x
- name: aspnetcore-test
image: mcr.microsoft.com/dotnet/core/sdk:3.1
commands:
- (cd samples/server/petstore/aspnetcore-3.1/ && /bin/sh build.sh)
- (cd samples/server/petstore/aspnetcore-3.0/ && /bin/sh build.sh)
# test ocaml petstore client
- name: ocaml-test
image: ocaml/opam2:4.07
commands:
- sudo apt-get -y install m4
- cd samples/client/petstore/ocaml
- opam install ppx_deriving_yojson cohttp ppx_deriving cohttp-lwt-unix
- opam pin add ocaml-migrate-parsetree 1.3.1
- eval $(opam env)
- sudo chmod -R 777 .
- dune build --build-dir=./_build
# test haskell client
- name: haskell-client-test
image: haskell:8.6.5
commands:
- (cd samples/client/petstore/haskell-http-client/ && stack --allow-different-user --install-ghc --no-haddock-deps haddock --fast && stack --allow-different-user test --fast)
# test erlang client and server
- name: erlang
image: erlang:alpine
commands:
- (cd samples/client/petstore/erlang-client && rebar3 compile)
- (cd samples/client/petstore/erlang-proper && rebar3 compile)
# comment out as the tests pass locally but not in the CI
#- (cd samples/server/petstore/erlang-server && rebar3 compile)

View File

@@ -34,4 +34,4 @@ script:
- set -e
# run integration tests defined in maven pom.xml
- cp pom.xml.bash pom.xml
- mvn --batch-mode verify -Psamples
- mvn --no-snapshot-updates --batch-mode verify -Psamples

View File

@@ -1,55 +1,25 @@
sudo: required
language: objective-c
osx_image: xcode8.1
cache:
directories:
- $HOME/.m2
- $HOME/.ivy2
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.stack
- $HOME/samples/client/petstore/php/OpenAPIToolsClient-php/vendor
- $HOME/samples/client/petstore/ruby/venodr/bundle
- $HOME/samples/client/petstore/python/.venv/
- $HOME/samples/client/petstore/typescript-node/npm/node_modules
- $HOME/samples/client/petstore/typescript-node/npm/typings/
- $HOME/samples/client/petstore/typescript-fetch/tests/default/node_modules
- $HOME/samples/client/petstore/typescript-fetch/tests/default/typings
- $HOME/samples/client/petstore/typescript-fetch/builds/default/node_modules
- $HOME/samples/client/petstore/typescript-fetch/builds/default/typings
- $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/node_modules
- $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/typings
- $HOME/samples/client/petstore/typescript-fetch/builds/with-npm-version/node_modules
- $HOME/samples/client/petstore/typescript-fetch/npm/with-npm-version/typings
- $HOME/samples/client/petstore/typescript-angularjs/node_modules
- $HOME/samples/client/petstore/typescript-angularjs/typings
- $HOME/.cocoapods/repos/master
timeout: 1000
# comment out the host table change to use the public petstore server
addons:
hosts:
- petstore.swagger.io
osx_image: xcode10.3
before_install:
- export SW=`pwd`
- rvm list
- rvm use 2.3.3
#- rvm use 2.3.3
- gem environment
- gem install bundler -N --no-ri --no-rdoc
- gem install cocoapods -v 1.2.1 -N --no-ri --no-rdoc
- gem install xcpretty -N --no-ri --no-rdoc
- gem install bundler -N
- gem install cocoapods -v 1.2.1 -N
- gem install xcpretty -N
- pod --version
# comment out below to avoid errors
#- pod repo update
- pod setup --silent > /dev/null
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
# start local petstore server
- git clone -b docker --single-branch https://github.com/wing328/swagger-samples
- cd swagger-samples/java/java-jersey-jaxrs
- sudo mvn jetty:run &
- cd $SW
#- pod setup --silent > /dev/null
#- mkdir -p ~/.local/bin
#- export PATH=$HOME/.local/bin:$PATH
## start local petstore server
#- git clone -b docker --single-branch https://github.com/wing328/swagger-samples
#- cd swagger-samples/java/java-jersey-jaxrs
#- sudo mvn jetty:run &
#- cd $SW
# show host table to confirm petstore.swagger.io is mapped to localhost
- cat /etc/hosts
@@ -64,4 +34,4 @@ before_install:
script:
# run integration tests defined in maven pom.xml
- mvn -q --batch-mode verify -Psamples
- mvn --no-snapshot-updates -q --batch-mode verify -Psamples.ios -Dmaven.javadoc.skip=true

View File

@@ -7,60 +7,56 @@ NODE_INDEX=${CIRCLE_NODE_INDEX:-0}
set -e
function cleanup {
# Show logs of 'petstore.swagger' container to troubleshoot Unit Test failures, if any.
docker logs petstore.swagger # container name specified in circle.yml
}
trap cleanup EXIT
if [ "$NODE_INDEX" = "1" ]; then
echo "Running node $NODE_INDEX to test 'samples.circleci' defined in pom.xml ..."
#cp CI/pom.xml.circleci pom.xml
java -version
mvn --quiet verify -Psamples.circleci
mvn --quiet javadoc:javadoc -Psamples.circleci
# generate all petstore samples (client, servers, doc)
./bin/run-all-petstore
# generate all petstore samples (openapi3)
./bin/openapi3/run-all-petstore
# generate test scripts
./bin/tests/run-all-test
# test all generators with fake petstore spec (2.0, 3.0)
./bin/utils/test-fake-petstore-for-all.sh
mvn --no-snapshot-updates --quiet verify -Psamples.circleci -Dorg.slf4j.simpleLogger.defaultLogLevel=error
echo "show ivy2 cache"
ls -l /home/circleci/.ivy2/cache
elif [ "$NODE_INDEX" = "2" ]; then
# run ensure-up-to-date sample script on SNAPSHOT version only
project_version=`mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout`
if [[ $project_version == *"-SNAPSHOT" ]]; then
echo "Running node $NODE_INDEX to test ensure-up-to-date"
java -version
# install elm-format for formatting elm code
npm install -g elm-format
# symlink elm-format
sudo ln -s /opt/circleci/.nvm/versions/node/v12.1.0/bin/elm-format /usr/local/bin/elm-format
./bin/utils/ensure-up-to-date
fi
#elif [ "$NODE_INDEX" = "3" ]; then
echo "Running node $NODE_INDEX to test haskell"
# install haskell
curl -sSL https://get.haskellstack.org/ | sh
stack upgrade
stack --version
# install r
# prepare r
sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list'
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install r-base
R --version
# install curl
sudo apt-get -y build-dep libcurl4-gnutls-dev
sudo apt-get -y install libcurl4-gnutls-dev
# run integration tests
mvn --quiet verify -Psamples.misc
mvn --no-snapshot-updates --quiet verify -Psamples.misc -Dorg.slf4j.simpleLogger.defaultLogLevel=error
else
echo "Running node $NODE_INDEX to test 'samples.circleci.jdk7' defined in pom.xml ..."
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
echo "Running node $NODE_INDEX to test 'samples.circleci.others' defined in pom.xml ..."
#sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
java -version
#cp CI/pom.xml.circleci.java7 pom.xml
mvn --quiet verify -Psamples.circleci.jdk7
# Install golang version 1.14
go version
sudo mkdir /usr/local/go1.14
wget -c https://dl.google.com/go/go1.14.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local/go1.14
export PATH="/usr/local/go1.14/go/bin:$PATH"
go version
mvn --no-snapshot-updates --quiet verify -Psamples.circleci.others -Dorg.slf4j.simpleLogger.defaultLogLevel=error
mvn --no-snapshot-updates --quiet javadoc:javadoc -Psamples.circleci -Dorg.slf4j.simpleLogger.defaultLogLevel=error
fi

52
CI/deno_install.sh Normal file
View File

@@ -0,0 +1,52 @@
#!/bin/sh
# Copyright 2019 the Deno authors. All rights reserved. MIT license.
# TODO(everyone): Keep this script simple and easily auditable.
set -e
if ! command -v unzip >/dev/null; then
echo "Error: unzip is required to install Deno (see: https://github.com/denoland/deno_install#unzip-is-required)." 1>&2
exit 1
fi
if [ "$OS" = "Windows_NT" ]; then
target="x86_64-pc-windows-msvc"
else
case $(uname -s) in
Darwin) target="x86_64-apple-darwin" ;;
*) target="x86_64-unknown-linux-gnu" ;;
esac
fi
if [ $# -eq 0 ]; then
deno_uri="https://github.com/denoland/deno/releases/latest/download/deno-${target}.zip"
else
deno_uri="https://github.com/denoland/deno/releases/download/${1}/deno-${target}.zip"
fi
deno_install="${DENO_INSTALL:-$HOME/.deno}"
bin_dir="$deno_install/bin"
exe="$bin_dir/deno"
if [ ! -d "$bin_dir" ]; then
mkdir -p "$bin_dir"
fi
curl --fail --location --progress-bar --output "$exe.zip" "$deno_uri"
unzip -d "$bin_dir" -o "$exe.zip"
chmod +x "$exe"
rm "$exe.zip"
echo "Deno was installed successfully to $exe"
if command -v deno >/dev/null; then
echo "Run 'deno --help' to get started"
else
case $SHELL in
/bin/zsh) shell_profile=".zshrc" ;;
*) shell_profile=".bash_profile" ;;
esac
echo "Manually add the directory to your \$HOME/$shell_profile (or similar)"
echo " export DENO_INSTALL=\"$deno_install\""
echo " export PATH=\"\$DENO_INSTALL/bin:\$PATH\""
echo "Run '$exe --help' to get started"
fi

View File

@@ -1,36 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
-->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Org.OpenAPITools\Org.OpenAPITools.csproj">
<Name>Org.OpenAPITools</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="linux-logo.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CompareNETObjects" Version="4.57.0" />
<PackageReference Include="JsonSubTypes" Version="1.5.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
<PackageReference Include="RestSharp" Version="106.6.7" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.5.0" />
</ItemGroup>
</Project>

View File

@@ -1,36 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
-->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Org.OpenAPITools\Org.OpenAPITools.csproj">
<Name>Org.OpenAPITools</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="linux-logo.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CompareNETObjects" Version="4.57.0" />
<PackageReference Include="JsonSubTypes" Version="1.5.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
<PackageReference Include="RestSharp" Version="106.6.7" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.5.0" />
</ItemGroup>
</Project>

View File

@@ -1,91 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
-->
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{19F1DEBC-DE5E-4517-8062-F000CD499087}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Org.OpenAPITools.Test</RootNamespace>
<AssemblyName>Org.OpenAPITools.Test</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Xml" />
<Reference Include="Newtonsoft.Json">
<HintPath Condition="Exists('$(SolutionDir)\packages')">$(SolutionDir)\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath Condition="Exists('..\packages')">..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath Condition="Exists('..\..\packages')">..\..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath Condition="Exists('..\..\vendor')">..\..\vendor\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="JsonSubTypes">
<HintPath Condition="Exists('$(SolutionDir)\packages')">$(SolutionDir)\packages\JsonSubTypes.1.5.2\lib\net45\JsonSubTypes.dll</HintPath>
<HintPath Condition="Exists('..\packages')">..\packages\JsonSubTypes.1.5.2\lib\net45\JsonSubTypes.dll</HintPath>
<HintPath Condition="Exists('..\..\packages')">..\..\packages\JsonSubTypes.1.5.2\lib\net45\JsonSubTypes.dll</HintPath>
<HintPath Condition="Exists('..\..\vendor')">..\..\vendor\JsonSubTypes.1.5.2\lib\net45\JsonSubTypes.dll</HintPath>
</Reference>
<Reference Include="RestSharp">
<HintPath Condition="Exists('$(SolutionDir)\packages')">$(SolutionDir)\packages\RestSharp.105.1.0\lib\net45\RestSharp.dll</HintPath>
<HintPath Condition="Exists('..\packages')">..\packages\RestSharp.105.1.0\lib\net45\RestSharp.dll</HintPath>
<HintPath Condition="Exists('..\..\packages')">..\..\packages\RestSharp.105.1.0\lib\net45\RestSharp.dll</HintPath>
<HintPath Condition="Exists('..\..\vendor')">..\..\vendor\RestSharp.105.1.0\lib\net45\RestSharp.dll</HintPath>
</Reference>
<Reference Include="nunit.framework">
<HintPath Condition="Exists('$(SolutionDir)\packages')">$(SolutionDir)\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
<HintPath Condition="Exists('..\packages')">..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
<HintPath Condition="Exists('..\..\packages')">..\..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
<HintPath Condition="Exists('..\..\vendor')">..\..\vendor\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="obj\**" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MsBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<ProjectReference Include="..\Org.OpenAPITools\Org.OpenAPITools.csproj">
<Project>{321C8C3F-0156-40C1-AE42-D59761FB9B6C}</Project>
<Name>Org.OpenAPITools</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="linux-logo.png" />
</ItemGroup>
</Project>

View File

@@ -1,122 +0,0 @@
apply plugin: 'idea'
apply plugin: 'eclipse'
group = 'org.openapitools'
version = '1.0.0'
buildscript {
repositories {
jcenter {
url "https://jcenter.bintray.com/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.+'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
}
}
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
if(hasProperty('target') && target == 'android') {
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 25
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
// Rename the aar correctly
libraryVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.aar')) {
def fileName = "${project.name}-${variant.baseName}-${version}.aar"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
dependencies {
provided 'javax.annotation:jsr250-api:1.0'
}
}
afterEvaluate {
android.libraryVariants.all { variant ->
def task = project.tasks.create "jar${variant.name.capitalize()}", Jar
task.description = "Create jar artifact for ${variant.name}"
task.dependsOn variant.javaCompile
task.from variant.javaCompile.destinationDir
task.destinationDir = project.file("${project.buildDir}/outputs/jar")
task.archiveName = "${project.name}-${variant.baseName}-${version}.jar"
artifacts.add('archives', task);
}
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
artifacts {
archives sourcesJar
}
} else {
apply plugin: 'java'
apply plugin: 'maven'
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6
install {
repositories.mavenInstaller {
pom.artifactId = 'petstore-jersey2-java6'
}
}
task execute(type:JavaExec) {
main = System.getProperty('mainClass')
classpath = sourceSets.main.runtimeClasspath
}
}
ext {
swagger_annotations_version = "1.5.20"
jackson_version = "2.9.6"
jersey_version = "2.6"
commons_io_version=2.5
commons_lang3_version=3.6
junit_version = "4.12"
threetenbp_version = "2.6.4"
}
dependencies {
compile "io.swagger:swagger-annotations:$swagger_annotations_version"
compile "org.glassfish.jersey.core:jersey-client:$jersey_version"
compile "org.glassfish.jersey.media:jersey-media-multipart:$jersey_version"
compile "org.glassfish.jersey.media:jersey-media-json-jackson:$jersey_version"
compile "com.fasterxml.jackson.core:jackson-core:$jackson_version"
compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version"
compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
compile "commons-io:commons-io:$commons_io_version"
compile "org.apache.commons:commons-lang3:$commons_lang3_version"
compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$threetenbp_version"
compile "com.brsanthu:migbase64:2.2"
testCompile "junit:junit:$junit_version"
}

View File

@@ -1,292 +0,0 @@
package org.openapitools.client;
import org.openapitools.client.auth.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import org.junit.*;
import static org.junit.Assert.*;
public class ApiClientTest {
ApiClient apiClient = null;
@Before
public void setup() {
apiClient = new ApiClient();
}
@Test
public void testParseAndFormatDate() {
// default date format
String dateStr = "2015-11-07T03:49:09.356Z";
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09.356+00:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09.356Z")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T05:49:09.356+02:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00")));
// custom date format: without milli-seconds, custom time zone
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT);
format.setTimeZone(TimeZone.getTimeZone("GMT+10"));
apiClient.setDateFormat(format);
dateStr = "2015-11-07T13:49:09+10:00";
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09+00:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09Z")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T00:49:09-03:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T13:49:09+10:00")));
}
@Test
public void testIsJsonMime() {
assertFalse(apiClient.isJsonMime(null));
assertFalse(apiClient.isJsonMime(""));
assertFalse(apiClient.isJsonMime("text/plain"));
assertFalse(apiClient.isJsonMime("application/xml"));
assertFalse(apiClient.isJsonMime("application/jsonp"));
assertFalse(apiClient.isJsonMime("example/json"));
assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
assertTrue(apiClient.isJsonMime("application/json"));
assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
assertTrue(apiClient.isJsonMime("application/problem+json"));
assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
assertTrue(apiClient.isJsonMime("application/json\t"));
assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
}
@Test
public void testSelectHeaderAccept() {
String[] accepts = {"application/json", "application/xml"};
assertEquals("application/json", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"APPLICATION/XML", "APPLICATION/JSON"};
assertEquals("APPLICATION/JSON", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals("application/json; charset=UTF8", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"text/plain", "application/xml"};
assertEquals("text/plain,application/xml", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{};
assertNull(apiClient.selectHeaderAccept(accepts));
}
@Test
public void testSelectHeaderContentType() {
String[] contentTypes = {"application/json", "application/xml"};
assertEquals("application/json", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"APPLICATION/JSON", "APPLICATION/XML"};
assertEquals("APPLICATION/JSON", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals("application/json; charset=UTF8", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"text/plain", "application/xml"};
assertEquals("text/plain", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{};
assertEquals("application/json", apiClient.selectHeaderContentType(contentTypes));
}
@Test
public void testGetAuthentications() {
Map<String, Authentication> auths = apiClient.getAuthentications();
Authentication auth = auths.get("api_key");
assertNotNull(auth);
assertTrue(auth instanceof ApiKeyAuth);
ApiKeyAuth apiKeyAuth = (ApiKeyAuth) auth;
assertEquals("header", apiKeyAuth.getLocation());
assertEquals("api_key", apiKeyAuth.getParamName());
auth = auths.get("petstore_auth");
assertTrue(auth instanceof OAuth);
assertSame(auth, apiClient.getAuthentication("petstore_auth"));
assertNull(auths.get("unknown"));
try {
auths.put("my_auth", new HttpBasicAuth());
fail("the authentications returned should not be modifiable");
} catch (UnsupportedOperationException e) {
}
}
@Ignore("There is no more basic auth in petstore security definitions")
@Test
public void testSetUsernameAndPassword() {
HttpBasicAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof HttpBasicAuth) {
auth = (HttpBasicAuth) _auth;
break;
}
}
auth.setUsername(null);
auth.setPassword(null);
apiClient.setUsername("my-username");
apiClient.setPassword("my-password");
assertEquals("my-username", auth.getUsername());
assertEquals("my-password", auth.getPassword());
// reset values
auth.setUsername(null);
auth.setPassword(null);
}
@Test
public void testSetApiKeyAndPrefix() {
ApiKeyAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof ApiKeyAuth) {
auth = (ApiKeyAuth) _auth;
break;
}
}
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
apiClient.setApiKey("my-api-key");
apiClient.setApiKeyPrefix("Token");
assertEquals("my-api-key", auth.getApiKey());
assertEquals("Token", auth.getApiKeyPrefix());
// reset values
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
}
@Test
public void testParameterToPairWhenNameIsInvalid() throws Exception {
List<Pair> pairs_a = apiClient.parameterToPair(null, new Integer(1));
List<Pair> pairs_b = apiClient.parameterToPair("", new Integer(1));
assertTrue(pairs_a.isEmpty());
assertTrue(pairs_b.isEmpty());
}
@Test
public void testParameterToPairWhenValueIsNull() throws Exception {
List<Pair> pairs = apiClient.parameterToPair("param-a", null);
assertTrue(pairs.isEmpty());
}
@Test
public void testParameterToPairWhenValueIsEmptyString() throws Exception {
// single empty string
List<Pair> pairs = apiClient.parameterToPair("param-a", " ");
assertEquals(1, pairs.size());
}
@Test
public void testParameterToPairWhenValueIsNotCollection() throws Exception {
String name = "param-a";
Integer value = 1;
List<Pair> pairs = apiClient.parameterToPair(name, value);
assertEquals(1, pairs.size());
assertEquals(value, Integer.valueOf(pairs.get(0).getValue()));
}
@Test
public void testParameterToPairWhenValueIsCollection() throws Exception {
List<Object> values = new ArrayList<Object>();
values.add("value-a");
values.add(123);
values.add(new Date());
List<Pair> pairs = apiClient.parameterToPair("param-a", values);
assertEquals(0, pairs.size());
}
@Test
public void testParameterToPairsWhenNameIsInvalid() throws Exception {
List<Integer> objects = new ArrayList<Integer>();
objects.add(new Integer(1));
List<Pair> pairs_a = apiClient.parameterToPairs("csv", null, objects);
List<Pair> pairs_b = apiClient.parameterToPairs("csv", "", objects);
assertTrue(pairs_a.isEmpty());
assertTrue(pairs_b.isEmpty());
}
@Test
public void testParameterToPairsWhenValueIsNull() throws Exception {
List<Pair> pairs = apiClient.parameterToPairs("csv", "param-a", null);
assertTrue(pairs.isEmpty());
}
@Test
public void testParameterToPairsWhenValueIsEmptyStrings() throws Exception {
// list of empty strings
List<String> strs = new ArrayList<String>();
strs.add(" ");
strs.add(" ");
strs.add(" ");
List<Pair> concatStrings = apiClient.parameterToPairs("csv", "param-a", strs);
assertEquals(1, concatStrings.size());
assertFalse(concatStrings.get(0).getValue().isEmpty()); // should contain some delimiters
}
@Test
public void testParameterToPairsWhenValueIsCollection() throws Exception {
Map<String, String> collectionFormatMap = new HashMap<String, String>();
collectionFormatMap.put("csv", ",");
collectionFormatMap.put("tsv", "\t");
collectionFormatMap.put("ssv", " ");
collectionFormatMap.put("pipes", "|");
collectionFormatMap.put("", ","); // no format, must default to csv
collectionFormatMap.put("unknown", ","); // all other formats, must default to csv
String name = "param-a";
List<Object> values = new ArrayList<Object>();
values.add("value-a");
values.add(123);
values.add(new Date());
// check for multi separately
List<Pair> multiPairs = apiClient.parameterToPairs("multi", name, values);
assertEquals(values.size(), multiPairs.size());
for (int i = 0; i < values.size(); i++) {
assertEquals(apiClient.escapeString(apiClient.parameterToString(values.get(i))), multiPairs.get(i).getValue());
}
// all other formats
for (String collectionFormat : collectionFormatMap.keySet()) {
List<Pair> pairs = apiClient.parameterToPairs(collectionFormat, name, values);
assertEquals(1, pairs.size());
String delimiter = collectionFormatMap.get(collectionFormat);
if (!delimiter.equals(",")) {
// commas are not escaped because they are reserved characters in URIs
delimiter = apiClient.escapeString(delimiter);
}
String[] pairValueSplit = pairs.get(0).getValue().split(delimiter);
// must equal input values
assertEquals(values.size(), pairValueSplit.length);
for (int i = 0; i < values.size(); i++) {
assertEquals(apiClient.escapeString(apiClient.parameterToString(values.get(i))), pairValueSplit[i]);
}
}
}
}

View File

@@ -1,47 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.openapitools.client.Pair;
import org.junit.*;
import static org.junit.Assert.*;
public class ApiKeyAuthTest {
@Test
public void testApplyToParamsInQuery() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("query", "api_key");
auth.setApiKey("my-api-key");
auth.applyToParams(queryParams, headerParams);
assertEquals(1, queryParams.size());
for (Pair queryParam : queryParams) {
assertEquals("my-api-key", queryParam.getValue());
}
// no changes to header parameters
assertEquals(0, headerParams.size());
}
@Test
public void testApplyToParamsInHeaderWithPrefix() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("header", "X-API-TOKEN");
auth.setApiKey("my-api-token");
auth.setApiKeyPrefix("Token");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
assertEquals("Token my-api-token", headerParams.get("X-API-TOKEN"));
}
}

View File

@@ -1,52 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.openapitools.client.Pair;
import org.junit.*;
import static org.junit.Assert.*;
public class HttpBasicAuthTest {
HttpBasicAuth auth = null;
@Before
public void setup() {
auth = new HttpBasicAuth();
}
@Test
public void testApplyToParams() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
auth.setUsername("my-username");
auth.setPassword("my-password");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
// the string below is base64-encoded result of "my-username:my-password" with the "Basic " prefix
String expected = "Basic bXktdXNlcm5hbWU6bXktcGFzc3dvcmQ=";
assertEquals(expected, headerParams.get("Authorization"));
// null username should be treated as empty string
auth.setUsername(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of ":my-password" with the "Basic " prefix
expected = "Basic Om15LXBhc3N3b3Jk";
assertEquals(expected, headerParams.get("Authorization"));
// null password should be treated as empty string
auth.setUsername("my-username");
auth.setPassword(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of "my-username:" with the "Basic " prefix
expected = "Basic bXktdXNlcm5hbWU6";
assertEquals(expected, headerParams.get("Authorization"));
}
}

View File

@@ -1,63 +0,0 @@
package org.openapitools.client.model;
import org.junit.Test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.SerializationFeature;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class EnumValueTest {
@Test
public void testEnumClass() {
assertEquals(EnumClass._ABC.toString(), "_abc");
assertEquals(EnumClass._EFG.toString(), "-efg");
assertEquals(EnumClass._XYZ_.toString(), "(xyz)");
}
@Test
public void testEnumTest() {
// test enum value
EnumTest enumTest = new EnumTest();
enumTest.setEnumString(EnumTest.EnumStringEnum.LOWER);
enumTest.setEnumInteger(EnumTest.EnumIntegerEnum.NUMBER_1);
enumTest.setEnumNumber(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1);
assertEquals(EnumTest.EnumStringEnum.UPPER.toString(), "UPPER");
assertEquals(EnumTest.EnumStringEnum.UPPER.getValue(), "UPPER");
assertEquals(EnumTest.EnumStringEnum.LOWER.toString(), "lower");
assertEquals(EnumTest.EnumStringEnum.LOWER.getValue(), "lower");
assertEquals(EnumTest.EnumIntegerEnum.NUMBER_1.toString(), "1");
assertTrue(EnumTest.EnumIntegerEnum.NUMBER_1.getValue() == 1);
assertEquals(EnumTest.EnumIntegerEnum.NUMBER_MINUS_1.toString(), "-1");
assertTrue(EnumTest.EnumIntegerEnum.NUMBER_MINUS_1.getValue() == -1);
assertEquals(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1.toString(), "1.1");
assertTrue(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1.getValue() == 1.1);
assertEquals(EnumTest.EnumNumberEnum.NUMBER_MINUS_1_DOT_2.toString(), "-1.2");
assertTrue(EnumTest.EnumNumberEnum.NUMBER_MINUS_1_DOT_2.getValue() == -1.2);
try {
// test serialization (object => json)
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
ObjectWriter ow = mapper.writer();
String json = ow.writeValueAsString(enumTest);
assertEquals(json, "{\"enum_string\":\"lower\",\"enum_string_required\":null,\"enum_integer\":1,\"enum_number\":1.1,\"outerEnum\":null}");
// test deserialization (json => object)
EnumTest fromString = mapper.readValue(json, EnumTest.class);
assertEquals(fromString.getEnumString().toString(), "lower");
assertEquals(fromString.getEnumInteger().toString(), "1");
assertEquals(fromString.getEnumNumber().toString(), "1.1");
} catch (Exception e) {
fail("Exception thrown during serialization/deserialzation of JSON: " + e.getMessage());
}
}
}

View File

@@ -1,45 +0,0 @@
package org.openapitools.client;
import org.openapitools.client.model.Order;
import java.lang.Exception;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import org.junit.*;
import static org.junit.Assert.*;
public class JSONTest {
JSON json = null;
Order order = null;
@Before
public void setup() {
json = new JSON();
order = new Order();
}
@Test
public void testDefaultDate() throws Exception {
final DateTimeFormatter dateFormat = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
final String dateStr = "2015-11-07T14:11:05.267Z";
order.setShipDate(dateFormat.parse(dateStr, OffsetDateTime::from));
String str = json.getContext(null).writeValueAsString(order);
Order o = json.getContext(null).readValue(str, Order.class);
assertEquals(dateStr, dateFormat.format(o.getShipDate()));
}
@Test
public void testCustomDate() throws Exception {
final DateTimeFormatter dateFormat = DateTimeFormatter.ISO_OFFSET_DATE_TIME.withZone(ZoneId.of("Etc/GMT+2"));
final String dateStr = "2015-11-07T14:11:05-02:00";
order.setShipDate(dateFormat.parse(dateStr, OffsetDateTime::from));
String str = json.getContext(null).writeValueAsString(order);
Order o = json.getContext(null).readValue(str, Order.class);
assertEquals(dateStr, dateFormat.format(o.getShipDate()));
}
}

View File

@@ -1,250 +0,0 @@
package org.openapitools.client;
import org.openapitools.client.auth.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import org.junit.*;
import static org.junit.Assert.*;
public class ApiClientTest {
ApiClient apiClient = null;
@Before
public void setup() {
apiClient = new ApiClient();
}
@Test
public void testParseAndFormatDate() {
// default date format
String dateStr = "2015-11-07T03:49:09.356Z";
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09.356+00:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09.356Z")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T05:49:09.356+02:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00")));
// custom date format: without milli-seconds, custom time zone
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT);
format.setTimeZone(TimeZone.getTimeZone("GMT+10"));
apiClient.setDateFormat(format);
dateStr = "2015-11-07T13:49:09+10:00";
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09+00:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09Z")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T00:49:09-03:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T13:49:09+10:00")));
}
@Test
public void testIsJsonMime() {
assertFalse(apiClient.isJsonMime(null));
assertFalse(apiClient.isJsonMime(""));
assertFalse(apiClient.isJsonMime("text/plain"));
assertFalse(apiClient.isJsonMime("application/xml"));
assertFalse(apiClient.isJsonMime("application/jsonp"));
assertFalse(apiClient.isJsonMime("example/json"));
assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
assertTrue(apiClient.isJsonMime("application/json"));
assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
assertTrue(apiClient.isJsonMime("application/problem+json"));
assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
assertTrue(apiClient.isJsonMime("application/json\t"));
assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
}
@Test
public void testSelectHeaderAccept() {
String[] accepts = {"application/json", "application/xml"};
assertEquals("application/json", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"APPLICATION/XML", "APPLICATION/JSON"};
assertEquals("APPLICATION/JSON", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals("application/json; charset=UTF8", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"text/plain", "application/xml"};
assertEquals("text/plain,application/xml", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{};
assertNull(apiClient.selectHeaderAccept(accepts));
}
@Test
public void testSelectHeaderContentType() {
String[] contentTypes = {"application/json", "application/xml"};
assertEquals("application/json", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"APPLICATION/JSON", "APPLICATION/XML"};
assertEquals("APPLICATION/JSON", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals("application/json; charset=UTF8", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"text/plain", "application/xml"};
assertEquals("text/plain", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{};
assertEquals("application/json", apiClient.selectHeaderContentType(contentTypes));
}
@Test
public void testGetAuthentications() {
Map<String, Authentication> auths = apiClient.getAuthentications();
Authentication auth = auths.get("api_key");
assertNotNull(auth);
assertTrue(auth instanceof ApiKeyAuth);
ApiKeyAuth apiKeyAuth = (ApiKeyAuth) auth;
assertEquals("header", apiKeyAuth.getLocation());
assertEquals("api_key", apiKeyAuth.getParamName());
auth = auths.get("petstore_auth");
assertTrue(auth instanceof OAuth);
assertSame(auth, apiClient.getAuthentication("petstore_auth"));
assertNull(auths.get("unknown"));
try {
auths.put("my_auth", new HttpBasicAuth());
fail("the authentications returned should not be modifiable");
} catch (UnsupportedOperationException e) {
}
}
@Ignore("There is no more basic auth in petstore security definitions")
@Test
public void testSetUsernameAndPassword() {
HttpBasicAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof HttpBasicAuth) {
auth = (HttpBasicAuth) _auth;
break;
}
}
auth.setUsername(null);
auth.setPassword(null);
apiClient.setUsername("my-username");
apiClient.setPassword("my-password");
assertEquals("my-username", auth.getUsername());
assertEquals("my-password", auth.getPassword());
// reset values
auth.setUsername(null);
auth.setPassword(null);
}
@Test
public void testSetApiKeyAndPrefix() {
ApiKeyAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof ApiKeyAuth) {
auth = (ApiKeyAuth) _auth;
break;
}
}
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
apiClient.setApiKey("my-api-key");
apiClient.setApiKeyPrefix("Token");
assertEquals("my-api-key", auth.getApiKey());
assertEquals("Token", auth.getApiKeyPrefix());
// reset values
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
}
@Test
public void testParameterToPairsWhenNameIsInvalid() throws Exception {
List<Pair> pairs_a = apiClient.parameterToPairs("csv", null, new Integer(1));
List<Pair> pairs_b = apiClient.parameterToPairs("csv", "", new Integer(1));
assertTrue(pairs_a.isEmpty());
assertTrue(pairs_b.isEmpty());
}
@Test
public void testParameterToPairsWhenValueIsNull() throws Exception {
List<Pair> pairs = apiClient.parameterToPairs("csv", "param-a", null);
assertTrue(pairs.isEmpty());
}
@Test
public void testParameterToPairsWhenValueIsEmptyStrings() throws Exception {
// single empty string
List<Pair> pairs = apiClient.parameterToPairs("csv", "param-a", " ");
assertEquals(1, pairs.size());
// list of empty strings
List<String> strs = new ArrayList<String>();
strs.add(" ");
strs.add(" ");
strs.add(" ");
List<Pair> concatStrings = apiClient.parameterToPairs("csv", "param-a", strs);
assertEquals(1, concatStrings.size());
assertFalse(concatStrings.get(0).getValue().isEmpty()); // should contain some delimiters
}
@Test
public void testParameterToPairsWhenValueIsNotCollection() throws Exception {
String name = "param-a";
Integer value = 1;
List<Pair> pairs = apiClient.parameterToPairs("csv", name, value);
assertEquals(1, pairs.size());
assertEquals(value, Integer.valueOf(pairs.get(0).getValue()));
}
@Test
public void testParameterToPairsWhenValueIsCollection() throws Exception {
Map<String, String> collectionFormatMap = new HashMap<String, String>();
collectionFormatMap.put("csv", ",");
collectionFormatMap.put("tsv", "\t");
collectionFormatMap.put("ssv", " ");
collectionFormatMap.put("pipes", "\\|");
collectionFormatMap.put("", ","); // no format, must default to csv
collectionFormatMap.put("unknown", ","); // all other formats, must default to csv
String name = "param-a";
List<Object> values = new ArrayList<Object>();
values.add("value-a");
values.add(123);
values.add(new Date());
// check for multi separately
List<Pair> multiPairs = apiClient.parameterToPairs("multi", name, values);
assertEquals(values.size(), multiPairs.size());
// all other formats
for (String collectionFormat : collectionFormatMap.keySet()) {
List<Pair> pairs = apiClient.parameterToPairs(collectionFormat, name, values);
assertEquals(1, pairs.size());
String delimiter = collectionFormatMap.get(collectionFormat);
String[] pairValueSplit = pairs.get(0).getValue().split(delimiter);
// must equal input values
assertEquals(values.size(), pairValueSplit.length);
}
}
}

View File

@@ -1,58 +0,0 @@
package org.openapitools.client;
import org.openapitools.client.model.Order;
import org.junit.Before;
import org.junit.Test;
import org.threeten.bp.OffsetDateTime;
import org.threeten.bp.ZoneId;
import org.threeten.bp.format.DateTimeFormatter;
import static org.junit.Assert.*;
public class JSONTest {
private JSON json = null;
private Order order = null;
@Before
public void setup() {
json = new ApiClient().getJSON();
order = new Order();
}
@Test
public void testDefaultDate() throws Exception {
final DateTimeFormatter dateFormat = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
final String dateStr = "2015-11-07T14:11:05.267Z";
order.setShipDate(dateFormat.parse(dateStr, OffsetDateTime.FROM));
String str = json.getContext(null).writeValueAsString(order);
Order o = json.getContext(null).readValue(str, Order.class);
assertEquals(dateStr, dateFormat.format(o.getShipDate()));
}
@Test
public void testCustomDate() throws Exception {
final DateTimeFormatter dateFormat = DateTimeFormatter.ISO_OFFSET_DATE_TIME.withZone(ZoneId.of("Etc/GMT+2"));
final String dateStr = "2015-11-07T14:11:05-02:00";
order.setShipDate(dateFormat.parse(dateStr, OffsetDateTime.FROM));
String str = json.getContext(null).writeValueAsString(order);
Order o = json.getContext(null).readValue(str, Order.class);
assertEquals(dateStr, dateFormat.format(o.getShipDate()));
}
@Test
public void testSqlDateSerialization() throws Exception {
String str = json.getContext(null).writeValueAsString(new java.sql.Date(10));
assertEquals("\"1970-01-01\"", str);
}
@Test
public void testSqlDateDeserialization() throws Exception {
final String str = "1970-01-01";
java.sql.Date date = json.getContext(null).readValue("\"" + str + "\"", java.sql.Date.class);
assertEquals(date.toString(), str);
}
}

View File

@@ -1,47 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.openapitools.client.Pair;
import org.junit.*;
import static org.junit.Assert.*;
public class ApiKeyAuthTest {
@Test
public void testApplyToParamsInQuery() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("query", "api_key");
auth.setApiKey("my-api-key");
auth.applyToParams(queryParams, headerParams);
assertEquals(1, queryParams.size());
for (Pair queryParam : queryParams) {
assertEquals("my-api-key", queryParam.getValue());
}
// no changes to header parameters
assertEquals(0, headerParams.size());
}
@Test
public void testApplyToParamsInHeaderWithPrefix() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("header", "X-API-TOKEN");
auth.setApiKey("my-api-token");
auth.setApiKeyPrefix("Token");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
assertEquals("Token my-api-token", headerParams.get("X-API-TOKEN"));
}
}

View File

@@ -1,52 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.openapitools.client.Pair;
import org.junit.*;
import static org.junit.Assert.*;
public class HttpBasicAuthTest {
HttpBasicAuth auth = null;
@Before
public void setup() {
auth = new HttpBasicAuth();
}
@Test
public void testApplyToParams() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
auth.setUsername("my-username");
auth.setPassword("my-password");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
// the string below is base64-encoded result of "my-username:my-password" with the "Basic " prefix
String expected = "Basic bXktdXNlcm5hbWU6bXktcGFzc3dvcmQ=";
assertEquals(expected, headerParams.get("Authorization"));
// null username should be treated as empty string
auth.setUsername(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of ":my-password" with the "Basic " prefix
expected = "Basic Om15LXBhc3N3b3Jk";
assertEquals(expected, headerParams.get("Authorization"));
// null password should be treated as empty string
auth.setUsername("my-username");
auth.setPassword(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of "my-username:" with the "Basic " prefix
expected = "Basic bXktdXNlcm5hbWU6";
assertEquals(expected, headerParams.get("Authorization"));
}
}

View File

@@ -1,63 +0,0 @@
package org.openapitools.client.model;
import org.junit.Test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.SerializationFeature;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class EnumValueTest {
@Test
public void testEnumClass() {
assertEquals(EnumClass._ABC.toString(), "_abc");
assertEquals(EnumClass._EFG.toString(), "-efg");
assertEquals(EnumClass._XYZ_.toString(), "(xyz)");
}
@Test
public void testEnumTest() {
// test enum value
EnumTest enumTest = new EnumTest();
enumTest.setEnumString(EnumTest.EnumStringEnum.LOWER);
enumTest.setEnumInteger(EnumTest.EnumIntegerEnum.NUMBER_1);
enumTest.setEnumNumber(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1);
assertEquals(EnumTest.EnumStringEnum.UPPER.toString(), "UPPER");
assertEquals(EnumTest.EnumStringEnum.UPPER.getValue(), "UPPER");
assertEquals(EnumTest.EnumStringEnum.LOWER.toString(), "lower");
assertEquals(EnumTest.EnumStringEnum.LOWER.getValue(), "lower");
assertEquals(EnumTest.EnumIntegerEnum.NUMBER_1.toString(), "1");
assertTrue(EnumTest.EnumIntegerEnum.NUMBER_1.getValue() == 1);
assertEquals(EnumTest.EnumIntegerEnum.NUMBER_MINUS_1.toString(), "-1");
assertTrue(EnumTest.EnumIntegerEnum.NUMBER_MINUS_1.getValue() == -1);
assertEquals(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1.toString(), "1.1");
assertTrue(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1.getValue() == 1.1);
assertEquals(EnumTest.EnumNumberEnum.NUMBER_MINUS_1_DOT_2.toString(), "-1.2");
assertTrue(EnumTest.EnumNumberEnum.NUMBER_MINUS_1_DOT_2.getValue() == -1.2);
try {
// test serialization (object => json)
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
ObjectWriter ow = mapper.writer();
String json = ow.writeValueAsString(enumTest);
assertEquals(json, "{\"enum_string\":\"lower\",\"enum_string_required\":null,\"enum_integer\":1,\"enum_number\":1.1,\"outerEnum\":null}");
// test deserialization (json => object)
EnumTest fromString = mapper.readValue(json, EnumTest.class);
assertEquals(fromString.getEnumString().toString(), "lower");
assertEquals(fromString.getEnumInteger().toString(), "1");
assertEquals(fromString.getEnumNumber().toString(), "1.1");
} catch (Exception e) {
fail("Exception thrown during serialization/deserialzation of JSON: " + e.getMessage());
}
}
}

View File

@@ -1,352 +0,0 @@
package org.openapitools.client;
import okhttp3.OkHttpClient;
import org.openapitools.client.auth.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.TimeZone;
import org.junit.*;
import static org.junit.Assert.*;
public class ApiClientTest {
ApiClient apiClient;
JSON json;
@Before
public void setup() {
apiClient = new ApiClient();
json = apiClient.getJSON();
}
@Test
public void testIsJsonMime() {
assertFalse(apiClient.isJsonMime(null));
assertFalse(apiClient.isJsonMime(""));
assertFalse(apiClient.isJsonMime("text/plain"));
assertFalse(apiClient.isJsonMime("application/xml"));
assertFalse(apiClient.isJsonMime("application/jsonp"));
assertFalse(apiClient.isJsonMime("example/json"));
assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
assertTrue(apiClient.isJsonMime("application/json"));
assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
assertTrue(apiClient.isJsonMime("application/problem+json"));
assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
assertTrue(apiClient.isJsonMime("application/json\t"));
assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
assertTrue(apiClient.isJsonMime("application/json-patch+json"));
}
@Test
public void testSelectHeaderAccept() {
String[] accepts = {"application/json", "application/xml"};
assertEquals("application/json", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"APPLICATION/XML", "APPLICATION/JSON"};
assertEquals("APPLICATION/JSON", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals("application/json; charset=UTF8", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"text/plain", "application/xml"};
assertEquals("text/plain,application/xml", apiClient.selectHeaderAccept(accepts));
accepts = new String[]{};
assertNull(apiClient.selectHeaderAccept(accepts));
}
@Test
public void testSelectHeaderContentType() {
String[] contentTypes = {"application/json", "application/xml"};
assertEquals("application/json", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"APPLICATION/JSON", "APPLICATION/XML"};
assertEquals("APPLICATION/JSON", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals("application/json; charset=UTF8", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"text/plain", "application/xml"};
assertEquals("text/plain", apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{};
assertEquals("application/json", apiClient.selectHeaderContentType(contentTypes));
}
@Test
public void testGetAuthentications() {
Map<String, Authentication> auths = apiClient.getAuthentications();
Authentication auth = auths.get("api_key");
assertNotNull(auth);
assertTrue(auth instanceof ApiKeyAuth);
ApiKeyAuth apiKeyAuth = (ApiKeyAuth) auth;
assertEquals("header", apiKeyAuth.getLocation());
assertEquals("api_key", apiKeyAuth.getParamName());
auth = auths.get("petstore_auth");
assertTrue(auth instanceof OAuth);
assertSame(auth, apiClient.getAuthentication("petstore_auth"));
assertNull(auths.get("unknown"));
try {
auths.put("my_auth", new HttpBasicAuth());
fail("the authentications returned should not be modifiable");
} catch (UnsupportedOperationException e) {
}
}
/*
@Test
public void testSetUsernameAndPassword() {
HttpBasicAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof HttpBasicAuth) {
auth = (HttpBasicAuth) _auth;
break;
}
}
auth.setUsername(null);
auth.setPassword(null);
apiClient.setUsername("my-username");
apiClient.setPassword("my-password");
assertEquals("my-username", auth.getUsername());
assertEquals("my-password", auth.getPassword());
// reset values
auth.setUsername(null);
auth.setPassword(null);
}
*/
@Test
public void testSetApiKeyAndPrefix() {
ApiKeyAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof ApiKeyAuth) {
auth = (ApiKeyAuth) _auth;
break;
}
}
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
apiClient.setApiKey("my-api-key");
apiClient.setApiKeyPrefix("Token");
assertEquals("my-api-key", auth.getApiKey());
assertEquals("Token", auth.getApiKeyPrefix());
// reset values
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
}
@Test
public void testGetAndSetConnectTimeout() {
// connect timeout defaults to 10 seconds
assertEquals(10000, apiClient.getConnectTimeout());
assertEquals(10000, apiClient.getHttpClient().connectTimeoutMillis());
apiClient.setConnectTimeout(0);
assertEquals(0, apiClient.getConnectTimeout());
assertEquals(0, apiClient.getHttpClient().connectTimeoutMillis());
apiClient.setConnectTimeout(10000);
}
@Test
public void testGetAndSetReadTimeout() {
// read timeout defaults to 10 seconds
assertEquals(10000, apiClient.getReadTimeout());
assertEquals(10000, apiClient.getHttpClient().readTimeoutMillis());
apiClient.setReadTimeout(0);
assertEquals(0, apiClient.getReadTimeout());
assertEquals(0, apiClient.getHttpClient().readTimeoutMillis());
apiClient.setReadTimeout(10000);
}
@Test
public void testGetAndSetWriteTimeout() {
// write timeout defaults to 10 seconds
assertEquals(10000, apiClient.getWriteTimeout());
assertEquals(10000, apiClient.getHttpClient().writeTimeoutMillis());
apiClient.setWriteTimeout(0);
assertEquals(0, apiClient.getWriteTimeout());
assertEquals(0, apiClient.getHttpClient().writeTimeoutMillis());
apiClient.setWriteTimeout(10000);
}
@Test
public void testParameterToPairWhenNameIsInvalid() throws Exception {
List<Pair> pairs_a = apiClient.parameterToPair(null, new Integer(1));
List<Pair> pairs_b = apiClient.parameterToPair("", new Integer(1));
assertTrue(pairs_a.isEmpty());
assertTrue(pairs_b.isEmpty());
}
@Test
public void testParameterToPairWhenValueIsNull() throws Exception {
List<Pair> pairs = apiClient.parameterToPair("param-a", null);
assertTrue(pairs.isEmpty());
}
@Test
public void testParameterToPairWhenValueIsEmptyString() throws Exception {
// single empty string
List<Pair> pairs = apiClient.parameterToPair("param-a", " ");
assertEquals(1, pairs.size());
}
@Test
public void testParameterToPairWhenValueIsNotCollection() throws Exception {
String name = "param-a";
Integer value = 1;
List<Pair> pairs = apiClient.parameterToPair(name, value);
assertEquals(1, pairs.size());
assertEquals(value, Integer.valueOf(pairs.get(0).getValue()));
}
@Test
public void testParameterToPairWhenValueIsCollection() throws Exception {
List<Object> values = new ArrayList<Object>();
values.add("value-a");
values.add(123);
values.add(new Date());
List<Pair> pairs = apiClient.parameterToPair("param-a", values);
assertEquals(0, pairs.size());
}
@Test
public void testParameterToPairsWhenNameIsInvalid() throws Exception {
List<Integer> objects = new ArrayList<Integer>();
objects.add(new Integer(1));
List<Pair> pairs_a = apiClient.parameterToPairs("csv", null, objects);
List<Pair> pairs_b = apiClient.parameterToPairs("csv", "", objects);
assertTrue(pairs_a.isEmpty());
assertTrue(pairs_b.isEmpty());
}
@Test
public void testParameterToPairsWhenValueIsNull() throws Exception {
List<Pair> pairs = apiClient.parameterToPairs("csv", "param-a", null);
assertTrue(pairs.isEmpty());
}
@Test
public void testParameterToPairsWhenValueIsEmptyStrings() throws Exception {
// list of empty strings
List<String> strs = new ArrayList<String>();
strs.add(" ");
strs.add(" ");
strs.add(" ");
List<Pair> concatStrings = apiClient.parameterToPairs("csv", "param-a", strs);
assertEquals(1, concatStrings.size());
assertFalse(concatStrings.get(0).getValue().isEmpty()); // should contain some delimiters
}
@Test
public void testParameterToPairsWhenValueIsCollection() throws Exception {
Map<String, String> collectionFormatMap = new HashMap<String, String>();
collectionFormatMap.put("csv", ",");
collectionFormatMap.put("tsv", "\t");
collectionFormatMap.put("ssv", " ");
collectionFormatMap.put("pipes", "|");
collectionFormatMap.put("", ","); // no format, must default to csv
collectionFormatMap.put("unknown", ","); // all other formats, must default to csv
String name = "param-a";
List<Object> values = new ArrayList<Object>();
values.add("value-a");
values.add(123);
values.add(new Date());
// check for multi separately
List<Pair> multiPairs = apiClient.parameterToPairs("multi", name, values);
assertEquals(values.size(), multiPairs.size());
for (int i = 0; i < values.size(); i++) {
assertEquals(apiClient.escapeString(apiClient.parameterToString(values.get(i))), multiPairs.get(i).getValue());
}
// all other formats
for (String collectionFormat : collectionFormatMap.keySet()) {
List<Pair> pairs = apiClient.parameterToPairs(collectionFormat, name, values);
assertEquals(1, pairs.size());
String delimiter = collectionFormatMap.get(collectionFormat);
if (!delimiter.equals(",")) {
// commas are not escaped because they are reserved characters in URIs
delimiter = apiClient.escapeString(delimiter);
}
String[] pairValueSplit = pairs.get(0).getValue().split(delimiter);
// must equal input values
assertEquals(values.size(), pairValueSplit.length);
for (int i = 0; i < values.size(); i++) {
assertEquals(apiClient.escapeString(apiClient.parameterToString(values.get(i))), pairValueSplit[i]);
}
}
}
@Test
public void testSanitizeFilename() {
assertEquals("sun", apiClient.sanitizeFilename("sun"));
assertEquals("sun.gif", apiClient.sanitizeFilename("sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename("../sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename("/var/tmp/sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename("./sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename("..\\sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename("\\var\\tmp\\sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename("c:\\var\\tmp\\sun.gif"));
assertEquals("sun.gif", apiClient.sanitizeFilename(".\\sun.gif"));
}
@Test
public void testInterceptorCleanupWithNewClient() {
OkHttpClient oldClient = apiClient.getHttpClient();
assertEquals(1, oldClient.networkInterceptors().size());
OkHttpClient newClient = new OkHttpClient();
apiClient.setHttpClient(newClient);
assertEquals(1, apiClient.getHttpClient().networkInterceptors().size());
apiClient.setHttpClient(newClient);
assertEquals(1, apiClient.getHttpClient().networkInterceptors().size());
}
@Test
public void testInterceptorCleanupWithSameClient() {
OkHttpClient oldClient = apiClient.getHttpClient();
assertEquals(1, oldClient.networkInterceptors().size());
apiClient.setHttpClient(oldClient);
assertEquals(1, apiClient.getHttpClient().networkInterceptors().size());
}
}

View File

@@ -1,533 +0,0 @@
/*
* OpenAPI Petstore
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.client.api;
import org.openapitools.client.ApiException;
import org.openapitools.client.model.Pet;
import org.openapitools.client.auth.*;
import org.openapitools.client.model.*;
import org.openapitools.client.*;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import org.junit.*;
import static org.junit.Assert.*;
/**
* API tests for PetApi
*/
public class PetApiTest {
private PetApi api = new PetApi();
@Before
public void setup() {
// setup authentication
ApiKeyAuth apiKeyAuth = (ApiKeyAuth) api.getApiClient().getAuthentication("api_key");
apiKeyAuth.setApiKey("special-key");
}
@Test
public void testApiClient() {
// the default api client is used
assertEquals(Configuration.getDefaultApiClient(), api.getApiClient());
assertNotNull(api.getApiClient());
assertEquals("http://petstore.swagger.io:80/v2", api.getApiClient().getBasePath());
assertFalse(api.getApiClient().isDebugging());
ApiClient oldClient = api.getApiClient();
ApiClient newClient = new ApiClient();
newClient.setBasePath("http://example.com");
newClient.setDebugging(true);
// set api client via constructor
api = new PetApi(newClient);
assertNotNull(api.getApiClient());
assertEquals("http://example.com", api.getApiClient().getBasePath());
assertTrue(api.getApiClient().isDebugging());
// set api client via setter method
api.setApiClient(oldClient);
assertNotNull(api.getApiClient());
assertEquals("http://petstore.swagger.io:80/v2", api.getApiClient().getBasePath());
assertFalse(api.getApiClient().isDebugging());
}
@Test
public void testCreateAndGetPet() throws Exception {
Pet pet = createPet();
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
assertPetMatches(pet, fetched);
}
@Test
public void testCreateAndGetPetWithHttpInfo() throws Exception {
Pet pet = createPet();
api.addPetWithHttpInfo(pet);
ApiResponse<Pet> resp = api.getPetByIdWithHttpInfo(pet.getId());
assertEquals(200, resp.getStatusCode());
assertEquals("application/json", resp.getHeaders().get("Content-Type").get(0));
Pet fetched = resp.getData();
assertPetMatches(pet, fetched);
}
@Test
public void testCreateAndGetPetAsync() throws Exception {
Pet pet = createPet();
api.addPet(pet);
// to store returned Pet or error message/exception
final Map<String, Object> result = new HashMap<String, Object>();
api.getPetByIdAsync(pet.getId(), new ApiCallback<Pet>() {
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("error", e.getMessage());
}
@Override
public void onSuccess(Pet pet, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("pet", pet);
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
//empty
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
//empty
}
});
// the API call should be executed asynchronously, so result should be empty at the moment
assertTrue(result.isEmpty());
// wait for the asynchronous call to finish (at most 10 seconds)
final int maxTry = 10;
int tryCount = 1;
Pet fetched = null;
do {
if (tryCount > maxTry) fail("have not got result of getPetByIdAsync after 10 seconds");
Thread.sleep(1000);
tryCount += 1;
if (result.get("error") != null) fail((String) result.get("error"));
if (result.get("pet") != null) {
fetched = (Pet) result.get("pet");
break;
}
} while (result.isEmpty());
assertPetMatches(pet, fetched);
// test getting a nonexistent pet
result.clear();
api.getPetByIdAsync(-10000L, new ApiCallback<Pet>() {
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("exception", e);
}
@Override
public void onSuccess(Pet pet, int statusCode, Map<String, List<String>> responseHeaders) {
result.put("pet", pet);
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
//empty
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
//empty
}
});
// wait for the asynchronous call to finish (at most 10 seconds)
tryCount = 1;
ApiException exception = null;
do {
if (tryCount > maxTry) fail("have not got result of getPetByIdAsync after 10 seconds");
Thread.sleep(1000);
tryCount += 1;
if (result.get("pet") != null) fail("expected an error");
if (result.get("exception") != null) {
exception = (ApiException) result.get("exception");
break;
}
} while (result.isEmpty());
assertNotNull(exception);
assertEquals(404, exception.getCode());
assertEquals("Not Found", exception.getMessage());
assertEquals("application/json", exception.getResponseHeaders().get("Content-Type").get(0));
}
@Test
public void testCreateAndGetMultiplePetsAsync() throws Exception {
Pet pet1 = createPet();
Pet pet2 = createPet();
final CountDownLatch addLatch = new CountDownLatch(2);
final TestApiCallback<Void> addCallback1 = new TestApiCallback<Void>(addLatch);
final TestApiCallback<Void> addCallback2 = new TestApiCallback<Void>(addLatch);
// Make 2 simultaneous calls
api.addPetAsync(pet1, addCallback1);
api.addPetAsync(pet2, addCallback2);
// wait for both asynchronous calls to finish (at most 10 seconds)
assertTrue(addLatch.await(10, TimeUnit.SECONDS));
assertTrue(addCallback1.isDone());
assertTrue(addCallback2.isDone());
if (!addCallback1.isSuccess()) throw addCallback1.getException();
if (!addCallback2.isSuccess()) throw addCallback2.getException();
assertValidProgress(addCallback1.getUploadProgress());
assertValidProgress(addCallback2.getUploadProgress());
final CountDownLatch getLatch = new CountDownLatch(3);
final TestApiCallback<Pet> getCallback1 = new TestApiCallback<Pet>(getLatch);
final TestApiCallback<Pet> getCallback2 = new TestApiCallback<Pet>(getLatch);
final TestApiCallback<Pet> getCallback3 = new TestApiCallback<Pet>(getLatch);
api.getPetByIdAsync(pet1.getId(), getCallback1);
api.getPetByIdAsync(pet2.getId(), getCallback2);
// Get nonexistent pet
api.getPetByIdAsync(-10000L, getCallback3);
// wait for all asynchronous calls to finish (at most 10 seconds)
assertTrue(getLatch.await(10, TimeUnit.SECONDS));
assertTrue(getCallback1.isDone());
assertTrue(getCallback2.isDone());
assertTrue(getCallback3.isDone());
if (!getCallback1.isSuccess()) throw getCallback1.getException();
if (!getCallback2.isSuccess()) throw getCallback2.getException();
assertPetMatches(pet1, getCallback1.getResult());
assertPetMatches(pet2, getCallback2.getResult());
assertValidProgress(getCallback1.getDownloadProgress());
assertValidProgress(getCallback2.getDownloadProgress());
// Last callback should fail with ApiException
assertFalse(getCallback3.isSuccess());
final ApiException exception = getCallback3.getException();
assertNotNull(exception);
assertEquals(404, exception.getCode());
}
@Test
public void testUpdatePet() throws Exception {
Pet pet = createPet();
pet.setName("programmer");
api.updatePet(pet);
Pet fetched = api.getPetById(pet.getId());
assertPetMatches(pet, fetched);
}
@Test
public void testFindPetsByStatus() throws Exception {
Pet pet = createPet();
pet.setName("programmer");
pet.setStatus(Pet.StatusEnum.PENDING);
api.updatePet(pet);
List<Pet> pets = api.findPetsByStatus(Arrays.asList("pending"));
assertNotNull(pets);
boolean found = false;
for (Pet fetched : pets) {
if (fetched.getId().equals(pet.getId())) {
found = true;
break;
}
}
assertTrue(found);
api.deletePet(pet.getId(), null);
}
@Test
@Ignore
public void testFindPetsByTags() throws Exception {
Pet pet = createPet();
pet.setName("monster");
pet.setStatus(Pet.StatusEnum.AVAILABLE);
List<Tag> tags = new ArrayList<Tag>();
Tag tag1 = new Tag();
tag1.setName("friendly");
tags.add(tag1);
pet.setTags(tags);
api.updatePet(pet);
List<Pet> pets = api.findPetsByTags(Arrays.asList("friendly"));
assertNotNull(pets);
boolean found = false;
for (Pet fetched : pets) {
if (fetched.getId().equals(pet.getId())) {
found = true;
break;
}
}
assertTrue(found);
api.deletePet(pet.getId(), null);
}
@Test
public void testUpdatePetWithForm() throws Exception {
Pet pet = createPet();
pet.setName("frank");
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
api.updatePetWithForm(fetched.getId(), "furt", null);
Pet updated = api.getPetById(fetched.getId());
assertEquals(updated.getName(), "furt");
}
@Test
public void testDeletePet() throws Exception {
Pet pet = createPet();
api.addPet(pet);
Pet fetched = api.getPetById(pet.getId());
api.deletePet(fetched.getId(), null);
try {
fetched = api.getPetById(fetched.getId());
fail("expected an error");
} catch (ApiException e) {
assertEquals(404, e.getCode());
}
}
@Test
public void testUploadFile() throws Exception {
Pet pet = createPet();
api.addPet(pet);
File file = new File("hello.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write("Hello world!");
writer.close();
api.uploadFile(pet.getId(), "a test file", new File(file.getAbsolutePath()));
}
@Test
public void testEqualsAndHashCode() {
Pet pet1 = new Pet();
Pet pet2 = new Pet();
assertTrue(pet1.equals(pet2));
assertTrue(pet2.equals(pet1));
assertTrue(pet1.hashCode() == pet2.hashCode());
assertTrue(pet1.equals(pet1));
assertTrue(pet1.hashCode() == pet1.hashCode());
pet2.setName("really-happy");
pet2.setPhotoUrls(Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2"));
assertFalse(pet1.equals(pet2));
assertFalse(pet2.equals(pet1));
assertFalse(pet1.hashCode() == (pet2.hashCode()));
assertTrue(pet2.equals(pet2));
assertTrue(pet2.hashCode() == pet2.hashCode());
pet1.setName("really-happy");
pet1.setPhotoUrls(Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2"));
assertTrue(pet1.equals(pet2));
assertTrue(pet2.equals(pet1));
assertTrue(pet1.hashCode() == pet2.hashCode());
assertTrue(pet1.equals(pet1));
assertTrue(pet1.hashCode() == pet1.hashCode());
}
private Pet createPet() {
Pet pet = new Pet();
pet.setId(1234567L);
pet.setName("gorilla");
Category category = new Category();
category.setName("really-happy");
pet.setCategory(category);
pet.setStatus(Pet.StatusEnum.AVAILABLE);
List<String> photos = Arrays.asList("http://foo.bar.com/1", "http://foo.bar.com/2");
pet.setPhotoUrls(photos);
return pet;
}
private String serializeJson(Object o, ApiClient apiClient) {
return apiClient.getJSON().serialize(o);
}
private <T> T deserializeJson(String json, Type type, ApiClient apiClient) {
return (T) apiClient.getJSON().deserialize(json, type);
}
private void assertPetMatches(Pet expected, Pet actual) {
assertNotNull(actual);
assertEquals(expected.getId(), actual.getId());
assertNotNull(actual.getCategory());
assertEquals(expected.getCategory().getName(),
actual.getCategory().getName());
}
/**
* Assert that the given upload/download progress list satisfies the
* following constraints:
*
* - List is not empty
* - Byte count should be nondecreasing
* - The last element, and only the last element, should have done=true
*/
private void assertValidProgress(List<Progress> progressList) {
assertFalse(progressList.isEmpty());
Progress prev = null;
int index = 0;
for (Progress progress : progressList) {
if (prev != null) {
if (prev.done || prev.bytes > progress.bytes) {
fail("Progress list out of order at index " + index
+ ": " + progressList);
}
}
prev = progress;
index += 1;
}
if (!prev.done) {
fail("Last progress item should have done=true: " + progressList);
}
}
private static class TestApiCallback<T> implements ApiCallback<T> {
private final CountDownLatch latch;
private final ConcurrentLinkedQueue<Progress> uploadProgress =
new ConcurrentLinkedQueue<Progress>();
private final ConcurrentLinkedQueue<Progress> downloadProgress =
new ConcurrentLinkedQueue<Progress>();
private boolean done;
private boolean success;
private ApiException exception;
private T result;
public TestApiCallback(CountDownLatch latch) {
this.latch = latch;
this.done = false;
}
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
exception = e;
this.done = true;
this.success = false;
latch.countDown();
}
@Override
public void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders) {
this.result = result;
this.done = true;
this.success = true;
latch.countDown();
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
uploadProgress.add(new Progress(bytesWritten, contentLength, done));
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
downloadProgress.add(new Progress(bytesRead, contentLength, done));
}
public boolean isDone() {
return done;
}
public boolean isSuccess() {
return success;
}
public ApiException getException() {
return exception;
}
public T getResult() {
return result;
}
public List<Progress> getUploadProgress() {
return new ArrayList<Progress>(uploadProgress);
}
public List<Progress> getDownloadProgress() {
return new ArrayList<Progress>(downloadProgress);
}
}
private static class Progress {
public final long bytes;
public final long contentLength;
public final boolean done;
public Progress(long bytes, long contentLength, boolean done) {
this.bytes = bytes;
this.contentLength = contentLength;
this.done = done;
}
@Override
public String toString() {
return "<Progress " + bytes + " " + contentLength + " " + done + ">";
}
}
}

View File

@@ -1,76 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.openapitools.client.Pair;
import org.junit.*;
import static org.junit.Assert.*;
public class ApiKeyAuthTest {
@Test
public void testApplyToParamsInQuery() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("query", "api_key");
auth.setApiKey("my-api-key");
auth.applyToParams(queryParams, headerParams);
assertEquals(1, queryParams.size());
for (Pair queryParam : queryParams) {
assertEquals("my-api-key", queryParam.getValue());
}
// no changes to header parameters
assertEquals(0, headerParams.size());
}
@Test
public void testApplyToParamsInQueryWithNullValue() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("query", "api_key");
auth.setApiKey(null);
auth.applyToParams(queryParams, headerParams);
// no changes to parameters
assertEquals(0, queryParams.size());
assertEquals(0, headerParams.size());
}
@Test
public void testApplyToParamsInHeaderWithPrefix() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("header", "X-API-TOKEN");
auth.setApiKey("my-api-token");
auth.setApiKeyPrefix("Token");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
assertEquals("Token my-api-token", headerParams.get("X-API-TOKEN"));
}
@Test
public void testApplyToParamsInHeaderWithNullValue() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
ApiKeyAuth auth = new ApiKeyAuth("header", "X-API-TOKEN");
auth.setApiKey(null);
auth.setApiKeyPrefix("Token");
auth.applyToParams(queryParams, headerParams);
// no changes to parameters
assertEquals(0, queryParams.size());
assertEquals(0, headerParams.size());
}
}

View File

@@ -1,62 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.openapitools.client.Pair;
import org.junit.*;
import static org.junit.Assert.*;
public class HttpBasicAuthTest {
HttpBasicAuth auth = null;
@Before
public void setup() {
auth = new HttpBasicAuth();
}
@Test
public void testApplyToParams() {
List<Pair> queryParams = new ArrayList<Pair>();
Map<String, String> headerParams = new HashMap<String, String>();
auth.setUsername("my-username");
auth.setPassword("my-password");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
// the string below is base64-encoded result of "my-username:my-password" with the "Basic " prefix
String expected = "Basic bXktdXNlcm5hbWU6bXktcGFzc3dvcmQ=";
assertEquals(expected, headerParams.get("Authorization"));
// null username should be treated as empty string
auth.setUsername(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of ":my-password" with the "Basic " prefix
expected = "Basic Om15LXBhc3N3b3Jk";
assertEquals(expected, headerParams.get("Authorization"));
// null password should be treated as empty string
auth.setUsername("my-username");
auth.setPassword(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of "my-username:" with the "Basic " prefix
expected = "Basic bXktdXNlcm5hbWU6";
assertEquals(expected, headerParams.get("Authorization"));
// null username and password should be ignored
queryParams = new ArrayList<Pair>();
headerParams = new HashMap<String, String>();
auth.setUsername(null);
auth.setPassword(null);
auth.applyToParams(queryParams, headerParams);
// no changes to parameters
assertEquals(0, queryParams.size());
assertEquals(0, headerParams.size());
}
}

View File

@@ -1,70 +0,0 @@
/*
* OpenAPI Petstore
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.client.model;
import org.apache.commons.lang3.builder.EqualsBuilder;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
* Model tests for ArrayOfArrayOfNumberOnly
*/
public class ArrayOfArrayOfNumberOnlyTest {
private final ArrayOfArrayOfNumberOnly model = new ArrayOfArrayOfNumberOnly();
/**
* Model tests for ArrayOfArrayOfNumberOnly
*/
@Test
public void test() {
// TODO: test ArrayOfArrayOfNumberOnly
}
/**
* Test the property 'arrayArrayNumber'
*/
@Test
public void arrayArrayNumberTest() {
BigDecimal b1 = new BigDecimal("12.3");
BigDecimal b2 = new BigDecimal("5.6");
List<BigDecimal> arrayArrayNumber = new ArrayList<BigDecimal>();
arrayArrayNumber.add(b1);
arrayArrayNumber.add(b2);
model.getArrayArrayNumber().add(arrayArrayNumber);
// create another instance for comparison
BigDecimal b3 = new BigDecimal("12.3");
BigDecimal b4 = new BigDecimal("5.6");
ArrayOfArrayOfNumberOnly model2 = new ArrayOfArrayOfNumberOnly();
List<BigDecimal> arrayArrayNumber2 = new ArrayList<BigDecimal>();
arrayArrayNumber2.add(b1);
arrayArrayNumber2.add(b2);
model2.getArrayArrayNumber().add(arrayArrayNumber2);
Assert.assertTrue(model2.equals(model));
}
}

View File

@@ -1,254 +0,0 @@
package org.openapitools.client;
import org.openapitools.client.auth.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import org.junit.*;
import org.springframework.http.MediaType;
import org.springframework.util.MultiValueMap;
import static org.junit.Assert.*;
public class ApiClientTest {
ApiClient apiClient = null;
@Before
public void setup() {
apiClient = new ApiClient();
}
/**
*
*/
@Test
public void testParseAndFormatDate() {
// default date format
String dateStr = "2015-11-07T03:49:09.356Z";
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09.356+00:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09.356Z")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T05:49:09.356+02:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00")));
// custom date format: without milli-seconds, custom time zone
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT);
format.setTimeZone(TimeZone.getTimeZone("GMT+10"));
apiClient.setDateFormat(format);
dateStr = "2015-11-07T13:49:09+10:00";
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09+00:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T03:49:09Z")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T00:49:09-03:00")));
assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T13:49:09+10:00")));
}
@Test
public void testIsJsonMime() {
assertFalse(apiClient.isJsonMime((String) null));
assertFalse(apiClient.isJsonMime(""));
assertFalse(apiClient.isJsonMime("text/plain"));
assertFalse(apiClient.isJsonMime("application/xml"));
assertFalse(apiClient.isJsonMime("application/jsonp"));
assertFalse(apiClient.isJsonMime("example/json"));
assertFalse(apiClient.isJsonMime("example/foo+bar+jsonx"));
assertFalse(apiClient.isJsonMime("example/foo+bar+xjson"));
assertTrue(apiClient.isJsonMime("application/json"));
assertTrue(apiClient.isJsonMime("application/json; charset=UTF8"));
assertTrue(apiClient.isJsonMime("APPLICATION/JSON"));
assertTrue(apiClient.isJsonMime("application/problem+json"));
assertTrue(apiClient.isJsonMime("APPLICATION/PROBLEM+JSON"));
assertTrue(apiClient.isJsonMime("application/json\t"));
assertTrue(apiClient.isJsonMime("example/foo+bar+json"));
assertTrue(apiClient.isJsonMime("example/foo+json;x;y"));
assertTrue(apiClient.isJsonMime("example/foo+json\t;"));
assertTrue(apiClient.isJsonMime("Example/fOO+JSON"));
}
@Test
public void testSelectHeaderAccept() {
String[] accepts = {"application/json", "application/xml"};
assertEquals(Arrays.asList(MediaType.parseMediaType("application/json")), apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"APPLICATION/XML", "APPLICATION/JSON"};
assertEquals(Arrays.asList(MediaType.parseMediaType("APPLICATION/JSON")), apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals(Arrays.asList(MediaType.parseMediaType("application/json; charset=UTF8")), apiClient.selectHeaderAccept(accepts));
accepts = new String[]{"text/plain", "application/xml"};
assertEquals(Arrays.asList(MediaType.parseMediaType("text/plain"),MediaType.parseMediaType("application/xml")), apiClient.selectHeaderAccept(accepts));
accepts = new String[]{};
assertNull(apiClient.selectHeaderAccept(accepts));
}
@Test
public void testSelectHeaderContentType() {
String[] contentTypes = {"application/json", "application/xml"};
assertEquals(MediaType.parseMediaType("application/json"), apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"APPLICATION/JSON", "APPLICATION/XML"};
assertEquals(MediaType.parseMediaType("APPLICATION/JSON"), apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"application/xml", "application/json; charset=UTF8"};
assertEquals(MediaType.parseMediaType("application/json; charset=UTF8"), apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{"text/plain", "application/xml"};
assertEquals(MediaType.parseMediaType("text/plain"), apiClient.selectHeaderContentType(contentTypes));
contentTypes = new String[]{};
assertEquals(MediaType.parseMediaType("application/json"), apiClient.selectHeaderContentType(contentTypes));
}
@Test
public void testGetAuthentications() {
Map<String, Authentication> auths = apiClient.getAuthentications();
Authentication auth = auths.get("api_key");
assertNotNull(auth);
assertTrue(auth instanceof ApiKeyAuth);
ApiKeyAuth apiKeyAuth = (ApiKeyAuth) auth;
assertEquals("header", apiKeyAuth.getLocation());
assertEquals("api_key", apiKeyAuth.getParamName());
auth = auths.get("petstore_auth");
assertTrue(auth instanceof OAuth);
assertSame(auth, apiClient.getAuthentication("petstore_auth"));
assertNull(auths.get("unknown"));
try {
auths.put("my_auth", new HttpBasicAuth());
fail("the authentications returned should not be modifiable");
} catch (UnsupportedOperationException e) {
}
}
@Ignore("There is no more basic auth in petstore security definitions")
@Test
public void testSetUsernameAndPassword() {
HttpBasicAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof HttpBasicAuth) {
auth = (HttpBasicAuth) _auth;
break;
}
}
auth.setUsername(null);
auth.setPassword(null);
apiClient.setUsername("my-username");
apiClient.setPassword("my-password");
assertEquals("my-username", auth.getUsername());
assertEquals("my-password", auth.getPassword());
// reset values
auth.setUsername(null);
auth.setPassword(null);
}
@Test
public void testSetApiKeyAndPrefix() {
ApiKeyAuth auth = null;
for (Authentication _auth : apiClient.getAuthentications().values()) {
if (_auth instanceof ApiKeyAuth) {
auth = (ApiKeyAuth) _auth;
break;
}
}
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
apiClient.setApiKey("my-api-key");
apiClient.setApiKeyPrefix("Token");
assertEquals("my-api-key", auth.getApiKey());
assertEquals("Token", auth.getApiKeyPrefix());
// reset values
auth.setApiKey(null);
auth.setApiKeyPrefix(null);
}
@Test
public void testParameterToMultiValueMapWhenNameIsInvalid() throws Exception {
MultiValueMap<String, String> pairs_a = apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.CSV, null, new Integer(1));
MultiValueMap<String, String> pairs_b = apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.CSV, "", new Integer(1));
assertTrue(pairs_a.isEmpty());
assertTrue(pairs_b.isEmpty());
}
@Test
public void testParameterToMultiValueMapWhenValueIsNull() throws Exception {
MultiValueMap<String, String> pairs = apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.CSV, "param-a", null);
assertTrue(pairs.isEmpty());
}
@Test
public void testParameterToMultiValueMapWhenValueIsEmptyStrings() throws Exception {
// single empty string
MultiValueMap<String, String> pairs = apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.CSV, "param-a", " ");
assertEquals(1, pairs.size());
// list of empty strings
List<String> strs = new ArrayList<String>();
strs.add(" ");
strs.add(" ");
strs.add(" ");
MultiValueMap<String, String> concatStrings = apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.CSV, "param-a", strs);
assertEquals(1, concatStrings.get("param-a").size());
assertFalse(concatStrings.get("param-a").isEmpty()); // should contain some delimiters
}
@Test
public void testParameterToMultiValueMapWhenValueIsNotCollection() throws Exception {
String name = "param-a";
Integer value = 1;
MultiValueMap<String, String> pairs = apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.CSV, name, value);
assertEquals(1, pairs.get(name).size());
assertEquals(value, Integer.valueOf(pairs.get(name).get(0)));
}
@Test
public void testParameterToMultiValueMapWhenValueIsCollection() throws Exception {
Map<ApiClient.CollectionFormat, String> collectionFormatMap = new HashMap<ApiClient.CollectionFormat, String>();
collectionFormatMap.put(ApiClient.CollectionFormat.CSV, ",");
collectionFormatMap.put(ApiClient.CollectionFormat.TSV, "\t");
collectionFormatMap.put(ApiClient.CollectionFormat.SSV, " ");
collectionFormatMap.put(ApiClient.CollectionFormat.PIPES, "\\|");
collectionFormatMap.put(null, ","); // no format, must default to csv
String name = "param-a";
List<Object> values = new ArrayList<Object>();
values.add("value-a");
values.add(123);
values.add(new Date());
// check for multi separately
MultiValueMap<String, String> multiValueMap = apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.MULTI, name, values);
assertEquals(values.size(), multiValueMap.get(name).size());
// all other formats
for (ApiClient.CollectionFormat collectionFormat : collectionFormatMap.keySet()) {
MultiValueMap<String, String> pairs = apiClient.parameterToMultiValueMap(collectionFormat, name, values);
assertEquals(1, pairs.size());
String delimiter = collectionFormatMap.get(collectionFormat);
String[] pairValueSplit = pairs.get(name).get(0).split(delimiter);
assertEquals(values.size(), pairValueSplit.length);
}
}
}

View File

@@ -1,47 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.junit.*;
import org.springframework.http.HttpHeaders;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import static org.junit.Assert.*;
public class ApiKeyAuthTest {
@Test
public void testApplyToParamsInQuery() {
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<String, String>();
HttpHeaders headerParams = new HttpHeaders();
ApiKeyAuth auth = new ApiKeyAuth("query", "api_key");
auth.setApiKey("my-api-key");
auth.applyToParams(queryParams, headerParams);
assertEquals(1, queryParams.size());
assertEquals("my-api-key", queryParams.get("api_key").get(0));
// no changes to header parameters
assertEquals(0, headerParams.size());
}
@Test
public void testApplyToParamsInHeaderWithPrefix() {
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<String, String>();
HttpHeaders headerParams = new HttpHeaders();
ApiKeyAuth auth = new ApiKeyAuth("header", "X-API-TOKEN");
auth.setApiKey("my-api-token");
auth.setApiKeyPrefix("Token");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
assertEquals("Token my-api-token", headerParams.get("X-API-TOKEN").get(0));
}
}

View File

@@ -1,54 +0,0 @@
package org.openapitools.client.auth;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import org.junit.*;
import org.springframework.http.HttpHeaders;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import static org.junit.Assert.*;
public class HttpBasicAuthTest {
HttpBasicAuth auth = null;
@Before
public void setup() {
auth = new HttpBasicAuth();
}
@Test
public void testApplyToParams() {
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<String, String>();
HttpHeaders headerParams = new HttpHeaders();
auth.setUsername("my-username");
auth.setPassword("my-password");
auth.applyToParams(queryParams, headerParams);
// no changes to query parameters
assertEquals(0, queryParams.size());
assertEquals(1, headerParams.size());
// the string below is base64-encoded result of "my-username:my-password" with the "Basic " prefix
String expected = "Basic bXktdXNlcm5hbWU6bXktcGFzc3dvcmQ=";
assertEquals(expected, headerParams.get("Authorization").get(0));
// null username should be treated as empty string
auth.setUsername(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of ":my-password" with the "Basic " prefix
expected = "Basic Om15LXBhc3N3b3Jk";
assertEquals(expected, headerParams.get("Authorization").get(1));
// null password should be treated as empty string
auth.setUsername("my-username");
auth.setPassword(null);
auth.applyToParams(queryParams, headerParams);
// the string below is base64-encoded result of "my-username:" with the "Basic " prefix
expected = "Basic bXktdXNlcm5hbWU6";
assertEquals(expected, headerParams.get("Authorization").get(2));
}
}

View File

@@ -1,63 +0,0 @@
package org.openapitools.client.model;
import org.junit.Test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.SerializationFeature;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class EnumValueTest {
@Test
public void testEnumClass() {
assertEquals(EnumClass._ABC.toString(), "_abc");
assertEquals(EnumClass._EFG.toString(), "-efg");
assertEquals(EnumClass._XYZ_.toString(), "(xyz)");
}
@Test
public void testEnumTest() {
// test enum value
EnumTest enumTest = new EnumTest();
enumTest.setEnumString(EnumTest.EnumStringEnum.LOWER);
enumTest.setEnumInteger(EnumTest.EnumIntegerEnum.NUMBER_1);
enumTest.setEnumNumber(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1);
assertEquals(EnumTest.EnumStringEnum.UPPER.toString(), "UPPER");
assertEquals(EnumTest.EnumStringEnum.UPPER.getValue(), "UPPER");
assertEquals(EnumTest.EnumStringEnum.LOWER.toString(), "lower");
assertEquals(EnumTest.EnumStringEnum.LOWER.getValue(), "lower");
assertEquals(EnumTest.EnumIntegerEnum.NUMBER_1.toString(), "1");
assertTrue(EnumTest.EnumIntegerEnum.NUMBER_1.getValue() == 1);
assertEquals(EnumTest.EnumIntegerEnum.NUMBER_MINUS_1.toString(), "-1");
assertTrue(EnumTest.EnumIntegerEnum.NUMBER_MINUS_1.getValue() == -1);
assertEquals(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1.toString(), "1.1");
assertTrue(EnumTest.EnumNumberEnum.NUMBER_1_DOT_1.getValue() == 1.1);
assertEquals(EnumTest.EnumNumberEnum.NUMBER_MINUS_1_DOT_2.toString(), "-1.2");
assertTrue(EnumTest.EnumNumberEnum.NUMBER_MINUS_1_DOT_2.getValue() == -1.2);
try {
// test serialization (object => json)
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
ObjectWriter ow = mapper.writer();
String json = ow.writeValueAsString(enumTest);
assertEquals(json, "{\"enum_string\":\"lower\",\"enum_string_required\":null,\"enum_integer\":1,\"enum_number\":1.1,\"outerEnum\":null}");
// test deserialization (json => object)
EnumTest fromString = mapper.readValue(json, EnumTest.class);
assertEquals(fromString.getEnumString().toString(), "lower");
assertEquals(fromString.getEnumInteger().toString(), "1");
assertEquals(fromString.getEnumNumber().toString(), "1.1");
} catch (Exception e) {
fail("Exception thrown during serialization/deserialzation of JSON: " + e.getMessage());
}
}
}

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>KotlinPetstoreStringTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>kotlin-string</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>bundle-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>gradle</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>KotlinPetstoreThreetenbpTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>kotlin-threetenbp</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>bundle-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>gradle</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,26 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptAngularBuildPestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch Default Petstore Client</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,59 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptAngularBuildES6PestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch ES6 Petstore Client</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>npm-install</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,73 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptAngularBuildWithNPMVersionPestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch Petstore Client (with npm)</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>npm-install</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-build</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>run</argument>
<argument>build</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,59 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>TypeScriptFetchPestoreClientTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Fetch Petstore Test Client</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>npm-install</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>npm-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-api-package-override</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-api-package-override Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-controller-only</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-controller-only Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-fake-endpoints</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-fake-endpoints Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-no-bean-validation</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-no-bean-validation Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-no-exception-handling</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-no-exception-handling Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-no-interface</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-no-interface Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-no-swagger-ui</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-no-swagger-ui Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests-no-wrap-calls</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework-no-wrap-calls Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>PlayServerTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>java-play-framework Project</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>Play Test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sbt</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,46 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openapitools</groupId>
<artifactId>KotlinPetstoreKtorTests</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>kotlin-server-ktor</name>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>bundle-test</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>gradle</executable>
<arguments>
<argument>test</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -4,7 +4,7 @@
- If you're not using the latest master to generate API clients or server stubs, please give it another try by pulling the latest master as the issue may have already been addressed. Ref: [Getting Started](https://github.com/openapitools/openapi-generator#getting-started)
- Search the [open issue](https://github.com/openapitools/openapi-generator/issues) and [closed issue](https://github.com/openapitools/openapi-generator/issues?q=is%3Aissue+is%3Aclosed) to ensure no one else has reported something similar before.
- File an [issue ticket](https://github.com/openapitools/openapi-generator/issues/new) by providing all the required information.
- File an [issue ticket](https://github.com/openapitools/openapi-generator/issues/new) by providing all the required information. Failure to provide enough detail may result in slow response from the community.
- Test with the latest master by building the JAR locally to see if the issue has already been addressed.
- You can also make a suggestion or ask a question by opening an "issue".
@@ -48,7 +48,9 @@ Code change should conform to the programming style guide of the respective lang
- C#: https://msdn.microsoft.com/en-us/library/vstudio/ff926074.aspx
- C++: https://google.github.io/styleguide/cppguide.html
- C++ (Tizen): https://wiki.tizen.org/Native_Platform_Coding_Idiom_and_Style_Guide#C.2B.2B_Coding_Style
- C++ (Unreal Engine 4): https://docs.unrealengine.com/en-US/ProductionPipelines/DevelopmentSetup/CodingStandard/index.html
- Clojure: https://github.com/bbatsov/clojure-style-guide
- Crystal: https://crystal-lang.org/reference/conventions/coding_style.html
- Dart: https://www.dartlang.org/guides/language/effective-dart/style
- Elixir: https://github.com/christopheradams/elixir_style_guide
- Eiffel: https://www.eiffel.org/doc/eiffel/Coding%20Standards
@@ -61,7 +63,7 @@ Code change should conform to the programming style guide of the respective lang
- Go: https://github.com/golang/go/wiki/CodeReviewComments
- ObjC: https://github.com/NYTimes/objective-c-style-guide
- Perl: http://perldoc.perl.org/perlstyle.html
- PHP: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
- PHP: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-12-extended-coding-style-guide.md
- PowerShell: https://msdn.microsoft.com/en-us/library/dd878270(v=vs.85).aspx
- Python: https://www.python.org/dev/peps/pep-0008/
- R: https://google.github.io/styleguide/Rguide.xml
@@ -85,13 +87,19 @@ For [Vendor Extensions](https://github.com/OAI/OpenAPI-Specification/blob/master
To add test cases (optional) covering the change in the code generator, please refer to [modules/openapi-generator/src/test/java/org/openapitools/codegen](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/test/java/org/openapitools/codegen)
To test the templates, please perform the following:
- Update the Petstore sample by running the shell scripts under `bin` and `bin/openapi3` folder. For example, run `./bin/python-client-petstore.sh` and `./bin/openapi3/python-client-petstore.sh` to update the Python PetStore API client under [`samples/client/petstore/python`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/python) and [`samples/openapi3/client/petstore/python`](https://github.com/openapitools/openapi-generator/tree/master/samples/openapi3/client/petstore/python). For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- Run the tests in the sample folder using maven `mvn integration-test -rf :<artifactId>`, e.g. open a shell in `samples/client/petstore/python`, run `mvn integration-test -rf :PythonPetstoreClientTests`. The artifactId of the project can be found in the pom.xml file. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
- Finally, git commit the updated samples files: `git commit -a`
(`git add -A` if added files with new test cases)
- For new test cases, please add to the [Fake Petstore spec](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml)
To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all the required tools installed to run tests for different languages) or you can leverage http://travis-ci.org to run the CI tests by adding your own openapi-generator repository.
- Update the Petstore sample by running the shell scripts under the `bin` folder. For example, run `./bin/generate-samples.sh ./bin/configs/python*` to update the Python-related samples under [`samples`](https://github.com/openapitools/openapi-generator/tree/master/samples). For Windows, please install [GIT bash](https://gitforwindows.org/). (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- During development, it can be helpful to quickly regenerate the samples without recompiling all of openapi-generator, e.g. when you have only updated the mustache templates. This can be done by passing the `-t` parameter: `-t modules/openapi-generator/src/main/resources/python`.
- Run the tests in the sample folder using maven `mvn integration-test -f /path/to/pom.xml`, e.g. `mvn integration-test -f samples/client/petstore/python/pom.xml`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
- Finally, git commit the updated samples files: `git commit -a` (`git add -A` if added files with new test cases)
- For new test cases, please add to the [Fake Petstore spec](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml)
To start the CI tests, you can:
- Run `mvn verify -Psamples`, assuming you have all the required tools installed to run tests for different languages.
- Leverage http://travis-ci.org to run the CI tests by adding your own openapi-generator repository.
- Run some of the CI tests in your local workspace.
See [OpenAPI Tools wiki](https://github.com/OpenAPITools/openapi-generator/wiki/Integration-Tests) for more information about the integration tests.
### Tips
- Smaller changes are easier to review
@@ -99,7 +107,8 @@ To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all t
- Add test case(s) to cover the change
- Document the fix in the code to make the code more readable
- Make sure test cases passed after the change (one way is to leverage https://travis-ci.org/ to run the CI tests)
- File a PR with meaningful title, description and commit messages.
- File a PR with meaningful title, description and commit messages
- Make sure the option "Allow edits from maintainers" in the PR is selected so that the maintainers can update your PRs with minor fixes, if needed.
- Recommended git settings
- `git config --global core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
- `git config core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
- To close an issue (e.g. issue 1542) automatically after a PR is merged, use keywords "fix", "close", "resolve" in the PR description, e.g. `fix #1542`. (Ref: [closing issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))

View File

@@ -1,7 +1,4 @@
FROM jimschubert/8-jdk-alpine-mvn:1.0
RUN set -x && \
apk add --no-cache bash
FROM maven:3.6.3-jdk-11-openj9
ENV GEN_DIR /opt/openapi-generator
WORKDIR ${GEN_DIR}
@@ -27,7 +24,8 @@ RUN mvn -am -pl "modules/openapi-generator-cli" package
# This exists at the end of the file to benefit from cached layers when modifying docker-entrypoint.sh.
COPY docker-entrypoint.sh /usr/local/bin/
RUN ln -s /usr/local/bin/docker-entrypoint.sh /usr/local/bin/openapi-generator
ENTRYPOINT ["docker-entrypoint.sh"]
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD ["help"]

View File

@@ -193,7 +193,7 @@
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,

510
README.md
View File

@@ -1,23 +1,36 @@
<h1 align="center">OpenAPI Generator</h1>
<div align="center">
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`4.1.0`): [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/master.svg?label=Integration%20Test)](https://travis-ci.org/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Run Status](https://api.shippable.com/projects/5af6bf74e790f4070084a115/badge?branch=master)](https://app.shippable.com/github/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator-wh2wu)
[![Stable releaases in Maven Central](https://img.shields.io/maven-metadata/v/https/repo1.maven.org/maven2/org/openapitools/openapi-generator/maven-metadata.xml.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22) [![Apache 2.0 License](https://img.shields.io/badge/License-Apache%202.0-orange)](./LICENSE) [![Open Collective backers](https://img.shields.io/opencollective/backers/openapi_generator?color=orange&label=OpenCollective%20Backers)](https://opencollective.com/openapi_generator) [![Join the Slack chat room](https://img.shields.io/badge/Slack-Join%20the%20chat%20room-orange)](https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM) [![Follow OpenAPI Generator Twitter account to get the latest update](https://img.shields.io/twitter/follow/oas_generator.svg?style=social&label=Follow)](https://twitter.com/oas_generator)
[`5.0.x`](https://github.com/OpenAPITools/openapi-generator/tree/5.0.x) branch: [![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/5.0.x.svg?label=Integration%20Test)](https://travis-ci.org/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator/tree/5.0.x.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Run Status](https://api.shippable.com/projects/5af6bf74e790f4070084a115/badge?branch=5.0.x)](https://app.shippable.com/github/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=5.0.x&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator-wh2wu)
</div>
<div align="center">
[![Join the chat at https://gitter.im/OpenAPITools/openapi-generator](https://badges.gitter.im/OpenAPITools/openapi-generator.svg)](https://gitter.im/OpenAPITools/openapi-generator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Stable releaases in the Maven store](https://img.shields.io/maven-metadata/v/http/central.maven.org/maven2/org/openapitools/openapi-generator/maven-metadata.xml.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22)
[![Follow OpenAPI Generator Twitter account to get the latest update](https://img.shields.io/twitter/follow/oas_generator.svg?style=social&label=Follow)](https://twitter.com/oas_generator)
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`5.2.1`):
[![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/master.svg?label=Integration%20Test)](https://travis-ci.com/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator)
[![JDK11 Build](https://cloud.drone.io/api/badges/OpenAPITools/openapi-generator/status.svg?ref=refs/heads/master)](https://cloud.drone.io/OpenAPITools/openapi-generator)
[![Bitrise](https://img.shields.io/bitrise/4a2b10a819d12b67/master?label=bitrise%3A%20Swift+4,5&token=859FMDR8QHwabCzwvZK6vQ)](https://app.bitrise.io/app/4a2b10a819d12b67)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/openapitools/openapi-generator/Check%20Supported%20Java%20Versions/master?label=Check%20Supported%20Java%20Versions&logo=github&logoColor=green)](https://github.com/OpenAPITools/openapi-generator/actions?query=workflow%3A%22Check+Supported+Java+Versions%22)
[5.3.x](https://github.com/OpenAPITools/openapi-generator/tree/5.3.x) (`5.3.x`):
[![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/5.3.x.svg?label=Integration%20Test)](https://travis-ci.com/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator/tree/5.3.x.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=5.3.x&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator)
[![JDK11 Build](https://cloud.drone.io/api/badges/OpenAPITools/openapi-generator/status.svg?ref=refs/heads/5.3.x)](https://cloud.drone.io/OpenAPITools/openapi-generator)
[![Bitrise](https://img.shields.io/bitrise/4a2b10a819d12b67/5.3.x?label=bitrise%3A%20Swift+4,5&token=859FMDR8QHwabCzwvZK6vQ)](https://app.bitrise.io/app/4a2b10a819d12b67)
[6.0.x](https://github.com/OpenAPITools/openapi-generator/tree/6.0.x) (`6.0.x`):
[![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/6.0.x.svg?label=Integration%20Test)](https://travis-ci.com/OpenAPITools/openapi-generator)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator/tree/6.0.x.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=6.0.x&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator)
[![JDK11 Build](https://cloud.drone.io/api/badges/OpenAPITools/openapi-generator/status.svg?ref=refs/heads/6.0.x)](https://cloud.drone.io/OpenAPITools/openapi-generator)
[![Bitrise](https://img.shields.io/bitrise/4a2b10a819d12b67/6.0.x?label=bitrise%3A%20Swift+4,5&token=859FMDR8QHwabCzwvZK6vQ)](https://app.bitrise.io/app/4a2b10a819d12b67)
</div>
@@ -31,7 +44,7 @@
:notebook_with_decorative_cover: The eBook [A Beginner's Guide to Code Generation for REST APIs](https://gum.co/openapi_generator_ebook) is a good starting point for beginners :notebook_with_decorative_cover:
:warning: If the OpenAPI spec, templates or any input (e.g. options, environment variables) is obtained from an untrusted source or environment, please make sure you've reviewed these inputs before using OpenAPI Generator to generate the API client, server stub or documentation to avoid potential security issues (e.g. [code injection](https://en.wikipedia.org/wiki/Code_injection)) :warning:
:warning: If the OpenAPI spec, templates or any input (e.g. options, environment variables) is obtained from an untrusted source or environment, please make sure you've reviewed these inputs before using OpenAPI Generator to generate the API client, server stub or documentation to avoid potential security issues (e.g. [code injection](https://en.wikipedia.org/wiki/Code_injection)). For security vulnerabilities, please contact [team@openapitools.org](mailto:team@openapitools.org). :warning:
:bangbang: Both "OpenAPI Tools" (https://OpenAPITools.org - the parent organization of OpenAPI Generator) and "OpenAPI Generator" are not affiliated with OpenAPI Initiative (OAI) :bangbang:
@@ -45,17 +58,28 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
[![NamSor](https://openapi-generator.tech/img/companies/namsor.png)](https://www.namsor.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[![LightBow](https://openapi-generator.tech/img/companies/lightbow.png)](https://www.lightbow.net/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/docspring.png" width="128" height="128">](https://docspring.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/datadog.png" width="128" height="128">](https://datadoghq.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/thales.jpg" width="128" height="128">](https://cpl.thalesgroup.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/apideck.jpg" width="128" height="128">](https://www.apideck.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
#### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS and Checkly for sponsoring the API monitoring
[<img src="https://openapi-generator.tech/img/companies/godaddy.png" width="150">](https://www.godaddy.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[![Linode](https://www.linode.com/media/images/logos/standard/light/linode-logo_standard_light_small.png)](https://www.linode.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRAhEYadUyZYzGUotZiSdXkVMqqLGuohyixLl4eUpUV6pAbUULL" width="150">](https://checklyhq.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
## Overview
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification) (both 2.0 and 3.0 are supported). Currently, the following languages/frameworks are supported:
| | Languages/Frameworks |
|-|-|
**API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later), **C++** (cpp-restsdk, Qt5, Tizen), **Clojure**, **Dart (1.x, 2.x)**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (rust, rust-server), **Scala** (akka, http4s, scalaz, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (AngularJS, Angular (2.x - 7.x), Aurelia, Axios, Fetch, Inversify, jQuery, Node, Rxjs)
**Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples)), **Kotlin** (Spring Boot, Ktor), **PHP** (Laravel, Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), [Play](https://www.playframework.com/), Scalatra)
**API documentation generators** | **HTML**, **Confluence Wiki**
**Configuration files** | [**Apache2**](https://httpd.apache.org/)
**Others** | **GraphQL**, **JMeter**, **MySQL Schema**
| | Languages/Frameworks |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.0, .NET Core 2.0, .NET 5.0. Libraries: RestSharp, HttpClient), **C++** (Arduino, cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client, MicroProfile Rest Client), **k6**, **Kotlin**, **Lua**, **Nim**, **Node.js/JavaScript** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types, Apollo GraphQL DataStore), **Objective-C**, **OCaml**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (hyper, reqwest, rust-server), **Scala** (akka, http4s, scalaz, sttp, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x, 5.x), **Typescript** (AngularJS, Angular (2.x - 11.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs) |
| **Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin, Echo), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, Jersey, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples), [Vert.x](https://vertx.io/)), **Kotlin** (Spring Boot, Ktor, Vertx), **PHP** (Laravel, Lumen, [Mezzio (fka Zend Expressive)](https://github.com/mezzio/mezzio), Slim, Silex, [Symfony](https://symfony.com/)), **Python** (FastAPI, Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** (Akka, [Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), [Play](https://www.playframework.com/), Scalatra) |
| **API documentation generators** | **HTML**, **Confluence Wiki**, **Asciidoc**, **Markdown**, **PlantUML** |
| **Configuration files** | [**Apache2**](https://httpd.apache.org/) |
| **Others** | **GraphQL**, **JMeter**, **Ktorm**, **MySQL Schema**, **Protocol Buffer**, **WSDL** |
## Table of contents
@@ -69,13 +93,14 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
- [1.4 - Build Projects](#14---build-projects)
- [1.5 - Homebrew](#15---homebrew)
- [1.6 - Docker](#16---docker)
- [1.7 - NPM](#17---npm)
- [1.7 - NPM](#17---npm)
- [2 - Getting Started](#2---getting-started)
- [3 - Usage](#3---usage)
- [3.1 - Customization](#31---customization)
- [3.2 - Workflow Integration](#32---workflow-integration-maven-gradle-github-cicd)
- [3.3 - Online Generators](#33---online-openapi-generator)
- [3.4 - License Information on Generated Code](#34---license-information-on-generated-code)
- [3.5 - IDE Integration](#35---ide-integration)
- [4 - Companies/Projects using OpenAPI Generator](#4---companiesprojects-using-openapi-generator)
- [5 - Presentations/Videos/Tutorials/Books](#5---presentationsvideostutorialsbooks)
- [6 - About Us](#6---about-us)
@@ -90,11 +115,13 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
The OpenAPI Specification has undergone 3 revisions since initial creation in 2010. The openapi-generator project has the following compatibilities with the OpenAPI Specification:
OpenAPI Generator Version | Release Date | Notes
---------------------------- | ------------ | -----
5.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/)| 13.05.2020 | Major release with breaking changes (no fallback)
4.1.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.1.0-SNAPSHOT/)| 31.07.2019 | Minor release (breaking changes with fallbacks)
[4.0.3](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.0.3) (latest stable release) | 09.07.2019 | Patch release (bug fixes, minor enhancements, etc)
| OpenAPI Generator Version | Release Date | Notes |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
| 6.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.0.0-SNAPSHOT/) | Nov/Dec 2021 | Minor release with breaking changes (no fallback) |
| 5.3.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.3.0-SNAPSHOT/) | Aug/Sep 2021 | Minor release with breaking changes (with fallback) |
| 5.2.1 (upcoming patch release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.2.1-SNAPSHOT/) | 09.08.2021 | Patch release (enhancements, bug fixes, etc) |
| [5.2.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.2.0) (latest stable release) | 09.07.2021 | Minor release with breaking changes (with fallback) |
| [4.3.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.3.1) | 06.05.2020 | Patch release (enhancements, bug fixes, etc) |
OpenAPI Spec compatibility: 1.0, 1.1, 1.2, 2.0, 3.0
@@ -150,16 +177,16 @@ See the different versions of the [openapi-generator-cli](https://mvnrepository.
<!-- RELEASE_VERSION -->
If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 8 runtime at a minimum):
JAR location: `http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.0.3/openapi-generator-cli-4.0.3.jar`
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.2.0/openapi-generator-cli-5.2.0.jar`
For **Mac/Linux** users:
```sh
wget http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.0.3/openapi-generator-cli-4.0.3.jar -O openapi-generator-cli.jar
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.2.0/openapi-generator-cli-5.2.0.jar -O openapi-generator-cli.jar
```
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
```
Invoke-WebRequest -OutFile openapi-generator-cli.jar http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.0.3/openapi-generator-cli-4.0.3.jar
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.2.0/openapi-generator-cli-5.2.0.jar
```
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
@@ -217,9 +244,9 @@ openapi-generator-cli version # is always 3.0.2, unless any of the above overrid
To build from source, you need the following installed and available in your `$PATH:`
* [Java 8](http://java.oracle.com)
* [Java 8](https://www.oracle.com/technetwork/java/index.html)
* [Apache Maven 3.3.4 or greater](http://maven.apache.org/)
* [Apache Maven 3.3.4 or greater](https://maven.apache.org/)
After cloning the project, you can build it from source with this command:
```sh
@@ -231,17 +258,35 @@ If you don't have maven installed, you may directly use the included [maven wrap
./mvnw clean install
```
The default build contains minimal static analysis (via CheckStyle). To run your build with PMD and Spotbugs, use the `static-analysis` profile:
```sh
mvn -Pstatic-analysis clean install
```
### [1.5 - Homebrew](#table-of-contents)
To install, run `brew install openapi-generator`
Here is an example usage to generate a Ruby client:
```sh
openapi-generator generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g ruby -o /tmp/test/
openapi-generator generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g ruby -o /tmp/test/
```
To reinstall with the latest master, run `brew uninstall openapi-generator && brew install --HEAD openapi-generator`
To install OpenJDK (pre-requisites), please run
```sh
brew tap AdoptOpenJDK/openjdk
brew install --cask adoptopenjdk12
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home/
```
To install Maven, please run
```sh
brew install maven
```
### [1.6 - Docker](#table-of-contents)
#### Public Pre-built Docker images
@@ -259,8 +304,8 @@ To generate code with this image, you'll need to mount a local location as a vol
Example:
```sh
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g go \
-o /local/out/go
```
@@ -285,12 +330,12 @@ GEN_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress}}' $CID)
# Execute an HTTP request to generate a Ruby client
> curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{"openAPIUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"}' \
-d '{"openAPIUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml"}' \
'http://localhost:8888/api/gen/clients/ruby'
{"code":"c2d483.3.4672-40e9-91df-b9ffd18d22b8","link":"http://localhost:8888/api/gen/download/c2d483.3.4672-40e9-91df-b9ffd18d22b8"}
# Download the generated zip file
# Download the generated zip file
> wget http://localhost:8888/api/gen/download/c2d483.3.4672-40e9-91df-b9ffd18d22b8
# Unzip the file
@@ -321,8 +366,8 @@ Once built, `run-in-docker.sh` will act as an executable for openapi-generator-c
./run-in-docker.sh help # Executes 'help' command for openapi-generator-cli
./run-in-docker.sh list # Executes 'list' command for openapi-generator-cli
./run-in-docker.sh /gen/bin/go-petstore.sh # Builds the Go client
./run-in-docker.sh generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
-g go -o /gen/out/go-petstore -DpackageName=petstore # generates go client, outputs locally to ./out/go-petstore
./run-in-docker.sh generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g go -o /gen/out/go-petstore --package-name=petstore # generates go client, outputs locally to ./out/go-petstore
```
##### Troubleshooting
@@ -342,7 +387,7 @@ Right now: no solution for this one :|
#### Run Docker in Vagrant
Prerequisite: install [Vagrant](https://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
```sh
git clone http://github.com/openapitools/openapi-generator.git
git clone https://github.com/openapitools/openapi-generator.git
cd openapi-generator
vagrant up
vagrant ssh
@@ -359,14 +404,14 @@ Install it globally to get the CLI available on the command line:
```sh
npm install @openapitools/openapi-generator-cli -g
openapi-generator version
openapi-generator-cli version
```
<!-- RELEASE_VERSION -->
Or install a particular OpenAPI Generator version (e.g. v4.0.3):
To use a specific version of "openapi-generator-cli"
```sh
npm install @openapitools/openapi-generator-cli@cli-4.0.3 -g
openapi-generator-cli version-manager set 5.2.0
```
Or install it as dev-dependency:
@@ -377,20 +422,20 @@ npm install @openapitools/openapi-generator-cli -D
<!-- /RELEASE_VERSION -->
## [2 - Getting Started](#table-of-contents)
To generate a PHP client for [petstore.yaml](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml), please run the following
To generate a PHP client for [petstore.yaml](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml), please run the following
```sh
git clone https://github.com/openapitools/openapi-generator
cd openapi-generator
mvn clean package
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g php \
-o /var/tmp/php_api_client
```
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g php -o c:\temp\php_api_client`)
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g php -o c:\temp\php_api_client`)
<!-- RELEASE_VERSION -->
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.0.3/openapi-generator-cli-4.0.3.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.2.0/openapi-generator-cli-5.2.0.jar)
<!-- /RELEASE_VERSION -->
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -400,20 +445,22 @@ To get a list of PHP specified options (which can be passed to the generator wit
## [3 - Usage](#table-of-contents)
### To generate a sample client library
You can build a client against the [Petstore API](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml) as follows:
You can build a client against the [Petstore API](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml) as follows:
```sh
./bin/java-petstore-okhttp-gson.sh
./bin/generate-samples.sh ./bin/configs/java-okhttp-gson.yaml
```
(On Windows, run `.\bin\windows\java-petstore-okhttp-gson.bat` instead)
(On Windows, please install [GIT Bash for Windows](https://gitforwindows.org/) to run the command above)
This script uses the default library, which is `okhttp-gson`. It will run the generator with this command:
```sh
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g java \
-t modules/openapi-generator/src/main/resources/Java \
--additional-properties artifactId=petstore-okhttp-gson,hideGenerationTimestamp:true \
-o samples/client/petstore/java/okhttp-gson
```
@@ -429,33 +476,33 @@ NAME
SYNOPSIS
openapi-generator-cli generate
[(-a <authorization> | --auth <authorization>)]
[--additional-properties <additional properties>...]
[--api-package <api package>] [--artifact-id <artifact id>]
[--artifact-version <artifact version>]
[(-c <configuration file> | --config <configuration file>)]
[-D <system properties>...]
[--api-name-suffix <api name suffix>] [--api-package <api package>]
[--artifact-id <artifact id>] [--artifact-version <artifact version>]
[(-c <configuration file> | --config <configuration file>)] [--dry-run]
[(-e <templating engine> | --engine <templating engine>)]
[--enable-post-process-file]
[(-g <generator name> | --generator-name <generator name>)]
[--generate-alias-as-model] [--git-repo-id <git repo id>]
[--git-user-id <git user id>] [--group-id <group id>]
[--generate-alias-as-model] [--git-host <git host>]
[--git-repo-id <git repo id>] [--git-user-id <git user id>]
[--global-property <global properties>...] [--group-id <group id>]
[--http-user-agent <http user agent>]
(-i <spec file> | --input-spec <spec file>)
[(-i <spec file> | --input-spec <spec file>)]
[--ignore-file-override <ignore file override location>]
[--import-mappings <import mappings>...]
[--instantiation-types <instantiation types>...]
[--invoker-package <invoker package>]
[--language-specific-primitives <language specific primitives>...]
[--library <library>] [--log-to-stderr] [--minimal-update]
[--legacy-discriminator-behavior] [--library <library>]
[--log-to-stderr] [--minimal-update]
[--model-name-prefix <model name prefix>]
[--model-name-suffix <model name suffix>]
[--model-package <model package>]
[(-o <output directory> | --output <output directory>)]
[(-o <output directory> | --output <output directory>)] [(-p <additional properties> | --additional-properties <additional properties>)...]
[--package-name <package name>] [--release-note <release note>]
[--remove-operation-id-prefix]
[--reserved-words-mappings <reserved word mappings>...]
[(-s | --skip-overwrite)] [--skip-validate-spec]
[--strict-spec <true/false strict behavior>]
[(-s | --skip-overwrite)] [--server-variables <server variables>...]
[--skip-validate-spec] [--strict-spec <true/false strict behavior>]
[(-t <template directory> | --template-dir <template directory>)]
[--type-mappings <type mappings>...] [(-v | --verbose)]
@@ -479,14 +526,7 @@ cd samples/client/petstore/java/okhttp-gson
mvn package
```
Other languages have petstore samples, too:
```sh
./bin/android-petstore-all.sh
./bin/java-petstore-all.sh
./bin/objc-petstore.sh
```
... and others. [Here is a list of all scripts.](https://github.com/OpenAPITools/openapi-generator/wiki/Samples-folder#scripts)
Other generators have [samples](https://github.com/OpenAPITools/openapi-generator/tree/master/samples) too.
### [3.1 - Customization](#table-of-contents)
@@ -494,14 +534,14 @@ Please refer to [customization.md](docs/customization.md) on how to customize th
### [3.2 - Workflow Integration (Maven, Gradle, Github, CI/CD)](#table-of-contents)
Please refer to [integration.md](docs/integration.md) on how to integrate OpenAPI generator with Maven, Gradle, Github and CI/CD.
Please refer to [integration.md](docs/integration.md) on how to integrate OpenAPI generator with Maven, Gradle, sbt, Bazel, Github and CI/CD.
### [3.3 - Online OpenAPI generator](#table-of-contents)
Here are the public online services:
- latest stable version: http://api.openapi-generator.tech
- latest master: http://api-latest-master.openapi-generator.tech (updated with latest master every hour)
- latest stable version: https://api.openapi-generator.tech
- latest master: https://api-latest-master.openapi-generator.tech (updated with latest master every hour)
The server is sponsored by [Linode](https://www.linode.com/) [![Linode Logo](https://www.linode.com/media/images/logos/standard/light/linode-logo_standard_light_small.png)](https://www.linode.com/)
@@ -517,43 +557,127 @@ The OpenAPI Generator project is intended as a benefit for users of the Open API
* Generated code is intentionally _not_ subject to the parent project license
When code is generated from this project, it shall be considered **AS IS** and owned by the user of the software. There are no warranties--expressed or implied--for generated code. You can do what you wish with it, and once generated, the code is your responsibility and subject to the licensing terms that you deem appropriate.
### [3.5 - IDE Integration](#table-of-contents)
Here is a list of community-contributed IDE plug-ins that integrate with OpenAPI Generator:
- Eclipse: [Codewind OpenAPI Tools for Eclipse](https://www.eclipse.org/codewind/open-api-tools-for-eclipse.html) by [IBM](https://www.ibm.com)
- IntelliJ IDEA: [OpenAPI Generator](https://plugins.jetbrains.com/plugin/8433-openapi-generator) by [Jim Schubert](https://jimschubert.us/#/)
- IntelliJ IDEA: [Senya Editor](https://plugins.jetbrains.com/plugin/10690-senya-editor) by [senya.io](https://senya.io)
- [RepreZen API Studio](https://www.reprezen.com/)
- Visual Studio: [REST API Client Code Generator](https://marketplace.visualstudio.com/items?itemName=ChristianResmaHelle.ApiClientCodeGenerator) by [Christian Resma Helle](https://christian-helle.blogspot.com/)
- Visual Studio Code: [Codewind OpenAPI Tools](https://marketplace.visualstudio.com/items?itemName=IBM.codewind-openapi-tools) by [IBM](https://marketplace.visualstudio.com/publishers/IBM)
## [4 - Companies/Projects using OpenAPI Generator](#table-of-contents)
Here are some companies/projects (alphabetical order) using OpenAPI Generator in production. To add your company/project to the list, please visit [README.md](README.md) and click on the icon to edit the page.
- [Aalborg University](https://www.aau.dk)
- [Adaptant Solutions AG](https://www.adaptant.io/)
- [adesso SE](https://www.adesso.de/)
- [Agoda](https://www.agoda.com/)
- [Allianz](https://www.allianz.com)
- [Angular.Schule](https://angular.schule/)
- [Australia and New Zealand Banking Group (ANZ)](http://www.anz.com/)
- [ASKUL](https://www.askul.co.jp)
- [Arduino](https://www.arduino.cc/)
- [b<>com](https://b-com.com/en)
- [Banzai Cloud](https://banzaicloud.com)
- [BIMData.io](https://bimdata.io)
- [Bithost GmbH](https://www.bithost.ch)
- [Bosch Connected Industry](https://www.bosch-connected-industry.com)
- [Boxever](https://www.boxever.com/)
- [California State University, Northridge](https://www.csun.edu)
- [CAM](https://www.cam-inc.co.jp/)
- [Camptocamp](https://www.camptocamp.com/en)
- [Cisco](https://www.cisco.com/)
- [codecentric AG](https://www.codecentric.de/)
- [CoinAPI](https://www.coinapi.io/)
- [Commencis](https://www.commencis.com/)
- [Crossover Health](https://crossoverhealth.com/)
- [Cupix](https://www.cupix.com/)
- [Datadog](https://www.datadoghq.com)
- [DB Systel](https://www.dbsystel.de)
- [FormAPI](https://formapi.io/)
- [Devsupply](https://www.devsupply.com/)
- [DocSpring](https://docspring.com/)
- [dwango](https://dwango.co.jp/)
- [Edge Impulse](https://www.edgeimpulse.com/)
- [Element AI](https://www.elementai.com/)
- [Embotics](https://www.embotics.com/)
- [emineo](https://www.emineo.ch)
- [Fenergo](https://www.fenergo.com/)
- [freee](https://corp.freee.co.jp/en/)
- [FreshCells](https://www.freshcells.de/)
- [Fuse](https://www.fuse.no/)
- [Gantner](https://www.gantner.com)
- [GenFlow](https://github.com/RepreZen/GenFlow)
- [GetYourGuide](https://www.getyourguide.com/)
- [GMO Pepabo](https://pepabo.com/en/)
- [GoDaddy](https://godaddy.com)
- [Gumtree](https://gumtree.com)
- [Here](https://developer.here.com/)
- [IBM](https://www.ibm.com/)
- [Instana](https://www.instana.com)
- [Inquisico](https://inquisico.com)
- [JustStar](https://www.juststarinfo.com)
- [k6.io](https://k6.io/)
- [Klarna](https://www.klarna.com/)
- [Kronsoft Development](https://www.kronsoft.ro/home/)
- [Kubernetes](https://kubernetes.io)
- [Linode](https://www.linode.com/)
- [Logicdrop](https://www.logicdrop.com)
- [Lumeris](https://www.lumeris.com)
- [LVM Versicherungen](https://www.lvm.de)
- [MailSlurp](https://www.mailslurp.com)
- [Médiavision](https://www.mediavision.fr/)
- [Metaswitch](https://www.metaswitch.com/)
- [MoonVision](https://www.moonvision.io/)
- [Myworkout](https://myworkout.com)
- [NamSor](https://www.namsor.com/)
- [Neverfail](https://www.neverfail.com/)
- [Nokia](https://www.nokia.com/)
- [Options Clearing Corporation (OCC)](https://www.theocc.com/)
- [Openet](https://www.openet.com/)
- [openVALIDATION](https://openvalidation.io/)
- [Oracle](https://www.oracle.com/)
- [Paxos](https://www.paxos.com)
- [Plaid](https://plaid.com)
- [PLAID, Inc.](https://plaid.co.jp/)
- [Ponicode](https://ponicode.dev/)
- [Pricefx](https://www.pricefx.com/)
- [Prometheus/Alertmanager](https://github.com/prometheus/alertmanager)
- [QEDIT](https://qed-it.com)
- [Qulix Systems](https://www.qulix.com)
- [Raksul](https://corp.raksul.com)
- [Raiffeisen Schweiz Genossenschaft](https://www.raiffeisen.ch)
- [RedHat](https://www.redhat.com)
- [RepreZen API Studio](https://www.reprezen.com/swagger-openapi-code-generation-api-first-microservices-enterprise-development)
- [REST United](https://restunited.com)
- [Robotinfra](https://www.robotinfra.com)
- [SmartHR](https://smarthr.co.jp/)
- [Sony Interactive Entertainment](https://www.sie.com/en/index.html)
- [Splitit](https://www.splitit.com/)
- [Stingray](http://www.stingray.com)
- [Suva](https://www.suva.ch/)
- [Telstra](https://dev.telstra.com)
- [The University of Aizu](https://www.u-aizu.ac.jp/en/)
- [TravelTime platform](https://www.traveltimeplatform.com/)
- [TribalScale](https://www.tribalscale.com)
- [TUI InfoTec GmbH](http://www.tui-infotec.com/)
- [Twitter](https://twitter.com)
- [unblu inc.](https://www.unblu.com/)
- [Veamly](https://www.veamly.com/)
- [VMWare](https://www.vmware.com/)
- [wbt-solutions](https://www.wbt-solutions.de/)
- [Woleet](https://www.woleet.io/)
- [WSO2](https://wso2.com/)
- [Vouchery.io](https://vouchery.io)
- [Xero](https://www.xero.com/)
- [Yahoo Japan](https://www.yahoo.co.jp/)
- [viadee](https://www.viadee.de/)
- [Vonage](https://vonage.com)
- [YITU Technology](https://www.yitutech.com/)
- [Yelp](https://www.yelp.com/)
- [Zalando](https://www.zalando.com)
@@ -564,6 +688,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2018/05/15 - [REST API仕様からAPIクライアントやスタブサーバを自動生成する「OpenAPI Generator」オープンソースで公開。Swagger Codegenからのフォーク](https://www.publickey1.jp/blog/18/rest_apiapiopenapi_generatorswagger_generator.html) by [Publickey](https://www.publickey1.jp)
- 2018/06/08 - [Swagger Codegen is now OpenAPI Generator](https://angular.schule/blog/2018-06-swagger-codegen-is-now-openapi-generator) by [JohannesHoppe](https://github.com/JohannesHoppe)
- 2018/06/21 - [Connect your JHipster apps to the world of APIs with OpenAPI and gRPC](https://fr.slideshare.net/chbornet/jhipster-conf-2018-connect-your-jhipster-apps-to-the-world-of-apis-with-openapi-and-grpc) by [Christophe Bornet](https://github.com/cbornet) at [JHipster Conf 2018](https://jhipster-conf.github.io/)
- 2018/06/22 - [OpenAPI Generator で Gatling Client を生成してみた](https://rohki.hatenablog.com/entry/2018/06/22/073000) at [ソモサン](https://rohki.hatenablog.com/)
- 2018/06/27 - [Lessons Learned from Leading an Open-Source Project Supporting 30+ Programming Languages](https://speakerdeck.com/wing328/lessons-learned-from-leading-an-open-source-project-supporting-30-plus-programming-languages) - [William Cheng](https://github.com/wing328) at [LinuxCon + ContainerCon + CloudOpen China 2018](http://bit.ly/2waDKKX)
- 2018/07/19 - [OpenAPI Generator Contribution Quickstart - RingCentral Go SDK](https://medium.com/ringcentral-developers/openapi-generator-for-go-contribution-quickstart-8cc72bf37b53) by [John Wang](https://github.com/grokify)
- 2018/08/22 - [OpenAPI Generatorのプロジェクト構成などのメモ](https://yinm.info/20180822/) by [Yusuke Iinuma](https://github.com/yinm)
@@ -571,16 +696,19 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2018/10/31 - [A node package wrapper for openapi-generator](https://github.com/HarmoWatch/openapi-generator-cli)
- 2018/11/03 - [OpenAPI Generator + golang + Flutter でアプリ開発](http://ryuichi111std.hatenablog.com/entry/2018/11/03/214005) by [Ryuichi Daigo](https://github.com/ryuichi111)
- 2018/11/15 - [基于openapi3.0的yaml文件生成java代码的一次实践](https://blog.csdn.net/yzy199391/article/details/84023982) by [焱魔王](https://me.csdn.net/yzy199391)
- 2018/11/18 - [Generating PHP library code from OpenAPI](https://lornajane.net/posts/2018/generating-php-library-code-from-openapi) by [Lorna Jane](https://lornajane.net/) at [LORNAJANE Blog](https://lornajane.net/blog)
- 2018/11/19 - [OpenAPIs are everywhere](https://youtu.be/-lDot4Yn7Dg) by [Jeremie Bresson (Unblu)](https://github.com/jmini) at [EclipseCon Europe 2018](https://www.eclipsecon.org/europe2018)
- 2018/12/09 - [openapi-generator をカスタマイズする方法](https://qiita.com/watiko/items/0961287c02eac9211572) by [@watiko](https://qiita.com/watiko)
- 2019/01/03 - [Calling a Swagger service from Apex using openapi-generator](https://lekkimworld.com/2019/01/03/calling-a-swagger-service-from-apex-using-openapi-generator/) by [Mikkel Flindt Heisterberg](https://lekkimworld.com)
- 2019/01/13 - [OpenAPI GeneratorでRESTful APIの定義書から色々自動生成する](https://ky-yk-d.hatenablog.com/entry/2019/01/13/234108) by [@ky_yk_d](https://twitter.com/ky_yk_d)
- 2019/01/30 - [Rapid Application Development With API First Approach Using Open-API Generator](https://dzone.com/articles/rapid-api-development-using-open-api-generator) by [Milan Sonkar](https://dzone.com/users/828329/milan_sonkar.html)
- 2019/01/20 - [Contract-First API Development with OpenAPI Generator and Connexion](https://medium.com/commencis/contract-first-api-development-with-openapi-generator-and-connexion-b21bbf2f9244) by [Anil Can Aydin](https://github.com/anlcnydn)
- 2019/01/30 - [Rapid Application Development With API First Approach Using Open-API Generator](https://dzone.com/articles/rapid-api-development-using-open-api-generator) by [Milan Sonkar](https://dzone.com/users/828329/milan_sonkar.html)
- 2019/02/02 - [平静を保ち、コードを生成せよ 〜 OpenAPI Generator誕生の背景と軌跡 〜](https://speakerdeck.com/akihito_nakano/gunmaweb34) by [中野暁人](https://github.com/ackintosh) at [Gunma.web #34 スキーマ駆動開発](https://gunmaweb.connpass.com/event/113974/)
- 2019/02/20 - [An adventure in OpenAPI V3 code generation](https://mux.com/blog/an-adventure-in-openapi-v3-api-code-generation/) by [Phil Cluff](https://mux.com/blog/author/philc/)
- 2019/02/26 - [Building API Services: A Beginners Guide](https://medium.com/google-cloud/building-api-services-a-beginners-guide-7274ae4c547f) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
- 2019/02/26 - [Building APIs with OpenAPI: Continued](https://medium.com/@ratrosy/building-apis-with-openapi-continued-5d0faaed32eb) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
- 2019-03-07 - [OpenAPI Generator で Spring Boot と Angular をタイプセーフに繋ぐ](https://qiita.com/chibato/items/e4a748db12409b40c02f) by [Tomofumi Chiba](https://github.com/chibat)
- 2019-03-16 - [A Quick introduction to manual OpenAPI V3](https://vadosware.io/post/quick-intro-to-manual-openapi-v3/) by [vados](https://github.com/t3hmrman) at [VADOSWARE](https://vadosware.io)
- 2019-03-25 - [Access any REST service with the SAP S/4HANA Cloud SDK](https://blogs.sap.com/2019/03/25/integrate-sap-s4hana-cloud-sdk-with-open-api/) by [Alexander Duemont](https://people.sap.com/alexander.duemont)
- 2019-03-25 - [OpenAPI generatorを試してみる](https://qiita.com/amuyikam/items/e8a45daae59c68be0fc8) by [@amuyikam](https://twitter.com/amuyikam)
- 2019-03-27 - [OpenAPI3を使ってみようGo言語でクライアントとスタブの自動生成まで](https://techblog.zozo.com/entry/openapi3/go) by [@gold_kou](https://twitter.com/gold_kou)
@@ -597,6 +725,111 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2019-07-04 - [REST API のためのコード生成入門 (OpenAPI Generator)](https://gum.co/openapi_generator_ebook_big5) by [William Cheng](https://twitter.com/wing328), [中野暁人](https://github.com/ackintosh), [和田拓朗](https://github.com/taxpon)
- 2019-07-08 - [OpenAPI Generator にコントリビュートしたら社名が載った話。(CAM) - CAM TECH BLOG](https://tech.cam-inc.co.jp/entry/2019/07/08/140000) by [CAM, Inc.](https://www.cam-inc.co.jp/)
- 2019-07-14 - [OpenAPI GeneratorでPythonのクライアントライブラリを作成した](https://qiita.com/yuji38kwmt/items/dfb929316a1335a161c0) by [yuji38kwmt](https://qiita.com/yuji38kwmt)
- 2019-07-19 - [Developer Experience (DX) for Open-Source Projects: How to Engage Developers and Build a Growing Developer Community](https://speakerdeck.com/wing328/developer-experience-dx-for-open-source-projects-english-japanese) by [William Cheng](https://twitter.com/wing328), [中野暁人](https://github.com/ackintosh) at [Open Source Summit Japan 2019](https://events.linuxfoundation.org/events/open-source-summit-japan-2019/)
- 2019-08-14 - [Our OpenAPI journey with Standardizing SDKs](https://bitmovin.com/our-openapi-journey-with-standardizing-sdks/) by [Sebastian Burgstaller](https://bitmovin.com/author/sburgstaller/) at [Bitmovin](https://www.bitmovin.com)
- 2019-08-15 - [APIのコードを自動生成させたいだけならgRPCでなくてもよくない?](https://www.m3tech.blog/entry/2019/08/15/110000) by [M3, Inc.](https://corporate.m3.com/)
- 2019-08-22 - [マイクロサービスにおけるWeb APIスキーマの管理─ GraphQL、gRPC、OpenAPIの特徴と使いどころ](https://employment.en-japan.com/engineerhub/entry/2019/08/22/103000) by [@ota42y](https://twitter.com/ota42y)
- 2019-08-24 - [SwaggerドキュメントからOpenAPI Generatorを使ってモックサーバー作成](https://qiita.com/masayoshi0222/items/4845e4c715d04587c104) by [坂本正義](https://qiita.com/masayoshi0222)
- 2019-08-29 - [OpenAPI初探](https://cloud.tencent.com/developer/article/1495986) by [peakxie](https://cloud.tencent.com/developer/user/1113152) at [腾讯云社区](https://cloud.tencent.com/developer)
- 2019-08-29 - [全面进化Kubernetes CRD 1.16 GA前瞻](https://www.servicemesher.com/blog/kubernetes-1.16-crd-ga-preview/) by [Min Kim](https://github.com/yue9944882) at [ServiceMesher Blog](https://www.servicemesher.com/blog/)
- 2019-09-01 - [Creating a PHP-Slim server using OpenAPI (Youtube video)](https://www.youtube.com/watch?v=5cJtbIrsYkg) by [Daniel Persson](https://www.youtube.com/channel/UCnG-TN23lswO6QbvWhMtxpA)
- 2019-09-06 - [Vert.x and OpenAPI](https://wissel.net/blog/2019/09/vertx-and-openapi.html) by [Stephan H Wissel](https://twitter.com/notessensei) at [wissel.net blog](https://wissel.net)
- 2019-09-09 - [Cloud-native development - Creating RESTful microservices](https://cloud.ibm.com/docs/cloud-native?topic=cloud-native-rest-api) in [IBM Cloud Docs](https://cloud.ibm.com/docs)
- 2019-09-14 - [Generating and Configuring a Mastercard API Client](https://developer.mastercard.com/platform/documentation/generating-and-configuring-a-mastercard-api-client/) at [Mastercard Developers Platform](https://developer.mastercard.com/platform/documentation/)
- 2019-09-15 - [OpenAPI(Swagger)導入下調べ](https://qiita.com/ShoichiKuraoka/items/f1f7a3c2376f7cd9c56a) by [Shoichi Kuraoka](https://qiita.com/ShoichiKuraoka)
- 2019-09-17 - [Tutorial: Documenting http4k APIs with OpenApi3](https://www.http4k.org/tutorials/documenting_apis_with_openapi/) by [http4k](https://www.http4k.org/)
- 2019-09-22 - [OpenAPI 3を完全に理解できる本](https://booth.pm/ja/items/1571902) by [@ota42y](https://twitter.com/ota42y)
- 2019-09-22 - [RESTful APIs: Tutorial of OpenAPI Specification](https://medium.com/@amirm.lavasani/restful-apis-tutorial-of-openapi-specification-eeada0e3901d) by [Amir Lavasani](https://medium.com/@amirm.lavasani)
- 2019-09-22 - [Redefining SDKs as software diversity kits](https://devrel.net/dev-rel/redefining-sdks-as-software-diversity-kits) by [Sid Maestre (Xero)](https://twitter.com/sidneyallen) at [DevRelCon San Francisco 2019](https://sf2019.devrel.net/)
- 2019-09-23 - [swaggerからOpenApi GeneratorでSpringのコードを自動生成](https://qiita.com/littleFeet/items/492df2ad68a0799a5e5e) by [@littleFeet](https://qiita.com/littleFeet) at [Qiita](https://qiita.com/)
- 2019-09-24 - [Eine Stunde was mit Api First!](https://www.slideshare.net/JanWeinschenker/eine-stunde-was-mit-api-first) by [@janweinschenker](https://twitter.com/janweinschenker) at [Java Forum Nord](https://javaforumnord.de/)
- 2019-10-09 - [openapi-generator で生成した Go クライアントで Bearer 認証をする](https://autopp-tech.hatenablog.com/entry/2019/10/09/222039) by [Akira Tanimura](https://github.com/autopp)
- 2019-10-10 - [Automatic Generation of REST Clients](https://www.meetup.com/fr-FR/Criteo-Labs-Tech-Talks/events/264775768/) by Thomas Peyrard, Senior Software Engineer at Criteo in [Full-Stack Tech Talks (Meetup)](https://www.meetup.com/fr-FR/Criteo-Labs-Tech-Talks/events/264775768/)
- 2019-10-12 - [OpenApi自动生成client](https://blog.csdn.net/wxid2798226/article/details/102527467) by [郑泽洲](https://me.csdn.net/wxid2798226)
- 2019-10-16 - [How to ship APIs faster?](https://medium.com/@accounts_76224/how-to-ship-apis-faster-cabef2f819e4) by [Simon Guilliams @ PoniCode](https://ponicode.dev)
- 2019-10-22 - [OpenAPI + Spring Boot(Kotlin)でファイルダウンロードAPIを作成する](https://qiita.com/boronngo/items/4b78b92526209daeaee9) by [Yuki Furukawa](https://twitter.com/yuki_furukawa5)
- 2019-10-24 - [Microprofile OpenAPI - Code First or Design First?](https://github.com/pe-st/apidocs/blob/master/MicroProfile-OpenAPI-all-slides.pdf) by [Peter [pɛʃə] Steiner](https://twitter.com/pesche) at [eclipsecon Europe 2019](https://www.eclipsecon.org/europe2019/sessions/microprofile-openapi-code-first-or-design-first)
- 2019-11-06 - [Generating API clients based on OpenAPI v3 specifications](https://98elements.com/blog/generating-api-clients-based-on-openapi-v3-specifications) by [Dominik Jastrzębski @ 98elements](https://98elements.com)
- 2019-11-06 - [OpenAPIを利用して自前のAPIサーバー(Sinatra)を移植した時のメモ](https://qiita.com/YasuhiroABE/items/c73920eab2d9d6e97fd9) by [Yasuhiro ABE](https://twitter.com/YasuhiroABE)
- 2019-11-07 - [API First development with OpenAPI - You should you practise it !?](https://www.youtube.com/watch?v=F9iF3a1Z8Y8) by [Nick Van Hoof](https://www.nickvanhoof.com/) at [Devoxx Belgium 2019](https://devoxx.be/)
- 2019-11-08 - [JHipster beyond CRUD - API-First for Enterprises by Enrico Costanzi](https://www.youtube.com/watch?v=m28JFovKQ20) by [Enrico Costanzi](https://twitter.com/enricocostanzi) at [JHipster Conf 2019 in Paris](https://jhipster-conf.github.io/)
- 2019-11-11 - [TypeScript REST APIクライアント](https://qiita.com/unhurried/items/7b74f7d3c43545dadd2b) by [@unhurried](https://qiita.com/unhurried)
- 2019-11-11 - [One Spec to Rule them all - OpenAPI in Action](https://www.youtube.com/watch?v=MMay_nht8ec) by [Andreas Litt](https://github.com/littldr) at [code.talks 2019](https://www.codetalks.com/)
- 2019-11-13 - [OpenAPI 3.0 Editor And Generator With A Spring Boot Example](https://simply-how.com/design-and-generate-api-code-from-openapi) at [Simply How](https://simply-how.com/)
- 2019-11-17 - [OpenAPI Generator YouTube playlist](https://www.youtube.com/playlist?list=PLtJyHVMdzfF6fBkOUV5VDVErP23CGgHIy) at [YouTube](https://www.youtube.com)
- 2019-11-20 - [Introduction to OpenAPI](https://noti.st/lornajane/HvDH7U/introduction-to-openapi) by [Lorna Mitchell](https://twitter.com/lornajane) at [GOTO Copenhagen 2019](https://gotocph.com/2019/)
- 2019-11-20 - [How to Generate Angular code from OpenAPI specifications](https://dotnetthoughts.net/how-to-generate-angular-code-from-openapi-specifications/) by Anuraj
- 2019-11-23 - [Swagger ではない OpenAPI Specification 3.0 による API サーバー開発](https://www.slideshare.net/techblogyahoo/swagger-openapi-specification-30-api) by [Tetsuya Morimoto](https://github.com/t2y) at [JJUG CCC 2019 Fall](https://ccc2019fall.java-users.jp/)
- 2019-11-24 - [Accelerate Flutter development with OpenAPI and Dart code generation](https://medium.com/@irinasouthwell_220/accelerate-flutter-development-with-openapi-and-dart-code-generation-1f16f8329a6a) by [Irina Southwell](https://medium.com/@irinasouthwell_220)
- 2019-11-25 - [openapi-generatorで手軽にスタブサーバとクライアントの生成](https://qiita.com/pochopocho13/items/8db662e1934fb2b408b8) by [@pochopocho13](https://twitter.com/pochopocho13)
- 2019-11-26 - [CordaCon 2019 Highlights: Braid Server and OpenAPI Generator for Corda Client APIs](https://blog.b9lab.com/cordacon-2019-highlights-braid-server-and-openapi-generator-for-corda-flows-api-s-d24179ccb27c) by [Adel Rustum](https://blog.b9lab.com/@adelrestom) at [B9lab](https://blog.b9lab.com/)
- 2019-12-03 - [A Road to Less Coding: Auto-Generate APILibrary](https://www.corda.net/blog/a-road-to-less-coding-auto-generate-apilibrary/) at [Corda Blog](https://www.corda.net/blog/)
- 2019-12-04 - [AngularNestJSOpenAPISwaggerでマイクロサービスを視野に入れた環境を考える](https://qiita.com/teracy55/items/0327c7a170ec772970c6) by [てらしー](https://twitter.com/teracy55)
- 2019-12-17 - [OpenAPI Generator で OAuth2 アクセストークン発行のコードまで生成してみる](https://www.techscore.com/blog/2019/12/17/openapi-generator-oauth2-accesstoken/) by [TECHSCORE](https://www.techscore.com/blog/)
- 2019-12-23 - [Use Ada for Your Web Development](https://www.electronicdesign.com/technologies/embedded-revolution/article/21119177/use-ada-for-your-web-development) by [Stephane Carrez](https://github.com/stcarrez)
- 2019-12-23 - [OpenAPIのスキーマを分割・構造化していく方法](https://gift-tech.co.jp/articles/structured-openapi-schema) by [小飯塚達也](https://github.com/t2h5) at [GiFT, Inc](https://gift-tech.co.jp/)
- 2020-01-17 - [OpenAPI demo for Pulp 3.0 GA](https://www.youtube.com/watch?v=mFBP-M0ZPfw&t=178s) by [Pulp](https://www.youtube.com/channel/UCI43Ffs4VPDv7awXvvBJfRQ) at [Youtube](https://www.youtube.com/)
- 2020-01-19 - [Why document a REST API as code?](https://dev.to/rolfstreefkerk/why-document-a-rest-api-as-code-5e7p) by [Rolf Streefkerk](https://github.com/rpstreef) at [DEV Community](https://dev.to)
- 2020-01-28 - [Get Your Serverless Swagger Back with OpenAPI](https://dev.to/matttyler/get-your-serverless-swagger-back-with-openapi-48gc) by [Matt Tyler](https://dev.to/matttyler)
- 2020-01-30 - [OpenAPI Generatorへのコントリビュート](https://www.yutaka0m.work/entry/2020/01/30/163905) by [yutaka0m](https://github.com/yutaka0m)
- 2020-02-01 - [Using OpenAPI to Maximise Your Pulp 3 Experience](https://fosdem.org/2020/schedule/event/openapi/) by [Dennis Kliban](https://github.com/dkliban/) at [FOSDEM](https://fosdem.org/)
- 2020-02-07 - [Why you should use OpenAPI for your API design](https://www.youtube.com/watch?v=zhb7vUApLW8&t=927s) by [Nick Van Hoof](https://apiconference.net/speaker/nick-van-hoof/) at [API Conference](https://apiconference.net/)
- 2020-02-17 - [Rubynetes: using OpenAPI to validate Kubernetes configs](https://www.brightbox.com/blog/2020/02/17/using-openapi-to-validate-kubernetes-configs/) by Neil Wilson at [Brightbox](https://www.brightbox.com/)
- 2020-02-20 - [Building SDKs for the future](https://devblog.xero.com/building-sdks-for-the-future-b79ff726dfd6) by [Sid Maestre (Xero)](https://twitter.com/sidneyallen)
- 2020-02-27 - [Nuxt利用プロダクトでIE11と仲良くするためのE2E](https://tech.medpeer.co.jp/entry/e2e-ie11) at [Medpeer.co.jp Tech Blog](https://tech.medpeer.co.jp/)
- 2020-02-29 - [Providing Support to IoT Devices Deployed in Disconnected Rural Environment (Conference paper)](https://link.springer.com/chapter/10.1007/978-3-030-41494-8_14) by Sergio Laso, Daniel Flores-Martín, Juan Luis HerreraCarlos, CanalJuan Manuel, MurilloJavier Berrocal
- 2020-03-02 - [How To Generate Angular & Spring Code From OpenAPI Specification](https://www.mokkapps.de/blog/how-to-generate-angular-and-spring-code-from-open-api-specification/) by [Michael Hoffmann](https://www.mokkapps.de/)
- 2020-03-02 - [OpenAPI Generator + TypeScript で始める自動生成の型に守られた豊かなクライアント生活](https://gift-tech.co.jp/articles/openapi-generator-typescript) by [五百蔵 直樹](https://gift-tech.co.jp/members/naokiioroi) at [GiFT株式会社](https://gift-tech.co.jp/)
- 2020-03-10 - [OpenAPI Generator Meetup #1](https://speakerdeck.com/akihito_nakano/openapi-generator-meetup-number-1) by [中野暁人](https://github.com/ackintosh) at [OpenAPI Generator Meetup #1](https://openapi-generator-meetup.connpass.com/event/168187/)
- 2020-03-15 - [Load Testing Your API with Swagger/OpenAPI and k6](https://k6.io/blog/load-testing-your-api-with-swagger-openapi-and-k6)
- 2020-04-13 - [俺的【OAS】との向き合い方 (爆速でOpenAPIと友達になろう)](https://tech-blog.optim.co.jp/entry/2020/04/13/100000) in [OPTim Blog](https://tech-blog.optim.co.jp/)
- 2020-04-22 - [Introduction to OpenAPI Generator](https://nordicapis.com/introduction-to-openapi-generator/) by [Kristopher Sandoval](https://nordicapis.com/author/sandovaleffect/) in [Nordic APIs](https://nordicapis.com/)
- 2020-04-27 - [How we use Open API v3 specification to auto-generate API documentation, code-snippets and clients](https://medium.com/pdf-generator-api/how-we-use-open-api-v3-specification-to-auto-generate-api-documentation-code-snippets-and-clients-d127a3cea784) by [Tanel Tähepõld](https://medium.com/@tanel.tahepold)
- 2020-05-09 - [OpenAPIでお手軽にモックAPIサーバーを動かす](https://qiita.com/kasa_le/items/97ca6a8dd4605695c25c) by [Sachie Kamba](https://qiita.com/kasa_le)
- 2020-05-18 - [Spring Boot REST with OpenAPI 3](https://dev.to/alfonzjanfrithz/spring-boot-rest-with-openapi-3-59jm) by [Alfonz Jan Frithz](https://dev.to/alfonzjanfrithz)
- 2020-05-19 - [Dead Simple APIs with Open API](https://www.youtube.com/watch?v=sIaXmR6xRAw) by [Chris Tankersley](https://github.com/dragonmantank) at [Nexmo](https://developer.nexmo.com/)
- 2020-05-22 - [TypeScript REST API Client](https://dev.to/unhurried/typescript-rest-api-client-4in3) by ["unhurried"](https://dev.to/unhurried)
- 2020-05-28 - [【使用 lotify + Swagger 建置可共用的 LINE Notify bot】 - #NiJia @ Chatbot Developer Taiwan 第 #19 小聚](https://www.youtube.com/watch?v=agYVz6dzh1I) by [Chatbot Developer Taiwan](https://www.youtube.com/channel/UCxeYUyZNnHmpX23YNF-ewvw)
- 2020-05-28 - [Building APIs with Laravel using OpenAPI](https://www.youtube.com/watch?v=xexLvQqAhiA) by [Chris Tankersley](https://github.com/dragonmantank) at [Laracon EU](https://laracon.eu/)
- 2020-06-12 - [Interoperability by construction: code generation for Arrowhead Clients](https://ieeexplore.ieee.org/document/9274746) by Michele Albano, Brian Nielsen at [2020 IEEE Conference on Industrial Cyberphysical Systems (ICPS)](https://ieeexplore.ieee.org/xpl/conhome/9274544/proceeding)
- 2020-06-23 - [新規サーバーアプリケーションにTypeScriptを採用してみた](https://www.cam-inc.co.jp/news/20200623) at [CAM Tech Blog](https://www.cam-inc.co.jp/news/tech-blog/)
- 2020-06-29 - [Artifact Abstract: Deployment of APIs on Android Mobile Devices and Microcontrollers](https://ieeexplore.ieee.org/document/9127353) by [Sergio Laso ; Marino Linaje ; Jose Garcia-Alonso ; Juan M. Murillo ; Javier Berrocal](https://ieeexplore.ieee.org/document/9127353/authors#authors) at [2020 IEEE International Conference on Pervasive Computing and Communications (PerCom)](https://ieeexplore.ieee.org/xpl/conhome/9125449/proceeding)
- 2020-07-07 - [5 Best API Documentation Tools](https://blog.dreamfactory.com/5-best-api-documentation-tools/) by Susanna Bouse at [DreamFactory Blog](https://blog.dreamfactory.com/)
- 2020-07-12 - [Open API 3.0の定義からgolangのサーバコードのスケルトンを作成する](https://qiita.com/professor/items/4cbd04ec084d13057bc2) by [@professor (Qiita Blog)](https://qiita.com/professor)
- 2020-07-20 - [Datadog API client libraries now available for Java and Go](https://www.datadoghq.com/blog/java-go-libraries/) by Jordan Obey at [Datadog Blog](https://www.datadoghq.com/blog)
- 2020-07-23 - [Generate Client SDK for .NET Core using Open Api](https://dev.to/no0law1/generate-client-sdk-for-net-core-using-open-api-2dgh) by [Nuno Reis](https://dev.to/no0law1)
- 2020-07-26 - [Dartのhttp_interceptorライブラリを使うと配列のクエリパラメータが消えてしまう件の応急処置](https://qiita.com/gyamoto/items/eeeff81b6770487319ed) by [@gyamoto](https://qiita.com/gyamoto)
- 2020-08-01 - [Generate Angular ReactiveForms from Swagger/OpenAPI](https://dev.to/martinmcwhorter/generate-angular-reactiveforms-from-swagger-openapi-35h9) by [Martin McWhorter](https://dev.to/martinmcwhorter)
- 2020-08-03 - [Criando Bibliotecas para APIs RESTful com OpenAPI, Swagger Editor e OpenAPI Generator](https://medium.com/@everisBrasil/criando-bibliotecas-para-apis-restful-com-openapi-swagger-editor-e-openapi-generator-75349a6420fd) by [everis Brasil (an NTT DATA Company)](https://medium.com/@everisBrasil)
- 2020-08-19 - [マイクロサービスを連携してみよう](https://thinkit.co.jp/article/17704) by [岡井 裕矢(おかい ゆうや)](https://thinkit.co.jp/author/17588), [泉 勝(いずみ まさる)](https://thinkit.co.jp/author/17705) at [Think ITシンクイット](https://thinkit.co.jp/)
- 2020-08-25 - [OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話](https://tech.smarthr.jp/entry/2020/08/25/135631) at [SmartHR Tech Blog](https://tech.smarthr.jp/)
- 2020-09-10 - [Introduction to OpenAPI with Instana](https://www.instana.com/blog/introduction-to-openapi-with-instana/) by [Cedric Ziel](https://www.instana.com/blog/author/cedricziel/) at [Instana Blog](https://www.instana.com/blog/)
- 2020-09-17 - [Generate PowerShellSDK using openapi-generator](https://medium.com/@ghufz.learn/generate-powershellsdk-using-openapi-generator-33b700891e33) by [Ghufran Zahidi](https://medium.com/@ghufz.learn)
- 2020-09-24 - [How to automate API code generation (OpenAPI/Swagger) and boost productivity - Tutorial with React Native featuring TypeScript](https://medium.com/@sceleski/how-to-automate-api-code-generation-openapi-swagger-and-boost-productivity-1176a0056d8a) by [Sanjin Celeski](https://medium.com/@sceleski)
- 2020-09-25 - [Generate OpenAPI Angular Client](https://medium.com/@pguso/generate-openapi-angular-client-8c9288e8bbd4) by [Patric](https://medium.com/@pguso)
- 2020-10-24 - [Working with Microsoft Identity - React Native Client](https://www.josephguadagno.net/2020/10/24/working-with-microsoft-identity-react-native-client) by [Joseph Guadagno](https://www.josephguadagno.net/)
- 2020-10-31 - [[B2] OpenAPI Specification으로 타입-세이프하게 API 개발하기: 희망편 VS 절망편](https://www.youtube.com/watch?v=J4JHLESAiFk) by 최태건 at [FEConf 2020](https://2020.feconf.kr/)
- 2020-11-05 - [Automated REST-Api Code Generation: Wie IT-Systeme miteinander sprechen](https://www.massiveart.com/blog/automated-rest-api-code-generation-wie-it-systeme-miteinander-sprechen) by Stefan Rottensteiner at [MASSIVE ART Blog](https://www.massiveart.com/blog)
- 2020-12-01 - [OpenAPI GeneratorでGoのAPIサーバー/クライアントコードを自動生成する](https://qiita.com/saki-engineering/items/b20d8b6074c4da9664a5) by [@saki-engineering](https://qiita.com/saki-engineering)
- 2020-12-04 - [Scaling the Test Coverage of OpenAPI Generator for 30+ Programming Languages](https://www.youtube.com/watch?v=7Lke9dHRqT0) by [William Cheng](https://github.com/wing328) at [Open Source Summit Japan + Automotive Linux Summit 2020](https://events.linuxfoundation.org/archive/2020/open-source-summit-japan/) ([Slides](https://speakerdeck.com/wing328/scaling-the-test-coverage-of-openapi-generator-for-30-plus-programming-languages))
- 2020-12-09 - [プロジェクトにOpenAPI Generatorで自動生成された型付きAPI Clientを導入した話](https://qiita.com/yoshifujiT/items/905c18700ede23f40840) by [@yoshifujiT](https://github.com/yoshifujiT)
- 2020-12-15 - [Next.js + NestJS + GraphQLで変化に追従するフロントエンドへ 〜 ショッピングクーポンの事例紹介](https://techblog.yahoo.co.jp/entry/2020121530052952/) by [小倉 陸](https://github.com/ogugu9) at [Yahoo! JAPAN Tech Blog](https://techblog.yahoo.co.jp/)
- 2021-01-08 - [Hello, New API Part 1](https://www.nginx.com/blog/hello-new-api-part-1/) by [Jeremy Schulman](https://www.nginx.com/people/jeremy-schulman/) at [Major League Baseball](https://www.mlb.com)
- 2021-01-18 - [「アプリ開発あるある」を疑うことから始まった、API Clientコードの自動生成【デブスト2020】](https://codezine.jp/article/detail/13406?p=2) by [CodeZine編集部](https://codezine.jp/author/1)
- 2021-02-05 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://blog.viadee.de/en/rest-api-roundtrip) by [Benjamin Klatt](https://twitter.com/benklatt) at [viadee](https://www.viadee.de/en/)
- 2021-02-17 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://medium.com/nerd-for-tech/rest-api-roundtrip-with-springdoc-and-openapi-generator-30bd27ccf698) by [cloud @viadee](https://cloud-viadee.medium.com/)
- 2021-03-08 - [OpenAPI Generator 工具的躺坑尝试](https://blog.csdn.net/u013019701/article/details/114531975) by [独家雨天](https://blog.csdn.net/u013019701) at [CSDN官方博客](https://blog.csdn.net/)
- 2021-03-16 - [如何基于 Swagger 使用 OpenAPI Generator 生成 JMeter 脚本?](https://cloud.tencent.com/developer/article/1802704) by [高楼Zee](https://cloud.tencent.com/developer/user/5836255) at [腾讯云专栏](https://cloud.tencent.com/developer/column)
- 2021-03-24 - [openapi-generator-cli による TypeScript 型定義](https://zenn.dev/takepepe/articles/openapi-generator-cli-ts) by [Takefumi Yoshii](https://zenn.dev/takepepe)
- 2021-03-28 - [Trying out NestJS part 4: Generate Typescript clients from OpenAPI documents](https://dev.to/arnaudcortisse/trying-out-nestjs-part-4-generate-typescript-clients-from-openapi-documents-28mk) by [Arnaud Cortisse](https://dev.to/arnaudcortisse)
- 2021-03-31 - [Open API Server Implementation Using OpenAPI Generator](https://www.baeldung.com/java-openapi-generator-server) at [Baeldung](https://www.baeldung.com/)
- 2021-03-31 - [使用OpenAPI Generator實現Open API Server](https://www.1ju.org/article/java-openapi-generator-server) at [億聚網](https://www.1ju.org/)
- 2021-04-19 - [Introducing Twilios OpenAPI Specification Beta](https://www.twilio.com/blog/introducing-twilio-open-api-specification-beta) by [GARETH PAUL JONES](https://www.twilio.com/blog/author/gpj) at [Twilio Blog](https://www.twilio.com/blog)
- 2021-04-22 - [Leveraging OpenApi strengths in a Micro-Service environment](https://medium.com/unibuddy-technology-blog/leveraging-openapi-strengths-in-a-micro-service-environment-3d7f9e7c26ff) by Nicolas Jellab at [Unibuddy Technology Blog](https://medium.com/unibuddy-technology-blog)
- 2021-04-27 - [From zero to publishing PowerShell API clients in PowerShell Gallery within minutes](https://speakerdeck.com/wing328/from-zero-to-publishing-powershell-api-clients-in-powershell-gallery-within-minutes) by [William Cheng](https://github.com/wing328) at [PowerShell + DevOps Global Summit 2021](https://events.devopscollective.org/event/powershell-devops-global-summit-2021/)
- 2021-05-31 - [FlutterでOpen Api Generator(Swagger)を使う](https://aakira.app/blog/2021/05/flutter-open-api/) by [AAkira](https://twitter.com/_a_akira)
- 2021-06-22 - [Rest API Documentation and Client Generation With OpenAPI](https://dzone.com/articles/rest-api-documentation-and-client-generation-with) by [Prasanth Gullapalli](https://dzone.com/users/1011797/prasanthnath.g@gmail.com.html)
- 2021-07-16 - [銀行事業のサーバーサイド開発について / LINE 京都開発室 エンジニア採用説明会](https://www.youtube.com/watch?v=YrrKQHxLPpQ) by 野田誠人, Robert Mitchell
## [6 - About Us](#table-of-contents)
@@ -611,8 +844,9 @@ OpenAPI Generator core team members are contributors who have been making signif
* [@ackintosh](https://github.com/ackintosh) (2018/02) [:heart:](https://www.patreon.com/ackintosh/overview)
* [@jmini](https://github.com/jmini) (2018/04) [:heart:](https://www.patreon.com/jmini)
* [@etherealjoy](https://github.com/etherealjoy) (2019/06)
* [@spacether](https://github.com/spacether) (2020/05)
:heart: = Link to support the contributor directly
:heart: = Link to support the contributor directly
#### Template Creator
@@ -625,14 +859,19 @@ Here is a list of template creators:
* Bash: @bkryza
* C: @PowerOfCreation @zhemant [:heart:](https://www.patreon.com/zhemant)
* C++ REST: @Danielku15
* C++ Tiny: @AndersSpringborg @kaareHH @michelealbano @mkakbas
* C++ UE4: @Kahncode
* C# (.NET 2.0): @who
* C# (.NET Standard 1.3 ): @Gronsak
* C# (.NET 4.5 refactored): @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* C# (HttpClient): @Blackclaws
* Clojure: @xhh
* Crystal: @wing328
* Dart: @yissachar
* Dart (refactor): @joernahrens
* Dart 2: @swipesight
* Dart (Jaguar): @jaumard
* Dart (Dio): @josh-burton
* Elixir: @niku
* Elm: @eriktim
* Eiffel: @jvelilla
@@ -653,37 +892,51 @@ Here is a list of template creators:
* Java (Vertx): @lopesmcc
* Java (Google APIs Client Library): @charlescapps
* Java (Rest-assured): @viclovsky
* Java (Java 11 Native HTTP client): @bbdouglas
* Javascript/NodeJS: @jfiala
* Javascript (Apollo DataSource): @erithmetic
* Javascript (Closure-annotated Angular) @achew22
* Javascript (Flow types) @jaypea
* JMeter: @davidkiss
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Kotlin (MultiPlatform): @andrewemery
* Lua: @daurnimator
* Nim: @hokamoto
* OCaml: @cgensoul
* Perl: @wing328 [:heart:](https://www.patreon.com/wing328)
* PHP (Guzzle): @baartosz
* PHP (with Data Transfer): @Articus
* PowerShell: @beatcracker
* PowerShell (refactored in 5.0.0): @wing328
* Python: @spacether
* R: @ramnov
* Ruby (Faraday): @meganemura @dkliban
* Rust: @farcaller
* Rust (rust-server): @metaswitch
* Scala (scalaz & http4s): @tbrown1979
* Scala (Akka): @cchafer
* Scala (sttp): @chameleon82
* Swift: @tkqubo
* Swift 3: @hexelon
* Swift 4: @ehyche
* Swift 5: @4brunu
* TypeScript (Angular1): @mhardorf
* TypeScript (Angular2): @roni-frantchi
* TypeScript (Angular6): @akehir
* TypeScript (Angular6): @akehir
* TypeScript (Angular7): @topce
* TypeScript (Axios): @nicokoenig
* TypeScript (Fetch): @leonyu
* TypeScript (Inversify): @gualtierim
* TypeScript (jQuery): @bherila
* TypeScript (Nestjs): @vfrank66
* TypeScript (Node): @mhardorf
* TypeScript (Rxjs): @denyo
* TypeScript (Inversify): @gualtierim
* TypeScript (redux-query): @petejohansonxo
* Server Stubs
* Ada: @stcarrez
* C# ASP.NET 5: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* C# ASP.NET Core 3.0: @A-Joshi
* C# ASP.NET Core 3.0: @A-Joshi
* C# APS.NET Core 3.1: @phatcher
* C# NancyFX: @mstefaniuk
* C++ (Qt5 QHttpEngine): @etherealjoy
* C++ Pistache: @sebymiano
@@ -691,6 +944,7 @@ Here is a list of template creators:
* Erlang Server: @galaxie
* F# (Giraffe) Server: @nmfisher
* Go Server: @guohuang
* Go (Echo) Server: @ph4r5h4d
* Go (Gin) Server: @kemokemo
* GraphQL Express Server: @renepardon
* Haskell Servant: @algas
@@ -699,31 +953,44 @@ Here is a list of template creators:
* Java Undertow: @stevehu
* Java Play Framework: @JFCote
* Java PKMST: @anshu2185 @sanshuman @rkumar-pk @ninodpillai
* Java Vert.x: @lwlee2608
* JAX-RS RestEasy: @chameleon82
* JAX-RS CXF: @hiveship
* JAX-RS CXF (CDI): @nickcmaynard
* JAX-RS RestEasy (JBoss EAP): @jfiala
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Kotlin (Spring Boot): @dr4ke616
* Kotlin (Vertx): @Wooyme
* NodeJS Express: @YishTish
* PHP Laravel: @renepardon
* PHP Lumen: @abcsun
* PHP Mezzio (with Path Handler): @Articus
* PHP Slim: @jfastnacht
* PHP Slim4: @ybelenko
* PHP Symfony: @ksm2
* PHP Zend Expressive (with Path Handler): @Articus
* Python FastAPI: @krjakbrjak
* Python AIOHTTP: @Jyhess
* Ruby on Rails 5: @zlx
* Rust (rust-server): @metaswitch
* Scala Akka: @Bouillie
* Scala Finch: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Scala Lagom: @gmkumar2005
* Scala Play: @adigerber
* Documentation
* AsciiDoc: @man-at-home
* HTML Doc 2: @jhitchcock
* Confluence Wiki: @jhitchcock
* PlantUML: @pburls
* Configuration
* Apache2: @stkrwork
* k6: @mostafa
* Schema
* Avro: @sgadouar
* GraphQL: @wing328 [:heart:](https://www.patreon.com/wing328)
* Ktorm: @Luiz-Monad
* MySQL: @ybelenko
* Protocol Buffer: @wing328
* WSDL @adessoDpd
:heart: = Link to support the contributor directly
@@ -756,42 +1023,45 @@ If you want to join the committee, please kindly apply by sending an email to te
#### Members of Technical Committee
| Languages | Member (join date) |
|:-------------|:-------------|
| ActionScript | |
| Ada | @stcarrez (2018/02) @micheleISEP (2018/02) |
| Android | @jaz-ah (2017/09) |
| Apex | |
| Bash | @frol (2017/07) @bkryza (2017/08) @kenjones-cisco (2017/09) |
| C | @zhemant (2018/11) |
| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @etherealjoy (2018/02) @martindelille (2018/03) |
| C# | @mandrean (2017/08), @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert) |
| Clojure | |
| Dart | @ircecho (2017/07) @swipesight (2018/09) @jaumard (2018/09) |
| Eiffel | @jvelilla (2017/09) |
| Elixir | @mrmstn (2018/12) |
| Elm | @eriktim (2018/09) |
| Erlang | @tsloughter (2017/11) @jfacorro (2018/10) @robertoaloi (2018/10) |
| F# | @nmfisher (2019/05) |
| Go | @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09 |
| GraphQL | @renepardon (2018/12) |
| Groovy | |
| Haskell | |
| Java | @bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) |
| Kotlin | @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @dr4ke616 (2018/08) @karismann (2019/03) @Zomzog (2019/04) |
| Lua | @daurnimator (2017/08) |
| NodeJS/Javascript | @CodeNinjai (2017/07) @frol (2017/07) @cliffano (2017/07) |
| ObjC | |
| Perl | @wing328 (2017/07) [:heart:](https://www.patreon.com/wing328) @yue9944882 (2019/06) |
| PHP | @jebentier (2017/07), @dkarlovi (2017/07), @mandrean (2017/08), @jfastnacht (2017/09), @ackintosh (2017/09) [:heart:](https://www.patreon.com/ackintosh/overview), @ybelenko (2018/07), @renepardon (2018/12) |
| PowerShell | |
| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11) @tomplus (2018/10) @Jyhess (2019/01) |
| R | @Ramanth (2019/07) @saigiridhar21 (2019/07) |
| Ruby | @cliffano (2017/07) @zlx (2017/09) @autopp (2019/02) |
| Rust | @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12) |
| Scala | @clasnake (2017/07), @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @shijinkui (2018/01), @ramzimaalej (2018/03) |
| Swift | @jgavris (2017/07) @ehyche (2017/08) @Edubits (2017/09) @jaz-ah (2017/09) @d-date (2018/03) |
| TypeScript | @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @nicokoenig (2018/09) @topce (2018/10) @akehir (2019/07) |
| Languages/Generators | Member (join date) |
| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ActionScript | |
| Ada | @stcarrez (2018/02) @michelealbano (2018/02) |
| Android | @jaz-ah (2017/09) |
| Apex | |
| Bash | @frol (2017/07) @bkryza (2017/08) @kenjones-cisco (2017/09) |
| C | @zhemant (2018/11) @ityuhui (2019/12) @michelealbano (2020/03) |
| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @etherealjoy (2018/02) @martindelille (2018/03) @muttleyxd (2019/08) |
| C# | @mandrean (2017/08) @frankyjuang (2019/09) @shibayan (2020/02) @Blackclaws (2021/03) @lucamazzanti (2021/05) |
| Clojure | |
| Dart | @jaumard (2018/09) @josh-burton (2019/12) @amondnet (2019/12) @sbu-WBT (2020/12) @kuhnroyal (2020/12) @agilob (2020/12) |
| Eiffel | @jvelilla (2017/09) |
| Elixir | @mrmstn (2018/12) |
| Elm | @eriktim (2018/09) |
| Erlang | @tsloughter (2017/11) @jfacorro (2018/10) @robertoaloi (2018/10) |
| F# | @nmfisher (2019/05) |
| Go | @antihax (2017/11) @grokify (2018/07) @kemokemo (2018/09) @jirikuncar (2021/01) @ph4r5h4d (2021/04) |
| GraphQL | @renepardon (2018/12) |
| Groovy | |
| Haskell | |
| Java | @bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) @lwlee2608 (2019/10) @nmuesch (2021/01) |
| JMeter | @kannkyo (2021/01) |
| Kotlin | @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @dr4ke616 (2018/08) @karismann (2019/03) @Zomzog (2019/04) @andrewemery (2019/10) @4brunu (2019/11) @yutaka0m (2020/03) |
| Lua | @daurnimator (2017/08) |
| Nim | |
| NodeJS/Javascript | @CodeNinjai (2017/07) @frol (2017/07) @cliffano (2017/07) |
| ObjC | |
| OCaml | @cgensoul (2019/08) |
| Perl | @wing328 (2017/07) [:heart:](https://www.patreon.com/wing328) @yue9944882 (2019/06) |
| PHP | @jebentier (2017/07), @dkarlovi (2017/07), @mandrean (2017/08), @jfastnacht (2017/09), @ackintosh (2017/09) [:heart:](https://www.patreon.com/ackintosh/overview), @ybelenko (2018/07), @renepardon (2018/12) |
| PowerShell | @wing328 (2020/05) |
| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11) @tomplus (2018/10) @Jyhess (2019/01) @arun-nalla (2019/11) @spacether (2019/11) |
| R | @Ramanth (2019/07) @saigiridhar21 (2019/07) |
| Ruby | @cliffano (2017/07) @zlx (2017/09) @autopp (2019/02) |
| Rust | @frol (2017/07) @farcaller (2017/08) @richardwhiuk (2019/07) @paladinzh (2020/05) |
| Scala | @clasnake (2017/07), @jimschubert (2017/09) [:heart:](https://www.patreon.com/jimschubert), @shijinkui (2018/01), @ramzimaalej (2018/03), @chameleon82 (2020/03), @Bouillie (2020/04) |
| Swift | @jgavris (2017/07) @ehyche (2017/08) @Edubits (2017/09) @jaz-ah (2017/09) @4brunu (2019/11) |
| TypeScript | @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @topce (2018/10) @akehir (2019/07) @petejohansonxo (2019/11) @amakhrov (2020/02) |
:heart: = Link to support the contributor directly
@@ -813,7 +1083,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
- [Daniel](https://github.com/Danielku15)
- [Emiliano Bonassi](https://github.com/emilianobonassi)
- [Erik Timmers](https://github.com/eriktim)
- [Esteban Marin](https://github.com/macjohnny)
- [Esteban Gehring](https://github.com/macjohnny)
- [Gustavo Paz](https://github.com/gustavoapaz)
- [Javier Velilla](https://github.com/jvelilla)
- [Jean-François Côté](https://github.com/JFCote)
@@ -825,7 +1095,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
- [Marcin Stefaniuk](https://github.com/mstefaniuk)
- [Martin Delille](https://github.com/MartinDelille)
- [Masahiro Yamauchi](https://github.com/algas)
- [Michele Albano](https://github.com/micheleISEP)
- [Michele Albano](https://github.com/michelealbano)
- [Ramzi Maalej](https://github.com/ramzimaalej)
- [Ravindra Nikam](https://github.com/ravinikam)
- [Ricardo Cardona](https://github.com/ricardona)
@@ -856,12 +1126,12 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
## [7 - License](#table-of-contents)
-------
Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
Copyright 2018 SmartBear Software
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,

View File

@@ -1,7 +1,5 @@
# for CI with appveyor.yml
# Ref: http://www.yegor256.com/2015/01/10/windows-appveyor-maven.html
version: '{branch}-{build}'
image: Visual Studio 2017
image: Visual Studio 2019
hosts:
petstore.swagger.io: 127.0.0.1
install:
@@ -17,27 +15,48 @@ install:
# install gradle
- ps: |
Add-Type -AssemblyName System.IO.Compression.FileSystem
if (!(Test-Path -Path "C:\gradle" )) {
if (!(Test-Path -Path "C:\gradle\gradle-5.6.4" )) {
(new-object System.Net.WebClient).DownloadFile(
'https://services.gradle.org/distributions/gradle-5.3.1-bin.zip',
'https://services.gradle.org/distributions/gradle-5.6.4-bin.zip',
'C:\gradle-bin.zip'
)
[System.IO.Compression.ZipFile]::ExtractToDirectory("C:\gradle-bin.zip", "C:\gradle")
}
- cmd: SET PATH=C:\maven\apache-maven-3.2.5\bin;C:\gradle\gradle-5.3.1\bin;%JAVA_HOME%\bin;%PATH%
- cmd: SET PATH=C:\maven\apache-maven-3.2.5\bin;C:\gradle\gradle-5.6.4\bin;%JAVA_HOME%\bin;%PATH%
- cmd: SET MAVEN_OPTS=-Xmx4g
- cmd: SET JAVA_OPTS=-Xmx4g
- cmd: SET M2_HOME=C:\maven\apache-maven-3.2.5
- cmd: java -version
- cmd: gradle -v
- cmd: dir/w
- git clone https://github.com/wing328/swagger-samples
- git clone https://github.com/wing328/swagger-samples --depth 1
- ps: Start-Process -FilePath 'C:\maven\apache-maven-3.2.5\bin\mvn' -ArgumentList 'jetty:run' -WorkingDirectory "$env:appveyor_build_folder\swagger-samples\java\java-jersey-jaxrs-ci"
- ps: Start-Sleep -s 15
- ps: $PSVersionTable.PSVersion
- ps: Install-Module -Name Pester -Force -Scope CurrentUser
build_script:
- dotnet --info
# build C# aspnetcore 5.0 server
- dotnet build samples\server\petstore\aspnetcore-5.0\Org.OpenAPITools.sln
# build C# aspnetcore 3.1 server
- dotnet build samples\server\petstore\aspnetcore-3.1\Org.OpenAPITools.sln
# build C# aspnetcore 3.0 server
- dotnet build samples\server\petstore\aspnetcore-3.0\Org.OpenAPITools.sln
# build C# aspnetcore 2.2 server
- dotnet build samples\server\petstore\aspnetcore\Org.OpenAPITools.sln
# build C# API client (multiple frameworks)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClientCoreAndNet47\Org.OpenAPITools.sln
# build C# API client (httpclient)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient-httpclient\Org.OpenAPITools.sln
# build C# API client (netcore)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient\Org.OpenAPITools.sln
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClientCore\Org.OpenAPITools.sln
# build C# API client (.net framework 4.7)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient-net47\Org.OpenAPITools.sln
# build C# API client (.net 5.0)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient-net5.0\Org.OpenAPITools.sln
# build C# API client (.net 5.0 with ConditionalSerialization)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient-ConditionalSerialization\Org.OpenAPITools.sln
# build C# API client
- nuget restore samples\client\petstore\csharp\OpenAPIClient\Org.OpenAPITools.sln
- msbuild samples\client\petstore\csharp\OpenAPIClient\Org.OpenAPITools.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
@@ -45,29 +64,48 @@ build_script:
- nuget restore samples\client\petstore\csharp\OpenAPIClientWithPropertyChanged\Org.OpenAPITools.sln
- msbuild samples\client\petstore\csharp\OpenAPIClientWithPropertyChanged\Org.OpenAPITools.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
# build C# .net standard 1.3+ API client
- nuget restore samples\client\petstore\csharp\OpenAPIClientNetStandard\Org.OpenAPITools.sln
- msbuild samples\client\petstore\csharp\OpenAPIClientNetStandard\Org.OpenAPITools.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
#- nuget restore samples\client\petstore\csharp\OpenAPIClientNetStandard\Org.OpenAPITools.sln
#- msbuild samples\client\petstore\csharp\OpenAPIClientNetStandard\Org.OpenAPITools.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
# install openapi-generator locally
- mvn clean install --quiet
- mvn --no-snapshot-updates --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
# run the locally installed openapi-generator-gradle-plugin
- gradle -b modules\openapi-generator-gradle-plugin\samples\local-spec\build.gradle buildGoSdk --info
- gradle -b modules\openapi-generator-gradle-plugin\samples\local-spec\build.gradle buildGoSdk --stacktrace
test_script:
# restore test-related files
- copy /b/v/y CI\samples.ci\client\petstore\csharp\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj samples\client\petstore\csharp\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client (multiple frameworks)
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClientCoreAndNet47\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client (httpclient)
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient-httpclient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client (netcore)
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClientCore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test C# API client (.net framework 4.7)
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient-net47\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test C# API client (.net 5.0)
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient-net5.0\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test C# API Client using conditional-serialization
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient-ConditionalSerialization\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
# test c# API client
- nunit3-console samples\client\petstore\csharp\OpenAPIClient\src\Org.OpenAPITools.Test\bin\Debug\Org.OpenAPITools.Test.dll --result=myresults.xml;format=AppVeyor
# test c# API client (with PropertyChanged)
- nunit3-console samples\client\petstore\csharp\OpenAPIClientWithPropertyChanged\src\Org.OpenAPITools.Test\bin\Debug\Org.OpenAPITools.Test.dll --result=myresults.xml;format=AppVeyor
### TODO: Execute all generators via powershell or other
# generate all petstore clients
- .\bin\windows\run-all-petstore.cmd
# - .\bin\windows\run-all-petstore.cmd
# generate all petstore clients (openapi3)
- .\bin\openapi3\windows\run-all-petstore.cmd
# - .\bin\openapi3\windows\run-all-petstore.cmd
# test ps pestore
- ps: |
$ErrorActionPreference = "Stop"
cd samples\client\petstore\powershell\
.\Build.ps1
Import-Module -Name '.\src\PSPetstore'
$Result = Invoke-Pester -PassThru
if ($Result.FailedCount -gt 0) {
$host.SetShouldExit($Result.FailedCount)
exit $Result.FailedCount
}
cache:
- C:\maven\
- C:\gradle\

View File

@@ -1,36 +0,0 @@
#!/usr/bin/env bash
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
model="modules/openapi-generator/src/test/resources/2_0/petstore.yaml"
ags="generate --template-dir modules/openapi-generator/src/main/resources/Ada -g ada $@"
ags="$ags -i $model -t modules/openapi-generator/src/main/resources/Ada -o samples/client/petstore/ada"
ags="$ags --additional-properties projectName=Petstore --model-package Samples.Petstore"
java $JAVA_OPTS -jar $executable $ags
rm -rf samples/client/petstore/ada/src/server

View File

@@ -1,5 +0,0 @@
#!/bin/sh
./bin/android-petstore-httpclient.sh
./bin/android-petstore-volley.sh

View File

@@ -1,32 +0,0 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/android -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g android --additional-properties library=httpclient -o samples/client/petstore/android/httpclient $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,4 +0,0 @@
{
"library": "volley",
"artifactId": "petstore-android-volley"
}

View File

@@ -1,32 +0,0 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g android -c bin/android-petstore-volley.json -o samples/client/petstore/android/volley $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,32 +0,0 @@
#!/usr/bin/env bash
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -g apache2 -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -o samples/config/petstore/apache2 $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,32 +0,0 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/apex -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g apex -o samples/client/petstore/apex $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,32 +0,0 @@
#!/usr/bin/env bash
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -g aspnetcore -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -t modules/openapi-generator/src/main/resources/aspnetcore/2.1/ -o samples/server/petstore/aspnetcore --additional-properties packageGuid={3C799344-F285-4669-8FD5-7ED9B795D5C5} $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,32 +0,0 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
args="generate -t modules/openapi-generator/src/main/resources/bash -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g bash -o samples/client/petstore/bash -c modules/openapi-generator/src/test/resources/2_0/bash-config.json --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $args

View File

@@ -1,32 +0,0 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/C-libcurl -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g c -o samples/client/petstore/c $@"
java $JAVA_OPTS -jar $executable $ags

View File

@@ -1,32 +0,0 @@
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.json -g clojure -o samples/client/petstore/clojure $@"
java $JAVA_OPTS -jar $executable $ags

6
bin/configs/apex.yaml Normal file
View File

@@ -0,0 +1,6 @@
systemProperties:
skipFormModel: "true"
generatorName: apex
outputDir: samples/client/petstore/apex
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/apex

View File

@@ -0,0 +1,7 @@
generatorName: aspnetcore
outputDir: samples/server/petstore/aspnetcore
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/2.1
additionalProperties:
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
aspnetCoreVersion: "2.2"

View File

@@ -0,0 +1,7 @@
generatorName: aspnetcore
outputDir: samples/server/petstore/aspnetcore-3.0
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
additionalProperties:
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
aspnetCoreVersion: "3.0"

View File

@@ -0,0 +1,9 @@
generatorName: aspnetcore
outputDir: samples/server/petstore/aspnetcore-3.1
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
additionalProperties:
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
# comment out below as 3.1 the default
#aspnetCoreVersion: "3.1"
userSecretsGuid: "76e9e993-9159-441c-9c5b-fe95e7f4f020"

View File

@@ -0,0 +1,7 @@
generatorName: aspnetcore
outputDir: samples/server/petstore/aspnetcore-5.0
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
additionalProperties:
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
aspnetCoreVersion: "5.0"

14
bin/configs/bash.yaml Normal file
View File

@@ -0,0 +1,14 @@
generatorName: bash
outputDir: samples/client/petstore/bash
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/bash
additionalProperties:
generateZshCompletion: true
hostEnvironmentVariable: PETSTORE_HOST
curlOptions: -sS --tlsv1.2
apiKeyAuthEnvironmentVariable: PETSTORE_API_KEY
processMarkdown: true
basicAuthEnvironmentVariable: PETSTORE_BASIC_AUTH
scriptName: petstore-cli
generateBashCompletion: true
hideGenerationTimestamp: "true"

4
bin/configs/c.yaml Normal file
View File

@@ -0,0 +1,4 @@
generatorName: c
outputDir: samples/client/petstore/c
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/C-libcurl

View File

@@ -0,0 +1,7 @@
generatorName: cpp-pistache-server
outputDir: samples/server/petstore/cpp-pistache
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/cpp-pistache-server
additionalProperties:
useStructModel: "false"
addExternalLibs: "true"

View File

@@ -0,0 +1,7 @@
generatorName: cpp-qt-client
outputDir: samples/client/petstore/cpp-qt
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/cpp-qt-client
additionalProperties:
cppNamespace: test_namespace
modelNamePrefix: PFX

View File

@@ -0,0 +1,4 @@
generatorName: cpp-qt-qhttpengine-server
outputDir: samples/server/petstore/cpp-qt-qhttpengine-server
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/cpp-qt-qhttpengine-server

View File

@@ -0,0 +1,4 @@
generatorName: cpp-restsdk
outputDir: samples/client/petstore/cpp-restsdk/client
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/cpp-rest-sdk-client

View File

@@ -0,0 +1,7 @@
generatorName: cpp-tiny
outputDir: samples/client/petstore/cpp-tiny
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/cpp-tiny
additionalProperties:
hideGenerationTimestamp: "true"
controller: "esp32"

9
bin/configs/crystal.yaml Normal file
View File

@@ -0,0 +1,9 @@
generatorName: crystal
outputDir: samples/client/petstore/crystal
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/crystal
additionalProperties:
shardVersion: 1.0.0
moduleName: Petstore
shardName: petstore
strictSpecBehavior: false

View File

@@ -0,0 +1,6 @@
generatorName: csharp
outputDir: samples/client/petstore/csharp/OpenAPIClient
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'

View File

@@ -0,0 +1,12 @@
# for .net standard httpclient
generatorName: csharp-netcore
outputDir: samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient
inputSpec: modules/openapi-generator/src/test/resources/3_0/java/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp-netcore
library: httpclient
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
useOneOfDiscriminatorLookup: true
targetFramework: netstandard2.0

Some files were not shown because too many files have changed in this diff Show More