Compare commits

..

507 Commits

Author SHA1 Message Date
William Cheng
225d590b53 add a test for allOf with nested inline object with oneOf 2023-02-28 17:53:48 +08:00
William Cheng
a4b5b85067 Update jackson nullable version to newer version v0.2.6 (#14823)
* update jackson nullable to newer version

* update samples

* update samples

* update samples
2023-02-27 18:38:31 +08:00
Michel Wohlert
07f1d2d51c Encode request parameters to enable whitespace characters (#14797) 2023-02-27 09:25:28 +08:00
Rémi Kalbe
099f138dd5 [RUST] Upgrade reqwest-middleware (#14819)
* [RUST] Upgrade reqwest-middleware

Bump reqwest-middleware from 0.1.6 to 0.2.0

* Bump sample
2023-02-27 09:05:37 +08:00
William Cheng
b5d4fa9d27 fix unique items in python nextgen client (#14816) 2023-02-26 10:21:26 +08:00
Emma
1f2d6b8848 [python-nextgen] support dict query params (#14727)
* [python-nextgen] convert dictionary query params to string

* [python-nextgen] regenerated samples

* [python-nextgen] added some test cases for parameters_to_url_query

* [python-nextgen] use json.dumps instead of str(v)

* [python-nextgen] update api_client tests
2023-02-25 22:25:52 +08:00
Dennis Melzer
92b96635bd Fix bean validation for Collection and add unit test (#14736)
* Fix bean validation for Collection + uni test

* Fix

* Adapt examples

* Fix comments

* Merge master

* Remove Bean validation for Maps

* Remove @Valid from jakarta

* Fix example

* Fix comments

* Fix springboot-3 example
2023-02-25 22:06:31 +08:00
David Weinstein
3aa7ec6a39 Get API configuration from application environment for erlang-client (#14752)
* Get config from classname api

* Use the packageName

* Add samples
2023-02-25 22:05:14 +08:00
sbilz
f4e53db8cf Java Jersey glassfish fix renewing OAuth-Accesstoken #14734 (#14735) 2023-02-25 22:01:33 +08:00
catostrophe
5c9999b7cf Stop using org.springframework.util.Base64Utils in Java generators (#14813)
This utility class has been marked as deprecated for future removal since Spring 6.0.5. All Java generators, except WebClient and RestTemplate, are already using Base64 directly.
2023-02-25 21:56:18 +08:00
William Cheng
8b2de37414 [openapi-normalizer] add a new rule to set tags for all operations (#14794)
* add doc for KEEP_ONLY_FIRST_TAG_IN_OPERATION

* add new rule SET_TAGS_FOR_ALL_OPERATIONS

* better null check

* improve doc
2023-02-24 15:26:34 +08:00
William Cheng
d400d7fb15 Better handling of x-nullable in codegen property (#14800)
* add failed tests

* add logic to handle x-nullable in property

* update samples

* update test
2023-02-24 15:24:34 +08:00
William Cheng
b527f3b816 Setup Github works for Erlang projects (#14788)
* add github work for erlang projects

* trigger build

* use setup-bean instead

* add rebar3 version

* update otp version

* fix otp version

* fix otp version

* use 22.2

* fix

* fix

* fix ubuntu version

* use 22.2

* comment out erlang server test
2023-02-22 15:03:21 +08:00
William Cheng
cab9872d6d Add from_dict in model anyOf in python-nextgen (#14781)
* add from_dict to model_anyof template in python-nextgen, fixes #14767

* add space before from_dict in model.anyof in python-nextgen

* update samples, add tests

---------

Co-authored-by: Tomas Karasek <tom.to.the.k@gmail.com>
2023-02-22 10:56:05 +08:00
Cameron Koegel
18ef6ff96a [Ruby] fix return_binary_data with attr_accessor (#14772)
* [Ruby] fix `return_binary_data` with `attr_accessor`

* regenerate samples
2023-02-22 00:51:21 +08:00
Sergey Prytkov
94733b8bdf ktor-client fix array generation (#14778) 2023-02-21 10:58:11 +00:00
William Cheng
e09196261a Add rule to simplify oneOf/anyOf (#14777)
* add rule to simplify oneof/anyof

* update doc

* test nullable
2023-02-21 17:39:43 +08:00
William Cheng
c9958e12b8 Add rule to simplify boolean enum (#14764)
* add rule to simplify boolean enum

* update doc
2023-02-21 14:06:24 +08:00
William Cheng
b215f67b2e fix gradle properties with the correct snapshot version 2023-02-20 16:44:23 +08:00
Naoki Ikeguchi
9290c1a75e [rust-server] Fix clippy warnings (#13907)
* fix(rust-server): clippy::blacklisted_name -> clippy::disallowed_names

* fix(rust-server): Remove unnecessary deref

* fix(rust-server): Allow clippy::single_match

* fix(rust-server): Use clone instead of to_owned on Cow

* fix(rust-server): Remove needless borrows

* chore(rust-server): Update sample outputs
2023-02-20 13:46:01 +08:00
William Cheng
94d6faffe3 revert spring boot back to 2.5.14 (#14755) 2023-02-20 12:35:47 +08:00
William Cheng
c50a775e0c prepare 6.5.0 release (#14749) 2023-02-19 20:36:23 +08:00
William Cheng
93df0ff444 Prepare 6.4.0 release (#14748)
* prepare 6.4.0 release

* update samples
2023-02-19 18:53:20 +08:00
William Cheng
1bd3ce7ce2 [python-nextgen] Better oneOf, anyOf support (#14743)
* better oneof, anyof support

* improve anyof support

* fix deprecation warning

* fix anyof, add tests

* add nullable support, add test
2023-02-19 17:16:15 +08:00
William Cheng
0891b6056f python better datetime test (#14742) 2023-02-19 16:48:36 +08:00
Jorge Rodríguez Martín
cb20e742ea [BUG][JAVA][SPRING] Fix serialization when there is a discriminator with mapping (#14733) (fix #14731)
* Fix serialization when there is a discriminator with mapping

* Update samples

* Update samples

* upgrade samples

* Revert "Update samples"

This reverts commit d6affde263.
2023-02-18 07:00:44 -08:00
GregDThomas
c5d67ee042 Fix https://github.com/OpenAPITools/openapi-generator/issues/11570 by ensuring tags at the class level match tags at the method level (#13434) 2023-02-18 06:23:10 -08:00
Justin Sherrill
e9f55c0dd9 [Bug][Go] consider allOf schemas for rendering string default vaules (#14684) 2023-02-18 11:07:09 +08:00
William Cheng
7968349991 go server - use tabs instead of spaces (#14740) 2023-02-18 00:37:53 +08:00
Rodrigo Cebrián González
612dc4dbcb [BUG][Go] Remove "null" body value when body is empty #13927 (#13934)
* only write reponse body if not nil

* update go samples

* golang style convention
2023-02-18 00:29:12 +08:00
davidediak
09ff22230d fix: Inline model schema's name is wrong (#14687) 2023-02-18 00:10:20 +08:00
Drago Rosson
2101ea6cf7 Make usage of !include more clear (#14724)
Fixes #14722
2023-02-17 23:44:13 +08:00
Sergey Prytkov
958609931b ktor-client add toString() for generic params (#14717)
* ktor-client add toString() for generic params

* fix builder receivers
2023-02-17 09:56:36 +00:00
William Cheng
3746a2069f enable onBrokenLinks (#14730) 2023-02-17 16:53:07 +08:00
William Cheng
cea5022b5d update docusaurus to latest version (#14728) 2023-02-17 14:15:29 +08:00
Oleh Kurpiak
2bc963f00c Generate merge spec (#14387) 2023-02-17 10:40:05 +08:00
Cam K
0816008f1e Fix 6.4.0 SNAPSHOT link (#14726) 2023-02-17 09:48:14 +08:00
RInverid
9be92fabd1 fix incorrect method name (#14720) 2023-02-16 22:22:55 +08:00
Beppe Catanese
6095d2df75 Support CommaSeparatedTuples including commas (#14535)
* Test parsing CSV values including commas

* Remove commented line
2023-02-16 18:36:47 +08:00
Dave Syer
0e0cddacac Make sure jaxrs-spec works with Jakarta (#14654) 2023-02-16 18:29:37 +08:00
Robbert van Waveren
ae0ed022d5 take numeric types into account for array defaults (#14694) 2023-02-16 18:28:26 +08:00
John Vandenberg
11d9d4346e [rust] Fix content-type in templates (#14702) 2023-02-16 17:54:02 +08:00
Antoine Vandecreme
12e76ec14f Fix escaping in R (#14572) 2023-02-16 16:02:03 +08:00
William Cheng
62f52ad520 install lifecycle as part of r tests (#14716) 2023-02-16 15:49:50 +08:00
William Cheng
d7e75ebe5d fix anyof toUrlQuery string in java native (#14715) 2023-02-16 14:46:57 +08:00
William Cheng
71c2abf81c [Java] fix default value for JsonNullable (#14703)
* fix java webclient default value

* update default value in java okhttp client

* fix java native client default value in JsonNullable

* improve java okhttp-gson default value template

* update java rest-related templates

* update feign samples

* update jersey3 templates

* update jersey2 templates

* update default value in jaxrs templates

* fix spring default value

* update jaxrs pojo, fix tests

* update samples

* suport set
2023-02-16 10:37:36 +08:00
Peter Leibiger
8b0b4b5d04 [dart][dart-dio] Add deprecations on models and fields (#14676) 2023-02-16 01:09:34 +08:00
Peter Leibiger
1814a04c20 [dart][dart-dio] Bump Dio to 5.0.0 (#14675)
* [dart] Cleanup unused/redundant stuff

* [dart] Bump Dio to 5.0.0

* Fix description

* Get tests to run based with git dependency

* Fix test generation

* Update docs

* Update test dependencies

* Use released version of http_mock_adapter
2023-02-16 01:09:08 +08:00
devhl-labs
b6e51b7a77 [csharp-netcore] Use scheme from base address (#14685)
* use scheme from base address

* removed unecessary null-forgiving operators
2023-02-15 23:47:33 +08:00
devhl-labs
7c57024e69 improved date de/serialization (#14679) 2023-02-15 23:46:48 +08:00
Andre Vegas
d7edbad8d6 [java][apache-httpclient] update httpclient dependency to the latest 5.x (#14673)
* #14672 - adding generator with apache http client 5

* #14672 - adding generator with apache http client 5

* #14672 - adding generator with apache http client 5

* #14672 - adding generator with apache http client 5
2023-02-15 15:12:39 +08:00
William Cheng
85a7d69b5f update starlette to newer version (#14700) 2023-02-15 14:59:43 +08:00
Anton Averchenkov
f455ac166c Add 'endsWith' handlebars helper function (#14634)
* Add 'endsWith' handlebars helper function

* add tests

* fix test
2023-02-15 11:14:59 +08:00
Daniel Imber
e00d8d564a [BUG] [Kotlin Client] Template: isUniqueItems rather than uniqueItems (#14677) 2023-02-13 11:14:42 +08:00
William Cheng
110460b71a [python-nextgen] better datetime support in parameters (#14621)
* add allowStringInDateTimeParameters option

* add tests

* add files

* add tests for datetime query parameters

* fix file anme

* trigger build

* fix pytest

* install test requirement

* trigger build

* break build

* add new files

* fix Locale.ROOT

* update doc
2023-02-12 21:11:29 +08:00
William Cheng
72c02e4bc1 optionally support float strict type (#14618) 2023-02-12 19:44:18 +08:00
William Cheng
d7a2e4a293 Apache Camel: implicit headers (#14674)
* Apache Camel: fix implicit headers

* ./mvnw clean package
  ./bin/generate-samples.sh
  ./bin/utils/export_docs_generators.sh

* Q

* Created samples/openapi3/client/3_0_3_unit_test/python/test/.gitempty

* update samples

---------

Co-authored-by: Giacomo Carnevale <gcarnevale@imolainformatica.it>
2023-02-11 23:48:55 +08:00
William Cheng
b6abace9dc [JAVA] java.net.http.HttpClient (java native) conditionally depend on apache (#14670)
* JAVA-NATIVE conditionally depend on apache

* add hasFormParamsInSpec in abstract java codegen

* use hasFormParamsInSpec instead

* minor fix

---------

Co-authored-by: Sergey Prytkov <sergey@razz.team>
2023-02-11 22:06:44 +08:00
Oleh Kurpiak
9a0aee90bd [Java] fix JSON template (no samples update) 2023-02-11 12:52:55 +02:00
William Cheng
e702506e4d update samples 2023-02-11 10:35:27 +08:00
Beppe Catanese
68b944e6e6 Preserve order of securitySchemes (#14536)
* Remove alphabetical sort

* Update integration testing expectations

* Regenerate files
2023-02-10 22:20:19 +08:00
canadazhangsan
1b60ee1799 [Java][native]Fixed StringJoiner add method parameter error (#14646)
Co-authored-by: Ran Tao <ran.tao@tech-tao.com>
2023-02-10 10:10:21 +08:00
Tom Deering
4664f6c46c [Java] Fix APIClient basePath Configuration (#14600)
* Nullify serverIndex in java ApiClient.setBasePath

Restores previous behavior broken between v6.2.1 and v6.3.0

* Regenerate samples
2023-02-09 18:27:57 +08:00
William Cheng
687bace3f3 [Java][native] add spotless gradle/mvn plugin (#14641)
* add spotless plugin to java native client

* apply spotless

* Revert "apply spotless"

This reverts commit 485d50bbde.
2023-02-09 10:29:40 +08:00
William Cheng
011982ab9c [csharp-netcore] add tests for uuid string with pattern (#14411)
* add tests for uuid with pattern in csharp clients

* update samples

* update samples

* update
2023-02-08 20:54:56 +08:00
Bach
98333492cf change access level of LOGGER (#14558)
Co-authored-by: Bach <xuan_bach_nguyen@earthbrain.com>
2023-02-08 20:07:03 +08:00
William Cheng
4c8e230e50 update ts samples 2023-02-08 10:53:30 +08:00
TORISOUP
7ca0b92944 [csharp-netcore] HttpClient/Set TimeoutException to inner exception in case of timeout (#13862)
* Changed to TimeoutException

* Handle timeout exceptions as inner exceptions.

* Corrected arguments for compatibility
2023-02-08 10:28:55 +08:00
duckboy81
e13a4e143b Added missing end code block ticks (#14630)
Looks like a large, sweeping change trimmed off a few backticks. Without them the rest of this readme is rubbish.
2023-02-08 10:24:06 +08:00
Szabolcs Székelyi
0f1919ee53 [dart-dio] Fix anyOf serialization (#14528)
Fixes #14519
2023-02-08 10:22:20 +08:00
Nico Korthout
26eb1dc805 [Kotlin-Spring] Support multiline descriptions (#14406)
* [Kotlin-Spring] Support multiline descriptions

This commit adds support for multiline descriptions for operations in
the Kotlin-Spring generator, for both regular API generation (i.e.
Controller), as well as interface-only API generation.

Multiline descriptions allow us to use rich text representations, e.g.
with Markdown. Note that Markdown-formatted descriptions are rendered
nicely in Swagger-UI. I imagine that most openapi consumers will be able
(or will want to) support Markdown (at some point).

The solution for Kotlin-Spring is rather simple, using Raw Strings to
contain the `unescapedNotes`.

See: https://kotlinlang.org/docs/strings.html#raw-strings

Note that specific unescaped strings could cause problems. For example,
the string containing three double quotes `"""` would result in compile
errors for the generated code. I think this is acceptable.

Note that an improvement is possible to use `.trimMargin()` in
combination with the pipe symbol `|`, to allow specific margin
prefixing.

Note that the description is used in escaped form in the JavaDoc. This
could be resolved by prefixing every line of the unescapedNotes with a
star `*`.

For now, I've chosen to implement this the simplest way I could think
off.

Signed-off-by: Nico Korthout <nico.korthout@camunda.com>

* [Kotlin-Spring] Update samples

Signed-off-by: Nico Korthout <nico.korthout@camunda.com>

---------

Signed-off-by: Nico Korthout <nico.korthout@camunda.com>
2023-02-07 17:25:12 +00:00
Beppe Catanese
515abf8c68 [Go] Export isNil function in utils.go (#14625)
* Rename isNil to IsNil

* Regenerate files
2023-02-07 22:15:30 +08:00
devhl-labs
927bfa481f Inline allOf parameters are always not required (#14278)
* fixed the issue

* added comment
2023-02-07 21:54:20 +08:00
Beppe Catanese
031115356d Replace deprecated code (#14639) 2023-02-07 21:52:19 +08:00
William Cheng
bbc42696ab [java] Fix enum ref issue in array default value (#14638)
* fix enum ref issue in array default value (java)

* update samples

* update tests

* update samples
2023-02-07 21:49:30 +08:00
William Cheng
cda3517891 [Go] properly set header parameters on api clients (#14637)
* [Go] properly set header parameters on api clients

* update samples

* update samples

---------

Co-authored-by: Paul Sokolik <paul.sokolik@gmail.com>
2023-02-07 21:45:24 +08:00
William Cheng
d90bdcbec7 update readme (#14626) 2023-02-06 11:02:04 +08:00
Robin Karlsson
ca19fa0ef3 [java][jersey] Fix ALLOW_COERCION_OF_SCALARS (#14619)
* Remove dead code

* Refactor containsKey before get

* Minor refactor

* Use JsonMapper.builder() to build ObjectMapper

Fix a bug where ALLOW_COERCION_OF_SCALARS wasn't set properly.

* Update samples

* Oops, fix a typo
2023-02-06 10:34:21 +08:00
William Cheng
31c3a40b4c [python-nextgen] fix bug fix and enhancement (#14308)
* add access token

* remove disabled_client_side_validations

* remove discard_unknown_keys

* update samples

* fix array/map default value

* add krjakbrjak to python tc
2023-02-04 15:34:14 +08:00
devhl-labs
a3c0de935f fixed format of Date serialization (#14616) 2023-02-04 15:09:33 +08:00
Sergey Prytkov
c2bad96ce1 [JAVA] java.net.http.HttpClient (java native) form data generator (#14554)
* java native form data generator

* merge master; add test

* change test

* store body echo response

* review fixes
2023-02-04 00:19:48 +08:00
Masato Yagi
d8f777d707 Fix the examples and import path in golang client documents (#14612)
* Correct import

* Fix generated client doc when there is no response body

* generate samples
2023-02-03 21:44:45 +08:00
Mintas
6b0644115b added JavaSpring beanValidation for RequestBody parameters fix #13932 (#13936) 2023-02-03 15:26:48 +02:00
William Cheng
14669d226b beter code format (#14614) 2023-02-03 21:07:31 +08:00
pravussum
4f1708c3fb [Java/Microprofile] Add support for Jackson serialization & async interfaces using Mutiny in Java Microprofile library (#11554) 2023-02-03 19:39:01 +08:00
William Cheng
6b80410bf3 update CI to install v1.18 (#14607) 2023-02-03 16:34:43 +08:00
Simon Schmid
55e2eb1d6a Set proxy in ruby faraday client if configured (#14597)
* set proxy in ruby faraday client if configured

* Add missing string terminator in ruby client spec

* generating samples for ruby
2023-02-03 16:11:44 +08:00
Gonzalo Gomez
68b41eeeea [GO][Client] Don't import io/ioutil package that has been deprecated as of Go 1.16 (#14476)
* io/ioutil has been deprecated ass of Go 1.16, the same functionality is now provided by package io or package os

* run pr checklist

* Bump go version to 1.16.

* Run pr checklist

* Bump version to 1.18

* Run pr check list
2023-02-03 15:50:12 +08:00
William Cheng
6072646899 Cleanup go-deprecated files, go-experimental doc (#14606)
* cleanup go-deprecated files, go-experimental doc

* update readme
2023-02-03 15:14:10 +08:00
Henry Megarry
626cd8c0cd fix #2737 creates (empty) directories if contained files are ignored (#14433) 2023-02-03 10:01:28 +08:00
jethrodaniel
a94ad37738 [Ruby] Allow general purpose faraday connection configuration (#14423)
* allow general purpose faraday connection configuration

* add spec for Configuration#configure_faraday_connection

* run generators

* limit changes to ruby client generated using faraday library
2023-02-03 09:59:52 +08:00
Fynn Tang
f6be077efb fix(sec): upgrade websockets to 10.0 (#14593)
* update websockets 8.1 to 10.0

* fix(sec): upgrade websockets to 10.0
2023-02-03 09:37:28 +08:00
William Cheng
27af3a063b add more tests such as empty response (#14587) 2023-02-02 18:18:55 +08:00
William Cheng
31a89e35cb Prepare 6.4.0 (#14582)
* update to 6.4.0 snapshot

* update samples

* update doc
2023-02-01 22:44:40 +08:00
William Cheng
8f2676c5c2 Prepare v6.3.0 release (#14580)
* 6.3.0 release

* fix maven plugin test

* update samples

* update doc

* fix tests in windows
2023-02-01 20:52:29 +08:00
julien Lengrand-Lambert
6541038e13 Update PR template to contain all scripts to run (#14501)
* Update PR template to contain all scripts to run

* Makes template more precise

* Avoid requesting to run scripts that are not useful.
2023-02-01 15:51:11 +08:00
Kariem Hussein
6ddc8b3f38 Add section on type and import mappings with samples (#14576) 2023-02-01 15:47:55 +08:00
William Cheng
32499a19fc fix empty body in java apache client (#14574) 2023-02-01 15:41:55 +08:00
Sergii Baitala
8d9816e193 [cpp-qt-client] CMake build system improvements (#14210)
* checkpoint

* rename template file

* add nl

* fix build
2023-01-31 23:39:00 +08:00
Beppe Catanese
e8c739e771 Read modelFileFolderPath from additionalProperties (#12536) 2023-01-31 22:49:45 +08:00
William Cheng
a28772b08f skip website push (#14573) 2023-01-31 22:44:03 +08:00
Paul Parenko
cffe2d0259 [Kotlin-Spring] support to Spring boot3 & jakarta extension (#14369)
* [Kotlin] add spring boot 3 & jakarta extension support

* [kotlin-spring] readme update & modified imports

* use latest Spring Boot starter parent

* use same options as in [Java] generator

* new config kotlin-spring-boot-3

---------

Co-authored-by: jayandran sampath <jayandran.sampath@opencastsoftware.com>
2023-01-31 22:16:06 +08:00
julien Lengrand-Lambert
eca9ec775b Feat/jetbrains http client (#14477)
* Dummy client generated

* Adding dummy versions, my IDE crashed

* Making my first actual requests

* Creates first version of API Generator for Jetbrains Client

* Adds generated API files

* Adds more complex API definition

* Adds basic supporting files

* Adds empty environment file for variables
* Adds basic README

* Adds minimal set of values in env file`

* Adds minimal support for API Key header

* Adds Adyen API sample

* Add null checks on code

* Simplifies the generator, cleans output

* Improves README

* Fix minor issues with README

* Removes API file and config used for local testing

* Remove leftover logging file

* Disables tests as I find how to write them

* Sets generator as experimental

* Add new generator language enum value

* Adds generator doc file

* Adds generators main file

* Removes unused method. Adds my name

* Adding Jetbrains HTTP Client to the README
2023-01-31 22:03:15 +08:00
Martin Delille
fa1cbb9322 Add action for qt client (#14566)
* Add action for qt client

* Use matrix for os too
2023-01-31 21:59:38 +08:00
William Cheng
37e8cfadc7 minor imrovemets to julia generators (#14560) 2023-01-30 20:20:45 +08:00
William Cheng
fd45b74128 [Java] better default value handling (#14130)
* add test for array default value

* update null return

* minor fixes

* move default value tests to echo api spec

* add new files

* remove unused files

* fix enum array default, add tests

* better array init

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java

Co-authored-by: Leonard Brünings <lord_damokles@gmx.net>

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java

Co-authored-by: Leonard Brünings <lord_damokles@gmx.net>

* revert the fix

* improve default value handling

* update native samples, add tests

* update samples

* fix tests

* use conditional test for timezone

* add tests to apache http client echo api

* add option to default container to null

* fix map default value

* minor refactoring

* update samples

* fix javadoc

* fix pom.xml

* add tests in java native echo client

* add java apache client echo tests

* fix test

* fix test

---------

Co-authored-by: Leonard Brünings <lord_damokles@gmx.net>
2023-01-30 20:19:00 +08:00
William Cheng
b3527348f3 update doc 2023-01-30 16:58:19 +08:00
Tanmay Mohapatra
4bc16ea6bb Added a Julia client and server (#14520)
* Added a Julia client and server

This PR adds two new generators for the [Julia language](https://julialang.org/)
- `julia-client` to generate a client from specifications
- `julia-server` to generate a server with stubs that can be used to host a server conforming to the specifications

The generated code uses the Julia [OpenAPI.jl](https://github.com/JuliaComputing/OpenAPI.jl) package that includes support functions for both client and server.

* fix javadoc generation

* add changes after ensure-up-to-date run
2023-01-30 16:40:33 +08:00
Oleh Kurpiak
28493dfa95 [Spring] Spring HTTP Interface library (#14485) 2023-01-30 10:37:00 +02:00
Sebastian Cevallos
8540c82d30 Add handling for parsing optional bool params & regenerate samples (#14550) 2023-01-30 16:35:19 +08:00
devhl-labs
b538c2adf8 [csharp-netcore] Fixed serialization of nullable guids (#14556)
* fixed serialization of nullable guids

* build more csharp samples

* build all samples

* why do i have to build again?
2023-01-29 19:16:58 +08:00
devhl-labs
57546d49c2 renamed json converter variables (#14555) 2023-01-29 10:58:53 +08:00
Beppe Catanese
1c157a2847 Support examples in Response Content (#14336)
* Add examples map and overload constructor

* Create CodegenMediaType with examples

* Add test
2023-01-28 12:42:00 +08:00
Martin Delille
03299528e9 Add conan badge (#14537) 2023-01-28 12:12:20 +08:00
bgong-mdsol
47813a88a2 update imports for enum (#14546) 2023-01-28 12:10:59 +08:00
itaru2622
4ffdadfbcc [python-nextgen] fix issue on API example doc autogeneration (#14539)
* [python-nextgen] fix template to make auto-generated example runnable when spec has no auth methods

* update samples with ./bin/generate-samples.sh

* add unit test code
2023-01-28 12:03:17 +08:00
DevFlorian
6a2d8d23da #8792 [Java] [jaxrs-cxf] "useAbstractionForFiles" config option for jaxrs-cxf (#14316)
* [REQ] Add equals and hashcode to java-cxf pojo #12519

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* [Java] Use abstraction for files for jaxrs-cxf #8792

* fix sample

* fix sample

---------

Co-authored-by: FWermelskirchen <fwermelskirchen@eitco.de>
2023-01-28 11:37:08 +08:00
Oleh Kurpiak
ac5134acf3 [Java] fix JsonTypeName import (#14474) (fix #12524) 2023-01-25 14:39:58 +02:00
Michael Ramstein
5047273f1e [elixir] Properly map AnyType (#14497) 2023-01-24 07:48:49 +01:00
tjbdev
82ac92aed6 [elixir] connection.ex typo fix (#14512) 2023-01-24 07:12:32 +01:00
Michael Ramstein
ccbea26390 [elixir] Fixes issue with setting Header parameters (#14511)
* Fixes issue with request not beeing struct of Tesla.Env when setting a header parameter.
2023-01-23 22:03:05 +01:00
William Cheng
90e468b9a3 [java] Fix template logic related to supportUrlQuery (#14496)
* [java] Fix template logic related to supportUrlQuery

Generated models for arrays marked with uniqueItems: true (which end up as a Set<> in java) won't
compile because the templates are in some places using .get(i) on the sets.

Also, when the supportUrlQuery property is present in the additionalProperties map the
resulting value will be read using the key SUPPORT_STREAMING instead of 'supportUrlQuery'.

* fix NPE

Co-authored-by: Björgvin <bjorgvino@gmail.com>
2023-01-21 11:10:30 +08:00
devhl-labs
d4c8c97e19 [csharp-netcore] Pipeline fix (#14495)
* trying to fix pipeline

* forcing pipeline to run

* reverting change to wrong branch

* forcing pipeline to run

* reverting change
2023-01-21 10:46:42 +08:00
William Cheng
5e7d31a83b add a rule to keep only the first tag (#14465) 2023-01-20 15:50:31 +08:00
William Cheng
4ecb9f4186 [java][native] Fix urlQuery string method in oneOf (#14488)
* better tests, fix oneOf in urlquery string method

* update samples

* update
2023-01-20 01:57:32 +08:00
Ian Cubbon
6e780218ad [Go] Client Models using AllOf, OneOf, or AnyOf Correctly Include time and os imports (Attempt 2) (#14459)
* Currently, if a Model is an allOf the time and os imports are not correctly added to the generated file. This was introduced recently with a fix to not include those imports when the model is a composedSchema #13833. The logic in that fix was just slightly off as an allOf should be treated the same as a standard model.

If a model is an AllOf or does not have any composed schemas at all, the sub-models are in-lined defined in the struct. In this case, the standard logic of including the time and os imports apply.

If a model is a OneOf or AnyOf, the sub-models are included as pointers to the defined model. In this case, do not include those items in the logic of including time and os imports.

* Update example to include a time in an allOf

* Add back the accidentally removed nil check
2023-01-20 01:53:19 +08:00
William Cheng
6cd7989e9e [Java][native][apache-httpclient] Update toUrlQueryString to support form style for object (#14478)
* update toUrlQueryString

* add new files

* minor bug fixes

* support object in query parameter - java apache httpclient

* rename variable - java native

* update samples

* fix try catch
2023-01-19 16:13:51 +08:00
William Cheng
d1cde7febe Add 2 rules to OpenAPI Normalizer (#14463)
* add REMOVE_ANYOF_ONEOF_AND_KEEP_PROPERTIIES_ONLY

* add rules to simplify anyOf

* fix rules, update docs

* remove test

* fix doc
2023-01-17 21:27:57 +08:00
Johnny Marnell
c912bae3bc [Spring] Fix bean name collisions (#14092) (fix #14094)
* Use correct Pascal case for java enum

* Uniquely name @Bean annotations

* Use existing mustache var instead, run generate files

* rebase, re-run generators

* try to undo botched rebase/merge

* Attempt to manually undo whatever is going on w/ build, oops

* Attempt to manually undo whatever is going on w/ build, oops
2023-01-17 11:24:15 +02:00
Vikrant Balyan
9f502930ea [Go] Adds a sha256 configuration option to hs2019 (#14467)
* enables configuration of sha256 with hs2019

* committing generated examples

Co-authored-by: Aanisha Mishra <aanisha.mishra05@gmail.com>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
2023-01-16 23:21:53 +08:00
Marvin Rensing
4cd080762a [Java][Spring] fix RequestPart/RequestParam handling on multipart request for arrays (#14450) (fix #14449) 2023-01-16 11:39:51 +02:00
Ian Cubbon
74073df27c [GO][Client] Use a *os.File for the API Client when uploading and downloading (#14340)
* Change the return type of a file back to a pointer

* Change the api template to handle not double pointer-ing return types of os.File

* Fix unit tests

* Couple more unit test fixes
2023-01-16 16:51:04 +08:00
Oleh Kurpiak
27137e75ce [Java][Spring] fix ParameterObject import for Spring Boot 3 (#14454)
fix #14077
2023-01-14 08:00:32 -08:00
Paul Parenko
be87382fde [Java][Spring] Fix #14398 springboot 3 schema required (#14402)
* fix depricated @Schema(required) since swagger 2.2.5

* use same swagger-annotations version which is used by swagger-core which is a dependency of springdoc

* generated java sampes
2023-01-14 06:59:33 -08:00
philkild
7958990254 Add CancellationToken to generated aspnetcore controller methods. (#14326) 2023-01-14 22:15:53 +08:00
Ian Cubbon
92775ceffc [Go] [Client] Don't Explode Query Params (#14447)
* If the collection type is csv, that means 'dont explode the query params'.

* Simplify the logic just a tad

* url.Values -> Has was added in go1.17 but there are CI tests running at 1.16
2023-01-14 00:48:27 +08:00
Bruno Coelho
d348754399 [kotlin][client] add info if endpoints requires authentication or not (#14445)
* [kotlin][client] add info if endpoints requires authentication or not

* [kotlin][client] update sample projects

* [kotlin][client] add info if endpoints requires authentication or not

* [kotlin][client] update sample projects
2023-01-13 10:29:27 +00:00
Bruno Coelho
b6ad68baca [swift5][client] - fix combine warning (#14444)
* [swift5][client] - fix combine warning

* [swift5][client] - fix combine warning

* [swift5][client] - update samples
2023-01-13 10:29:00 +00:00
William Cheng
079ad1742e update useRuntimeException description (#14452) 2023-01-13 17:38:31 +08:00
William Cheng
cf4f2c76b2 Use inline allof instead of $ref in echo test (#14429)
* use inline allof instead of $ref in echo test

* update samples

* update samples

* fix tests
2023-01-13 17:21:28 +08:00
Sebastian Saip
ed2029f863 [Java][Microprofile] fix useRuntimeException (#14409) (#14414)
Co-authored-by: Sebastian Saip <sebastian.saip@senacor.com>
2023-01-13 15:42:07 +08:00
devhl-labs
8abc750c0e [csharp-netcore] Added isNew property to CodegenProperty (#14412)
* added isNew property to CodegenModel

* build all samples
2023-01-13 14:43:33 +08:00
William Cheng
9fae221f1d [Java][okhttp-gson] add echo client test (#14442)
* add echo api tests for java okhttp client

* test okhttp gson echo client in jdk8 workflow

* update samples
2023-01-13 00:15:29 +08:00
Bruno Coelho
b1f8f976c0 [swift5][client] - enable swift unit tests (#14441) 2023-01-12 15:10:15 +00:00
William Cheng
a584f32d68 Add workflow to test java apache client with jdk8 (#14437)
* add workflow to test java apache client with jdk8

* fix url encode issue with jdk8

* update samples

* minor improvements in java native client

* minor fix
2023-01-12 22:12:08 +08:00
Paul Parenko
c2c91e2d2e [Java][Spring] Fix #14362 when useSpringBoot3=true, then useJakartaEe=true (#14373) 2023-01-12 19:54:42 +08:00
Oleh Kurpiak
076b88429e [Java][Spring] fix param docs (#14426) 2023-01-12 19:53:01 +08:00
Chao Yang
e1e291bc12 [Crystal] Skip primitive types from ModelImportMap (#14436)
* Support requiring models in crystal lang

* Return null instead of empty string
2023-01-12 19:42:33 +08:00
Bruno Coelho
e8811ecd28 [swift5][client] - simplify async await (#14430)
* [swift5][client] - simplify async await

* [swift5][client] - update sample projects

* [swift5][client] - add more tests
2023-01-12 10:55:41 +00:00
William Cheng
cffacc8023 fix deploy in travis (#14428) 2023-01-12 01:05:52 +08:00
Tino Fuhrmann
a31b5b119e Documentation of Configuration/ConfigurationParameter for consolidated TypeScript generator (#10283)
* Added additional documentation for configuration object

* Regenerate samples

* Added exemplary usage of API to README.md

* Updated README, refined wording

* Added example for calling the API

* Regenerated samples

* Updated samples
2023-01-11 15:18:53 +01:00
Oleh Kurpiak
5dbfea6ecc [Java][Spring] fix default response code (#14399) 2023-01-11 20:34:58 +08:00
William Cheng
50e295e3c6 Fix missing import in allOf query parameters (#14408)
* add test for allOf in query parameter

* fix missing import in allof query parameter

* update samples

* update samples
2023-01-11 20:29:13 +08:00
William Cheng
3f96cdb756 Fix circleci build failure (node1) and Travis build failure (#14425)
* move python fastapi test to another node

* fix travis build

* fix install

* fix install

* fix install

* skip php test

* fix

* use trusty

* test bionic

* fix install

* fix pom

* skip perl test

* skip fastapitest
2023-01-11 20:28:53 +08:00
William Cheng
e825f27b0b [java][apache-httpclient] Add deep object url query parameter support (#14417)
* add deep object url query parameter to java apache-httpclient

* update doc string
2023-01-11 11:04:14 +08:00
yosshi4486
4044e724c0 [Swift5] Add an async execute API to RequestBuilder<T> (#14416)
* Add async `execute` interface

* Update samples

Run `./bin/generate-samples.sh`

* Add an explicit `self`

I forgot to add it

* Add an availability condition
2023-01-10 17:05:52 +00:00
Maxime Dufour
c6ea564600 [Java][Client Default] Support of AWS Signature V4 (#14287)
* Add support of AWSV4 Signature in Java

* Add Petstore sample for AWSV4 Signature

* Update other sample examples

* Sync Documentation and sample

* Specify only available for okhttp-gson in doc
2023-01-10 19:29:20 +08:00
Kalarrs Topham
0b8c08c7a0 Add .ToString() if is Uuid/Guid (#14321) 2023-01-10 09:17:04 +08:00
William Cheng
a010713c42 update cli module dependencies (#14400) 2023-01-09 21:21:55 +08:00
William Cheng
d269a2a09d Add deepObject query string support in Java native client (#14378)
* add deepObject query string support in java native client

* fix array of query parameters

* minor fix

* update samples

* fix test
2023-01-06 17:10:06 +08:00
William Cheng
b22bf0a071 [js] fix boolean in oneOf, add tests (#14380) 2023-01-06 11:26:32 +08:00
William Cheng
c514dc3c1b add java native jakarta samples for test (#14381) 2023-01-05 21:55:53 +08:00
William Cheng
9bbf729d5e Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2023-01-05 15:48:56 +08:00
William Cheng
95eaff0a00 update samples 2023-01-05 15:48:45 +08:00
s-jepsen
f848651b84 Fix @Generated annotation import for Java Native client. (#14376)
* Fix @Generated annotation import.

Apply fix to generatedAnnotation.mustache
Add changes to generated clients.

* Add changed files.
2023-01-05 15:42:20 +08:00
Oleh Kurpiak
e1220071f0 [Java][Spring] fix RequestPart/RequestParam handling on multipart request (#14357) 2023-01-05 10:22:32 +08:00
Oleh Kurpiak
ec9c7bdf2c [Java][Spring] fix EnumConverterConfiguration (#14356) 2023-01-05 10:19:17 +08:00
s-jepsen
cce3c963f3 Added check for hasHttpSignatureMethods. (#14339) 2023-01-04 15:26:06 +08:00
David Gamero
babfdff78a [typescript] migrate url-parse to URL WHATGW in https.ts (#14319)
* migrate

* remove extra blank line
2023-01-04 07:35:23 +01:00
Antoine Rey
917892db7d #14141 Add externalDocs to @Operation to the JavaSpring generator (#14177)
* #14141 Add externalDocs to @Operation to the JavaSpring generator

* #14141 Add externalDocs to @Operation to the JavaSpring generator : fix mustache template with #hasExternalDocs

* #14141 Add externalDocs to @Operation to the JavaSpring generator: fix indentation

* #14141 Add externalDocs to @Operation to the JavaSpring generator: fix carriage return

* #14141 Add externalDocs to @Operation to the JavaSpring generator: regenerate the spring-boot-oas3.yaml sample

* #14141 Add externalDocs to @Operation to the JavaSpring generator: generate-samples.sh

* #14141 Add externalDocs to @Operation to the JavaSpring generator: remove hasExternalDocs

* Fix ExternalDocumentation import generation and order

* #14141 Add externalDocs to @Operation to the JavaSpring generator: generate-samples.sh
2023-01-04 10:15:23 +08:00
Dan Michael O. Heggø
3dd313d35c [typescript] Add importFileExtension option to support ECMAScript module resolution (#14371)
* Rename 'extensionForDeno' to 'importFileExtension'

* Add importFileExtension option to typescript generator

* Fix typo, update docs

* Update docstring
2023-01-03 17:45:49 +01:00
Oleh Kurpiak
38fdbe0c2c [Java] fix bigDecimalAsString config option (#14370) 2023-01-03 23:49:08 +08:00
stropho
a6eb96ea34 typescript-axios single request param in factory (#14358) 2023-01-03 08:22:38 +01:00
Beppe Catanese
d0800c46e1 12551 [Go] Skipping marshalling of readonly fields (#14335)
* Skip toSerialize for readOnly fields

* Commit regenerated files
2023-01-02 23:35:54 +08:00
Julien Herr
921199bba7 [kotlin-spring] Move Jackson annotation from field to getter (#10825)
* Move Jackson annotation from field to getter

In some case, Jackson will duplicate entries when the annotation is on field
See https://github.com/FasterXML/jackson-databind/issues/1609

* Update samples
2023-01-02 15:32:57 +00:00
devhl-labs
b8b8c5c208 [csharp-netcore] Added samples for composed schemas (#14348)
* added samples for composed schemas

* continue ignoring standard for now
2023-01-02 23:27:01 +08:00
devhl-labs
466495e919 added new pipeline to build standard (#14349) 2023-01-02 23:25:05 +08:00
William Cheng
421e7c9d3e [Java] Better tests for jakarta option (webclient, resttemplate) (#14363)
* test java jakarta in new workflow jdk 17

* update workflow

* skip jakarta test in jdk11
2023-01-02 20:55:39 +08:00
Paul Parenko
fd2b141c53 when using useJakartaEe=true also set java 17 (#14360)
webclient now uses Sring Boot 3.0.1 with `useJakartaEe`
2023-01-02 20:29:32 +08:00
Ahmed Fwela
da8d984ea4 [dart-dio] Fix non legacy discriminator behavior (#14291)
* override createDiscriminator

* assign discriminator = null to remove duplicates

* added discriminatorValue extension

* added _defaults

* formatting

* samples

* use gitter instead

* remove comment

* updated samples

* revert formatting changes

* update samples

* change file permissions

* remove discriminator check for anyOf

* add comment to createDiscriminator
2023-01-02 18:59:33 +08:00
Nick Ufer
16a7fb8acd [KOTLIN] feat: adds maven-publish to 'kotlin' client generator (#14344)
* [KOTLIN] feat: adds maven-publish to 'kotlin' client generator

* [KOTLIN] chore: regenerate samples
2023-01-02 09:20:41 +00:00
Oleh Kurpiak
dc99a450dd [Java][Spring] fix @Operation content for array response (#14201) 2023-01-02 17:10:48 +08:00
Paul Parenko
456cca1a28 [Java] Fix #14276 Java Templates uses jakarta or javax package if useJakartaEe is enabled (#14343)
* Fix #14276 Java Templates uses jakarta or javax package if useJakartaEe
is true

* generated samples after useJakartaEe changes

* generated docs after useJakartaEe changes
2023-01-02 16:28:44 +08:00
William Cheng
dee0703269 remove empty spaces in blank lines in python nextgen client (#14347) 2023-01-02 00:59:24 +08:00
tom300z
2236cebe02 Bugfixes for python-nextgen (#14334)
* Fix swapped operators

Signed-off-by: Tom Hörberg <tom@hoerberg.de>

* add conversion to support non-string params

Signed-off-by: Tom Hörberg <tom@hoerberg.de>

* Provide better fix for nonstring url param values

Signed-off-by: Tom Hörberg <tom@hoerberg.de>

* Updated python-nextgen sample files

Signed-off-by: Tom Hörberg <tom@hoerberg.de>

Signed-off-by: Tom Hörberg <tom@hoerberg.de>
2023-01-02 00:06:25 +08:00
Oleh Kurpiak
be93d1f839 [Java][Jersey2] revert configurable javax package for javax.net (#14341) 2023-01-01 22:41:14 +08:00
Oleh Kurpiak
7c587ce061 [Java] configurable Javax/Jakarta package (#14310) 2022-12-30 22:33:55 +08:00
William Cheng
b71aecbe9e Add OpenAPI Normalizer (#14172)
* add x-parent support

* add docstring

* add openapi normalizer rule to use ref as parent in allof

* add openapi normalizer with 1 rule

* revise wordings

* fix javadoc warnings

* better test

* fix docstring

* minor update

* minor improvements

* fix typo
2022-12-30 16:03:21 +08:00
William Cheng
3a8265b6ee Update opeanpi-generator dependencies (#14328)
* update openapi-generator dep

* update dep, fix tests with new spec

* update kotlin version

* revert cafferine version

* add back testng version and scope
2022-12-28 17:28:07 +08:00
Hui Yu
04ebe9e1a0 [C][Client] Check cJSON_IsNull when the data type is string (#14332) 2022-12-28 16:32:13 +08:00
Thomas von Rosenberg
88fa9ef3c2 [rust] Fix declaration for arrays with object and array references (#14198)
* [rust] Fix declaration for arrays with object and array references

For arrays with an item defined by reference to an array or an object,
the generated type declaration was `Vec<core::models::Array>` or
`Vec<core::models::Map>` without defining a `Array` or `Map` so that the
code didn't compile.

* [rust] Fix trailing whitespace in petstore definition
2022-12-28 15:08:21 +08:00
0xNF
341a8535c7 [Dart] Fix array of array nullable and non-nullable value generation (#13461)
* [Dart] Added non-invalid defaults for non nullable array of arrays (#13460)

* [Dart] Update samples
2022-12-28 00:01:08 +08:00
renaud-twd
efdc94b113 Fix enum generation for php-symfony generator (#14105)
* fix(symfony): enum generation

* docs(php symfony): update samples and docs
2022-12-27 23:42:41 +08:00
Kristof Neirynck
8a2a059887 [Java] fix LocalTime import for dateLibrary java8 (#14111)
The import mapping for LocalTime still pointed to org.joda.time.*.
This one line made the jodatime dependency required.
2022-12-27 23:41:42 +08:00
Thomas von Rosenberg
63f6569e6f [rust] Fix model constructor for required enum array (#14196)
For a required enum array property the generated model constructor used
the type `RequiredEnums` instead of `Vec<RequiredEnums>`.
2022-12-27 23:25:01 +08:00
Dee Luo
444d411b5e perf: \GuzzleHttp\json_encode is deprecated, use \GuzzleHttp\Utils::jsonEncode instead (#14323) 2022-12-27 16:58:44 +08:00
William Cheng
ad2e1b7e62 add test for debugSupportingFiles (#14331) 2022-12-27 16:53:54 +08:00
John Mitchell
fd0bfae65a Java Feign - DefaultApi20Impl is only needed if OAuth is enabled (#14289)
* DefaultApi20Impl is only needed if OAuth is enabled

* Checking updated generate files
2022-12-27 16:50:08 +08:00
julien Lengrand-Lambert
a99c58011a Add JsonIgnore annotation to avoid debugSupportingFiles creating heap space issues (#14298)
* Updates Codegen operation to ignore debugSupportingFiles

* Removes JsonIgnore annotation and rename method instead

* Remove unused import
2022-12-27 16:39:42 +08:00
William Cheng
c27180849f fix gem bundler version (#14329) 2022-12-27 16:37:58 +08:00
William Cheng
68beec623f update swift samples 2022-12-27 16:00:36 +08:00
jase
cfef750e18 [BUG][Swift] fix decimal encoding referencing not existing extension method "encodeToJSON" (#14307)
* feat: add decimal extension "encodeToJSON"

* feat: add decimal extension "encodeToJSON"
2022-12-25 11:02:07 +00:00
Makoto Aoyama
031f0dcee6 [swift5]Add validation rule and validator (#14218)
* Add validation sample

* Add validation template

* Add access control

* Add rule property for string for numeric

* Add access control

* Remove useless file

* Fix condition

* Add properies for test

* Rename

* Add additional property

* Run ./bin/utils/export_docs_generators.sh

* Add comments for validator

* Rename

* Run ./bin/generate-samples.sh bin/configs/swift*
2022-12-23 13:25:54 +00:00
William Cheng
95198dd34b Test Java servers in github workflow (#14318)
* test java server in github workflow

* trigger build

* test with jdk 11

* rename

* Revert "trigger build"

This reverts commit b987616171.

* trigger build

* Revert "trigger build"

This reverts commit 24cca9f163.

* update samples
2022-12-23 01:17:46 +08:00
William Cheng
625a7233e2 update ts samples 2022-12-23 01:17:31 +08:00
Bill Collins
71a7a822f4 Nullable subschemas (#13850)
* Add failing example of nullable subschema

* Do not generate new subschemas when nullable

* Generate client

* Update go example schema/test
2022-12-22 20:44:05 +08:00
Lukas Peleska
028b38d43b typescript-nestjs / Ensure default headers remain unmodified (#14312)
When sending a request with a client generated by typescript-nestjs, the
default headers are modified. This occurs when headers such as "Accept"
are appended by the client.
The root of the issue is that a reference to the default headers is
stored instead of a clone.
2022-12-22 10:02:00 +01:00
William Cheng
34b343ff80 add links to blog posts about openapi-generator (#14311) 2022-12-21 22:46:22 +08:00
William Cheng
7b64fbb800 Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2022-12-21 15:26:34 +08:00
William Cheng
e6702c5edc update samples and docs 2022-12-21 15:25:09 +08:00
Lisa Burns
02d4852f26 Enable access token refresh (#14251)
* Enable the ruby client to support refreshing access tokens

- The client can now be configured with an access token getter proc
- The proc overrides the the static access token if it is set

* Run generators
2022-12-21 15:19:51 +08:00
hahny93
851ddecda3 Update Java/Feign api.mustache to accept its own convinience Map Class (#14008)
* Update Java/Feign api.mustache to accept convinience Map

Hi, I just saw, that the generated Map Class is never used outside of tests, but it would be the perfect fit for the changed mehods, as its use-case is exactly the same.

Also a useful change to prevent problems with Collection types and their generics parameters (f.e. Map<x, y>). See: https://stackoverflow.com/questions/62823341/openapi-generator-maven-plugin-breaks-old-feign-with-querymap

* PR checklist

Steps as requested per checklist: done.
2022-12-21 14:44:03 +08:00
Justin Black
45b1f91807 [python] Fixes Response TypeError (#14299)
* Fix and sample regen

* Response with only header added, sample regnerated
2022-12-20 12:42:10 -08:00
cachescrubber
5300bff6d9 [Java][Spring] Upgrade Spring Cloud dependencies (#14285)
* Upgrade to Spring Boot 2.7.6/3.0.0

* generate samples
2022-12-20 22:02:03 +08:00
Kuzma
82971ccd48 [Typescript] Change btoa to native code (#14258)
* Change btoa to native code

* update samples
2022-12-19 22:49:56 +01:00
cachescrubber
c45814a7ea [Java][Spring] Upgrade Dependencies (2022-12) (#14283)
* Upgrade to the latest Spring Boot / Springdoc and Swagger Ui dependencies

* Generate samples
2022-12-19 17:41:38 +08:00
Maxime Dufour
9450984af8 [Java][Client] Generate servers for okhttp-gson (#14179)
* [Java][Client] Generate servers for okhttp-gson

* Update sample tests
2022-12-17 21:58:47 +08:00
William Cheng
344c49dd51 update Newtonsoft.Json to 13.0.2 (#14277) 2022-12-17 21:24:17 +08:00
devhl-labs
ab59e68f1e fixed (#14274) 2022-12-17 16:16:13 +08:00
William Cheng
0cf5ed619d Add a new Python client generator - python-nextgen (#14157)
* add python-nextgen generator

* remove client_side_validation from model

* remove configuraiton import from models

* add inheritance support

* update test requirements, tox

* add typings, pydanic to models

* add test model

* minor improvements

* add enum support

* add typing for parameters, remove validations

* add oneof, anyof support

* fix default value

* fix deserialization, api tests passed

* private variable naming, update tests, all tests passed

* remove six

* remove nose

* update doc

* remove sortParamsByRequiredFlag option

* add parameter validation

* add validation tests

* simplify Field()

* remove previous required parameter validation

* improve parameter handling

* support discriminator mapping

* better typing discriminator mapping

* format test code

* fix tests

* fix oneOf from_dict, add test

* add set validation test

* fix nested oneof serialization, add tests

* add model import

* remove models. prefix

* remove import models

* remove model import from api

* simplify from_dict

* add typing for return

* skip pydantic import in return type

* fix tests, fix enum

* restore more enum schema tests

* uncomment enum integer test

* clean up getfullargspec import in model

* clean up getfullargspec import

* fix deserilizatoin for nested oneof

* minor fixes, add tests

* fix regular expression

* add aiohttp samples, add tests

* remove default content type to json

* update template

* fix select accept, content-type

* move tests

* move tests

* fix url query parameters

* fix list

* fix samples

* fix param pydantic, add list as reserved word

* fix auto-generated doc

* fix readme

* fix list, fix special variable name with var_

* fix Literal in python 3.7

* fix default configuration

* fix aiohttp tests

* set default api client instance

* deprecate get_default_copy method

* fix enum model

* fix enum serializatio/deserialization

* add github workflow support

* add regular expression validator

* add enum validator

* better model import

* fix file, remove x-py-import-models

* rename local var

* better model example

* fix regular expression warning, add special_name test, whitelist schema

* skip self import

* update samples

* various fixes

* add base64, json as reserved word

* add http signature support

* add http signature test

* add additioanl properties support in python client

* add decimal support

* use strictstr instead of constr

* fix test with virtualenv

* add nullable support

* add readonly support

* add model name caching

* fix circular reference import

* add onelook discriminator lookup

* add tests

* update samples

* fix locale

* Fix client legacy generator asyncio README code example

* test python-nextgen in circleci

* fix pom.xml

* update python to 3.7.15

* test with python 3.7.12

* various updates

* fix python legacy
2022-12-17 16:05:47 +08:00
Yohei Kitamura
6800905123 [ruby] Fix api_error.mustache to initialize message-only errors properly (#14264) 2022-12-17 15:58:04 +08:00
William Cheng
1cda5462f9 update resttemplate spring web to latest 5.x (#14275) 2022-12-17 15:53:51 +08:00
John Mitchell
2a33229158 Support for GSON Decoder in Java Feign Generator (#14254)
* Supporting Gson decoder in Feign

* Supporting Gson decoder in Feign

* Fixing test failures - and ensuring Jackson is used as the default if nothing selected (back compatible)

* Adding in sample files

* Updating docs

* Switching to echo server version

* Adding feign-gson to the github workflow

* Empty-Commit
2022-12-17 15:40:14 +08:00
William Cheng
081a6ef466 add back mavenLocal in gradle plugin build (#14265) 2022-12-16 14:54:19 +08:00
Vladimir Svoboda
d90c9a6f3b Add support for Angular v15 (#14231)
* Add support for Angular v15

Support for:

- rxjs 7.5.5
- ngPackagr 15.0.2
- zonejs 0.11.5
- typescript >=4.8.2 and <4.10.0

Note that tsTickle is not added to the dependencies when generating for
Angular 15, as:
- it is not a real dependency
- tsTickle is compatible with any of the TypeScript versions that
  Angular 15 supports.

* Generate samples for Angular v15

- typescript-angular-v15-provided-in-root
- typescript-angular-v15-query-param-object-format

* Drop sample typescript-angular-v15-query-param-object-format

* Fix typo

* Add tests for sample

Use credentials instead of api_key to avoid deprecation warnings when
initialising ConfigurationParameters.

* Update samples/client/petstore/typescript-angular-v15-provided-in-root/package.json

* Fix tests by removing context initialisation

Also updated the test dependencies.

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2022-12-09 15:24:55 +01:00
Julian Anthes
a47b95a749 feat(typescript-axios): set name in constructor (#14230)
* refactor: set `name` in constructor

* chore: update samples
2022-12-09 11:40:17 +01:00
devhl-labs
c3b9bd7459 [csharp-netcore] Adds ability to inherit api (#13797)
* refactor nrt annotation

* enable nrt by default in .net6.0+

* use shorter nrt annotation

* build samples

* removed debugging lines

* fixed model and operatoin constructors

* reverted a commented line for comparison

* upgraded to System.Text.Json

* build samples

* build samples

* deleted samples to remove old files

* bug fixes

* bug fixes

* added cumpulsory property to codegen

* build samples

* fixed bug

* fixed bug

* fixes

* removed bugged code that wasnt needed

* build samples

* restored sorting and default values for required params

* fixed bugs in comparison

* fixed sort comparators

* recreate tests

* build samples...again...

* removed debugging line breaks

* simplified constructor signature

* inject json options

* build samples...again...

* build samples

* add support for composed primitives

* build samples

* build all samples

* avoid reserved words

* restored a file

* multiple fixes

* bug fixes

* bug fixes

* api clients now transient, added EventHub

* bug fix

* bug fix

* added ability to inherit api

* added ability to inherit api

* bug fix

* added requiredAndNotNullable

* added custom serialization

* added request info to error handler

* added OrDefault for enum parsing

* fixed DateTime? deserialization

* added support for server override

* added IServiceCollection to host builder extensions

* improve cookie support

* bug fixes

* fixed spacing

* fixed content type header

* fixed spacing

* removed reference to newtonsoft

* bug fixes in deserialization

* resolved conflicts

* removed postProcessAllModels code now present in abstract

* added a comment with url to an issue

* removed unneeded code

* removed change that should be another pr

* build and update samples

* reduce number of files modified

* reduce number of files modified

* delete and build samples

* delete and build samples

* fixed property name issue

* fixed CodegenModel collection properties

* avoid a conflict

* avoid a conflict

* add a todo

* added todo

* fixed circular reference

* small changes

* synced with other branches

* commented some code for now

* copied samples from master

* changed mustache templates

* build samples

* fixed invalid property names

* rebuild samples

* rebuild samples

* fixed casing issue

* resolved conflicts

* fixed bug in resolving conflicts

* removed default api, users can handle that if required

* removed default api, users can handle that if required

* build samples......again....

* addressed comment

* addressed comment

* addressed comment

* addressed comment

* build samples
2022-12-09 18:01:54 +08:00
William Cheng
a57fb9e109 update certifi to newer version (#14228) 2022-12-09 10:48:49 +08:00
dependabot[bot]
c4b2c81c05 Bump express from 4.17.1 to 4.18.2 in /website (#14205)
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.18.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.1...4.18.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 21:36:48 +08:00
dependabot[bot]
5d7956293b Bump qs from 6.5.2 to 6.5.3 in /website (#14204)
Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.5.2...v6.5.3)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 21:36:39 +08:00
William Cheng
11d31117a8 fix java apache client optional body, add tests (#14227) 2022-12-08 20:58:47 +08:00
William Cheng
1fad61e2f8 Fix response body in Java native client (#14222)
* fix response body in java native client

* add new files

* update samples
2022-12-08 17:29:53 +08:00
William Cheng
b8b25e8ae0 Fix query parameters encoding in Java apache-httpclient (#14195)
* fix query parameters encoding in java apache-httpclient

* rearrange tests

* add new files
2022-12-08 00:30:07 +08:00
teddy-s-song
1b344597bf [typescript-axios] add temination condition for flattening url parameters (#14018) 2022-12-07 10:20:22 +01:00
Sorin Florea
fdf1ce6c51 Fix apache http client query parameters (#14193) 2022-12-07 13:57:00 +08:00
Dillen Meijboom
6686ba2dc7 Add support for style=deepObject with query parameters in the Rust generator (#13381)
* Add support for style deepObject in the Rust generator

* Add support for arrays in deepObject query parameters and fixed issue with strings
2022-12-07 00:15:36 +08:00
Tom Bärwinkel
f2321a61d3 Include response headers in the API type (#13565) 2022-12-06 23:48:29 +08:00
yannizhou05
d06ab43dd6 Update SharedTypeScriptTest.java (#13956) 2022-12-06 14:27:05 +08:00
Oleh Kurpiak
2524e8fb0a [Java][WebClient] global blocking operations config (#14076)
* [Java][WebClient] global blocking operations config

* update samples
2022-12-06 13:30:47 +08:00
William Cheng
811e0de1be replace spaces with tabs in go client (#14189) 2022-12-06 13:04:58 +08:00
Ian Cubbon
63629ad51c [Go] File Download Fix Return Type (#14046)
* Changes manually cherry-picked (for the most part) from https://github.com/OpenAPITools/openapi-generator/pull/12685/files

* Examples updated post changes

* Missed a change in the mustache template

* Update examples after last fix

* Missed dereference for required files

* Update unit tests

* Missed another test case update

* `f := *f` isn't quite the same as `*f, err = ...`
2022-12-06 12:21:39 +08:00
William Cheng
cbbe243bde update python fastapi dep to newer versions (#14188) 2022-12-06 12:12:11 +08:00
caption
f32bf510c0 update urllib3 1.26.4 to 1.26.5 (#14183) 2022-12-06 12:02:56 +08:00
Manon Grivot
ffaf173db1 Fixed typescript codegen pattern compiler (#14180)
Co-authored-by: Manon Grivot <manon.grivot@lyra-network.com>
2022-12-05 18:44:16 +01:00
Ahmed Fwela
4e387cad53 [dart-dio] Add r before '{{MappingName}}' to handle special characters in discriminators (#14167)
* Add `r` before '{{MappingName}}' to handle special characters

* Update samples

* use propertyBaseName instead of propertyName

* update samples
2022-12-05 15:00:44 +08:00
William Cheng
0103d400c2 update java samples 2022-12-05 14:33:04 +08:00
Brendan Burns
d6e7f70cb4 Modify Java ApiException to have a more informative message. (#14154)
* Modify ApiException to have a more informative message.

* Address comments.
2022-12-05 14:16:50 +08:00
Glenn Olsson
94dccae82d [typescript-fetch] Fix response type to be Response or undefined (#13825)
* Fix response type to be Response or undefined

Current generated code produces a `response` variable set to undefined, and TS does not like you changing the type of the variable later. Therefore, set the type of the variable to be `Response` or `undefined`

Solves OpenAPITools/openapi-generator#12007

* Update samples
2022-12-03 19:27:58 +01:00
William Cheng
22bd3e31dc add Bump.sh as bronzer sponsor (#14162) 2022-12-02 17:12:40 +08:00
Andrei Matei
c62ebc377e [Go] Add authentication methods only if referenced in input spec (#14138)
* Add conditions for auth methods

* Add extra auth method validations

* Regenerate example SDK

* Clean-up tests

* Fix indentation and go.sum
2022-12-01 15:29:59 +08:00
Lazzaretti
e2e28a7e0e [tyescript-axios] fix description for config options: withSeparateModelsAndAp, modelPackage, apiPackage (#14103)
* fix: tyescript-axios description

describe withSeparateModelsAndApi, modelPackage, apiPackage
as mentioned in #5008

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAxiosClientCodegen.java

* Update docs/generators/typescript-axios.md

Co-authored-by: Fabrizio Lazzaretti <fabrizio.lazzaretti@immosparrow.ch>
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2022-12-01 08:05:05 +01:00
Justin Black
28ae689615 [python] Fixes Configuration w/ access_token at initialization (#14153)
* Fixes templates

* Samples regenerated

* Adds discard_unknown_keys back in, regenerates samples
2022-11-30 11:09:31 -08:00
Eric Haag
bd79231d6b Fix Gradle plugin publishing (#14150) 2022-11-30 22:43:33 +08:00
Ladd Van Tol
12fd115af3 Support RawRepresentable enums (#14144)
* Support raw representable enums

* Update samples
2022-11-30 09:35:07 +00:00
William Cheng
77e06466db Cleanup Shippable CI config and file (#14145)
* clean up shippable ci related config and files

* comment out closeAndReleaseRepository

* Revert "comment out closeAndReleaseRepository"

This reverts commit 5a76e403b1.

* remove closeAndReleaseRepository
2022-11-30 12:38:05 +08:00
Eric Haag
792d44d797 Use Gradle 7.6 to build Gradle plugin (#13860)
* Upgrade Gradle plugin Gradle build to Gradle 7.5.1

* Update Travis workflow file to support new tasks

* Update Maven POM with Gradle 7.5.1

* Capitalize many occurrences of "Gradle" in the Gradle plugin README

* Update Gradle version in appveyor.yml and shippable.yml

* Update comments

* Update Gradle wrapper to 7.5.1

* Capitalize Gradle in shippable.yml

* Leave Open API

* Upgrade Gradle plugin build to Gradle 7.6

* Upgrade wrapper to Gradle 7.6
2022-11-30 10:57:53 +08:00
William Cheng
a92afd239f Add tests to cover base name (deep object) bug (#14142)
* better deepObject test

* add tests to cover baseName (deep object) change
2022-11-30 00:55:03 +08:00
William Cheng
b8c8f4a032 update typescript samples 2022-11-29 23:23:07 +08:00
Reinhard-PTV
6c9246ca3d [BUG] [client] [java] [native] [csharp-netcore] Multi use of schema params within deepobjects (#13662)
* multiple use of parameters in deepobjects

* fix java native

* support camelCase

* revert modifying baseName because it is not used anymore

* remove commented line
2022-11-29 17:11:30 +08:00
Joe Longstreet
c5e79681c5 [typescript-nest] fixes query parameter append bug (#14139)
Co-authored-by: Joe Longstreet <joe.longstreet@nabis.com>
2022-11-29 09:42:56 +01:00
Hui Yu
12a6ea7beb [C][Client] Always send integer or boolean query parameters to the API server (#14019)
* [C][Client] Always send integer or boolean parameters to the API server

* Add fake endpoint with integer and boolean parameters
2022-11-29 14:39:18 +08:00
Jendrik A. Potyka
61700fd42c [Python] Fix client legacy generator asyncio README code example (#13336)
* fix missing asyncio keywords

* update asyncio sample petstore
2022-11-29 14:34:32 +08:00
William Cheng
3a26da76b0 Better tests for Java native client (#14132)
* add echo tests with java native client

* fix echo server

* fix github

* add npm install

* update samples

* add license header

* update smaples

* add test for array of string

* fix java native respone type casting

* better code format

* add license header
2022-11-29 14:18:14 +08:00
William Cheng
fabd0a8be2 update jackson databind to newer versions (#14136) 2022-11-29 10:55:03 +08:00
William Cheng
9f8ed6b0e2 update customization doc with better example on using the inline schema name mapping option (#14135) 2022-11-29 01:54:28 +08:00
Matthias Ernst
e93906eaea [kotlin] Update kotlin to 1.7.21 and ktor to 2.1.3 (#14128) 2022-11-28 16:37:59 +00:00
William Cheng
d5ce79ac24 fix build warning in java apache client (#14127) 2022-11-26 17:39:50 +08:00
Tomasz365
e32b7a41b6 typescript-angular: Fixed path parameter encoding for date-time dataFormat (#14114)
* Fixed path parameter encoding for date-time dataFromat

* Regenerated samples
2022-11-25 13:27:54 +01:00
Clemens Heppner
57644b6817 Initialization of typeAliases was triggered by fromModel(...), which is incorrect. (#14054)
When fromOperation(...) was called before fromModel, the aliases were uninitialized.

(cherry picked from commit 44ea23168362cfacf8a61ff944701990cf3fea76)

Co-authored-by: Clemens Heppner <ch@wps.de>
2022-11-25 16:17:17 +08:00
DmitryKubahov
f9d4d28f48 [Micronaut] Improving micronaut-model and micronaut-client generation (#14065)
* fix documentation

* improve build.gradle.mustache and pom.xml.mustache to assume different serialization libs jackson or micronaut-serde-jackson

* improve pojo.mustache to skip generating @JsonDeserialize as for micronaut-serde-jackson

* improve model generating by removing visible flag from @JsonTypeInfo as it is not supported by micronaut-serde-jackson

Co-authored-by: dmitry.kubakhov <dmitry.kubakhov@check24.de>
2022-11-25 15:28:18 +08:00
William Cheng
90a8b4effb [PHP] better PHP symfony test (#14117)
* better php symfony test

* trigger build failure

* Revert "trigger build failure"

This reverts commit ed7a57ead2.

* update samples
2022-11-25 15:01:02 +08:00
Daniel Ziegler
9220e72674 [JavaSpring] fix missing description in @Operation annotation (#13995)
* fix: Java Spring missing description in operation annotation

* update samples

Co-authored-by: Daniel Ziegler <daniel.ziegler@senacor.com>
2022-11-25 10:56:28 +08:00
Mintas
76d8119150 put back missing import for NotNull annotation in #13365 fix #13885 (#13941) 2022-11-25 10:55:15 +08:00
William Cheng
743202241e [Java][native][apache-httpclient] update dependencies to newer versions (#14110)
* update java native dependencies to newer versions

* update java native, apache-httpclient to newer version
2022-11-24 23:55:14 +08:00
William Cheng
980062f2bb Improve Java native, apache-httpclient with better spec (#14109)
* improve java native, apache client with better spec

* fix java native async tests

* regenerate java native tests
2022-11-24 21:48:09 +08:00
José Bustamante Morales
6bb6f1b28a Upgrade typescript-axios from 0.26.1 to 0.27.2 (#14093) 2022-11-23 17:48:16 +01:00
Justin Black
3eb90a69e6 Adds fix and tests (#14102) 2022-11-23 06:52:11 -08:00
Charles Treatman
dc1b2ed9e0 [Go] Fix generated client tests when there is no response body (#14081)
* [WIP] Isolated test case for Go api_test generator

* Fix tests for API endpoints without a return type

* Add the rest of the generated test fix
2022-11-23 21:05:26 +08:00
William Cheng
09c070a27e update test, suppress warnings in java apache client (#14098) 2022-11-23 20:32:01 +08:00
William Cheng
743d2cde7f Minor improvements to Gradle plugin (#14097)
* minor improvements to gradle plugin, test

* update gradle plugin doc

* fix out
2022-11-23 20:31:13 +08:00
Sorin Florea
d74cefba83 [JAVA][APACHE] Fix apache http client query parameters (#14020)
* Fix apache http client query parameters

* Update samples
2022-11-23 14:35:01 +08:00
Sorin Florea
906ec5dfa3 Cleanup outputDir before openApiGenerate (#13659)
* Cleanup outputdir before openApiGenerate

* Add cleanupOutput property to GenerateTask
2022-11-23 11:15:59 +08:00
Justin Black
871eda2731 [python] exposes deserialized bodies for non-2XX responses (#14095)
* Template update and sample update

* Samples regenerated

* Adds verification test

* Template update

* Samples regen, fixes exception instantiation
2022-11-22 09:35:26 -08:00
Mustansir Soni
a96777b6f4 [#13998][Bug][PHP] Move isNullable section to the top of the setter function in templates (#14005)
* Move isNullable section to the top

* Manage extra lines
2022-11-21 14:18:36 +08:00
Ian Cubbon
903ff0ba47 Trim any space when we format the error message sent back to the client. (#14066)
A trailing whitespace gets included if the error is not a RFC7807 model.
2022-11-20 22:35:21 +08:00
William Cheng
67067b1b3c comment out csharp tests 2022-11-20 16:13:32 +08:00
Martin Delille
2a7b3cd4b9 [cpp-qt-client] Fix warnings (#14056)
* Fix warnings

* Update samplE
2022-11-20 16:10:55 +08:00
Vittorio Parrella
4487042f0d Issue 11401 - report correctly the parameters with the deep object specification (#13909)
* issue #11401 - Go client generator doesn't support deepObject in query

* samples generation

* fix generation

* fix generation

* generated samples

# Conflicts:
#	samples/client/petstore/go/go-petstore/model_200_response.go
#	samples/client/petstore/go/go-petstore/model_additional_properties_any_type.go
#	samples/client/petstore/go/go-petstore/model_client.go

* Fixed unit tests

* revert to http connection for tests

* fix model_simple generation

* Fix parameter encoding issue

* simplified routine

* fix test url

* adapted for latest master, necessary generation

* samples generation

* sync with new master, regenerate samples

* added api client test
2022-11-20 15:09:33 +08:00
Oleh Kurpiak
95b566a3a9 [Java] fix additional annotations for oneOf interfaces (#13958) 2022-11-20 12:44:47 +08:00
devhl-labs
8e98bff934 mitigated a bug (#13786) 2022-11-20 12:28:29 +08:00
Jeremy Audet
9039c83bc4 Migrate python-prior/tests_manual/ to pathlib (#14043)
This change has no functional impact. In my view, `pathlib` has a more
pleasant API than `os.path`.  Incidentally, this slightly reduces line
count.

cc @spacether
2022-11-19 07:46:42 -08:00
Justin Black
1748d03fb9 [python] Issue 13997 fix pass in model instances to new (#14067)
* Template update

* Adds test file

* Samples regenerated

* Adds missing #
2022-11-18 15:04:26 -08:00
William Cheng
1f7824c083 use Visual Studio 2022 in appveyor 2022-11-18 01:07:39 +08:00
devhl-labs
74441fde9f [csharp-netcore] Removed net5, added net7 (#14003)
* removed net5, added net7

* bumped github action dotnet version
2022-11-18 00:50:29 +08:00
Oleh Kurpiak
40e04df096 [Java][Native] handle empty response body (#13993) 2022-11-17 23:27:59 +08:00
Alexei Bratuhin
e25f8c5d61 Add support for @GZIP in jaxrs-spec Quarkus templates (#13983)
* adjust templates for @GZIP

* add test

* remove debug output
2022-11-17 23:22:52 +08:00
Juan Ávila
5e50ff47b0 [JAVA][RETROFIT2] Include java.util.Set in fullJavaUtil imports (#14048)
* Include java.util.Set in fullJavaUtil imports

* Update java-retrofit2 samples
2022-11-17 21:55:45 +08:00
Jeremy Audet
92ecee8c27 Don't cast list to tuple in python-prior binding (#14014)
* Add test for python-prior type conversion error

In the spirit of test driven development, this test intentionally fails.
A following commit will fix the code to comply with the test.

See: https://github.com/OpenAPITools/openapi-generator/issues/14012

* Don't cast list to tuple in python-prior binding

Tweak the python-prior API bindings, so that they no longer cast lists
to tuples when making a POST request with a multipart/form-data
content-type. This fixes an interaction with
`urllib3.request_encode_body`, whose `fields` parameter expects tuples,
not lists.

cc @spacether

See: https://urllib3.readthedocs.io/en/stable/reference/urllib3.request.html

Fix: https://github.com/OpenAPITools/openapi-generator/issues/14012
2022-11-15 17:40:28 -08:00
Nick Malfroy-Camine
77226981b6 Make sure ts-ignore is ignoring right line (#14011)
* Make sure ts-ignore is ignoring right line

* generated samples
2022-11-15 18:07:19 +01:00
Larry O'Leary
42264aadd7 Fix invalid Python import for qualified package name (#14015)
* Add unittest for toModelImport

* Use `packageName` insetad of `packagePath()`
2022-11-14 14:28:36 -08:00
Jonas Reichert
e882421ff3 enhance response with bodyData (#14006) 2022-11-14 12:59:25 +00:00
William Cheng
2e44e78474 Update Ruby minimum version to 2.7 (#14002)
* update ruby minimum version to 2.7

* test ruby in cirleci
2022-11-13 12:14:21 +08:00
William Cheng
4a5c9ff2d2 Add tests for rust reqwest middleware client (#13990)
* add tests for rust reqwest middleware client

* add github workflow

* trigger build

* fix rust

* trigger build failure

* Revert "trigger build failure"

This reverts commit 42d8ff42ee.

* Update pom.xml

Co-authored-by: Nathan Shaaban <86252985+nshaaban-cPacket@users.noreply.github.com>

* simplify folder

Co-authored-by: Nathan Shaaban <86252985+nshaaban-cPacket@users.noreply.github.com>
2022-11-13 10:24:29 +08:00
Justin Black
188c39dccd Fixes bug where python generates client with low version specs (#13996) 2022-11-11 11:40:33 -08:00
Elric Milon
1670e952ff [Rust] Add support for reqwest-middleware when using reqwest (#13946)
Co-authored-by: Elric Milon <whirm@gmx.com>
2022-11-11 18:25:01 +08:00
Antoine Reilles
f81eb7e6f0 [jaxrs-cxf-cdi] use jackson for enum serialization (#13766) 2022-11-11 18:18:19 +08:00
Justin Black
01f0763ec3 [python] fixes enum naming bug (#13985)
* Adds fix

* Adds needed java imports
2022-11-10 13:44:36 -08:00
Jonas Reichert
f1b8190b19 [swift5] less restrictive alamofire dependency resolution (#13977)
* modify Alamofire version in podspec

* modify Alamofire version in Package.swift

* also pin optimistically in Cartfile

* optimistically resolve all other dependencies to next major version
2022-11-10 17:27:24 +00:00
Jonas Reichert
7ad9f835ff [swift5] support content types with charsets (#13981)
* enable possibility to add charset to content-type

* update samples
2022-11-10 14:28:36 +00:00
Onur Elibol
d8bed4228d Using import type for types imports [typescript-axios] (#13964)
* type imports to use import type instead of import

* generated samples

Co-authored-by: onur-caplena <onur@caplena.com>
2022-11-10 10:49:39 +01:00
Mustansir Soni
4667b7e471 [#13954] Allows args and arg as schema properties in python client (#13955)
* Add args to reserved words

* arg and args to _arg and _args in templates

* Corrections

* Test added

* Corrections

* Use arg and args as defined properties

* Removed unnecessary assertion

* Suggested change
2022-11-09 11:10:29 -08:00
William Cheng
ca5d9b5e69 Add isEnumRef, isEnumOrRef to CodegenProperty (#13880)
* add isEnumRef to codegen property

* better format

* update R template to use isEnumOrRef

* update powershell template to use isEnumOrRef

* update samples
2022-11-08 11:16:16 +08:00
William Cheng
099a96b1ad add option to skip reusing inline schemas (#13892) 2022-11-08 10:48:32 +08:00
Mark Delk
d80cd099ca [BUG][RUBY] Fix ruby faraday HTTP 0 issue without libcurl (#13945)
* Fix ruby faraday HTTP 0 issue without libcurl

* commit generated files
2022-11-08 10:46:18 +08:00
William Cheng
6a7b8fcebe [Go][client] better code format, regenerate go client tests (#13940)
* go client regenerate test

* replace 4-space with tabs, regenerate tests
2022-11-08 10:40:28 +08:00
Daniel Hoffmann
3eec4eb326 #13726 Introduce new remoteInputSpec parameter (#13727)
* #13726 Introduce new remoteInputSpec parameter

* #13726 Add documentation and new warning log
2022-11-07 23:32:58 +08:00
Beppe Catanese
7a17d3dc55 Correct import, add test (#13905) 2022-11-07 22:05:42 +08:00
Nathan Baulch
9f1fa0e440 Fix another batch of spelling typos (#13915)
* Fix typos

* Remove repeated words

* Minor grammar fixes
2022-11-07 21:30:24 +08:00
Julian Taylor
3dc8403e10 [Python] pass api_client configuration to model deserialize (#13922)
The if not passed the models create a new configuration object which
configures logging and determines cpu count every time.
This causes extreme performance issues when deserializing larger sets of
items.

See also
https://github.com/kubernetes-client/python/issues/1921
2022-11-07 09:05:14 +01:00
William Cheng
363906fda3 Better error check if discriminator value is null in r client (#13930)
* better error check if discriminator value is null in r client

* more readable error messages
2022-11-07 02:16:16 +08:00
Justin Black
b35ea31e82 [python] fixes multipart/form-data bug (#13926)
* api_client template updated

* Samples regenerated

* Fixes tests

* Adds missing test file

* Adds test fix
2022-11-05 09:10:24 -07:00
Gustavo Bazan
d5f896fe20 [GO] fix identation for model_simple.mustache (#13919)
* [GO] fix identation for model_simple.mustache

This corrects the identation for recnet changes in #13843

* running the scripts
2022-11-05 22:47:09 +08:00
William Cheng
865958c480 update PR template to reference 6.3.0 - the latest master 2022-11-05 22:44:37 +08:00
Gustavo Bazan
2e0e010f3a [DOCS] Update PR template branch (#13920) 2022-11-05 22:42:53 +08:00
Bruno Coelho
c35140cbc3 [swift5][client] fix URLSession warning of URLSessionProtocol conformance (#13906)
* [swift5][client] fix URLSession warning of URLSessionProtocol conformance

* [swift5][client] fix URLSession warning of URLSessionProtocol conformance

* [swift5][client] update bitrise config

* [swift5][client] enable async await sample project on CI

* [swift5][client] update bitrise config

* [swift5][client] update bitrise config

* [swift5][client] try to fix CI
2022-11-04 17:09:14 +00:00
William Cheng
6a1acd89a1 Add array tests to java okhttp-gson client (#13913)
* array test to java okhttp-gson client

* better code format

* add ClientTest.java to test_file_list.yaml
2022-11-04 20:01:01 +08:00
William Cheng
a020170ff3 [java][client] Fix config, add more samples for testing (#13912)
* fix config, add more samples for testing

* update samples
2022-11-04 18:17:34 +08:00
cachescrubber
5221682086 [Java][Client] Support annotationLibrary=none to remove swagger annotations (#13869)
* Support annotationLibrary=none in JavaClientCodegen

* Add example using annotationLibrary=swagger1

* Support annotationLibrary=none in libraries

* Fix missing curly brace.

* fix if statement condition

* Support {{#swagger1AnnotationLibrary}} in java/rest-assured

* Adopt JavaModelTest

* Generate docs

* Generate samples

* clean up java feign files

* clean up feign samples

* fix resttemplate, native

* fix resttemplate withXml

* fix webclient

* fix java-jersey2, vertix

* fix googleapi client

* fix rest assured

* fix rest assured

* update apache-httpclient

* fix jersey2 special character

* fix resteasy

* fix jersey2

* update samples

* fix jersey2, okhttp streaming

* update okhttp-gson

* update samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2022-11-04 17:07:46 +08:00
Hui Yu
c3abdb6c57 Check cJSON_IsNull when the data type is datetime (#13884) 2022-11-04 12:26:47 +08:00
William Cheng
c71ec554dc update maven plugin, online generator deps (#13899) 2022-11-04 12:26:17 +08:00
Michael Ramstein
d2a9da5061 [Elixir] Fixes issue with maps/dictionary not present in payload (#13874)
* Adds fix to deserialize nullable maps

* Generate Samples
2022-11-03 17:46:24 +08:00
Mark Delk
4a7a2f5e6d [RUBY] handle Faraday::ConnectionFailed api error (#13894)
* handle Faraday::ConnectionFailed api error

* commit generated files
2022-11-03 17:26:13 +08:00
William Cheng
bfcb3864a7 Update project dependencies - root, openapi-generator (#13881)
* update project dependencies - root, openapi-generator

* use 2.9.3 for jdk8
2022-11-03 16:54:57 +08:00
Thomas Hansen
0d1e31324b [PHP] Accept 0 as value for query parameters (#13868) 2022-11-02 14:08:21 +08:00
Damiano Albani
89fc631125 Upgrade CommonMark dependency to v0.20.0 (#13872) 2022-11-02 13:39:53 +08:00
William Cheng
06354d5f7d update doc 2022-11-01 18:32:08 +08:00
William Cheng
32a5e88ba9 update readme 2022-11-01 18:29:04 +08:00
William Cheng
2947d147b4 Merge remote-tracking branch 'origin/master' into 6.3.x 2022-11-01 17:42:59 +08:00
William Cheng
b0ce532bdc Prepare 6.2.1 release (#13871)
* prepare 6.2.1 release

* revert change

* fix maven plugin test

* update meta
2022-11-01 17:16:46 +08:00
Sorin Florea
9eb799d8dd Fix exploded query parameters with array property (#13656) 2022-11-01 11:16:41 +08:00
cachescrubber
b54299fffa Spring request mapping mode (#13838)
* Introduce RequestMappingMode option

* generate docs

* Add test case using interfaceOnly

* Generate Samples

* Add requestMappingMode: iface to bin/configs/spring-boot-oas3.yaml

* Restore #12250: Move Feign Client url parameter under condition.

* Rename iface to api_interface.
2022-11-01 09:44:01 +08:00
sbilz
fe5601ab9b Java jersey OAuth2 add support for public client #13827 (#13828) 2022-10-31 22:52:42 +08:00
Nick Ufer
a04b2623b0 [GO] fix: stops checking for nil for structs (#13843)
* [GO] fix: stops checking for nil for structs

* [GO] chore: regenerates samples
2022-10-31 22:50:02 +08:00
Beppe Catanese
1de28c8a72 Improve error message (rfc7807) (#13680)
* Add func formatErrorMessage

* Add unit test

* Commit generated code

* Fix indentation

* Using tabs

* Set error before model

* Commit generated code

* Fix tabs

* Commit generated code

* Fix tabs

* Fix tabs

* Commit generated code
2022-10-31 22:35:16 +08:00
Nick Ufer
fa4f7e07fe [GO] fix: stops adding imports for nested structs (#13833) 2022-10-31 22:14:42 +08:00
John Vandenberg
06096d7f77 [Rust] Remove decommissioned git:// (#13866)
See https://github.blog/2021-09-01-improving-git-protocol-security-github/
2022-10-31 16:14:36 +08:00
Thomas Hansen
d6de9c19c8 [PHP] handle properly multiple accept headers (#13844)
* [PHP] handle properly multiple accept headers

* fixup! [PHP] handle properly multiple accept headers
2022-10-31 12:11:19 +08:00
Paul Rambags
6c8365cc9d CVE-2022-42889: Upgraded commons-text to version 1.10.0. (#13865) 2022-10-31 11:40:02 +08:00
Thibault Duperron
1b65ef38f5 Update dependecies for CVE (#13834)
* Update dependecies for CVE

fix #13772

* Fix schemas
2022-10-31 10:55:11 +08:00
William Cheng
4c19c725a7 minor improvements on java client based on intellji ide (#13864) 2022-10-30 23:31:04 +08:00
Eric Haag
684e7a063c Add missing property to Java Helidon docs (#13861) 2022-10-30 21:43:29 +08:00
Logy
9f7c267146 [typescript-fetch] fix #13853 add semi colon (#13856)
Co-authored-by: nologyance <nologyance>
2022-10-29 16:23:08 +02:00
Tom Bärwinkel
009bf4c0a3 Add sendWithCustomExpect function to Api.mustache (#13773)
to allow more fine grained error handling.
2022-10-29 15:06:31 +02:00
Thibault Duperron
458ea56896 [SPRING] Add converters for enums (#13349)
* [SPRING] Add converters for enums

* Review

* review

* fix merge

* review
2022-10-28 23:55:40 +08:00
Thibault Duperron
574a70c315 [JAVA] Handle camlCase with $ as first char (#13292)
* Lowercase first char and not first letter for variable names

* Samples

* Limit caml case fix impact with cli a property
2022-10-28 21:36:04 +08:00
신진호
8eb3064b2e [Java][Spring] Change methodBody.mustache for webflux bean validation (#13795) 2022-10-28 20:49:28 +08:00
John Vandenberg
3d578164e8 Sync Cargo.toml project metadata attributes (#13824) 2022-10-28 18:00:02 +08:00
William Cheng
cd5c6586a4 update readme (#13847) 2022-10-28 11:50:20 +08:00
John Vandenberg
413d3c33d7 Remove unused tokio in rust hyper client (#13835)
This crate version has an indirect security vuln,
as tokio-core 0.1.18 (latest) is two years old,
and uses tokio 0.1.5.
https://rustsec.org/advisories/RUSTSEC-2021-0124
2022-10-28 11:45:00 +08:00
dependabot[bot]
d4056a3033 Bump actions/setup-dotnet from 3.0.2 to 3.0.3 (#13845)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v3.0.2...v3.0.3)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-28 11:11:18 +08:00
Reinhard-PTV
1984a31004 adding ptv group to https://openapi-generator.tech/users (#13829) 2022-10-26 21:43:29 +08:00
John Vandenberg
e0043130c7 Remove unused serde_yaml (#13820)
This crate version has a security vuln
https://rustsec.org/advisories/RUSTSEC-2018-0005
2022-10-26 17:02:01 +08:00
Thomas Hansen
824b2aa5f3 [PHP] Allow selecting Content-Type (#13769)
* [PHP] allow selecting Content-Type

* [AUTOGENERATED] update samples

* [PHP] Fixed tests for HeaderSelector

* [PHP] revert Content-Type validation

* [AUTOGENERATED] update samples
2022-10-26 16:58:29 +08:00
William Cheng
a66874f8f9 remove beta in faraday library support (ruby client) (#13823) 2022-10-26 15:14:30 +08:00
Justin Black
a9b24956a8 Adds fix (#13819) 2022-10-25 12:28:17 -07:00
Neal Granger
3501771a2e Fix missing imports when using allOf composition (#13813) 2022-10-25 10:33:34 +02:00
Erik Erbar
748de83d29 [FIX][typescript-axios] Fix missing imports when using allOf composition (#13810)
* Update typescript-axios with-separate-models-and-api-inheritance sample

* Add all imports during typescript-axios model generation

* Regenerate samples

* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAxiosClientCodegen.java

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2022-10-24 17:33:08 +02:00
William Cheng
227f583a81 [java] Update jackson-databind-nullable version to 0.2.4 (#13804)
* update jackson databind version to 0.2.4

* update samples
2022-10-24 13:56:46 +08:00
Justin Black
a8f83477f4 Revert "Fix #6899 - python-flask now uses the pre-existing getter/setter validators (#6911)" (#13803)
This reverts commit 01a9c55b6e.
2022-10-23 19:23:53 -07:00
William Cheng
d74c49b93d better error handling in the r client (#13800) 2022-10-23 20:40:53 +08:00
William Cheng
6650ba6406 Test build.sbt in java (okhttp-gson) petstore sample (#13799)
* test java okhttp build.sbt:w

* trigger build

* Revert "trigger build"

This reverts commit 2febc8961c.
2022-10-23 11:35:00 +08:00
William Cheng
0368987315 update java okhttp gson dependencies to newer versions (#13798) 2022-10-23 11:26:12 +08:00
William Cheng
f409fb6184 various improvements to java okhttp-gson client (#13794) 2022-10-23 10:52:54 +08:00
Andrew Hatch
232f354826 required vs optional JSON array validation (#13774) (#13777) 2022-10-22 21:06:00 +08:00
Andrew Hatch
9e5c919560 fix parameter ordering for RequestBody.create (#13778) (#13779) 2022-10-22 21:03:57 +08:00
William Cheng
643b4f703e fix typo related to schema mapping optino (#13793) 2022-10-22 20:51:49 +08:00
William Cheng
ca56242e4f [java][okhttp-gson] minor improvements (#13792)
* use replace instead of replaceAll

* avoid using instance to accessd static methods

* use entrySet instead of keySet

* use statis class instead of instance for static method

* update samples
2022-10-22 13:31:59 +08:00
William Cheng
2e4a02532e add twilio logo (#13791) 2022-10-22 10:21:00 +08:00
Matt Cole
d35bbbd17f docs: Add Twilio (#13788)
Added Twilio to "Companies/Projects using OpenAPI Generator"
https://github.com/twilio/twilio-oai-generator will soon be used to generate all of our helper libraries (currently used for twilio-go)!
2022-10-22 09:58:34 +08:00
Justin Black
ac3bb6830a [python] Fixes endpoint overload type hint + required property not in properties (#13790)
* Adds endpoint overload type hint fix to template

* Samples regenerated

* Adds fix for required property not in properties

* Regenerates samples
2022-10-21 18:50:30 -07:00
devhl-labs
c0c31e89b7 allowing user to set client package (#13785) 2022-10-21 18:22:29 +08:00
William Cheng
a68c36e932 Update jackson core and databind to newer versions (#13755)
* update databind to newer version

* update jackson version

* update dep

* revert jersey1
2022-10-21 10:14:37 +08:00
William Cheng
892e4f5b3c update oltu to newer version (#13782) 2022-10-21 09:15:37 +08:00
William Cheng
15dc2f2f00 Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2022-10-20 14:05:39 +08:00
William Cheng
55b1ec973b add flex-wrap: wrap to styles.module.css 2022-10-20 14:05:23 +08:00
William Cheng
1c5a117552 add flex wrap to website (#13771) 2022-10-20 11:45:15 +08:00
William Cheng
add4dfff8e add FINBOURNE as bronze sponsor (#13770) 2022-10-20 08:56:06 +08:00
William Cheng
7a2c3f7188 update C# samples 2022-10-19 23:49:54 +08:00
Jason Finch
0d56ebc702 [csharp-netcore] Enum parameter serialization to use EnumMember value when provided. (#11448)
* Add modification to petstore yaml to support testing enum string resolve. Move csharp-netcore-net50 to point to new yaml schema.

* [csharp-netcore] - For enum's with an EnumMember Attribute use this value instead of enum.ToString().

-Regenerate csharp samples to accomodate change.

* fix: rebase on master.  Update samples.

* task (Samples): update csharp-netcore samples. (via generate-samples.sh)
2022-10-19 23:31:18 +08:00
Rade Martinović
514dbca08b Updating org.apache.oltu.oauth2.client (#13411)
Updating the OAuth2 client (although obsolete, it's still productive in openapi-generator) due to security problems related to the underlying libraries
* sonatype-2022-3061
* sonatype-2012-0050

Update pom.mustache
2022-10-19 23:15:32 +08:00
Christopher Thonfeld-Guckes
a3fbb82853 fix issue https://github.com/OpenAPITools/openapi-generator/issues/12738 (#13495)
Co-authored-by: Christopher Thonfeld-Guckes <ctg@triarc-labs.com>
2022-10-19 23:08:25 +08:00
Antti Leppä
11c43c3c2b Added Kotlin Vert.x client (#13594)
* Initial version of Kotlin Vert.x client

* Initial version of Kotlin Vert.x client

* Initial version of Kotlin Vert.x client

* Fix for parseDateToQueryString issue in vert.x kotlin client

* Moved common methods from api to ApiClient in kotlin vert.x client

* Fixed issue with absolute URLs

* bearer auth for oauth

* empty request headers fix

* missing import and typo

* added uri template dependency

* added api abstractions to client generator

* added full import form infrastructure

* removed fail on unknown properties to response body parsing

* fixed error response parsing

* replace vertx client name to more unique

* multiline content type

* optional responses added to template

* additional annotations for kotlin client

* Added additionalModelTypeAnnotations parameter support to AbstractKotlinCodegen

* Updated samples and documents

* Fixed issues with gson and moshi serializers with kotlin-jvm-vertx client

* Added sample configs for kotlin-jvm-vertx clients with gson, jackson and moshi

* Added samples for kotlin-jvm-vertx clients with gson, jackson and moshi

* Included kotlin-jvm-vertx samples to test build

* Updated samples

Co-authored-by: Katja Danilova <katja.danilova@protonmail.com>
2022-10-19 22:29:34 +08:00
William Cheng
042e250efa Separate Java Helidon functional tests (#13763)
* separate helidon functional tests

* trigger build
2022-10-19 21:20:35 +08:00
William Cheng
d2a7cbcaf4 Migrate gradle, maven plugin tests (#13764)
* separate maven, gradle tests in the main github workflow

* trigger build

* Revert "trigger build"

This reverts commit 5e2279f627.
2022-10-19 17:24:12 +08:00
devhl-labs
0c1384b950 [csharp] Fixed data type for maps of maps (#13701)
* fixed data type for maps of maps

* added models to samples

* moved code to avoid a bug in the property generation
2022-10-19 17:13:11 +08:00
William Cheng
58f817276a Revert to c73704ce08 2022-10-19 14:55:11 +08:00
William Cheng
de8d7e98c4 update databind to newer version 2022-10-19 14:52:18 +08:00
William Cheng
c73704ce08 [go-echo-server] update echo to newer version (#13732)
* update echo to newer version

* add github workflow

* minor fix

* add install

* go get

* install middleware

* test go api server

* trigger build

* test go-api-server

* Revert "test go api server"

This reverts commit 42f24e578f.

* Revert "Revert "test go api server""

This reverts commit 7ce773275b.

* update samples

* test go gin in github workflow

* go install

* Revert "go install"

This reverts commit ec099b48c1.

* Revert "test go gin in github workflow"

This reverts commit 120516856e.

* remove go api, echo server tests
2022-10-19 13:34:34 +08:00
Chao Yang
b2e8a15d9f [Crystal] Allow double colons in model name (#13736) 2022-10-19 10:55:59 +08:00
Chao Yang
ad2169ea33 Map AnyType to Object (#13737) 2022-10-19 10:54:07 +08:00
David Chaiken
c22715ad1f fix for issue #13722: send body for application/x-www-form-urlencoded data (#13723)
* fix for issue #13722: send body for application/x-www-form-urlencoded data

* fix python test_application_x_www_form_urlencoded_serialization

* x-www-form-urlencoded data needs to be percent encoded

* add verification endpoint test for x-www-form-urlencoded data

Co-authored-by: David Chaiken <dchaiken@pinterest.com>
2022-10-18 18:51:35 -07:00
William Cheng
803e2cdb60 update go samples 2022-10-18 23:47:01 +08:00
William Cheng
70fcfebc6c Add Burkert as the bronze sponsor (#13731)
* add Burkert as the bronze sponsor

* use jpg
2022-10-18 23:15:59 +08:00
Eric Haag
8b4c681227 Use URI over File directly (#13730) 2022-10-18 22:54:44 +08:00
Maëlick
41255c1f18 Fix staticcheck ST1005 errors in generated Go client (#13633)
* Fix staticcheck ST1005 errors in go client

* Samples updated

* sample test fix for openapiv3 petstore go client
2022-10-18 22:46:49 +08:00
mm's
3f4e3afab2 [kotlin][KTOR] remove unnecessary dependencies (#13640)
* [kotlin][ktor] add set JSON as the ContentType header for ktor projects


samples


revert content type

* update samples

* fix multi-platform sample

* revert docs

* update samples and fix missing import on multiplatfrom

* add missing sample
2022-10-18 22:33:11 +08:00
y-tomida
05f3b00f04 [kotlin-server] fix for wrongly html encoded backticks for reserved words (#13697)
* fix html encoded backticks when a modal contains reserved words

* Revert "fix html encoded backticks when a modal contains reserved words"

This reverts commit d2e4d5c780.

* fix html encoded backticks when a modal contains reserved words
2022-10-18 17:28:27 +08:00
Mustansir Soni
02c31bfd7d Add 'constructor' to reserved words (#13725) 2022-10-18 09:18:31 +02:00
Eric Haag
31ea76b58b Support Gradle build cache when using absolute path references (#13671)
* Add cacheability tests for same directory and different directory

(cherry picked from commit 46c96daf3b020ab02e13113166046d2383c04990)

* Clean up/add more cacheability tests

(cherry picked from commit 5d09d914ba7224b82dd7a3bd20beaf2b6fd3eb94)

* Add test for inputSpec

(cherry picked from commit 8d9e0dbb9d865ad3e61b60692b3ef6ca85b70b75)

* Add incremental build tests, run with multiple Gradle versions

(cherry picked from commit ba1d554c375068974d1799d6be6731ca1d59a783)

* Add proper Input annotations to task inputs

(cherry picked from commit 18da6161ba2b406876c516a3059850d9a0bc9ca0)

* Perform clean on tests where expectation is cleaned outputs

(cherry picked from commit 4670db92686c02d5dd2b69976488c33defd3a464)

* Ensure before & after files are the same

(cherry picked from commit 9150b4a5596b229a4404a92cfedbb795c6bb5b0d)
2022-10-17 23:13:57 +08:00
Thomas Hansen
9c2757b4e1 [PHP] Reverted extra blank lines accidentally added by #13012 commit (#13717) 2022-10-17 22:36:19 +08:00
Thibault Duperron
04e441bad2 [Kotlin]Reducing code smells (#13703) 2022-10-17 14:58:33 +01:00
William Cheng
f864c6d226 Fix API service implementation class in java jaxrs when no model defined (#13716)
* fix api service impl in javajaxrs when no model defined

* update samples
2022-10-17 18:02:24 +08:00
Alexander Prishchepov
15e164aa39 [JAX-RS Jersey2] fix package org.openapitools.model classes not generated (#13661)
* Update api.mustache

* Update apiService.mustache
2022-10-17 17:47:01 +08:00
William Cheng
02d99eaf12 add tests for go oenof datetime (#13713) 2022-10-17 17:37:02 +08:00
cmaan
a248ae047c Import "time" package if property is oneOf and contains time.Time (#13669) 2022-10-17 17:18:00 +08:00
Jacob Halsey
c1c9cb2192 [rust] Fix generation for optional and nullable fields (double option pattern) (#13177)
* Fix generation for optional and nullable fields (double option pattern)

* Only import serde_with if necessary
2022-10-17 15:44:18 +08:00
feech
53dc385fc6 [java] [webclient] allow ndjson (#13674)
* fix 13673. include ndjson into consideration when client selects accepted type

* update examples
2022-10-17 15:01:54 +08:00
William Cheng
dc23ba3a23 fix example code reported by styler (#13707) 2022-10-17 01:49:39 +08:00
Andrew Hatch
c0a9f0ea51 [java][okhttp-gson] support JSON array values (#13672) 2022-10-17 01:35:58 +08:00
William Cheng
fae9a798a0 Better handling of date, datetime in R client (#13706)
* better handling of date, datetime in R client

* use string instead of as.Date
2022-10-17 00:41:37 +08:00
William Cheng
3bd2a611bf update samples 2022-10-16 17:55:03 +08:00
William Cheng
c81c131c46 Merge remote-tracking branch 'origin/master' into 6.3.x 2022-10-16 17:47:47 +08:00
William Cheng
e02ebd822a Merge pull request #13513 from tjquinno/helidon-generation
Add server and client generators for Helidon
2022-10-16 16:30:52 +08:00
William Cheng
866d67a78f Move some travis tests to github workflow, remove redundant c# test (#13704)
* move some travis tests to github workflow, remove reduntant c# test

* setup ruby

* switch to setup-ruby

* bundle install

* remove bash

* remove bundle install

* remmvoe gemfile

* add more folders in tab detection

* comment out java folder in tab detection

* undo changes in tab detection
2022-10-16 16:20:49 +08:00
devhl-labs
f11cb7f17d [csharp] Delete and build samples (#13641)
* delete and build samples

* how did this not get committed?

* how did this not get committed?

* how did this not get committed?

* fixed csharp netcore functions

* reverted two files

* restored manually created tests

* reverted some unintentional changes

* restored unintended changes
2022-10-16 10:18:48 +08:00
William Cheng
cafdf64ca5 Fix ClassCastException when uuid has default value (#13698)
* fix cast error for uuid default

* fix java uuid default value
2022-10-16 09:08:17 +08:00
William Cheng
838212eefb update crystal samples 2022-10-16 00:39:06 +08:00
William Cheng
8548a63d96 [Crystal] add require "big" for decimal (#13696)
* add require big, add tests

* add new files
2022-10-15 22:43:40 +08:00
Chao Yang
506ca21782 Change decimal data type from Float64 to BigDecimal (#13651) 2022-10-15 16:31:57 +08:00
William Cheng
4d03c9272b prepare 6.3.0 snapshot 2022-10-15 15:40:47 +08:00
William Cheng
daf475a96d R - better code format (#13691)
* r - beter code format

* better readme

* update instruction
2022-10-15 10:47:27 +08:00
tim.quinn@oracle.com
cec28261e1 Fix error in example return value for certain containers
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-14 10:16:51 -05:00
tim.quinn@oracle.com
715bbfab56 Push up-to-date generated samples
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-14 10:16:27 -05:00
tim.quinn@oracle.com
5b3a7b0cff Change sample generation config to use full project option
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-14 10:15:56 -05:00
tim.quinn@oracle.com
74bc35e33c Add path wildcarding
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-14 06:40:00 -05:00
dependabot[bot]
3ed6503075 Bump actions/setup-dotnet from 3.0.1 to 3.0.2 (#13688)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v3.0.1...v3.0.2)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 16:29:15 +08:00
Tim Quinn
048f78e0c6 Change generated MP server return type from Response to the document-indicated type (#72)
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>

Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-13 11:39:59 -05:00
Sorin Florea
1fda3ce290 Remove unused import (#13660) 2022-10-12 11:11:34 +08:00
Tim Quinn
700f01dbf8 Update copyrights; incorporate intervening change to samples-jdk17.yaml (#71)
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>

Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:32:09 -05:00
Tim Quinn
9e5625c842 Push generated samples with updated version (#70)
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>

Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:32:09 -05:00
Tim Quinn
b24c2d42bc Add Helidon samples to JDK17 samples workflow (#68)
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>

Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:32:02 -05:00
tim.quinn@oracle.com
51dc1c928a Missed updated/generated files
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:30:57 -05:00
tim.quinn@oracle.com
88ee081ad4 Add generated Helidon sample files
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:30:57 -05:00
tim.quinn@oracle.com
58ffb09fd4 Add generated Helidon doc files
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:30:56 -05:00
tvallin
40c1b2c471 Add functional test discovery and execution
Signed-off-by: tvallin <thibault.vallin@oracle.com>
2022-10-11 13:30:56 -05:00
tim.quinn@oracle.com
638c5201c4 Add config files for samples, update services declarations, add test resources and code, add Helidon client and server sample profiles to pom
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:30:56 -05:00
aserkes
1e029ae935 Add Helidon SE server resources
Signed-off-by: aserkes <andrii.serkes@oracle.com>
2022-10-11 13:30:56 -05:00
tvallin
224f42e291 Add Helidon MP server code generator class and resources
Signed-off-by: tvallin <thibault.vallin@oracle.com>
2022-10-11 13:30:56 -05:00
tim.quinn@oracle.com
cea7a14b25 Add Helidon client generator SE library Java classes and resources
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
2022-10-11 13:30:56 -05:00
spericas
74c600c877 Add Helidon client generator MicroProfile library Java class and resources
Signed-off-by: spericas <santiago.pericasgeertsen@oracle.com>
2022-10-11 13:30:56 -05:00
spericas
6be539db83 Create common files for Helidon generators
Signed-off-by: spericas <santiago.pericasgeertsen@oracle.com>
2022-10-11 13:30:55 -05:00
Segev Finer
53873ff6d8 [kotlin] Fix empty body with POST/etc in OkHttp client (#13666) 2022-10-11 12:18:24 +01:00
Bruno Coelho
1e66f2fbc9 [swift][client] fix xcode warning (#13647)
* [swift][client] fix xcode warning

* [swift][client] fix xcode warning
2022-10-11 11:08:15 +01:00
Bruno Coelho
1235ccd391 [kotlin][client] move info to readme (#13649)
* [kotlin][client] move info to readme

* [kotlin][client] update sample projects
2022-10-11 11:07:36 +01:00
Justin Black
ef8e55ca21 [python] client bug fixes + type hint improvements (#13665)
* Adds python client, template, and spec updates for query param content type json

* Samples regenerated

* Finishes adding test cases for query param json content type

* Uses newest templates

* Templates replaced, spec replaces, sample replaced

* Samples updated
2022-10-10 20:13:31 -07:00
William Cheng
02916822f7 Fix required parameters in group request option (Java client jersey2, 3) (#13646)
* fix required parameters in single request (java jersey2, 3)

* remove final from request required parameter
2022-10-09 16:14:25 +08:00
Chao Yang
e21d4900a1 Set default moduleName and update doc for crystal (#13645)
* Set default moduleName and update doc for crystal

Fixes #13644

* Generate docs

* Set default values to shardName and moduleName
2022-10-09 15:42:52 +08:00
dependabot[bot]
a4f7cafdf3 Bump css-what from 2.1.2 to 2.1.3 in /website (#13610)
Bumps [css-what](https://github.com/fb55/css-what) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/fb55/css-what/releases)
- [Commits](https://github.com/fb55/css-what/compare/v2.1.2...v2.1.3)

---
updated-dependencies:
- dependency-name: css-what
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-07 23:18:10 +08:00
Beppe Catanese
48928d8efe [Go] Generate test files (#13560)
* Process api_test.mustache

* Create api_test.mustache

* Add test and helper method

* Commit all (re)generated files

* Commit all (re)generated files

* Fix indentation
2022-10-07 23:15:09 +08:00
William Cheng
ba192741af Add @jacob-pro to the Rust technical committee (#13639) 2022-10-07 23:12:10 +08:00
William Cheng
0602d8f8a7 fix url validator, add tests (#13628) 2022-10-07 23:07:53 +08:00
William Cheng
3ae37e27a5 [java][okhttp-gson] fix validateJsonObject (#13630)
* fix required check in java okhttp client

* fix validateJsonObject in okhttp-gson, add test

* move java-micronaut-client to test circleci
2022-10-07 23:06:34 +08:00
DeaneOC
0060dfd195 [Java][Spring] Fix #13365 Adjusted pojo.mustache to handle required fields when beanValidation false (#13580)
* Adjusted pojo.mustache to handle required fields

* Updated tests and config to cover more scenarios

* Removing unused imports

* Resolved conflicts
2022-10-07 23:05:51 +08:00
William Cheng
4ee0cfa1ad Update jackson dependencies to newer version (#13634)
* update jackson databind dep

* update java native dep to newer version

* fix build issue due to cached config. add dummy pom
2022-10-07 23:04:27 +08:00
Jonas Reichert
6f3c0a8b5b [swift5] fix generation of multiple security definitions (#13617)
* uses correct variable to check for security definitions

* update samples
2022-10-07 16:01:35 +01:00
William Cheng
038fe790dc fix spring3 client (#13625) 2022-10-07 20:54:55 +08:00
devhl-labs
0b0e3f7d16 added vendor extension on model.allVars (#13623) 2022-10-07 17:09:41 +08:00
Minira Samadova
2f8b7a054f [typescript-axios] / #12828: Add ESM support to typescript-axios client (#13586)
* add ESM support to typescript-axios client

* add module path to the package json template

* module must be commonjs

* generate samples
2022-10-07 10:14:56 +02:00
William Cheng
74bb35d909 revise jdk11 java client tests (#13626) 2022-10-07 15:55:27 +08:00
William Cheng
94bc2ed19c add tests for #13606 (#13618) 2022-10-07 09:53:55 +08:00
Dennis Melzer
0a69f11526 Remove wrong request mapping for feign clients (#13546)
* Remove request mapping

* Fix bug for feign clients

* Fix test

* Fix test files

* Rebuild

* Revert change
2022-10-07 01:36:43 +08:00
Mustansir Soni
64c756c5fc Added missing '{' (#13606) 2022-10-07 01:18:23 +08:00
DeaneOC
10a1e7c2d5 Fix #13385 spring json nullable array (#13537)
* Fixing to use equalsNullable when nullable set in config for SpringCodeGen

* Adding additional test case file

* removed print statement from SpringCodeGen

* Updated model object

* Corrected indentation and removed import

* Fixed broken test

* Updating sample
2022-10-07 01:07:48 +08:00
dependabot[bot]
18b5b05fa7 Bump actions/setup-dotnet from 3.0.0 to 3.0.1 (#13595)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v3.0.0...v3.0.1)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-07 01:03:02 +08:00
bgong-mdsol
4ae11f8a0f add Imports for oneOf & anyOf schemas (#13553) 2022-10-07 01:01:58 +08:00
Thomas Hansen
a37d18a7e4 [PHP] Bugfix: DateTime object on query (#13583)
* [PHP] BUGFIX: fix code breaking when query params contain a DateTime object

* [PHP] Autogenerated files
2022-10-07 00:45:33 +08:00
Jacob Halsey
32936ad71b [rust] [rust-server] More abstract functions including integer fitting (#13503)
* [rust] [rust-server] Abstract Rust Integer fitting

* Add docstrings
2022-10-07 00:40:24 +08:00
Christian Fruth
8b10dc3830 [swift5] fixes a bug encoding/decoding decimal (#13589)
* [swift5] fixes bug #13410

* Fixed indentation, added missing generated samples
2022-10-05 13:31:36 +01:00
Jonas Reichert
4beee6c8c4 [swift5] adds configuration of response success ranges (#13598)
* add successfulCodeRange to configuration

* generate samples
2022-10-05 13:30:33 +01:00
William Cheng
085e1e58e5 Fix/remove support python2 option in flask aiohttp generators (#13585)
* fix: remove option supportPython2.
[python-flask][python-aiohttp][python-blueplanet]

* fix: update samples

* test only python servers

* fix(tests): downgrade pytest version to ensure compatibility with python3.6 [python-flask][python-aiohttp]

* Revert "fix(tests): downgrade pytest version to ensure compatibility with python3.6 [python-flask][python-aiohttp]"

This reverts commit 9f47db2f87.

* test in circlei

* run commands directly

* test in node 1

* update makefile

* fix Makefile

* fix test

* revert some changes, remove python server tests from travis

Co-authored-by: Kevin Bannier <kevinbannier1@gmail.com>
2022-10-04 15:24:26 +08:00
Justin Black
57f5cc4000 [python] fixes bugs (#13581)
* Adds bug fixes

* Samples and docs regenerated

* Samples regenerated
2022-10-03 11:15:16 -07:00
Bjorn R. Jensen
2f48c596d1 [Java][jaxrs-spec] Make contextPath template parameter available as a string constant for use in @ApplicationPath (#13377)
* generate a RestResourceRoot with a string constant holding the jax-rs resource root to be used in the @ApplicationPath annotation to make it easier for people, who want to write their own jax-rs Application class

* build and update samples as per PR guide

* renamed introduced constant from ROOT to APPLICATION_PATH to make its use more obvious
2022-10-03 23:34:10 +08:00
William Cheng
c39fc1e31b [JS] Refactor oneOf validation logic, add more tests (#13575)
* refactor oneof validation logic, add more tests

* update samples
2022-10-03 22:32:29 +08:00
devhl-labs
0581d81eaa [csharp] Fixed data type issues (#13541)
* fixed data type issues

* reverted a change
2022-10-03 22:08:28 +08:00
William Cheng
c30ae752a0 add fromJSON method (#13573) 2022-10-03 21:57:03 +08:00
水上 皓登
922f9783fd add a link to blog post (#13574) 2022-10-03 18:04:02 +08:00
William Cheng
3ec6cc5bf5 [R] add for more tests for URL validation (#13572)
* add url validation in r client

* update samples

* add more tests for url validation
2022-10-03 13:34:27 +08:00
William Cheng
c939894711 [R] add URL validation (#13570)
* add url validation in r client

* update samples
2022-10-02 23:57:33 +08:00
William Cheng
9cc23dd09d [JavaScript] add oneOf support (#13561)
* JS add oneOf support

* add validate json method

* add oneOf support to JS client

* update samples

* add todo in anyof

* switch to composed.oneOf

* update oneOf to support primitive types

* update messages

* minor fix, add more tests

* update samples

* fix npe in from model

* fix syntax error in length check

* update samples
2022-10-02 13:34:50 +08:00
Justin Black
2920c7bf91 Update readme active python reviewers (#13567) 2022-10-01 13:53:56 -07:00
dependabot[bot]
d3e099bd06 Bump actions/setup-dotnet from 2 to 3.0.0 (#13557)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 2 to 3.0.0.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v2...v3.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-30 17:31:42 +08:00
William Cheng
210a394e0d Restore JS tests (#13547)
* restore js tests

* test only js in circleci

* trigger build failure

* Revert "trigger build failure"

This reverts commit 7e8c34e823.

* Revert "test only js in circleci"

This reverts commit e261429339.
2022-09-29 14:52:25 +08:00
Jonas Reichert
00604aff59 [swift5] [alamofire] adds ability to inject custom response serializers (#13542)
* adjust templates to allow injecting ResponseSerializers

* generate samples

* swift < 5.5 compatibility
2022-09-28 17:34:17 +01:00
William Cheng
6a631b4cc0 [R] add discriminator and mappings support (#13529)
* add discriminator property, mapping

* add discriminator, mapping support to R client generator

* add discriminator, mapping support to R client genrator httr library
2022-09-28 00:18:28 +08:00
William Cheng
4ba43f7577 add design philosophy (#13535) 2022-09-28 00:18:09 +08:00
William Cheng
694a4c93c8 Add Bandwidth to the user list (#13532)
* add bandwidth to the user list

* Update README.md

Co-authored-by: AJ Rice <53190766+ajrice6713@users.noreply.github.com>

* update link

Co-authored-by: AJ Rice <53190766+ajrice6713@users.noreply.github.com>
2022-09-27 22:16:50 +08:00
William Cheng
bcd0d2963f update doc 2022-09-27 11:43:00 +08:00
devhl-labs
4e54b07076 [csharp] Fixed isMap property (#13482)
* fixed data type for maps

* fighting line endings

* fighting line endings

* removed commented code

* reverted unintended line break

* reverted unintended line break

* reverted unintended line break
2022-09-27 11:10:10 +08:00
Takuto Yuki
36976d5c72 Update Sort list of style guides (#13502) 2022-09-27 11:08:59 +08:00
William Cheng
88d464ad35 [typscript-rxjs] fix build failure (#13526)
* add node types to fix build failure

* Revert "add node types to fix build failure"

This reverts commit 7ec986e164.

* add node installation to fix build failure

* update ts samples
2022-09-27 11:08:33 +08:00
William Cheng
6b47b14896 update restsharp to the latest stable version (#13525) 2022-09-27 11:05:37 +08:00
William Cheng
23c67d1581 update c# samples 2022-09-27 01:10:20 +08:00
Jonas Reichert
22086e4f3c [swift5] support both date and date-time formats (#13520)
* add withoutTime formatter

* add DateWithoutTime

wip

* fix CI

# Conflicts:
#	samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/DateWithoutTime.swift

* implement flag and adjust tests

* generate samples and docs

* docs

* update samples

* remove samples of legacy python generator

* Revert "remove samples of legacy python generator"

This reverts commit 28da78f99d.

* review remarks

* generate samples

* fix

* review remarks

* remove samples

* generate swift 5 samples

* generate csharp examples

* docs

* Revert "generate csharp examples"

This reverts commit d1deb17dbc.

* Revert "generate swift 5 samples"

This reverts commit 968e859bfe.

* Revert "remove samples"

This reverts commit a43d21529b.

* manually remove FILES

* regenerate files

* reviewers remarks

* delete all date without times

* update config of alamofireLib to use new attribute and generate samples again

* docs
2022-09-26 17:39:35 +01:00
Austin Ziegler
de745a4c61 Elixir: Improve generated API options docs (#13478)
While working with the Magento 2.4 API definition, there were several
issues found. The easiest to resolve is a documentation naming issue.
(The others will be raised for discussion.)

This is known to be an issue with query parameters, but may not be
limited to *just* query parameters.

In the event that a parameter is a mix of arrays and objects, the
template in the documentation for the API function was expanding out the
parameter name such that `foo[0]` would be turned into
`:foo_left_square_bracket0_right_square_bracket`, but the actual
parameter name was being left as `:foo[0]`, which meant that the
documentation did not reflect the actual parameter.

> Note: there are issues with the way that query parameters are put
> together in this sense, which is going to require substantially more
> work to resolve as well as discussion on how these options should be
> implemented, as what the Magento API requires may not be what is
> expected by a different server, and the nature of the input parameters
> is itself incorrect.
2022-09-26 11:34:44 +02:00
Thomas Hansen
efccc01911 [PHP] BUGFIX: model_generic: fix missing setOpenAPInullablesSetToNull method (#13499)
* [PHP] Bugfix - model_generic.mustache: missing setter for openAPINullabelsSetToNull (which is invoked in the property setters)

* [AUTOGENERATED] update samples

* [PHP] Added test for nullable fields
2022-09-26 17:20:51 +08:00
William Cheng
d46189bb28 Add .net framework 4.8 support (#13504)
* add .net framework 4.8 support

* add dependency, test in appveyor

* update doc
2022-09-26 11:02:39 +08:00
William Cheng
ac7ebf67dd Prepare 6.2.1 (#13517)
* update to 6.2.1-SNAPSHOT

* update samples

* update doc
2022-09-25 00:10:30 +08:00
14221 changed files with 649973 additions and 148462 deletions

View File

@@ -16,5 +16,10 @@
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` (6.1.0) (minor release - breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks)
- [ ] In case you are adding a new generator, run the following additional script :
```
./bin/utils/ensure-up-to-date.sh
```
Commit all changed files.
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (6.3.0) (minor release - breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks)
- [ ] 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.

View File

@@ -91,5 +91,7 @@ jobs:
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
# test with java (jersey2) client generation only as ensure-up-to-date script is run in another job instead
./bin/generate-samples.sh ./bin/configs/java-jersey2-8.yaml
# test debugSupportingFiles
./bin/generate-samples.sh ./bin/configs/python.yaml -- --global-property debugSupportingFiles

View File

@@ -0,0 +1,43 @@
name: Gradle plugin tests
on:
push:
paths:
- modules/openapi-generator-gradle-plugin/**
pull_request:
paths:
- modules/openapi-generator-gradle-plugin/**
jobs:
test:
name: Gradle plugin tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
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: |
mvn --no-snapshot-updates --batch-mode --quiet install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=error
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildGoSdk) # using gradle-6.8.3 via wrapper
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew openApiGenerate)
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildDotnetSdk)
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && gradle buildJavaResttemplateSdk) # not using gradle wrapper

View File

@@ -2,17 +2,12 @@ name: Gradle tests (Java samples)
on:
push:
branches:
- master
- '[5-9]+.[0-9]+.x'
- "java*"
paths:
- 'samples/client/petstore/java/**'
- 'samples/openapi3/client/petstore/java/**'
pull_request:
branches:
- master
- '[5-9]+.[0-9]+.x'
paths:
- 'samples/client/petstore/java/**'
- 'samples/openapi3/client/petstore/java/**'
env:
GRADLE_VERSION: 7.2
@@ -26,11 +21,11 @@ jobs:
fail-fast: true
matrix:
sample:
- samples/client/petstore/java/jersey2-java8-localdatetime
- samples/client/petstore/java/jersey2-java8
- samples/openapi3/client/extensions/x-auth-id-alias/java/jersey2-java8
- samples/openapi3/client/petstore/java/jersey2-java8-special-characters
- samples/openapi3/client/petstore/java/jersey2-java8
- samples/client/petstore/java/jersey2-java8-localdatetime
- samples/client/petstore/java/jersey2-java8
- samples/client/petstore/java/okhttp-gson
- samples/client/petstore/java/okhttp-gson-group-parameter
steps:

View File

@@ -0,0 +1,46 @@
name: Java Helidon Functional tests
on:
push:
paths:
- modules/openapi-generator/src/test/java/org/openapitools/codegen/java/helidon/**
pull_request:
paths:
- modules/openapi-generator/src/test/java/org/openapitools/codegen/java/helidon/**
jobs:
build:
name: Java Helidon Functional tests
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [11, 17]
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
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: cd modules/openapi-generator && mvn --no-snapshot-updates --batch-mode -Dtest="**/functional/*Test" test -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- name: Publish unit test reports
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: surefire-test-results
path: '**/surefire-reports/TEST-*.xml'

View File

@@ -0,0 +1,42 @@
name: Maven plugin tests
on:
push:
paths:
- modules/openapi-generator-maven-plugin/**
pull_request:
paths:
- modules/openapi-generator-maven-plugin/**
jobs:
test:
name: Maven plugin tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
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 clean install -DskipTests -Dmaven.javadoc.skip=true
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

32
.github/workflows/misc-test.yaml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Misc Tests
on:
push:
branches:
- master
- '[5-9]+.[0-9]+.x'
pull_request:
branches:
- master
- '[5-9]+.[0-9]+.x'
jobs:
build:
name: Misc tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: '2.6'
bundler-cache: false # runs 'bundle install' and caches installed gems automatically
- name: Detect tabs
run: /bin/bash ./bin/utils/detect_tab_in_templates.sh
- name: Detect changes in test files
run: ./bin/utils/detect_test_file_changes.rb bin/utils/test_file_list.yaml
- name: Detect carriage return
run: /bin/bash ./bin/utils/detect_carriage_return.sh
- name: Detect merge conflicts
run: /bin/bash ./bin/utils/detect_merge_conflict.sh
- name: Detect tabs
run: /bin/bash ./bin/utils/detect_tab_in_java_class.sh

View File

@@ -153,71 +153,3 @@ jobs:
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@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
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@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
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: |
mvn --no-snapshot-updates --batch-mode --quiet install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=error
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildGoSdk) # using gradle-6.8.3 via wrapper
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew openApiGenerate)
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildDotnetSdk)
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && gradle buildJavaResttemplateSdk) # not using gradle wrapper

View File

@@ -0,0 +1,34 @@
name: Samples cpp qt client
on:
push:
branches:
- 'samples/client/petstore/cpp-qt/**'
pull_request:
paths:
- 'samples/client/petstore/cpp-qt/**'
env:
GRADLE_VERSION: 6.9
jobs:
build:
name: Build cpp qt client
strategy:
matrix:
qt-version:
- '5.15.2'
- '6.4.2'
os:
- ubuntu-latest
- macOS-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: jurplel/install-qt-action@v3
with:
version: ${{ matrix.qt-version }}
- name: Build
working-directory: "samples/client/petstore/cpp-qt"
run: ./build-and-test.bash

View File

@@ -40,7 +40,7 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('samples/**/pubspec.yaml') }}
- uses: dart-lang/setup-dart@v1
with:
sdk: 2.14.0
sdk: 2.15.0
- name: Run tests
uses: ./.github/actions/run-samples
with:

View File

@@ -0,0 +1,30 @@
name: Samples C# .Net Standard
on:
push:
paths:
- 'samples/client/petstore/csharp-netcore/**netstandard**/'
pull_request:
paths:
- 'samples/client/petstore/csharp-netcore/**netstandard**/'
jobs:
build:
name: Build .Net projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netstandard2.0
steps:
- uses: actions/checkout@v3
- uses: actions/setup-dotnet@v3.0.3
with:
dotnet-version: 3.1.*
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln
- name: Test
working-directory: ${{ matrix.sample }}
run: dotnet test Org.OpenAPITools.sln

View File

@@ -4,11 +4,13 @@ on:
push:
paths:
- 'samples/client/petstore/csharp-netcore/**net6.0**/'
- 'samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore**/'
- 'samples/server/petstore/aspnetcore-6.0/**'
- 'samples/server/petstore/aspnetcore-6.0-pocoModels/**'
pull_request:
paths:
- 'samples/client/petstore/csharp-netcore/**net6.0**/'
- 'samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore**/'
- 'samples/server/petstore/aspnetcore-6.0/**'
- 'samples/server/petstore/aspnetcore-6.0-pocoModels/**'
jobs:
@@ -22,14 +24,17 @@ jobs:
# clients
- samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0
- samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-net6.0-nrt
- samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore-latest-allOf
- samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore-latest-oneOf
- samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore-latest-anyOf
- samples/server/petstore/aspnetcore-6.0
- samples/server/petstore/aspnetcore-6.0-pocoModels
- samples/server/petstore/aspnetcore-6.0-project4Models
steps:
- uses: actions/checkout@v3
- uses: actions/setup-dotnet@v2
- uses: actions/setup-dotnet@v3.0.3
with:
dotnet-version: '6.0.x'
dotnet-version: '7.0.x'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln

35
.github/workflows/samples-erlang.yaml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Samples Erlang
on:
push:
paths:
# comment out due to errors
# ===> Compiling src/openapi_pet_handler.erl failed
# src/openapi_pet_handler.erl:278: function is_authorized/2 already defined
#- samples/server/petstore/erlang-server/**
- samples/client/petstore/erlang-client/**
- samples/client/petstore/erlang-proper/**
pull_request:
paths:
#- samples/server/petstore/erlang-server/**
- samples/client/petstore/erlang-client/**
- samples/client/petstore/erlang-proper/**
jobs:
build:
name: Build Erlang projects
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
sample:
#- samples/server/petstore/erlang-server/
- samples/client/petstore/erlang-client/
- samples/client/petstore/erlang-proper/
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: '22.2'
rebar3-version: '3.14.3'
- run: rebar3 compile
working-directory: ${{ matrix.sample }}

36
.github/workflows/samples-go.yaml vendored Normal file
View File

@@ -0,0 +1,36 @@
name: Samples Go
on:
push:
paths:
- 'samples/server/petstore/go-echo-server/**'
- 'samples/server/petstore/go-api-server/**'
pull_request:
paths:
- 'samples/server/petstore/go-echo-server/**'
- 'samples/server/petstore/go-api-server/**'
jobs:
build:
name: Build Go
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/go-echo-server/
- samples/server/petstore/go-api-server/
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: '>=1.17.0'
- run: go version
- name: Install
working-directory: ${{ matrix.sample }}
run: |
go get github.com/labstack/echo/v4/middleware@v4.9.0
go get github.com/labstack/echo/v4@v4.9.0
- name: Build
working-directory: ${{ matrix.sample }}
run: go test -v

View File

@@ -0,0 +1,44 @@
name: Java Client (Echo API) JDK11
on:
push:
paths:
- samples/client/echo_api/java/**
pull_request:
paths:
- samples/client/echo_api/java/**
jobs:
build:
name: Build Java Client JDK11
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/java/apache-httpclient
- samples/client/echo_api/java/native
- samples/client/echo_api/java/feign-gson
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v3
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Setup node.js
uses: actions/setup-node@v3
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package

View File

@@ -0,0 +1,48 @@
name: Java Client (Echo API) JDK8
on:
push:
paths:
- samples/client/echo_api/java/apache-httpclient/**
- samples/client/echo_api/java/feign-gson/**
- samples/client/echo_api/java/okhttp-gson/**
pull_request:
paths:
- samples/client/echo_api/java/apache-httpclient/**
- samples/client/echo_api/java/feign-gson/**
- samples/client/echo_api/java/okhttp-gson/**
jobs:
build:
name: Build Java Client JDK8
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/java/apache-httpclient
- samples/client/echo_api/java/feign-gson
- samples/client/echo_api/java/okhttp-gson
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Setup node.js
uses: actions/setup-node@v3
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package

View File

@@ -3,10 +3,20 @@ name: Samples Java Client JDK11
on:
push:
paths:
- 'samples/client/petstore/java*/**'
- 'samples/client/petstore/java/**'
- samples/client/petstore/jaxrs-cxf-client/**
- samples/client/petstore/java-micronaut-client/**
- samples/openapi3/client/petstore/java/jersey2-java8-special-characters/**
- samples/openapi3/client/petstore/java/jersey2-java8-swagger1/**
- samples/openapi3/client/petstore/java/native**
pull_request:
paths:
- 'samples/client/petstore/java*/**'
- 'samples/client/petstore/java/**'
- samples/client/petstore/jaxrs-cxf-client/**
- samples/client/petstore/java-micronaut-client/**
- samples/openapi3/client/petstore/java/jersey2-java8-special-characters/**
- samples/openapi3/client/petstore/java/jersey2-java8-swagger1/**
- samples/openapi3/client/petstore/java/native**
jobs:
build:
name: Build Java Client JDK11
@@ -19,6 +29,7 @@ jobs:
- samples/client/petstore/jaxrs-cxf-client
- samples/client/petstore/java/native
- samples/client/petstore/java/native-async
- samples/client/petstore/java/native-jakarta
- samples/client/petstore/java/retrofit2
- samples/client/petstore/java/retrofit2rx2
- samples/client/petstore/java/retrofit2rx3
@@ -26,7 +37,7 @@ jobs:
- samples/client/petstore/java/resttemplate
- samples/client/petstore/java/resttemplate-withXml
- samples/client/petstore/java/webclient
- samples/client/petstore/java/webclient-nulable-arrays
- samples/client/petstore/java/webclient-nullable-arrays
- samples/client/petstore/java/vertx
- samples/client/petstore/java/jersey2-java8-localdatetime
- samples/client/petstore/java/resteasy
@@ -38,6 +49,11 @@ jobs:
- samples/client/petstore/java/apache-httpclient
- samples/client/petstore/java/feign
- samples/client/petstore/java/jersey1
- samples/openapi3/client/petstore/java/jersey2-java8-special-characters
- samples/openapi3/client/petstore/java/native
- samples/client/petstore/java/okhttp-gson-swagger1/
- samples/client/petstore/java/resttemplate-swagger1/
- samples/openapi3/client/petstore/java/jersey2-java8-swagger1/
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3

View File

@@ -0,0 +1,39 @@
name: Samples Java Client JDK17
on:
push:
paths:
- samples/client/petstore/java/resttemplate-jakarta/**
- samples/client/petstore/java/webclient-jakarta/**
pull_request:
paths:
- samples/client/petstore/java/resttemplate-jakarta/**
- samples/client/petstore/java/webclient-jakarta/**
jobs:
build:
name: Build Java Client JDK17
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/petstore/java/resttemplate-jakarta
- samples/client/petstore/java/webclient-jakarta
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v3
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package

View File

@@ -0,0 +1,49 @@
name: Samples Java Server
on:
push:
paths:
# java-camel is tested locally for the time being
#- 'samples/server/petstore/java-camel/**'
- 'samples/server/petstore/java-vertx-web/**'
- 'samples/server/petstore/java-inflector/**'
- 'samples/server/petstore/java-pkmst/**'
- 'samples/server/petstore/java-undertow/**'
pull_request:
paths:
#- 'samples/server/petstore/java-camel/**'
- 'samples/server/petstore/java-vertx-web/**'
- 'samples/server/petstore/java-inflector/**'
- 'samples/server/petstore/java-pkmst/**'
- 'samples/server/petstore/java-undertow/**'
jobs:
build:
name: Build Java Server
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
#- samples/server/petstore/java-camel/
- samples/server/petstore/java-vertx-web/
- samples/server/petstore/java-inflector/
- samples/server/petstore/java-pkmst/
- samples/server/petstore/java-undertow/
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package

View File

@@ -3,15 +3,27 @@ on:
push:
paths:
# clients
- samples/openapi3/client/petstore/spring-cloud-3
- samples/openapi3/client/petstore/spring-cloud-3/**
- samples/client/petstore/java-helidon-client/mp/**
- samples/client/petstore/java-helidon-client/se/**
- samples/client/petstore/spring-http-interface-reactive/**
- samples/client/petstore/spring-http-interface/**
# servers
- samples/openapi3/server/petstore/springboot-3
- samples/openapi3/server/petstore/springboot-3/**
- samples/server/petstore/java-helidon-server/mp/**
- samples/server/petstore/java-helidon-server/se/**
pull_request:
paths:
# clients
- samples/openapi3/client/petstore/spring-cloud-3
- samples/openapi3/client/petstore/spring-cloud-3/**
- samples/client/petstore/java-helidon-client/mp/**
- samples/client/petstore/java-helidon-client/se/**
- samples/client/petstore/spring-http-interface-reactive/**
- samples/client/petstore/spring-http-interface/**
# servers
- samples/openapi3/server/petstore/springboot-3
- samples/openapi3/server/petstore/springboot-3/**
- samples/server/petstore/java-helidon-server/mp/**
- samples/server/petstore/java-helidon-server/se/**
jobs:
build:
name: Build with JDK17
@@ -22,8 +34,16 @@ jobs:
sample:
# clients
- samples/openapi3/client/petstore/spring-cloud-3
- samples/client/petstore/java-helidon-client/mp
- samples/client/petstore/java-helidon-client/se
- samples/client/petstore/spring-http-interface-reactive
- samples/client/petstore/spring-http-interface
# servers
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/java-helidon-server/mp
- samples/server/petstore/java-helidon-server/se
- samples/client/petstore/spring-http-interface-reactive
- samples/client/petstore/spring-http-interface
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3

View File

@@ -1,4 +1,4 @@
name: Samples Kotlin cilent
name: Samples Kotlin client
on:
push:
@@ -51,6 +51,11 @@ jobs:
- samples/client/petstore/kotlin-bigdecimal-default-okhttp4
- samples/client/petstore/kotlin-jvm-ktor-jackson
- samples/client/petstore/kotlin-jvm-ktor-gson
- samples/client/petstore/kotlin-jvm-ktor-gson
- samples/client/petstore/kotlin-jvm-vertx-gson
- samples/client/petstore/kotlin-jvm-vertx-jackson
- samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines
- samples/client/petstore/kotlin-jvm-vertx-moshi
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3

View File

@@ -0,0 +1,46 @@
name: Samples Kotlin server
on:
push:
branches:
- 'samples/server/petstore/kotlin-springboot-3*/**'
pull_request:
paths:
- 'samples/server/petstore/kotlin-springboot-3*/**'
env:
GRADLE_VERSION: 7.4
jobs:
build:
name: Build Kotlin server
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# server
- samples/server/petstore/kotlin-springboot-3
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v3
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@v2
with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }}
arguments: wrapper
- name: Build
working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test

View File

@@ -3,10 +3,10 @@ name: Samples PHP 8.x
on:
push:
paths:
- samples/server/petstore/php-symfony/SymfonyBundle-php/
- samples/server/petstore/php-symfony/SymfonyBundle-php/**
pull_request:
paths:
- samples/server/petstore/php-symfony/SymfonyBundle-php/
- samples/server/petstore/php-symfony/SymfonyBundle-php/**
jobs:
build:
name: Build PHP projects

View File

@@ -0,0 +1,38 @@
name: Python Client (Echo API)
on:
push:
paths:
- samples/client/echo_api/python-nextgen/**
pull_request:
paths:
- samples/client/echo_api/python-nextgen/**
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/python-nextgen
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.7'
- name: Setup node.js
uses: actions/setup-node@v3
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Install
working-directory: ${{ matrix.sample }}
run: |
pip install -r requirements.txt
pip install -r test-requirements.txt
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m pytest

31
.github/workflows/samples-rust.yaml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Samples Rust
on:
push:
paths:
- 'samples/client/petstore/rust/**'
- 'samples/server/petstore/rust-server/**'
pull_request:
paths:
- 'samples/client/petstore/rust/**'
- 'samples/server/petstore/rust-server/**'
jobs:
build:
name: Build Rust
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# these folders contain sub-projects of rust clients, servers
- samples/client/petstore/rust/
- samples/server/petstore/rust-server/
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Build
working-directory: ${{ matrix.sample }}
run: cargo build

View File

@@ -1,23 +1,26 @@
name: Samples Scala
name: Samples Scala/sbt
on:
push:
paths:
- 'samples/client/petstore/scala**'
- 'samples/server/petstore/scala**'
- 'samples/client/petstore/java/okhttp-gson/**'
pull_request:
paths:
- 'samples/client/petstore/scala**'
- 'samples/server/petstore/scala**'
- 'samples/client/petstore/java/okhttp-gson/**'
jobs:
build:
name: Build Scala client, servers
name: Build sbt/Scala client, servers
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- 'samples/client/petstore/java/okhttp-gson'
- samples/client/petstore/scalaz
#- samples/client/petstore/scala-sttp # won't pass while the same tests in circleci pass
# servers

3
.gitignore vendored
View File

@@ -32,6 +32,9 @@ packages/
**/.vs
.factorypath
.metals/*
nbproject/
nbactions.xml
nb-configuration.xml
.settings

View File

@@ -12,7 +12,7 @@
## customise it to your individual needs - from themes to extensions, you
## have full control.
##
## The easiest way to try out Gitpod is install the browser extenion:
## The easiest way to try out Gitpod is install the browser extension:
## 'https://www.gitpod.io/docs/browser-extension' or by prefixing
## 'https://gitpod.io#' to the source control URL of any project.
##

View File

@@ -50,15 +50,16 @@ before_install:
- 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
#- sudo apt-get install -qqy --no-install-recommends google-chrome-stable
#- 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
#- 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
# comment out crystal installation as the tests will run on circleci or github action instead
# 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
@@ -69,11 +70,11 @@ before_install:
- 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
# set python 3.6.3 as default
- source ~/virtualenv/python3.6/bin/activate
#- curl https://sh.rustup.rs -sSf | sh -s -- -y -v
## required when sudo: required for the Ruby petstore tests
#- gem install bundler -v 2.3.26
## set python 3.6.3 as default
#- source ~/virtualenv/python3.6/bin/activate
# -- 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
@@ -88,18 +89,18 @@ before_install:
#- sudo sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
#- sudo apt-get update
#- sudo apt-get install dart
# switch to php7
- sudo apt-get install libonig-dev libzip-dev
- git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build
- git clone https://github.com/ngyuki/phpenv-composer.git $(phpenv root)/plugins/phpenv-composer
- if [ $(ls -A "$HOME/.phpenv/versions/8.1.4" | wc -l) -eq 0 ]; then
phpenv install 8.1.4;
fi;
- phpenv rehash
- phpenv versions
#- phpenv global 7.2.15
- phpenv global 8.1.4
- php -v
# switch to php8
#- sudo apt-get install -f libonig-dev libzip-dev
#- git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build
#- git clone https://github.com/ngyuki/phpenv-composer.git $(phpenv root)/plugins/phpenv-composer
#- if [ $(ls -A "$HOME/.phpenv/versions/8.1.4" | wc -l) -eq 0 ]; then
# phpenv install 8.1.4;
# fi;
#- phpenv rehash
#- phpenv versions
##- phpenv global 7.2.15
#- phpenv global 8.1.4
#- php -v
# 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).
@@ -107,15 +108,15 @@ before_install:
# - . ~/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
- cmake --version
#- sudo apt install -y --no-install-recommends valgrind cmake build-essential
#- cmake --version
# install Qt5
#- sudo apt install -y --no-install-recommends qt5-default
# install boost
- sudo apt install -y --no-install-recommends libboost-all-dev
#- sudo apt install -y --no-install-recommends libboost-all-dev
# 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 "Ignored failure from cpanm"
#- 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 "Ignored failure from cpanm"
# show host table to confirm petstore.swagger.io is mapped to localhost
- cat /etc/hosts
# show java version
@@ -127,8 +128,8 @@ before_install:
fi;
- pushd .; cd website; yarn install; popd
# install Deno
- sh -s v1.6.2 < ./CI/deno_install.sh
- export PATH="$HOME/.deno/bin:$PATH"
#- sh -s v1.6.2 < ./CI/deno_install.sh
#- export PATH="$HOME/.deno/bin:$PATH"
install:
# Add Godeps dependencies to GOPATH and PATH
@@ -147,20 +148,10 @@ script:
- 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
- /bin/bash ./bin/utils/detect_merge_conflict.sh
# fail if generators contain tab '\t'
- /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 -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
#- 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
@@ -170,8 +161,8 @@ after_success:
echo "Finished mvn clean deploy for $TRAVIS_BRANCH";
pushd .;
cd modules/openapi-generator-gradle-plugin;
./gradlew -Psigning.keyId="$SIGNING_KEY" -Psigning.password="$SIGNING_PASSPHRASE" -Psigning.secretKeyRingFile="${TRAVIS_BUILD_DIR}/sec.gpg" -PossrhUsername="${SONATYPE_USERNAME}" -PossrhPassword="${SONATYPE_PASSWORD}" publishMavenJavaPublicationToNexusRepository closeAndReleaseRepository --no-daemon;
echo "Finished ./gradlew publishPluginMavenPublicationToNexusRepository closeAndReleaseRepository";
./gradlew -Psigning.keyId="$SIGNING_KEY" -Psigning.password="$SIGNING_PASSPHRASE" -Psigning.secretKeyRingFile="${TRAVIS_BUILD_DIR}/sec.gpg" -PossrhUsername="${SONATYPE_USERNAME}" -PossrhPassword="${SONATYPE_PASSWORD}" publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository;
echo "Finished ./gradlew publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository";
popd;
elif [ -z $TRAVIS_TAG ] && [[ "$TRAVIS_BRANCH" =~ ^[0-9]+\.[0-9]+\.x$ ]]; then
echo "Publishing from branch $TRAVIS_BRANCH";
@@ -179,15 +170,15 @@ after_success:
echo "Finished mvn clean deploy for $TRAVIS_BRANCH";
pushd .;
cd modules/openapi-generator-gradle-plugin;
./gradlew -PossrhUsername="${SONATYPE_USERNAME}" -PossrhPassword="${SONATYPE_PASSWORD}" publishPluginMavenPublicationToNexusRepository closeAndReleaseRepository --no-daemon;
echo "Finished ./gradlew publishPluginMavenPublicationToNexusRepository closeAndReleaseRepository";
./gradlew -PossrhUsername="${SONATYPE_USERNAME}" -PossrhPassword="${SONATYPE_PASSWORD}" publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository;
echo "Finished ./gradlew publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository";
popd;
fi;
if [ -n $TRAVIS_TAG ] && [[ "$TRAVIS_TAG" =~ ^[v][0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Publishing the gradle plugin to Gradle Portal on tag $TRAVIS_TAG (only)";
pushd .;
cd modules/openapi-generator-gradle-plugin;
./gradlew -Psigning.keyId="$SIGNING_KEY" -Psigning.password="$SIGNING_PASSPHRASE" -Psigning.secretKeyRingFile="${TRAVIS_BUILD_DIR}/sec.gpg" publishPlugins -Dgradle.publish.key=$GRADLE_PUBLISH_KEY -Dgradle.publish.secret=$GRADLE_PUBLISH_SECRET --no-daemon;
./gradlew -Psigning.keyId="$SIGNING_KEY" -Psigning.password="$SIGNING_PASSPHRASE" -Psigning.secretKeyRingFile="${TRAVIS_BUILD_DIR}/sec.gpg" publishPlugins -Dgradle.publish.key=$GRADLE_PUBLISH_KEY -Dgradle.publish.secret=$GRADLE_PUBLISH_SECRET;
echo "Finished ./gradlew publishPlugins (plugin portal)";
popd;
fi;
@@ -224,15 +215,15 @@ after_success:
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;
yarn install;
GIT_USER="${GH_NAME}" yarn run publish-gh-pages;
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;
# yarn install;
# GIT_USER="${GH_NAME}" yarn run publish-gh-pages;
# fi;
env:
- DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli NODE_ENV=test CC=gcc-5 CXX=g++-5

View File

@@ -35,11 +35,11 @@ elif [ "$NODE_INDEX" = "2" ]; then
#sudo apt-get -y build-dep libcurl4-gnutls-dev
#sudo apt-get -y install libcurl4-gnutls-dev
# Install golang version 1.14
# Install golang version 1.18
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"
sudo mkdir /usr/local/go1.18
wget -c https://dl.google.com/go/go1.18.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local/go1.18
export PATH="/usr/local/go1.18/go/bin:$PATH"
go version
# run integration tests
@@ -53,9 +53,9 @@ elif [ "$NODE_INDEX" = "3" ]; then
#./configure --enable-optimizations
#sudo make altinstall
pyenv install --list
pyenv install 3.6.3
pyenv install 3.7.12
pyenv install 2.7.14
pyenv global 3.6.3
pyenv global 3.7.12
# Install node@stable (for angular 6)
set +e

View File

@@ -52,15 +52,16 @@ Code change should conform to the programming style guide of the respective lang
- 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
- Elixir: https://github.com/christopheradams/elixir_style_guide
- Erlang: https://github.com/inaka/erlang_guidelines
- Go: https://github.com/golang/go/wiki/CodeReviewComments
- Groovy: http://groovy-lang.org/style-guide.html
- Haskell: https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
- Java: https://google.github.io/styleguide/javaguide.html
- JavaScript: https://github.com/airbnb/javascript/
- Julia: https://docs.julialang.org/en/v1/manual/style-guide/
- Kotlin: https://kotlinlang.org/docs/reference/coding-conventions.html
- Groovy: http://groovy-lang.org/style-guide.html
- 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-12-extended-coding-style-guide.md

152
README.md
View File

@@ -3,18 +3,23 @@
<div align="center">
[![Stable releases 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/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g) [![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) [![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/OpenAPITools/openapi-generator)
[![Stable releases 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/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g)
[![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)
[![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/OpenAPITools/openapi-generator)
[![Conan Center](https://shields.io/conan/v/openapi-generator)](https://conan.io/center/openapi-generator)
</div>
<div align="center">
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`6.1.0`):
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`6.4.0`):
[![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)
[![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)
[7.0.x](https://github.com/OpenAPITools/openapi-generator/tree/7.0.x) (`7.0.x`):
[![Build Status](https://img.shields.io/travis/OpenAPITools/openapi-generator/7.0.x.svg?label=Integration%20Test)](https://travis-ci.com/OpenAPITools/openapi-generator)
@@ -57,6 +62,9 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
[<img src="https://openapi-generator.tech/img/companies/onesignal.png" width="128" height="128">](https://www.onesignal.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/virtualansoftware.png" width="128" height="128">](https://www.virtualansoftware.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/mergedev.jpeg" width="128" height="128">](https://www.merge.dev/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/burkert.jpg" width="128" height="128">](https://www.burkert.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/finbourne.png" width="128" height="128">](https://www.finbourne.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/bumpsh.png" width="128" height="128">](https://bump.sh/?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
@@ -68,13 +76,13 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
## 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, .NET Standard 1.3 - 2.1, .NET Core 3.1, .NET 5.0. Libraries: RestSharp, GenericHost, HttpClient), **C++** (Arduino, cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Apache HttpClient, 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 - 13.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs) |
| **Server stubs** | **Ada**, **C#** (ASP.NET Core, Azure Functions), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin, Echo), **Haskell** (Servant, Yesod), **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/), [Apache Camel](https://camel.apache.org/)), **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](https://openapi-generator.tech/docs/generators/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** |
| | Languages/Frameworks |
| -------------------------------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.1, .NET Core 3.1, .NET 5.0. Libraries: RestSharp, GenericHost, HttpClient), **C++** (Arduino, cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Apache HttpClient 4.x, Apache HttpClient 5.x, 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, Helidon), **Jetbrains HTTP Client**, **Julia**, **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 - 13.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs) |
| **Server stubs** | **Ada**, **C#** (ASP.NET Core, Azure Functions), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin, Echo), **Haskell** (Servant, Yesod), **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/), [Apache Camel](https://camel.apache.org/), [Helidon](https://helidon.io/)), **Julia**, **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](https://openapi-generator.tech/docs/generators/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
@@ -113,9 +121,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
| OpenAPI Generator Version | Release Date | Notes |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
| 7.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.0.0-SNAPSHOT/) | Feb/Mar 2023 | Major release with breaking changes (no fallback) |
| 6.2.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.2.0-SNAPSHOT/) | 11.11.2022 | Minor release with breaking changes (with fallback) |
| 6.1.1 (upcoming patch release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.1.1-SNAPSHOT/) | 11.10.2022 | Patch release (enhancements, bug fixes, etc) |
| [6.1.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.1.0) (latest stable release) | 11.09.2022 | Minor release with breaking changes (with fallback) |
| 6.4.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.4.0-SNAPSHOT/) | 05.12.2022 | Minor release with breaking changes (with fallback) |
| [6.3.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.3.0) (latest stable release) | 01.02.2023 | Minor release with breaking changes (with fallback) |
| [5.4.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.4.0) | 31.01.2022 | 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) |
@@ -123,6 +130,8 @@ OpenAPI Spec compatibility: 1.0, 1.1, 1.2, 2.0, 3.0
For old releases, please refer to the [**Release**](https://github.com/OpenAPITools/openapi-generator/releases) page.
For decomissioned generators/libraries/frameworks, please refer to [the "Decommission" label](https://github.com/OpenAPITools/openapi-generator/issues?q=label%3ADecommission+is%3Amerged+) in the pull request page.
## [1.2 - Artifacts on Maven Central](#table-of-contents)
You can find our released artifacts on maven central:
@@ -173,16 +182,16 @@ See the different versions of the [openapi-generator-cli](https://search.maven.o
<!-- 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: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.1.0/openapi-generator-cli-6.1.0.jar`
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.3.0/openapi-generator-cli-6.3.0.jar`
For **Mac/Linux** users:
```sh
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.1.0/openapi-generator-cli-6.1.0.jar -O openapi-generator-cli.jar
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.3.0/openapi-generator-cli-6.3.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 https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.1.0/openapi-generator-cli-6.1.0.jar
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.3.0/openapi-generator-cli-6.3.0.jar
```
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
@@ -407,7 +416,7 @@ openapi-generator-cli version
To use a specific version of "openapi-generator-cli"
```sh
openapi-generator-cli version-manager set 6.1.0
openapi-generator-cli version-manager set 6.3.0
```
Or install it as dev-dependency:
@@ -431,7 +440,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat
(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](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.1.0/openapi-generator-cli-6.1.0.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.3.0/openapi-generator-cli-6.3.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`
@@ -583,6 +592,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [Arduino](https://www.arduino.cc/)
- [b<>com](https://b-com.com/en)
- [百度营销](https://e.baidu.com)
- [Bandwidth](https://dev.bandwidth.com)
- [Banzai Cloud](https://banzaicloud.com)
- [BIMData.io](https://bimdata.io)
- [Bithost GmbH](https://www.bithost.ch)
@@ -681,6 +691,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [TribalScale](https://www.tribalscale.com)
- [Trifork](https://trifork.com)
- [TUI InfoTec GmbH](http://www.tui-infotec.com/)
- [Twilio](https://www.twilio.com/)
- [Twitter](https://twitter.com)
- [unblu inc.](https://www.unblu.com/)
- [Veamly](https://www.veamly.com/)
@@ -870,9 +881,20 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2022-07-22 - [使用OpenAPI Generator Maven plugin开发api优先的java客户端和服务端代码](https://blog.roccoshi.top/2022/java/openapi-generator%E7%9A%84%E4%BD%BF%E7%94%A8/) by [Lincest](https://github.com/Lincest)
- 2022-08-01 - [Tutorial: Etsy Open API v3 (ruby)](https://blog.tjoyal.dev/etsy-open-api-v3/) by [Thierry Joyal](https://github.com/tjoyal)
- 2022-09-03 - [OpenAPI Generator For Go Web Development](https://blog.kevinhu.me/2022/09/03/03-openapi-generator/) by [Kevin Hu](https://twitter.com/Oldgunix)
- 2022-10-01 - [OpenAPI Generatorをカスタマイズしたコードを生成するSwagger Codegenとほぼ同じ](https://nainaistar.hatenablog.com/entry/2022/10/03/120000) by [きり丸](https://twitter.com/nainaistar)
- 2022-10-21 - [KotlinSpring Bootの API を OpenAPI Generator で自動生成](https://zenn.dev/msksgm/articles/20221021-kotlin-spring-openapi-generator) by [msksgm](https://zenn.dev/msksgm)
- 2022-10-26 - [Quarkus Insights #106: Quarkiverse Extension Spotlight: OpenApi Generator](https://www.youtube.com/watch?v=_s_if69t2iQ) by [Quarkusio](https://www.youtube.com/c/Quarkusio)
- 2022-11-28 - [The REST API implementation flow](https://tmsvr.com/openapi-code-generation-for-rest-apis/) by [Imre Tömösvári](https://tmsvr.com/author/imre/)
- 2022-12-13 - [API-First with Spring WebFlux and OpenAPI Generator](https://boottechnologies-ci.medium.com/api-first-with-spring-webflux-and-openapi-generator-38b7804c4ed4) by [Eric Anicet](https://boottechnologies-ci.medium.com/)
- 2023-01-06 - [Major Improvements with Helidon and OpenAPI](https://medium.com/helidon/major-improvements-with-helidon-and-openapi-f76a0951508e) by [Tim Quinn](https://medium.com/@tquinno600)
- 2023-02-02 - [Replacing Postman with the Jetbrains HTTP Client](https://lengrand.fr/replacing-postman-in-seconds-with-the-jetbrains-http-client/) by [julien Lengrand-Lambert](https://github.com/jlengrand)
## [6 - About Us](#table-of-contents)
What's the design philosophy or principle behind OpenAPI Generator?
We focus on developer experience. The generators should produce code, config, documentation, and more that are easily understandable and consumable by users. We focused on simple use cases to start with (bottom-up approach). Since then the project and the community have grown a lot: 300k weekly downloads via NPM CLI wrapper, 20M downloads via openapi-generator-cli docker image just to highlight a few. We've gradually supported more features (e.g. oneOf, anyOf introduced in OpenAPI 3.0) in various generators and we will continue this approach to deliver something based on our understanding of user demand and what they want, and continue to add support of new features introduced in OpenAPI specification (such as v3.1 and future versions of the OpenAPI specification).
### [6.1 - OpenAPI Generator Core Team](#table-of-contents)
OpenAPI Generator core team members are contributors who have been making significant contributions (review issues, fix bugs, make enhancements, etc) to the project on a regular basis.
@@ -935,12 +957,15 @@ Here is a list of template creators:
* Java (Google APIs Client Library): @charlescapps
* Java (Rest-assured): @viclovsky
* Java (Java 11 Native HTTP client): @bbdouglas
* Java (Apache HttpClient): @harrywhite4
* Java (Apache HttpClient 5.x): @harrywhite4 @andrevegas
* Java (Helidon): @spericas @tjquinno @tvallin
* Javascript/NodeJS: @jfiala
* JavaScript (Apollo DataSource): @erithmetic
* JavaScript (Closure-annotated Angular) @achew22
* JavaScript (Flow types) @jaypea
* Jetbrains HTTP Client : @jlengrand
* JMeter: @davidkiss
* Julia: @tanmaykm
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Kotlin (MultiPlatform): @andrewemery
* Kotlin (Volley): @alisters
@@ -1003,10 +1028,12 @@ Here is a list of template creators:
* Java PKMST: @anshu2185 @sanshuman @rkumar-pk @ninodpillai
* Java Vert.x: @lwlee2608
* Java Micronaut: @andriy-dmytruk
* Java Helidon: @spericas @tjquinno @tvallin
* JAX-RS RestEasy: @chameleon82
* JAX-RS CXF: @hiveship
* JAX-RS CXF (CDI): @nickcmaynard
* JAX-RS RestEasy (JBoss EAP): @jfiala
* Julia: @tanmaykm
* Kotlin: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
* Kotlin (Spring Boot): @dr4ke616
* Kotlin (Vertx): @Wooyme
@@ -1074,47 +1101,56 @@ If you want to join the committee, please kindly apply by sending an email to te
#### Members of Technical Committee
| 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 | |
| Crystal | @cyangle (2021/01) |
| Dart | @jaumard (2018/09) @josh-burton (2019/12) @amondnet (2019/12) @sbu-WBT (2020/12) @kuhnroyal (2020/12) @agilob (2020/12) @ahmednfwela (2021/08) |
| 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) |
| Java Spring | @cachescrubber (2022/02) @welshm (2022/02) @MelleD (2022/02) @atextor (2022/02) @manedev79 (2022/02) @javisst (2022/02) @borsch (2022/02) @banlevente (2022/02) @Zomzog (2022/09) |
| JMeter | @kannkyo (2021/01) |
| Jetbrains HTTP Client | @jlengrand (2023/01) |
| Julia | @tanmaykm (2023/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), [@ybelenko](https://github.com/ybelenko) (2018/07), @renepardon (2018/12) |
| PowerShell | @wing328 (2020/05) |
| Python | @spacether (2019/11) [:heart:][spacether sponsorship] @krjakbrjak (2023/02) |
| 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) @jacob-pro (2022/10) |
| 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) @davidgamero (2022/03) @mkusaka (2022/04) |
Past Members of Technical Committee:
| 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 | |
| Crystal | @cyangle (2021/01) |
| Dart | @jaumard (2018/09) @josh-burton (2019/12) @amondnet (2019/12) @sbu-WBT (2020/12) @kuhnroyal (2020/12) @agilob (2020/12) @ahmednfwela (2021/08) |
| 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) |
| Java Spring | @cachescrubber (2022/02) @welshm (2022/02) @MelleD (2022/02) @atextor (2022/02) @manedev79 (2022/02) @javisst (2022/02) @borsch (2022/02) @banlevente (2022/02) @Zomzog (2022/09) |
| 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), [@ybelenko](https://github.com/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) @arun-nalla (2019/11) @spacether (2019/11) [:heart:][spacether sponsorship] |
| 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) @davidgamero (2022/03) @mkusaka (2022/04) |
| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11) @tomplus (2018/10) @arun-nalla (2019/11) |
:heart: = Link to support the contributor directly

View File

@@ -1,5 +1,5 @@
version: '{branch}-{build}'
image: Visual Studio 2019
image: Visual Studio 2022
hosts:
petstore.swagger.io: 127.0.0.1
install:
@@ -15,14 +15,14 @@ install:
# install gradle
- ps: |
Add-Type -AssemblyName System.IO.Compression.FileSystem
if (!(Test-Path -Path "C:\gradle\gradle-5.6.4" )) {
if (!(Test-Path -Path "C:\gradle\gradle-7.6" )) {
(new-object System.Net.WebClient).DownloadFile(
'https://services.gradle.org/distributions/gradle-5.6.4-bin.zip',
'https://services.gradle.org/distributions/gradle-7.6-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.8.3\bin;C:\gradle\gradle-5.6.4\bin;%JAVA_HOME%\bin;%PATH%
- cmd: SET PATH=C:\maven\apache-maven-3.8.3\bin;C:\gradle\gradle-7.6\bin;%JAVA_HOME%\bin;%PATH%
- cmd: SET MAVEN_OPTS=-Xmx4g
- cmd: SET JAVA_OPTS=-Xmx4g
- cmd: SET M2_HOME=C:\maven\apache-maven-3.8.3
@@ -55,16 +55,18 @@ build_script:
- 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 framework 4.8)
- dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient-net48\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"
# build C# API client (with PropertyChanged)
- 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# 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"
## build C# API client (with PropertyChanged)
#- 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"
@@ -84,14 +86,16 @@ test_script:
- 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 framework 4.8)
- dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient-net48\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
## 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

View File

@@ -6,4 +6,4 @@ additionalProperties:
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
aspnetCoreVersion: "6.0"
userSecretsGuid: 'cb87e868-8646-48ef-9bb6-344b537d0d37'
useSeperateModelProject: true
useSeparateModelProject: true

View File

@@ -1,4 +1,4 @@
generatorName: c
outputDir: samples/client/petstore/c
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
inputSpec: modules/openapi-generator/src/test/resources/2_0/c/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/C-libcurl

View File

@@ -3,5 +3,6 @@ outputDir: samples/client/petstore/cpp-qt
inputSpec: modules/openapi-generator/src/test/resources/3_0/cpp-qt/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/cpp-qt-client
additionalProperties:
packageName: CppQtPetstoreClient
cppNamespace: test_namespace
modelNamePrefix: PFX

View File

@@ -1,6 +1,6 @@
generatorName: crystal
outputDir: samples/client/petstore/crystal
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/crystal/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/crystal
additionalProperties:
shardVersion: 1.0.0

View File

@@ -0,0 +1,12 @@
# for csharp-netcore generichost
generatorName: csharp-netcore
outputDir: samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore-latest-allOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp-netcore
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
targetFramework: net7.0
nullableReferenceTypes: true

View File

@@ -0,0 +1,12 @@
# for csharp-netcore generichost
generatorName: csharp-netcore
outputDir: samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore-latest-anyOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp-netcore
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
targetFramework: net7.0
nullableReferenceTypes: true

View File

@@ -0,0 +1,12 @@
# for csharp-netcore generichost
generatorName: csharp-netcore
outputDir: samples/client/petstore/csharp-netcore/OpenAPIClient-generichost-netcore-latest-oneOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp-netcore
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
targetFramework: net7.0
nullableReferenceTypes: true

View File

@@ -8,5 +8,5 @@ additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
targetFramework: net6.0
targetFramework: net7.0
nullableReferenceTypes: true

View File

@@ -8,5 +8,5 @@ additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
targetFramework: net6.0
targetFramework: net7.0
nullableReferenceTypes: false

View File

@@ -0,0 +1,11 @@
# for .net standard
generatorName: csharp-netcore
outputDir: samples/client/petstore/csharp-netcore/OpenAPIClient-net48
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp-netcore
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
useOneOfDiscriminatorLookup: true
targetFramework: net48

View File

@@ -8,4 +8,4 @@ additionalProperties:
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
useOneOfDiscriminatorLookup: true
targetFramework: net5.0
targetFramework: net7.0

View File

@@ -2,5 +2,6 @@ generatorName: csharp-netcore-functions
outputDir: samples/client/petstore/csharp-netcore-functions
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp-netcore-functions
#additionalProperties:
# packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
userSecretsGuid: "76e9e993-9159-441c-9c5b-fe95e7f4f020"

View File

@@ -0,0 +1,8 @@
generatorName: java
outputDir: samples/client/echo_api/java/apache-httpclient
library: apache-httpclient
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: echo-api-apache-httpclient
hideGenerationTimestamp: "true"

View File

@@ -1,7 +1,7 @@
generatorName: java
outputDir: samples/client/petstore/java/apache-httpclient
library: apache-httpclient
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-apache-httpclient

View File

@@ -12,6 +12,7 @@ additionalProperties:
library: "spring-boot"
withXml: true
jackson: true
camelUseDefaultValidationtErrorProcessor: true
camelUseDefaultValidationErrorProcessor: true
camelRestClientRequestValidation: true
camelSecurityDefinitions: true
implicitHeaders: true

View File

@@ -0,0 +1,9 @@
generatorName: java
outputDir: samples/client/echo_api/java/feign-gson
library: feign
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
serializationLibrary: gson
artifactId: echo-api-feign-json
hideGenerationTimestamp: "true"

View File

@@ -0,0 +1,13 @@
generatorName: java-helidon-client
library: mp
outputDir: samples/client/petstore/java-helidon-client/mp
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
additionalProperties:
artifactId: petstore-helidon-client-mp
hideGenerationTimestamp: "true"
configureAuth: "false"
build: "all"
test: "spock"
requiredPropertiesInConstructor: "false"
visitable: "true"
fullProject: "true"

View File

@@ -0,0 +1,13 @@
generatorName: java-helidon-client
library: se
outputDir: samples/client/petstore/java-helidon-client/se
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
additionalProperties:
artifactId: petstore-helidon-client-se
hideGenerationTimestamp: "true"
configureAuth: "false"
build: "all"
test: "spock"
requiredPropertiesInConstructor: "false"
visitable: "true"
fullProject: "true"

View File

@@ -0,0 +1,12 @@
generatorName: java-helidon-server
library: mp
outputDir: samples/server/petstore/java-helidon-server/mp
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/java-helidon/server
additionalProperties:
artifactId: petstore-helidon-server-mp
hideGenerationTimestamp: "true"
build: "all"
test: "spock"
useAuth: "false"
fullProject: "true"

View File

@@ -0,0 +1,9 @@
generatorName: java-helidon-server
library: se
outputDir: samples/server/petstore/java-helidon-server/se
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/java-helidon/server
additionalProperties:
artifactId: petstore-helidon-server-se
hideGenerationTimestamp: "true"
fullProject: "true"

View File

@@ -0,0 +1,14 @@
generatorName: java
outputDir: samples/openapi3/client/petstore/java/jersey2-java8-swagger1
library: jersey2
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-openapi3-jersey2-java8
hideGenerationTimestamp: true
serverPort: "8082"
dateLibrary: java8
useOneOfDiscriminatorLookup: true
disallowAdditionalPropertiesIfNotPresent: false
gradleProperties: "\n# JVM arguments\norg.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m\n# set timeout\norg.gradle.daemon.idletimeout=3600000\n# show all warnings\norg.gradle.warning.mode=all"
annotationLibrary: "swagger1"

View File

@@ -1,7 +1,7 @@
generatorName: java
outputDir: samples/client/petstore/java/native-async
library: native
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/java/native/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-native

View File

@@ -0,0 +1,8 @@
generatorName: java
outputDir: samples/client/echo_api/java/native
library: native
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: echo-api-native
hideGenerationTimestamp: "true"

View File

@@ -0,0 +1,9 @@
generatorName: java
outputDir: samples/client/petstore/java/native-jakarta
library: native
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-native-jakarta
hideGenerationTimestamp: "true"
useJakartaEe: "true"

View File

@@ -1,7 +1,7 @@
generatorName: java
outputDir: samples/client/petstore/java/native
library: native
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/java/native/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-native

View File

@@ -0,0 +1,11 @@
generatorName: java
outputDir: samples/client/petstore/java/okhttp-gson-awsv4signature
library: okhttp-gson
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: okhttp-gson-awsv4signature
hideGenerationTimestamp: "true"
useOneOfDiscriminatorLookup: "true"
disallowAdditionalPropertiesIfNotPresent: false
withAWSV4Signature: true

View File

@@ -0,0 +1,8 @@
generatorName: java
outputDir: samples/client/echo_api/java/okhttp-gson
#library: okhttp-gson
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: echo-api-okhttp-gson
hideGenerationTimestamp: "true"

View File

@@ -0,0 +1,12 @@
generatorName: java
outputDir: samples/client/petstore/java/okhttp-gson-swagger1
library: okhttp-gson
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-okhttp-gson
hideGenerationTimestamp: "true"
useOneOfDiscriminatorLookup: "true"
disallowAdditionalPropertiesIfNotPresent: false
annotationLibrary: "swagger1"

View File

@@ -0,0 +1,10 @@
generatorName: java
outputDir: samples/client/petstore/java/resttemplate-jakarta
library: resttemplate
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-resttemplate
hideGenerationTimestamp: "true"
java8: true
useJakartaEe: true

View File

@@ -0,0 +1,10 @@
generatorName: java
outputDir: samples/client/petstore/java/resttemplate-swagger1
library: resttemplate
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-resttemplate
hideGenerationTimestamp: "true"
annotationLibrary: "swagger1"
java8: true

View File

@@ -7,3 +7,4 @@ additionalProperties:
artifactId: petstore-resttemplate
hideGenerationTimestamp: "true"
java8: true
containerDefaultToNull: true

View File

@@ -0,0 +1,9 @@
generatorName: java
outputDir: samples/client/petstore/java/webclient-jakarta
library: webclient
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-webclient
hideGenerationTimestamp: "true"
useJakartaEe: true

View File

@@ -1,5 +1,5 @@
generatorName: java
outputDir: samples/client/petstore/java/webclient-nulable-arrays
outputDir: samples/client/petstore/java/webclient-nullable-arrays
library: webclient
inputSpec: modules/openapi-generator/src/test/resources/3_0/schema-with-nullable-arrays.yaml
templateDir: modules/openapi-generator/src/main/resources/Java

View File

@@ -6,3 +6,4 @@ templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-webclient
hideGenerationTimestamp: "true"
containerDefaultToNull: "true"

View File

@@ -0,0 +1,11 @@
generatorName: jaxrs-spec
outputDir: samples/server/petstore/jaxrs-spec-jakarta
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaJaxRS/spec
additionalProperties:
artifactId: jaxrs-spec-petstore-server-jakarta
serializableModel: "true"
hideGenerationTimestamp: "true"
implicitHeadersRegex: (api_key|enum_header_string)
generateBuilders: "true"
useJakartaEe: "true"

View File

@@ -0,0 +1,6 @@
generatorName: jetbrains-http-client
outputDir: samples/client/petstore/jetbrains/http/client
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/jetbrains-http-client
additionalProperties:
hideGenerationTimestamp: "true"

View File

@@ -0,0 +1,7 @@
generatorName: julia-client
outputDir: samples/client/petstore/julia
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/julia-client
additionalProperties:
hideGenerationTimestamp: "true"
packageName: PetStoreClient

View File

@@ -0,0 +1,7 @@
generatorName: julia-server
outputDir: samples/server/petstore/julia
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/julia-server
additionalProperties:
hideGenerationTimestamp: "true"
packageName: PetStoreServer

View File

@@ -0,0 +1,8 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-jvm-vertx-gson
library: jvm-vertx
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-petstore-jvm-vertx
serializationLibrary: "gson"

View File

@@ -0,0 +1,9 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines
library: jvm-vertx
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-petstore-jvm-vertx
serializationLibrary: "jackson"
useCoroutines: "true"

View File

@@ -0,0 +1,8 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-jvm-vertx-jackson
library: jvm-vertx
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-petstore-jvm-vertx
serializationLibrary: "jackson"

View File

@@ -0,0 +1,8 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-jvm-vertx-moshi
library: jvm-vertx
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-petstore-jvm-vertx
serializationLibrary: "moshi"

View File

@@ -0,0 +1,13 @@
generatorName: kotlin-spring
outputDir: samples/server/petstore/kotlin-springboot-3
library: spring-boot
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
additionalProperties:
documentationProvider: none
annotationLibrary: none
useSwaggerUI: "false"
serviceImplementation: "true"
serializableModel: "true"
beanValidations: "true"
useSpringBoot3: "true"

View File

@@ -1,6 +1,6 @@
generatorName: php-symfony
outputDir: samples/server/petstore/php-symfony/SymfonyBundle-php
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/php-symfony/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/php-symfony
gitUserId: openapitools
gitRepoId: petstore

View File

@@ -0,0 +1,8 @@
generatorName: python-nextgen
outputDir: samples/openapi3/client/petstore/python-nextgen-aiohttp
inputSpec: modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/python-nextgen
library: asyncio
additionalProperties:
packageName: petstore_api
floatStrictType: false

View File

@@ -0,0 +1,7 @@
generatorName: python-nextgen
outputDir: samples/client/echo_api/python-nextgen
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/python-nextgen
additionalProperties:
hideGenerationTimestamp: "true"
allowStringInDateTimeParameters: true

View File

@@ -0,0 +1,8 @@
generatorName: python-nextgen
outputDir: samples/openapi3/client/petstore/python-nextgen
inputSpec: modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/python-nextgen
additionalProperties:
packageName: petstore_api
useOneOfDiscriminatorLookup: "true"
disallowAdditionalPropertiesIfNotPresent: false

View File

@@ -0,0 +1,11 @@
generatorName: rust
outputDir: samples/client/petstore/rust/reqwest/petstore-async-middleware
library: reqwest
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/rust
additionalProperties:
supportAsync: true
supportMiddleware: true
supportMultipleResponses: true
packageName: petstore-reqwest-async-middleware
useSingleRequestParameter: true

View File

@@ -8,3 +8,4 @@ additionalProperties:
artifactId: springboot
snapshotVersion: "true"
hideGenerationTimestamp: "true"
requestMappingMode: api_interface

View File

@@ -7,3 +7,5 @@ additionalProperties:
artifactId: springboot
snapshotVersion: "true"
hideGenerationTimestamp: "true"
camelCaseDollarSign: "true"
modelNameSuffix: 'Dto'

View File

@@ -0,0 +1,11 @@
generatorName: spring
library: spring-http-interface
outputDir: samples/client/petstore/spring-http-interface-reactive
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
additionalProperties:
artifactId: spring-http-interface-reactive
snapshotVersion: "true"
hideGenerationTimestamp: "true"
reactive: "true"

View File

@@ -0,0 +1,10 @@
generatorName: spring
library: spring-http-interface
outputDir: samples/client/petstore/spring-http-interface
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
additionalProperties:
artifactId: spring-http-interface
snapshotVersion: "true"
hideGenerationTimestamp: "true"
modelNameSuffix: 'Dto'

View File

@@ -4,6 +4,7 @@ library: alamofire
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/swift5
generateAliasAsModel: true
useCustomDateWithoutTime: true
additionalProperties:
podAuthors: ""
podSummary: PetstoreClient

View File

@@ -1,6 +1,6 @@
generatorName: swift5
outputDir: samples/client/petstore/swift5/deprecated
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-depreacted-fields.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-deprecated-fields.yaml
templateDir: modules/openapi-generator/src/main/resources/swift5
generateAliasAsModel: true
additionalProperties:

View File

@@ -0,0 +1,10 @@
generatorName: swift5
outputDir: samples/client/petstore/swift5/validation
inputSpec: modules/openapi-generator/src/test/resources/3_0/validation.yaml
templateDir: modules/openapi-generator/src/main/resources/swift5
generateAliasAsModel: true
additionalProperties:
podAuthors: ""
podSummary: PetstoreClient
projectName: PetstoreClient
podHomepage: https://github.com/openapitools/openapi-generator

View File

@@ -0,0 +1,7 @@
generatorName: typescript-angular
outputDir: samples/client/petstore/typescript-angular-v15-provided-in-root/builds/default
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/typescript-angular
additionalProperties:
ngVersion: 15.0.3
supportsES6: true

View File

@@ -0,0 +1,4 @@
generatorName: typescript-fetch
outputDir: samples/client/petstore/typescript-fetch/builds/allOf-nullable
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf-nullable.yaml
templateDir: modules/openapi-generator/src/main/resources/typescript-fetch

View File

@@ -0,0 +1,4 @@
generatorName: typescript-rxjs
outputDir: samples/client/others/typescript-rxjs/allOf-composition
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf_composition.yaml
templateDir: modules/openapi-generator/src/main/resources/typescript-rxjs

View File

@@ -6,11 +6,11 @@
## declare an array of folders
declare -a samples=("modules/openapi-generator/src/main/resources/kotlin-server"
"modules/openapi-generator/src/main/resources/kotlin-spring"
"modules/openapi-generator/src/main/resources/dart-dio"
"modules/openapi-generator/src/main/resources/dart"
"modules/openapi-generator/src/main/resources/dart2"
"modules/openapi-generator/src/main/resources/aspnetcore"
"modules/openapi-generator/src/main/resources/powershell"
"modules/openapi-generator/src/main/resources/r"
)
## now loop through the above array

View File

@@ -1,8 +1,11 @@
---
# csharp-netcore test files and image for upload
- filename: "samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools.Test/JSONComposedSchemaTests.cs"
sha256: 64024927bc08a520ff11ba7083f83be960909a19ef273f63c1eaaef1cc6f34a2
sha256: 054adb6efaff70f492e471cb3e4d628d22cda814906808fd3fcce36ce710b7ee
- filename: "samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools.Test/Api/PetApiTests.cs"
sha256: dae985015ba461297927d544a78267f2def35e07c3f14ca66468fd61e1fd1c26
sha256: ff6a5fccd4c026d85fe7232911cda445f5065dcefd03abe258e19af5b28d05c5
- filename: "samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools.Test/linux-logo.png"
sha256: 0a67c32728197e942b13bdda064b73793f12f5c795f1e5cf35a3adf69c973230
# java okhttp gson test files
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/ClientTest.java"
sha256: db505f7801fef62c13a08a8e9ca1fc4c5c947ab46b46f12943139d353feacf17

View File

@@ -10,18 +10,18 @@ trigger_map:
workflows:
primary:
steps:
- git-clone@4.0.17: {}
- brew-install@0.11.0:
- git-clone@6.2.1: {}
- brew-install@0.12.1:
inputs:
- packages: maven
- script@1.1.6:
- script@1.2.0:
title: Install Cocoapods
inputs:
- content: |
#!/usr/bin/env bash
sudo gem install cocoapods
- script@1.1.6:
- script@1.2.0:
inputs:
- content: |
#!/usr/bin/env bash
@@ -30,7 +30,7 @@ workflows:
mvn --no-snapshot-updates package -Dorg.slf4j.simpleLogger.defaultLogLevel=error
title: Build openapi-generator
- script@1.1.6:
- script@1.2.0:
title: Run Swift5 tests
inputs:
- content: |
@@ -40,3 +40,6 @@ workflows:
./samples/client/petstore/swift5/swift5_test_all.sh
meta:
bitrise.io:
stack: osx-xcode-14.1.x

View File

@@ -56,15 +56,16 @@ Code change should conform to the programming style guide of the respective lang
- 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
- Elixir: https://github.com/christopheradams/elixir_style_guide
- Erlang: https://github.com/inaka/erlang_guidelines
- Go: https://github.com/golang/go/wiki/CodeReviewComments
- Groovy: http://groovy-lang.org/style-guide.html
- Haskell: https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
- Java: https://google.github.io/styleguide/javaguide.html
- JavaScript: https://github.com/airbnb/javascript/
- Julia: https://docs.julialang.org/en/v1/manual/style-guide/
- Kotlin: https://kotlinlang.org/docs/reference/coding-conventions.html
- Groovy: http://groovy-lang.org/style-guide.html
- 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-12-extended-coding-style-guide.md

View File

@@ -56,7 +56,7 @@ The above configuration will do the following:
* Compile a user-provided `my_custom_templates/api_interfaces.mustache` following our usual API template compilation logic. That is, one file will be created per API; APIs are generated defined according to tags in your spec documentation. The destination filename of `Interface.kt` will act as a suffix for the filename. So, a tag of `Equipment` will output a corresponding `EquipmentInterface.kt`.
* Because `api.mustache` is the same mustache filename as used in your target generator (`kotlin` in this example), we support the following:
- The destination filename provides a suffix for the generated output. APIs generate per tag in your specification. So, a tag of `Equipment` will output a corresponding `EquipmentImpl.kt`. This option will be used whether `api.mustache` targets a user customized template or a built-in template.
- The built-in template will be used if you haven't provided an customized template. The kotlin generator defines the suffix as simply `.kt`, so this scenario would modify only the generated file suffixes according to the previous bullet point.
- The built-in template will be used if you haven't provided a customized template. The kotlin generator defines the suffix as simply `.kt`, so this scenario would modify only the generated file suffixes according to the previous bullet point.
- Your `api.mustache` will be used if it exists in your custom template directory. For generators with library options, such as `jvm-okhttp3` in the kotlin generator, your file must exist in the same relative location as the embedded template. For kotlin using the `jvm-okhttp3` library option, this file would need to be located at `my_custom_templates/libraries/jvm-okhttp/api.mustache`. See [templating](./templating.md) for more details.
* Compile `my_custom_templates/other/check.mustache` with the supporting files bundle, and output to `scripts/check.sh` in your output directory. Note that we don't currently support setting file flags on output, so scripts such as these will either have to be sourced rather than executed, or have file flags set separately after generation (external to our tooling).
@@ -169,7 +169,7 @@ If you publish your artifact to a distant maven repository, do not forget to add
You may not want to generate *all* models in your project. Likewise, you may want just one or two apis to be written. If that's the case, you can use system properties or [global properties](./global-properties.md) to control the output.
The default is generate *everything* supported by the specific library. Once you enable a feature, it will restrict the contents generated:
The default is to generate *everything* supported by the specific library. Once you enable a feature, it will restrict the contents generated:
```sh
# generate only models
@@ -397,7 +397,7 @@ or
## Schema Mapping
One can map the schema to someting else (e.g. external objects/models outside of the package) using the `schemaMappings` option, e.g. in CLI
One can map the schema to something else (e.g. external objects/models outside of the package) using the `schemaMappings` option, e.g. in CLI
```sh
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/type-alias.yaml -o /tmp/java2/ --schema-mapping TypeAlias=foo.bar.TypeAlias
```
@@ -430,15 +430,78 @@ paths:
## Inline Schema Naming
Inline schemas are created as separate schemas automatically and the auto-generated schema name may not look good to everyone. One can customize the name using the `title` field or the `inlineSchemaNameMapping` option, e.g. in CLI
Inline schemas are created as separate schemas automatically and the auto-generated schema name may not look good to everyone. One can customize the name using the `title` field or the `inlineSchemaNameMapping` option. For exmaple, run the following,
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/inline_model_resolver.yaml -o /tmp/java3/ --skip-validate-spec --inline-schema-name-mappings inline_object_2=SomethingMapped,inline_object_4=nothing_new
```
will show the following in the console:
```
[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as arbitraryObjectRequestBodyProperty_request. To have complete control of the model name, set the `title` field or use the inlineSchemaNameMapping option (--inline-schema-name-mappings in CLI).
[main] INFO o.o.codegen.InlineModelResolver - Inline schema created as meta_200_response. To have complete control of the model name, set the `title` field or use the inlineSchemaNameMapping option (--inline-schema-name-mappings in CLI).
```
For example, to name the inline schema `meta_200_response` as `MetaObject`, use the `--inline-schema-name-mappings` option as follows:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/inline_model_resolver.yaml -o /tmp/java3/ --skip-validate-spec --inline-schema-name-mappings meta_200_response=MetaObject,arbitraryObjectRequestBodyProperty_request=ArbitraryRequest
```
Another useful option is `inlineSchemaNameDefaults`, which allows you to customize the suffix of the auto-generated inline schema name, e.g. in CLI
```
--inline-schema-name-defaults arrayItemSuffix=_array_item
--inline-schema-name-defaults arrayItemSuffix=_array_item,mapItemSuffix=_map_item
```
Note: Only arrayItemSuffix, mapItemSuffix are supported at the moment.
Note: Only arrayItemSuffix, mapItemSuffix are supported at the moment. `SKIP_SCHEMA_REUSE=true` is a special value to skip reusing inline schemas.
## OpenAPI Normalizer
OpenAPI Normalizer (off by default) transforms the input OpenAPI doc/spec (which may not perfectly conform to the specification) to make it workable with OpenAPI Generator. Here is a list of rules supported:
- `REF_AS_PARENT_IN_ALLOF`: when set to `true`, child schemas in `allOf` is considered a parent if it's a `$ref` (instead of inline schema).
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/allOf_extension_parent.yaml -o /tmp/java-okhttp/ --openapi-normalizer REF_AS_PARENT_IN_ALLOF=true
```
- `REMOVE_ANYOF_ONEOF_AND_KEEP_PROPERTIES_ONLY`: when set to `true`, oneOf/anyOf schema with only required properies only in a schema with properties will be removed. [(example)](modules/openapi-generator/src/test/resources/3_0/removeAnyOfOneOfAndKeepPropertiesOnly_test.yaml)
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/removeAnyOfOneOfAndKeepPropertiesOnly_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer REMOVE_ANYOF_ONEOF_AND_KEEP_PROPERTIES_ONLY=true
```
- `SIMPLIFY_ANYOF_STRING_AND_ENUM_STRING`: when set to `true`, simplify anyOf schema with string and enum of string to just `string`
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/simplifyAnyOfStringAndEnumString_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer SIMPLIFY_ANYOF_STRING_AND_ENUM_STRING=true
```
- `SIMPLIFY_BOOLEAN_ENUM`: when set to `true`, convert boolean enum to just enum.
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/simplifyBooleanEnum_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer SIMPLIFY_BOOLEAN_ENUM=true
```
- `SIMPLIFY_ONEOF_ANYOF`: when set to `true`, simplify oneOf/anyOf by 1) removing null (sub-schema) and setting nullable to true instead, and 2) simplifying oneOf/anyOf with a single sub-schema to just the sub-schema itself.
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/simplifyOneOfAnyOf_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer SIMPLIFY_ONEOF_ANYOF=true
```
- `KEEP_ONLY_FIRST_TAG_IN_OPERATION`: when set to `true`, only keep the first tag in operation if there are more than one tag defined.
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/enableKeepOnlyFirstTagInOperation_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer KEEP_ONLY_FIRST_TAG_IN_OPERATION=true
```
- `SET_TAGS_FOR_ALL_OPERATIONS`: when set to a string value, tags in all operatinos will reset to the string value provided.
Example:
```
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/enableKeepOnlyFirstTagInOperation_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer SET_TAGS_FOR_ALL_OPERATIONS=true
```

View File

@@ -32,13 +32,16 @@ The following generators are available:
* [groovy](generators/groovy.md)
* [haskell-http-client](generators/haskell-http-client.md)
* [java](generators/java.md)
* [java-helidon-client (beta)](generators/java-helidon-client.md)
* [java-micronaut-client (beta)](generators/java-micronaut-client.md)
* [javascript](generators/javascript.md)
* [javascript-apollo-deprecated (deprecated)](generators/javascript-apollo-deprecated.md)
* [javascript-closure-angular](generators/javascript-closure-angular.md)
* [javascript-flowtyped](generators/javascript-flowtyped.md)
* [jaxrs-cxf-client](generators/jaxrs-cxf-client.md)
* [jetbrains-http-client (experimental)](generators/jetbrains-http-client.md)
* [jmeter](generators/jmeter.md)
* [julia-client (beta)](generators/julia-client.md)
* [k6 (beta)](generators/k6.md)
* [kotlin](generators/kotlin.md)
* [lua (beta)](generators/lua.md)
@@ -51,6 +54,7 @@ The following generators are available:
* [powershell (beta)](generators/powershell.md)
* [python](generators/python.md)
* [python-legacy](generators/python-legacy.md)
* [python-nextgen (beta)](generators/python-nextgen.md)
* [python-prior](generators/python-prior.md)
* [r](generators/r.md)
* [ruby](generators/ruby.md)
@@ -92,6 +96,7 @@ The following generators are available:
* [haskell](generators/haskell.md)
* [haskell-yesod (beta)](generators/haskell-yesod.md)
* [java-camel](generators/java-camel.md)
* [java-helidon-server (beta)](generators/java-helidon-server.md)
* [java-inflector](generators/java-inflector.md)
* [java-micronaut-server (beta)](generators/java-micronaut-server.md)
* [java-msf4j](generators/java-msf4j.md)
@@ -107,6 +112,7 @@ The following generators are available:
* [jaxrs-resteasy](generators/jaxrs-resteasy.md)
* [jaxrs-resteasy-eap](generators/jaxrs-resteasy-eap.md)
* [jaxrs-spec](generators/jaxrs-spec.md)
* [julia-server (beta)](generators/julia-server.md)
* [kotlin-server](generators/kotlin-server.md)
* [kotlin-spring](generators/kotlin-spring.md)
* [kotlin-vertx (beta)](generators/kotlin-vertx.md)

View File

@@ -51,7 +51,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|useDefaultRouting|Use default routing for the ASP.NET Core version.| |true|
|useFrameworkReference|Use frameworkReference for ASP.NET Core 3.0+ and PackageReference ASP.NET Core 2.2 or earlier.| |false|
|useNewtonsoft|Uses the Newtonsoft JSON library.| |true|
|useSeperateModelProject|Create a seperate project for models| |false|
|useSeparateModelProject|Create a separate project for models| |false|
|useSwashbuckle|Uses the Swashbuckle.AspNetCore NuGet package for documentation.| |true|
## IMPORT MAPPING

View File

@@ -27,6 +27,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true|
|modelNamePrefix|Prefix that will be prepended to all model names.| |OAI|
|optionalProjectFile|Generate client.pri.| |true|
|packageName|C++ package (library) name.| |QtOpenAPIClient|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|reservedWordPrefix|Prefix to prepend to reserved words in order to avoid conflicts| |r_|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|

View File

@@ -24,6 +24,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true|
|moduleName|module name (e.g. TwitterClient| |OpenAPIClient|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|shardAuthor|shard author (only one is supported).| |null|
|shardAuthorEmail|shard author email (only one is supported).| |null|

Some files were not shown because too many files have changed in this diff Show More