* add jersey2 experimental
* add new files
* add abstract one of class
* read the stream multiple times
* rename to getActualInstance
* update petstore
* fix jackon check
* test new java petstore in ci
* fix broken tests
* remove todo
* better exception message, primitive type handling
* add anyof support
* update samples
* add new files
* update all java client samples
* update doc, fix pom
* better null check for allOf
* add primitive types support in oneof, anyof
* better validation
* update python exp samples
* remove primitive type support in allOf
* Fix Gradle and SBT builds for Java REST Assured generator
* Add missing jackson-databind-nullable dependency to SBT build
* Update rest-assured sample
* Add sample for Java client with REST Assured and Jackson
* Add new REST Assured sample as Maven sub-module
* python server: Add pythonSrcRoot option
This will allow the python project to be in a subdirectory (as specified
in pythonSrcRoot). That could mean following the src layout with sources
under src/ or lib/. Multi-language projects might use a sub directory
like python/, or whatever makes sense for the project.
By default, the pythonSrcRoot is "", meaning the existing behavior is
the default.
* python server: update template files to support pythonSrcRoot
* python server: update docs to add pythonSrcRoot option
* python server: add pythonSrcRoot sample script
* python server: build sample srclayout project
* [Python] copy test files preserving history
* [Python] Make a conflict to preserve file copy history
* [Python] customize pom.xml for src layout tests
* [Python] add python-aiohttp-srclayout tests
* [Python] Fix server tests by updating requirements
Reverts the PR that disabled python2 server tests:
https://github.com/OpenAPITools/openapi-generator/pull/4949
Reverts commits that disabled python3 server tests:
9adfedbfbb45c7059e64b3d9a285710bded4fb62
17ee990baaa80585242c7a07d64e2be4888fcfd0
Issue about the python 3 tests:
https://github.com/OpenAPITools/openapi-generator/issues/5235
I couldn't find an issue about the python2 tests being disabled.
I'm guessing build errors like the following were the trigger:
https://travis-ci.org/github/OpenAPITools/openapi-generator/builds/634238181
Let's see what breaks!
* [Python] Copy setup.py to python-aiohttp
* [Python] Save history while copying setup.py to python-aiohttp
* [Python] Add aiohttp server setup.py
* [Python] Fix python server tests with src layout
* [Python] bump Flask-Testing version
* [Python] Pin pyyaml for py2.7 flask server
* [Python] simplify flask server requirements
* consolidate server tests
* [Python] rebuild python server samples
* [Python] Fix python server requirements for older pythons
Documented minimum python version for our aiohttp server is 3.5.
Documented minimum python version for our flask server is 3.4.
Connexion 2.3 is the last version to support python 3.4 and 3.5, so fix
the version pinning to correctly select <=2.3 for these EOL python
versions. Newer pythons should get the latest if possible as there many
relevant bug fixes.
Werkzeug also needs to be pinned for these old versions in the aiohttp
server just like for the flask server.
3.4 and 3.5 are EOL. We really should increase the minimum supported
version, but that is for another PR to do.
* [cli] Some CLI improvements…
* Introduce --version
* Introduce --help
* Add --sha to version command for short SHA display
* Output Version and SHA details
* In new --version output, display repo and doc site
Additional cleanup to suppress warnings and code quality.
* [docker] Adds labels for metadata
This adds image labels to store metadata on the online and cli docker
images, using standard labels:
* org.opencontainers.image.created
* org.opencontainers.image.revision
* org.opencontainers.image.title
* org.opencontainers.image.version
These can be inspected via 'docker inspect IMAGE_NAME' and may be useful
in tooling/automation or bug reports submitted by users.
For more details on these labels, see:
https://github.com/opencontainers/image-spec/blob/master/annotations.md
* Include version --full for equiv to --version
* [scala][akka-http-client] java8 dates support
* scala-akka readme doc updated
* DateSerializers renamed
* rename serializers
* move date-library option to abstractScala
* generators docs updated
* enum defined for date libraries
* Backport to scala-http-client
* fix scala-akka-client date serializers
* fix typo in docs
* switch scala templates to java8 (jsr-310) date library by default
* update scala samples with java8 date library
* update scala generators docs with java8 default date library
* fix scala-play-server generator cli options as only java8 dateLibrary supported
* fix scalaz DateTimeCodecs template to support java8
* scalaz ci test againt java7 removed as it generate scala 2.11.8 client which is java8 based
* [core] Normalizing vendor extension naming
According to [OAS 2.0][1] and [OAS 3.0][2] Specifications:
> Allows extensions to the OpenAPI Schema. The field name MUST begin with x-,
> for example, x-internal-id. The value can be null, a primitive, an array or an object.
> Can have any valid JSON format value.
This commit attempts to define a [clear identifier design format][3] of
maintaining lower-kebab casing and following the x- prefix defined by
OAI Specification.
Following a convention that matches that used by others (see [autorest][4]), we will remove
any confusion about naming strategies for template authors and
customizers. Following the lower-kebab convention will allow us to
convert from camelCase and missing prefixes to the desired format. For
example, these conversions are simple to make for template consistency:
* customValue => x-custom-value
* x-customValue => x-custom-value
* x-custom-value => x-custom-value
This convention also allows us to define a single standard for use
across all generators. This means no occurrence of x-operationId in one
generator and x-operation-id in another.
[1]: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#patterned-objects
[2]: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#specificationExtensions
[3]: https://tools.ietf.org/html/draft-wilde-registries-01#section-3.4
[4]: https://github.com/Azure/autorest/tree/master/docs/extensions
* Incorporate feedback to avoid race/blocking in OnceLogger
* Remove unnecessary additional log config
* Add tests,comments for OnceLogger
* Test caffeine cache with FakeTicker
* Spotbugs, PMD and Checkstyle #33
* Reducing Spotbugs effort to min #33
* Also using project.parent.basedir and avoiding relative paths in pom files.
* Filtering out samples.
* Move PMD/Spotbugs to static-analysis profile
This moves the static-analysis checks to a standalone profile. Core
contributors may run static analysis with:
```
mvn -Pstatic-analysis install
```
The analysis is separated from default functionality to reduce impact to
community contributions. SpotBugs/PMD may add a non-trivial amount of
time to builds on some machines.
Co-authored-by: Tomas Bjerre <tomas.bjerre85@gmail.com>
* Adds jacoco for code coverage
This sets up jacoco instrumentation for code coverage. Preparing for
master and PR coverage reporting via sonarcloud.
* Set initial required coverage to 0
* fix go compilation error for properties of type map and array
* fix go compilation error for properties of type date and datetime
* add missing shell script to bin/utils/ensure-up-to-date
* add missing shell script to bin/utils/ensure-up-to-date
* add missing shell script to bin/utils/ensure-up-to-date
* fix issue with 'date' type
* fix time import problem
* Add missing pom.xml files for golang
* Add missing unit test files for golang
* Add missing unit test files for golang. Must use class name prefix for enums
* Fix unit tests for go-experimental in OAS3
* Fix unit tests for go-experimental in OAS3
* Add code comments in codegen
* Fix compilation errors of generated go code
* Fix compilation errors of generated go code
* remove antihax from go-experimental, it is no longer used
* copy python testfile for ut purpose
* add error checkout in unit tests
* add unit tests
* add code comments
* move test foo.png file to correct location
* run samples scripts
* run samples scripts
* [test] Removes jmockit in favor of mockito
We use mockito in many tests. This removes jmockit which is run as a
javaagent in favor of Mockito which is not.
This work is in preparation for applying some static analysis tools,
while evaluating others such as Jacoco. I'm also look at ways to improve
build times while also decreasing "ramp up time" for contributions from
the community. Reducing the number of mock frameworks and dependencies
is a step toward that goal.
* Rename method in new.sh
* [cli] Mock the generate task
* [swift5] introduce new generator
* [swift5] add Swift Package Manager integration and update dependencies
* [swift5] run petstore
* [swift] update Swift 5 generator with Swift 4 changes
* [swift] update Swift 5 generator with Swift 4 changes
* [swift] make CodableHelper more customizable
* [swift] update pet projects
* [swift] update pet projects
* [swift] add nullable support
* [swift] make enums conform to CaseIterable
* [swift] date formatter add support for ISO8601 with and without milliseconds
* [swift] add urlsession support
* [swift] remove unecessary sample unwrapRequired
* [swift] rename JSONEncodableEncoding.swift to JSONDataEncoding.swift
* [swift] use result in generator internals
* [swift] cocoapods remove deprecated docset_url and add watchos deployment target
* [swift] Add ability to pass in a dedicated queue for processing network response (Fix for 230)
* [swift] update pet projects
* [swift] update docs
* [swift] add support for combine
* [swift] update docs
* [swift] update windows bat scripts
* [swift] update windows bat scripts
* [swift] update swift pet project tests
* [swift] update depencies
* [swift] make urlsession the default http client
* [swift] add urlsession sample project
* [swift] add urlsession sample project
* [swift] update docs
* [swift] improve combine unit tests
* [swift] update docs
* Fix for Issue #2205
Because when we have tags on OpenAPI Specification, there can be more than 1 Feign Beans being generated and the title field is share by all the clients. This makes the code to stop working in runtime.
Here is a PR which uses the classVarName instead, which follows the standards and should be enough to solve this issue.
For more info please refer to: https://github.com/OpenAPITools/openapi-generator/issues/2205
* fix java feign parameter request name (#4883)
* update sprign cloud feign sample
* [JAVA][SPRING][2195] added missing getter for enum value (#2346)
* [2195] added missing getter for enum value
* updated samples
* re-generate spring samples
* Removed @JsonValue from toString and regenerated samples
* re-generate spring samples
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
* update samples
* [kotlin][client] make Request date converter toJson as default
* [kotlin][client] update windows scripts
* [kotlin][client] update docs
* [kotlin][client] update scripts
* [kotlin][client] update scripts
Co-authored-by: Filipe Manuel Couto Pinheiro <filipemcpinheiro@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Lukáš Vasek <bilaak@gmail.com>
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
* run all script in circleci
* test kotlin clients
* add new files
* undo chanages to circleci script
* update samples
* update bitwise config
* fix typo